python-docs-fr/whatsnew.po

48658 lines
1.6 MiB
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SOME DESCRIPTIVE TITLE.
# Copyright (C) 1990-2015, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.5\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-01-13 22:59+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: whatsnew/2.0.rst:3
msgid "What's New in Python 2.0"
msgstr "Nouveautés de Python 2.0"
#: whatsnew/2.0.rst:5
msgid "A.M. Kuchling and Moshe Zadka"
msgstr "A.M. Kuchling et Moshe Zadka"
#: whatsnew/2.0.rst:13 whatsnew/2.1.rst:13 whatsnew/2.2.rst:13
msgid "Introduction"
msgstr "Introduction"
#: whatsnew/2.0.rst:15
#, fuzzy
msgid ""
"A new release of Python, version 2.0, was released on October 16, 2000. This "
"article covers the exciting new features in 2.0, highlights some other "
"useful changes, and points out a few incompatible changes that may require "
"rewriting code."
msgstr ""
"Une nouvelle version de Python, la version 2.0, est sortie le 16 octobre "
"2000. Cet article traite des nouvelles fonctionnalités intéressantes de "
"cette version, met en évidence d'autres changements utiles, et souligne "
"quelques incompatibilités qui peuvent nécessiter la réécriture du code."
#: whatsnew/2.0.rst:20
#, fuzzy
msgid ""
"Python's development never completely stops between releases, and a steady "
"flow of bug fixes and improvements are always being submitted. A host of "
"minor fixes, a few optimizations, additional docstrings, and better error "
"messages went into 2.0; to list them all would be impossible, but they're "
"certainly significant. Consult the publicly-available CVS logs if you want "
"to see the full list. This progress is due to the five developers working "
"for PythonLabs are now getting paid to spend their days fixing bugs, and "
"also due to the improved communication resulting from moving to SourceForge."
msgstr ""
"Le développement de Python n'a jamais complétement été arrêté entre chaque "
"versions, et un flux constant de corrections de bogues et d'améliorations "
"ont toujours été soumis. Une foule de corrections mineures, quelques "
"optimisations, des docstrings supplémentaires, et de meilleurs messages "
"d'erreur sont apparus avec l'arrivée de la version 2.0; tous les énumérer "
"serait impossible, mais ils sont certainement significatif. Consultez les "
"journaux CVS publics disponibles pour obtenir la liste complète. Ce progrès "
"est dû aux cinq développeurs travaillant pour PythonLabs qui sont désormais "
"payés pour passer leurs journées à corriger les bugs, mais aussi en raison "
"de l'amélioration de la communication résultant du passage à SourceForge."
#: whatsnew/2.0.rst:33
#, fuzzy
msgid "What About Python 1.6?"
msgstr "A propos de Python 1.6"
#: whatsnew/2.0.rst:35
msgid ""
"Python 1.6 can be thought of as the Contractual Obligations Python release. "
"After the core development team left CNRI in May 2000, CNRI requested that a "
"1.6 release be created, containing all the work on Python that had been "
"performed at CNRI. Python 1.6 therefore represents the state of the CVS "
"tree as of May 2000, with the most significant new feature being Unicode "
"support. Development continued after May, of course, so the 1.6 tree "
"received a few fixes to ensure that it's forward-compatible with Python "
"2.0. 1.6 is therefore part of Python's evolution, and not a side branch."
msgstr ""
#: whatsnew/2.0.rst:44
msgid ""
"So, should you take much interest in Python 1.6? Probably not. The "
"1.6final and 2.0beta1 releases were made on the same day (September 5, "
"2000), the plan being to finalize Python 2.0 within a month or so. If you "
"have applications to maintain, there seems little point in breaking things "
"by moving to 1.6, fixing them, and then having another round of breakage "
"within a month by moving to 2.0; you're better off just going straight to "
"2.0. Most of the really interesting features described in this document are "
"only in 2.0, because a lot of work was done between May and September."
msgstr ""
#: whatsnew/2.0.rst:57
msgid "New Development Process"
msgstr "Nouveau processus de développement"
#: whatsnew/2.0.rst:59
msgid ""
"The most important change in Python 2.0 may not be to the code at all, but "
"to how Python is developed: in May 2000 the Python developers began using "
"the tools made available by SourceForge for storing source code, tracking "
"bug reports, and managing the queue of patch submissions. To report bugs or "
"submit patches for Python 2.0, use the bug tracking and patch manager tools "
"available from Python's project page, located at http://sourceforge.net/"
"projects/python/."
msgstr ""
#: whatsnew/2.0.rst:66
msgid ""
"The most important of the services now hosted at SourceForge is the Python "
"CVS tree, the version-controlled repository containing the source code for "
"Python. Previously, there were roughly 7 or so people who had write access "
"to the CVS tree, and all patches had to be inspected and checked in by one "
"of the people on this short list. Obviously, this wasn't very scalable. By "
"moving the CVS tree to SourceForge, it became possible to grant write access "
"to more people; as of September 2000 there were 27 people able to check in "
"changes, a fourfold increase. This makes possible large-scale changes that "
"wouldn't be attempted if they'd have to be filtered through the small group "
"of core developers. For example, one day Peter Schneider-Kamp took it into "
"his head to drop K&R C compatibility and convert the C source for Python to "
"ANSI C. After getting approval on the python-dev mailing list, he launched "
"into a flurry of checkins that lasted about a week, other developers joined "
"in to help, and the job was done. If there were only 5 people with write "
"access, probably that task would have been viewed as \"nice, but not worth "
"the time and effort needed\" and it would never have gotten done."
msgstr ""
#: whatsnew/2.0.rst:83
msgid ""
"The shift to using SourceForge's services has resulted in a remarkable "
"increase in the speed of development. Patches now get submitted, commented "
"on, revised by people other than the original submitter, and bounced back "
"and forth between people until the patch is deemed worth checking in. Bugs "
"are tracked in one central location and can be assigned to a specific person "
"for fixing, and we can count the number of open bugs to measure progress. "
"This didn't come without a cost: developers now have more e-mail to deal "
"with, more mailing lists to follow, and special tools had to be written for "
"the new environment. For example, SourceForge sends default patch and bug "
"notification e-mail messages that are completely unhelpful, so Ka-Ping Yee "
"wrote an HTML screen-scraper that sends more useful messages."
msgstr ""
#: whatsnew/2.0.rst:95
msgid ""
"The ease of adding code caused a few initial growing pains, such as code was "
"checked in before it was ready or without getting clear agreement from the "
"developer group. The approval process that has emerged is somewhat similar "
"to that used by the Apache group. Developers can vote +1, +0, -0, or -1 on a "
"patch; +1 and -1 denote acceptance or rejection, while +0 and -0 mean the "
"developer is mostly indifferent to the change, though with a slight positive "
"or negative slant. The most significant change from the Apache model is "
"that the voting is essentially advisory, letting Guido van Rossum, who has "
"Benevolent Dictator For Life status, know what the general opinion is. He "
"can still ignore the result of a vote, and approve or reject a change even "
"if the community disagrees with him."
msgstr ""
#: whatsnew/2.0.rst:106
msgid ""
"Producing an actual patch is the last step in adding a new feature, and is "
"usually easy compared to the earlier task of coming up with a good design. "
"Discussions of new features can often explode into lengthy mailing list "
"threads, making the discussion hard to follow, and no one can read every "
"posting to python-dev. Therefore, a relatively formal process has been set "
"up to write Python Enhancement Proposals (PEPs), modelled on the Internet "
"RFC process. PEPs are draft documents that describe a proposed new feature, "
"and are continually revised until the community reaches a consensus, either "
"accepting or rejecting the proposal. Quoting from the introduction to PEP "
"1, \"PEP Purpose and Guidelines\":"
msgstr ""
#: whatsnew/2.0.rst:120
msgid ""
"PEP stands for Python Enhancement Proposal. A PEP is a design document "
"providing information to the Python community, or describing a new feature "
"for Python. The PEP should provide a concise technical specification of the "
"feature and a rationale for the feature."
msgstr ""
#: whatsnew/2.0.rst:125
msgid ""
"We intend PEPs to be the primary mechanisms for proposing new features, for "
"collecting community input on an issue, and for documenting the design "
"decisions that have gone into Python. The PEP author is responsible for "
"building consensus within the community and documenting dissenting opinions."
msgstr ""
#: whatsnew/2.0.rst:130
msgid ""
"Read the rest of PEP 1 for the details of the PEP editorial process, style, "
"and format. PEPs are kept in the Python CVS tree on SourceForge, though "
"they're not part of the Python 2.0 distribution, and are also available in "
"HTML form from https://www.python.org/peps/. As of September 2000, there "
"are 25 PEPS, ranging from PEP 201, \"Lockstep Iteration\", to PEP 225, "
"\"Elementwise/Objectwise Operators\"."
msgstr ""
#: whatsnew/2.0.rst:141 whatsnew/3.2.rst:2379
msgid "Unicode"
msgstr ""
#: whatsnew/2.0.rst:143
msgid ""
"The largest new feature in Python 2.0 is a new fundamental data type: "
"Unicode strings. Unicode uses 16-bit numbers to represent characters "
"instead of the 8-bit number used by ASCII, meaning that 65,536 distinct "
"characters can be supported."
msgstr ""
#: whatsnew/2.0.rst:148
msgid ""
"The final interface for Unicode support was arrived at through countless "
"often- stormy discussions on the python-dev mailing list, and mostly "
"implemented by Marc-André Lemburg, based on a Unicode string type "
"implementation by Fredrik Lundh. A detailed explanation of the interface "
"was written up as :pep:`100`, \"Python Unicode Integration\". This article "
"will simply cover the most significant points about the Unicode interfaces."
msgstr ""
#: whatsnew/2.0.rst:155
msgid ""
"In Python source code, Unicode strings are written as ``u\"string\"``. "
"Arbitrary Unicode characters can be written using a new escape sequence, ``"
"\\uHHHH``, where *HHHH* is a 4-digit hexadecimal number from 0000 to FFFF. "
"The existing ``\\xHHHH`` escape sequence can also be used, and octal escapes "
"can be used for characters up to U+01FF, which is represented by ``\\777``."
msgstr ""
#: whatsnew/2.0.rst:161
msgid ""
"Unicode strings, just like regular strings, are an immutable sequence type. "
"They can be indexed and sliced, but not modified in place. Unicode strings "
"have an ``encode( [encoding] )`` method that returns an 8-bit string in the "
"desired encoding. Encodings are named by strings, such as ``'ascii'``, "
"``'utf-8'``, ``'iso-8859-1'``, or whatever. A codec API is defined for "
"implementing and registering new encodings that are then available "
"throughout a Python program. If an encoding isn't specified, the default "
"encoding is usually 7-bit ASCII, though it can be changed for your Python "
"installation by calling the ``sys.setdefaultencoding(encoding)`` function in "
"a customised version of :file:`site.py`."
msgstr ""
#: whatsnew/2.0.rst:172
msgid ""
"Combining 8-bit and Unicode strings always coerces to Unicode, using the "
"default ASCII encoding; the result of ``'a' + u'bc'`` is ``u'abc'``."
msgstr ""
#: whatsnew/2.0.rst:175
msgid ""
"New built-in functions have been added, and existing built-ins modified to "
"support Unicode:"
msgstr ""
#: whatsnew/2.0.rst:178
msgid ""
"``unichr(ch)`` returns a Unicode string 1 character long, containing the "
"character *ch*."
msgstr ""
#: whatsnew/2.0.rst:181
msgid ""
"``ord(u)``, where *u* is a 1-character regular or Unicode string, returns "
"the number of the character as an integer."
msgstr ""
#: whatsnew/2.0.rst:184
msgid ""
"``unicode(string [, encoding] [, errors] )`` creates a Unicode string from "
"an 8-bit string. ``encoding`` is a string naming the encoding to use. The "
"``errors`` parameter specifies the treatment of characters that are invalid "
"for the current encoding; passing ``'strict'`` as the value causes an "
"exception to be raised on any encoding error, while ``'ignore'`` causes "
"errors to be silently ignored and ``'replace'`` uses U+FFFD, the official "
"replacement character, in case of any problems."
msgstr ""
#: whatsnew/2.0.rst:192
msgid ""
"The ``exec`` statement, and various built-ins such as ``eval()``, "
"``getattr()``, and ``setattr()`` will also accept Unicode strings as well as "
"regular strings. (It's possible that the process of fixing this missed some "
"built-ins; if you find a built-in function that accepts strings but doesn't "
"accept Unicode strings at all, please report it as a bug.)"
msgstr ""
#: whatsnew/2.0.rst:198
msgid ""
"A new module, :mod:`unicodedata`, provides an interface to Unicode character "
"properties. For example, ``unicodedata.category(u'A')`` returns the 2-"
"character string 'Lu', the 'L' denoting it's a letter, and 'u' meaning that "
"it's uppercase. ``unicodedata.bidirectional(u'\\u0660')`` returns 'AN', "
"meaning that U+0660 is an Arabic number."
msgstr ""
#: whatsnew/2.0.rst:204
msgid ""
"The :mod:`codecs` module contains functions to look up existing encodings "
"and register new ones. Unless you want to implement a new encoding, you'll "
"most often use the ``codecs.lookup(encoding)`` function, which returns a 4-"
"element tuple: ``(encode_func, decode_func, stream_reader, stream_writer)``."
msgstr ""
#: whatsnew/2.0.rst:209
msgid ""
"*encode_func* is a function that takes a Unicode string, and returns a 2-"
"tuple ``(string, length)``. *string* is an 8-bit string containing a "
"portion (perhaps all) of the Unicode string converted into the given "
"encoding, and *length* tells you how much of the Unicode string was "
"converted."
msgstr ""
#: whatsnew/2.0.rst:214
msgid ""
"*decode_func* is the opposite of *encode_func*, taking an 8-bit string and "
"returning a 2-tuple ``(ustring, length)``, consisting of the resulting "
"Unicode string *ustring* and the integer *length* telling how much of the 8-"
"bit string was consumed."
msgstr ""
#: whatsnew/2.0.rst:219
msgid ""
"*stream_reader* is a class that supports decoding input from a stream. "
"*stream_reader(file_obj)* returns an object that supports the :meth:`read`, :"
"meth:`readline`, and :meth:`readlines` methods. These methods will all "
"translate from the given encoding and return Unicode strings."
msgstr ""
#: whatsnew/2.0.rst:224
msgid ""
"*stream_writer*, similarly, is a class that supports encoding output to a "
"stream. *stream_writer(file_obj)* returns an object that supports the :meth:"
"`write` and :meth:`writelines` methods. These methods expect Unicode "
"strings, translating them to the given encoding on output."
msgstr ""
#: whatsnew/2.0.rst:229
msgid ""
"For example, the following code writes a Unicode string into a file, "
"encoding it as UTF-8::"
msgstr ""
#: whatsnew/2.0.rst:243
msgid "The following code would then read UTF-8 input from the file::"
msgstr ""
#: whatsnew/2.0.rst:249
msgid ""
"Unicode-aware regular expressions are available through the :mod:`re` "
"module, which has a new underlying implementation called SRE written by "
"Fredrik Lundh of Secret Labs AB."
msgstr ""
#: whatsnew/2.0.rst:253
msgid ""
"A ``-U`` command line option was added which causes the Python compiler to "
"interpret all string literals as Unicode string literals. This is intended "
"to be used in testing and future-proofing your Python code, since some "
"future version of Python may drop support for 8-bit strings and provide only "
"Unicode strings."
msgstr ""
#: whatsnew/2.0.rst:262
msgid "List Comprehensions"
msgstr "Compréhensions de listes"
#: whatsnew/2.0.rst:264
msgid ""
"Lists are a workhorse data type in Python, and many programs manipulate a "
"list at some point. Two common operations on lists are to loop over them, "
"and either pick out the elements that meet a certain criterion, or apply "
"some function to each element. For example, given a list of strings, you "
"might want to pull out all the strings containing a given substring, or "
"strip off trailing whitespace from each line."
msgstr ""
#: whatsnew/2.0.rst:271
msgid ""
"The existing :func:`map` and :func:`filter` functions can be used for this "
"purpose, but they require a function as one of their arguments. This is "
"fine if there's an existing built-in function that can be passed directly, "
"but if there isn't, you have to create a little function to do the required "
"work, and Python's scoping rules make the result ugly if the little function "
"needs additional information. Take the first example in the previous "
"paragraph, finding all the strings in the list containing a given "
"substring. You could write the following to do it::"
msgstr ""
#: whatsnew/2.0.rst:286
msgid ""
"Because of Python's scoping rules, a default argument is used so that the "
"anonymous function created by the :keyword:`lambda` statement knows what "
"substring is being searched for. List comprehensions make this cleaner::"
msgstr ""
#: whatsnew/2.0.rst:292
msgid "List comprehensions have the form::"
msgstr ""
#: whatsnew/2.0.rst:299
msgid ""
"The :keyword:`for`...\\ :keyword:`in` clauses contain the sequences to be "
"iterated over. The sequences do not have to be the same length, because "
"they are *not* iterated over in parallel, but from left to right; this is "
"explained more clearly in the following paragraphs. The elements of the "
"generated list will be the successive values of *expression*. The final :"
"keyword:`if` clause is optional; if present, *expression* is only evaluated "
"and added to the result if *condition* is true."
msgstr ""
#: whatsnew/2.0.rst:307
msgid ""
"To make the semantics very clear, a list comprehension is equivalent to the "
"following Python code::"
msgstr ""
#: whatsnew/2.0.rst:319
msgid ""
"This means that when there are multiple :keyword:`for`...\\ :keyword:`in` "
"clauses, the resulting list will be equal to the product of the lengths of "
"all the sequences. If you have two lists of length 3, the output list is 9 "
"elements long::"
msgstr ""
#: whatsnew/2.0.rst:330
msgid ""
"To avoid introducing an ambiguity into Python's grammar, if *expression* is "
"creating a tuple, it must be surrounded with parentheses. The first list "
"comprehension below is a syntax error, while the second one is correct::"
msgstr ""
#: whatsnew/2.0.rst:339
msgid ""
"The idea of list comprehensions originally comes from the functional "
"programming language Haskell (http://www.haskell.org). Greg Ewing argued "
"most effectively for adding them to Python and wrote the initial list "
"comprehension patch, which was then discussed for a seemingly endless time "
"on the python-dev mailing list and kept up-to-date by Skip Montanaro."
msgstr ""
#: whatsnew/2.0.rst:349
msgid "Augmented Assignment"
msgstr ""
#: whatsnew/2.0.rst:351
msgid ""
"Augmented assignment operators, another long-requested feature, have been "
"added to Python 2.0. Augmented assignment operators include ``+=``, ``-=``, "
"``*=``, and so forth. For example, the statement ``a += 2`` increments the "
"value of the variable ``a`` by 2, equivalent to the slightly lengthier ``a "
"= a + 2``."
msgstr ""
#: whatsnew/2.0.rst:356
msgid ""
"The full list of supported assignment operators is ``+=``, ``-=``, ``*=``, "
"``/=``, ``%=``, ``**=``, ``&=``, ``|=``, ``^=``, ``>>=``, and ``<<=``. "
"Python classes can override the augmented assignment operators by defining "
"methods named :meth:`__iadd__`, :meth:`__isub__`, etc. For example, the "
"following :class:`Number` class stores a number and supports using += to "
"create a new instance with an incremented value."
msgstr ""
#: whatsnew/2.0.rst:377
msgid ""
"The :meth:`__iadd__` special method is called with the value of the "
"increment, and should return a new instance with an appropriately modified "
"value; this return value is bound as the new value of the variable on the "
"left-hand side."
msgstr ""
#: whatsnew/2.0.rst:381
msgid ""
"Augmented assignment operators were first introduced in the C programming "
"language, and most C-derived languages, such as :program:`awk`, C++, Java, "
"Perl, and PHP also support them. The augmented assignment patch was "
"implemented by Thomas Wouters."
msgstr ""
#: whatsnew/2.0.rst:390
msgid "String Methods"
msgstr ""
#: whatsnew/2.0.rst:392
msgid ""
"Until now string-manipulation functionality was in the :mod:`string` module, "
"which was usually a front-end for the :mod:`strop` module written in C. The "
"addition of Unicode posed a difficulty for the :mod:`strop` module, because "
"the functions would all need to be rewritten in order to accept either 8-bit "
"or Unicode strings. For functions such as :func:`string.replace`, which "
"takes 3 string arguments, that means eight possible permutations, and "
"correspondingly complicated code."
msgstr ""
#: whatsnew/2.0.rst:400
msgid ""
"Instead, Python 2.0 pushes the problem onto the string type, making string "
"manipulation functionality available through methods on both 8-bit strings "
"and Unicode strings. ::"
msgstr ""
#: whatsnew/2.0.rst:411
msgid ""
"One thing that hasn't changed, a noteworthy April Fools' joke "
"notwithstanding, is that Python strings are immutable. Thus, the string "
"methods return new strings, and do not modify the string on which they "
"operate."
msgstr ""
#: whatsnew/2.0.rst:415
msgid ""
"The old :mod:`string` module is still around for backwards compatibility, "
"but it mostly acts as a front-end to the new string methods."
msgstr ""
#: whatsnew/2.0.rst:418
msgid ""
"Two methods which have no parallel in pre-2.0 versions, although they did "
"exist in JPython for quite some time, are :meth:`startswith` and :meth:"
"`endswith`. ``s.startswith(t)`` is equivalent to ``s[:len(t)] == t``, while "
"``s.endswith(t)`` is equivalent to ``s[-len(t):] == t``."
msgstr ""
#: whatsnew/2.0.rst:423
msgid ""
"One other method which deserves special mention is :meth:`join`. The :meth:"
"`join` method of a string receives one parameter, a sequence of strings, and "
"is equivalent to the :func:`string.join` function from the old :mod:`string` "
"module, with the arguments reversed. In other words, ``s.join(seq)`` is "
"equivalent to the old ``string.join(seq, s)``."
msgstr ""
#: whatsnew/2.0.rst:433
msgid "Garbage Collection of Cycles"
msgstr ""
#: whatsnew/2.0.rst:435
msgid ""
"The C implementation of Python uses reference counting to implement garbage "
"collection. Every Python object maintains a count of the number of "
"references pointing to itself, and adjusts the count as references are "
"created or destroyed. Once the reference count reaches zero, the object is "
"no longer accessible, since you need to have a reference to an object to "
"access it, and if the count is zero, no references exist any longer."
msgstr ""
#: whatsnew/2.0.rst:442
msgid ""
"Reference counting has some pleasant properties: it's easy to understand and "
"implement, and the resulting implementation is portable, fairly fast, and "
"reacts well with other libraries that implement their own memory handling "
"schemes. The major problem with reference counting is that it sometimes "
"doesn't realise that objects are no longer accessible, resulting in a memory "
"leak. This happens when there are cycles of references."
msgstr ""
#: whatsnew/2.0.rst:449
msgid ""
"Consider the simplest possible cycle, a class instance which has a "
"reference to itself::"
msgstr ""
#: whatsnew/2.0.rst:455
msgid ""
"After the above two lines of code have been executed, the reference count of "
"``instance`` is 2; one reference is from the variable named ``'instance'``, "
"and the other is from the ``myself`` attribute of the instance."
msgstr ""
#: whatsnew/2.0.rst:459
msgid ""
"If the next line of code is ``del instance``, what happens? The reference "
"count of ``instance`` is decreased by 1, so it has a reference count of 1; "
"the reference in the ``myself`` attribute still exists. Yet the instance is "
"no longer accessible through Python code, and it could be deleted. Several "
"objects can participate in a cycle if they have references to each other, "
"causing all of the objects to be leaked."
msgstr ""
#: whatsnew/2.0.rst:466
msgid ""
"Python 2.0 fixes this problem by periodically executing a cycle detection "
"algorithm which looks for inaccessible cycles and deletes the objects "
"involved. A new :mod:`gc` module provides functions to perform a garbage "
"collection, obtain debugging statistics, and tuning the collector's "
"parameters."
msgstr ""
#: whatsnew/2.0.rst:471
msgid ""
"Running the cycle detection algorithm takes some time, and therefore will "
"result in some additional overhead. It is hoped that after we've gotten "
"experience with the cycle collection from using 2.0, Python 2.1 will be able "
"to minimize the overhead with careful tuning. It's not yet obvious how much "
"performance is lost, because benchmarking this is tricky and depends "
"crucially on how often the program creates and destroys objects. The "
"detection of cycles can be disabled when Python is compiled, if you can't "
"afford even a tiny speed penalty or suspect that the cycle collection is "
"buggy, by specifying the :option:`--without-cycle-gc` switch when running "
"the :program:`configure` script."
msgstr ""
#: whatsnew/2.0.rst:482
msgid ""
"Several people tackled this problem and contributed to a solution. An early "
"implementation of the cycle detection approach was written by Toby Kelsey. "
"The current algorithm was suggested by Eric Tiedemann during a visit to "
"CNRI, and Guido van Rossum and Neil Schemenauer wrote two different "
"implementations, which were later integrated by Neil. Lots of other people "
"offered suggestions along the way; the March 2000 archives of the python-dev "
"mailing list contain most of the relevant discussion, especially in the "
"threads titled \"Reference cycle collection for Python\" and \"Finalization "
"again\"."
msgstr ""
#: whatsnew/2.0.rst:495
msgid "Other Core Changes"
msgstr ""
#: whatsnew/2.0.rst:497
msgid ""
"Various minor changes have been made to Python's syntax and built-in "
"functions. None of the changes are very far-reaching, but they're handy "
"conveniences."
msgstr ""
#: whatsnew/2.0.rst:502
msgid "Minor Language Changes"
msgstr ""
#: whatsnew/2.0.rst:504
msgid ""
"A new syntax makes it more convenient to call a given function with a tuple "
"of arguments and/or a dictionary of keyword arguments. In Python 1.5 and "
"earlier, you'd use the :func:`apply` built-in function: ``apply(f, args, "
"kw)`` calls the function :func:`f` with the argument tuple *args* and the "
"keyword arguments in the dictionary *kw*. :func:`apply` is the same in "
"2.0, but thanks to a patch from Greg Ewing, ``f(*args, **kw)`` as a shorter "
"and clearer way to achieve the same effect. This syntax is symmetrical with "
"the syntax for defining functions::"
msgstr ""
#: whatsnew/2.0.rst:518
msgid ""
"The ``print`` statement can now have its output directed to a file-like "
"object by following the ``print`` with ``>> file``, similar to the "
"redirection operator in Unix shells. Previously you'd either have to use "
"the :meth:`write` method of the file-like object, which lacks the "
"convenience and simplicity of ``print``, or you could assign a new value to "
"``sys.stdout`` and then restore the old value. For sending output to "
"standard error, it's much easier to write this::"
msgstr ""
#: whatsnew/2.0.rst:528
msgid ""
"Modules can now be renamed on importing them, using the syntax ``import "
"module as name`` or ``from module import name as othername``. The patch was "
"submitted by Thomas Wouters."
msgstr ""
#: whatsnew/2.0.rst:532
msgid ""
"A new format style is available when using the ``%`` operator; '%r' will "
"insert the :func:`repr` of its argument. This was also added from symmetry "
"considerations, this time for symmetry with the existing '%s' format style, "
"which inserts the :func:`str` of its argument. For example, ``'%r %s' % "
"('abc', 'abc')`` returns a string containing ``'abc' abc``."
msgstr ""
#: whatsnew/2.0.rst:538
msgid ""
"Previously there was no way to implement a class that overrode Python's "
"built-in :keyword:`in` operator and implemented a custom version. ``obj in "
"seq`` returns true if *obj* is present in the sequence *seq*; Python "
"computes this by simply trying every index of the sequence until either "
"*obj* is found or an :exc:`IndexError` is encountered. Moshe Zadka "
"contributed a patch which adds a :meth:`__contains__` magic method for "
"providing a custom implementation for :keyword:`in`. Additionally, new built-"
"in objects written in C can define what :keyword:`in` means for them via a "
"new slot in the sequence protocol."
msgstr ""
#: whatsnew/2.0.rst:547
msgid ""
"Earlier versions of Python used a recursive algorithm for deleting objects. "
"Deeply nested data structures could cause the interpreter to fill up the C "
"stack and crash; Christian Tismer rewrote the deletion logic to fix this "
"problem. On a related note, comparing recursive objects recursed infinitely "
"and crashed; Jeremy Hylton rewrote the code to no longer crash, producing a "
"useful result instead. For example, after this code::"
msgstr ""
#: whatsnew/2.0.rst:559
msgid ""
"The comparison ``a==b`` returns true, because the two recursive data "
"structures are isomorphic. See the thread \"trashcan and PR#7\" in the April "
"2000 archives of the python-dev mailing list for the discussion leading up "
"to this implementation, and some useful relevant links. Note that "
"comparisons can now also raise exceptions. In earlier versions of Python, a "
"comparison operation such as ``cmp(a,b)`` would always produce an answer, "
"even if a user-defined :meth:`__cmp__` method encountered an error, since "
"the resulting exception would simply be silently swallowed."
msgstr ""
#: whatsnew/2.0.rst:571
msgid ""
"Work has been done on porting Python to 64-bit Windows on the Itanium "
"processor, mostly by Trent Mick of ActiveState. (Confusingly, ``sys."
"platform`` is still ``'win32'`` on Win64 because it seems that for ease of "
"porting, MS Visual C++ treats code as 32 bit on Itanium.) PythonWin also "
"supports Windows CE; see the Python CE page at http://pythonce.sourceforge."
"net/ for more information."
msgstr ""
#: whatsnew/2.0.rst:577
msgid ""
"Another new platform is Darwin/MacOS X; initial support for it is in Python "
"2.0. Dynamic loading works, if you specify \"configure --with-dyld --with-"
"suffix=.x\". Consult the README in the Python source distribution for more "
"instructions."
msgstr ""
#: whatsnew/2.0.rst:581
msgid ""
"An attempt has been made to alleviate one of Python's warts, the often-"
"confusing :exc:`NameError` exception when code refers to a local variable "
"before the variable has been assigned a value. For example, the following "
"code raises an exception on the ``print`` statement in both 1.5.2 and 2.0; "
"in 1.5.2 a :exc:`NameError` exception is raised, while 2.0 raises a new :exc:"
"`UnboundLocalError` exception. :exc:`UnboundLocalError` is a subclass of :"
"exc:`NameError`, so any existing code that expects :exc:`NameError` to be "
"raised should still work. ::"
msgstr ""
#: whatsnew/2.0.rst:595
msgid ""
"Two new exceptions, :exc:`TabError` and :exc:`IndentationError`, have been "
"introduced. They're both subclasses of :exc:`SyntaxError`, and are raised "
"when Python code is found to be improperly indented."
msgstr ""
#: whatsnew/2.0.rst:601
msgid "Changes to Built-in Functions"
msgstr ""
#: whatsnew/2.0.rst:603
msgid ""
"A new built-in, ``zip(seq1, seq2, ...)``, has been added. :func:`zip` "
"returns a list of tuples where each tuple contains the i-th element from "
"each of the argument sequences. The difference between :func:`zip` and "
"``map(None, seq1, seq2)`` is that :func:`map` pads the sequences with "
"``None`` if the sequences aren't all of the same length, while :func:`zip` "
"truncates the returned list to the length of the shortest argument sequence."
msgstr ""
#: whatsnew/2.0.rst:610
msgid ""
"The :func:`int` and :func:`long` functions now accept an optional \"base\" "
"parameter when the first argument is a string. ``int('123', 10)`` returns "
"123, while ``int('123', 16)`` returns 291. ``int(123, 16)`` raises a :exc:"
"`TypeError` exception with the message \"can't convert non-string with "
"explicit base\"."
msgstr ""
#: whatsnew/2.0.rst:616
msgid ""
"A new variable holding more detailed version information has been added to "
"the :mod:`sys` module. ``sys.version_info`` is a tuple ``(major, minor, "
"micro, level, serial)`` For example, in a hypothetical 2.0.1beta1, ``sys."
"version_info`` would be ``(2, 0, 1, 'beta', 1)``. *level* is a string such "
"as ``\"alpha\"``, ``\"beta\"``, or ``\"final\"`` for a final release."
msgstr ""
#: whatsnew/2.0.rst:622
msgid ""
"Dictionaries have an odd new method, ``setdefault(key, default)``, which "
"behaves similarly to the existing :meth:`get` method. However, if the key "
"is missing, :meth:`setdefault` both returns the value of *default* as :meth:"
"`get` would do, and also inserts it into the dictionary as the value for "
"*key*. Thus, the following lines of code::"
msgstr ""
#: whatsnew/2.0.rst:633
msgid ""
"can be reduced to a single ``return dict.setdefault(key, [])`` statement."
msgstr ""
#: whatsnew/2.0.rst:635
msgid ""
"The interpreter sets a maximum recursion depth in order to catch runaway "
"recursion before filling the C stack and causing a core dump or GPF.. "
"Previously this limit was fixed when you compiled Python, but in 2.0 the "
"maximum recursion depth can be read and modified using :func:`sys."
"getrecursionlimit` and :func:`sys.setrecursionlimit`. The default value is "
"1000, and a rough maximum value for a given platform can be found by running "
"a new script, :file:`Misc/find_recursionlimit.py`."
msgstr ""
#: whatsnew/2.0.rst:647
msgid "Porting to 2.0"
msgstr ""
#: whatsnew/2.0.rst:649
msgid ""
"New Python releases try hard to be compatible with previous releases, and "
"the record has been pretty good. However, some changes are considered "
"useful enough, usually because they fix initial design decisions that turned "
"out to be actively mistaken, that breaking backward compatibility can't "
"always be avoided. This section lists the changes in Python 2.0 that may "
"cause old Python code to break."
msgstr ""
#: whatsnew/2.0.rst:656
msgid ""
"The change which will probably break the most code is tightening up the "
"arguments accepted by some methods. Some methods would take multiple "
"arguments and treat them as a tuple, particularly various list methods such "
"as :meth:`append` and :meth:`insert`. In earlier versions of Python, if "
"``L`` is a list, ``L.append( 1,2 )`` appends the tuple ``(1,2)`` to the "
"list. In Python 2.0 this causes a :exc:`TypeError` exception to be raised, "
"with the message: 'append requires exactly 1 argument; 2 given'. The fix is "
"to simply add an extra set of parentheses to pass both values as a tuple: "
"``L.append( (1,2) )``."
msgstr ""
#: whatsnew/2.0.rst:665
msgid ""
"The earlier versions of these methods were more forgiving because they used "
"an old function in Python's C interface to parse their arguments; 2.0 "
"modernizes them to use :func:`PyArg_ParseTuple`, the current argument "
"parsing function, which provides more helpful error messages and treats "
"multi-argument calls as errors. If you absolutely must use 2.0 but can't "
"fix your code, you can edit :file:`Objects/listobject.c` and define the "
"preprocessor symbol ``NO_STRICT_LIST_APPEND`` to preserve the old behaviour; "
"this isn't recommended."
msgstr ""
#: whatsnew/2.0.rst:673
msgid ""
"Some of the functions in the :mod:`socket` module are still forgiving in "
"this way. For example, :func:`socket.connect( ('hostname', 25) )` is the "
"correct form, passing a tuple representing an IP address, but :func:`socket."
"connect( 'hostname', 25 )` also works. :func:`socket.connect_ex` and :func:"
"`socket.bind` are similarly easy-going. 2.0alpha1 tightened these functions "
"up, but because the documentation actually used the erroneous multiple "
"argument form, many people wrote code which would break with the stricter "
"checking. GvR backed out the changes in the face of public reaction, so for "
"the :mod:`socket` module, the documentation was fixed and the multiple "
"argument form is simply marked as deprecated; it *will* be tightened up "
"again in a future Python version."
msgstr ""
#: whatsnew/2.0.rst:684
msgid ""
"The ``\\x`` escape in string literals now takes exactly 2 hex digits. "
"Previously it would consume all the hex digits following the 'x' and take "
"the lowest 8 bits of the result, so ``\\x123456`` was equivalent to ``"
"\\x56``."
msgstr ""
#: whatsnew/2.0.rst:688
msgid ""
"The :exc:`AttributeError` and :exc:`NameError` exceptions have a more "
"friendly error message, whose text will be something like ``'Spam' instance "
"has no attribute 'eggs'`` or ``name 'eggs' is not defined``. Previously the "
"error message was just the missing attribute name ``eggs``, and code written "
"to take advantage of this fact will break in 2.0."
msgstr ""
#: whatsnew/2.0.rst:694
msgid ""
"Some work has been done to make integers and long integers a bit more "
"interchangeable. In 1.5.2, large-file support was added for Solaris, to "
"allow reading files larger than 2 GiB; this made the :meth:`tell` method of "
"file objects return a long integer instead of a regular integer. Some code "
"would subtract two file offsets and attempt to use the result to multiply a "
"sequence or slice a string, but this raised a :exc:`TypeError`. In 2.0, "
"long integers can be used to multiply or slice a sequence, and it'll behave "
"as you'd intuitively expect it to; ``3L * 'abc'`` produces 'abcabcabc', and "
"``(0,1,2,3)[2L:4L]`` produces (2,3). Long integers can also be used in "
"various contexts where previously only integers were accepted, such as in "
"the :meth:`seek` method of file objects, and in the formats supported by the "
"``%`` operator (``%d``, ``%i``, ``%x``, etc.). For example, ``\"%d\" % "
"2L**64`` will produce the string ``18446744073709551616``."
msgstr ""
#: whatsnew/2.0.rst:708
msgid ""
"The subtlest long integer change of all is that the :func:`str` of a long "
"integer no longer has a trailing 'L' character, though :func:`repr` still "
"includes it. The 'L' annoyed many people who wanted to print long integers "
"that looked just like regular integers, since they had to go out of their "
"way to chop off the character. This is no longer a problem in 2.0, but code "
"which does ``str(longval)[:-1]`` and assumes the 'L' is there, will now lose "
"the final digit."
msgstr ""
#: whatsnew/2.0.rst:716
msgid ""
"Taking the :func:`repr` of a float now uses a different formatting precision "
"than :func:`str`. :func:`repr` uses ``%.17g`` format string for C's :func:"
"`sprintf`, while :func:`str` uses ``%.12g`` as before. The effect is that :"
"func:`repr` may occasionally show more decimal places than :func:`str`, for "
"certain numbers. For example, the number 8.1 can't be represented exactly "
"in binary, so ``repr(8.1)`` is ``'8.0999999999999996'``, while str(8.1) is "
"``'8.1'``."
msgstr ""
#: whatsnew/2.0.rst:724
msgid ""
"The ``-X`` command-line option, which turned all standard exceptions into "
"strings instead of classes, has been removed; the standard exceptions will "
"now always be classes. The :mod:`exceptions` module containing the standard "
"exceptions was translated from Python to a built-in C module, written by "
"Barry Warsaw and Fredrik Lundh."
msgstr ""
#: whatsnew/2.0.rst:740
msgid "Extending/Embedding Changes"
msgstr ""
#: whatsnew/2.0.rst:742
msgid ""
"Some of the changes are under the covers, and will only be apparent to "
"people writing C extension modules or embedding a Python interpreter in a "
"larger application. If you aren't dealing with Python's C API, you can "
"safely skip this section."
msgstr ""
#: whatsnew/2.0.rst:747
msgid ""
"The version number of the Python C API was incremented, so C extensions "
"compiled for 1.5.2 must be recompiled in order to work with 2.0. On "
"Windows, it's not possible for Python 2.0 to import a third party extension "
"built for Python 1.5.x due to how Windows DLLs work, so Python will raise an "
"exception and the import will fail."
msgstr ""
#: whatsnew/2.0.rst:753
msgid ""
"Users of Jim Fulton's ExtensionClass module will be pleased to find out that "
"hooks have been added so that ExtensionClasses are now supported by :func:"
"`isinstance` and :func:`issubclass`. This means you no longer have to "
"remember to write code such as ``if type(obj) == myExtensionClass``, but can "
"use the more natural ``if isinstance(obj, myExtensionClass)``."
msgstr ""
#: whatsnew/2.0.rst:759
msgid ""
"The :file:`Python/importdl.c` file, which was a mass of #ifdefs to support "
"dynamic loading on many different platforms, was cleaned up and reorganised "
"by Greg Stein. :file:`importdl.c` is now quite small, and platform-specific "
"code has been moved into a bunch of :file:`Python/dynload_\\*.c` files. "
"Another cleanup: there were also a number of :file:`my\\*.h` files in the "
"Include/ directory that held various portability hacks; they've been merged "
"into a single file, :file:`Include/pyport.h`."
msgstr ""
#: whatsnew/2.0.rst:767
msgid ""
"Vladimir Marangozov's long-awaited malloc restructuring was completed, to "
"make it easy to have the Python interpreter use a custom allocator instead "
"of C's standard :func:`malloc`. For documentation, read the comments in :"
"file:`Include/pymem.h` and :file:`Include/objimpl.h`. For the lengthy "
"discussions during which the interface was hammered out, see the Web "
"archives of the 'patches' and 'python-dev' lists at python.org."
msgstr ""
#: whatsnew/2.0.rst:774
msgid ""
"Recent versions of the GUSI development environment for MacOS support POSIX "
"threads. Therefore, Python's POSIX threading support now works on the "
"Macintosh. Threading support using the user-space GNU ``pth`` library was "
"also contributed."
msgstr ""
#: whatsnew/2.0.rst:779
msgid ""
"Threading support on Windows was enhanced, too. Windows supports thread "
"locks that use kernel objects only in case of contention; in the common case "
"when there's no contention, they use simpler functions which are an order of "
"magnitude faster. A threaded version of Python 1.5.2 on NT is twice as slow "
"as an unthreaded version; with the 2.0 changes, the difference is only 10%. "
"These improvements were contributed by Yakov Markovitch."
msgstr ""
#: whatsnew/2.0.rst:786
msgid ""
"Python 2.0's source now uses only ANSI C prototypes, so compiling Python now "
"requires an ANSI C compiler, and can no longer be done using a compiler that "
"only supports K&R C."
msgstr ""
#: whatsnew/2.0.rst:790
msgid ""
"Previously the Python virtual machine used 16-bit numbers in its bytecode, "
"limiting the size of source files. In particular, this affected the maximum "
"size of literal lists and dictionaries in Python source; occasionally people "
"who are generating Python code would run into this limit. A patch by "
"Charles G. Waldman raises the limit from ``2^16`` to ``2^{32}``."
msgstr ""
#: whatsnew/2.0.rst:796
msgid ""
"Three new convenience functions intended for adding constants to a module's "
"dictionary at module initialization time were added: :func:"
"`PyModule_AddObject`, :func:`PyModule_AddIntConstant`, and :func:"
"`PyModule_AddStringConstant`. Each of these functions takes a module "
"object, a null-terminated C string containing the name to be added, and a "
"third argument for the value to be assigned to the name. This third "
"argument is, respectively, a Python object, a C long, or a C string."
msgstr ""
#: whatsnew/2.0.rst:804
msgid ""
"A wrapper API was added for Unix-style signal handlers. :func:`PyOS_getsig` "
"gets a signal handler and :func:`PyOS_setsig` will set a new handler."
msgstr ""
#: whatsnew/2.0.rst:811
msgid "Distutils: Making Modules Easy to Install"
msgstr ""
#: whatsnew/2.0.rst:813
msgid ""
"Before Python 2.0, installing modules was a tedious affair -- there was no "
"way to figure out automatically where Python is installed, or what compiler "
"options to use for extension modules. Software authors had to go through an "
"arduous ritual of editing Makefiles and configuration files, which only "
"really work on Unix and leave Windows and MacOS unsupported. Python users "
"faced wildly differing installation instructions which varied between "
"different extension packages, which made administering a Python installation "
"something of a chore."
msgstr ""
#: whatsnew/2.0.rst:821
msgid ""
"The SIG for distribution utilities, shepherded by Greg Ward, has created the "
"Distutils, a system to make package installation much easier. They form "
"the :mod:`distutils` package, a new part of Python's standard library. In "
"the best case, installing a Python module from source will require the same "
"steps: first you simply mean unpack the tarball or zip archive, and the run "
"\"``python setup.py install``\". The platform will be automatically "
"detected, the compiler will be recognized, C extension modules will be "
"compiled, and the distribution installed into the proper directory. "
"Optional command-line arguments provide more control over the installation "
"process, the distutils package offers many places to override defaults -- "
"separating the build from the install, building or installing in non-default "
"directories, and more."
msgstr ""
#: whatsnew/2.0.rst:833
msgid ""
"In order to use the Distutils, you need to write a :file:`setup.py` script. "
"For the simple case, when the software contains only .py files, a minimal :"
"file:`setup.py` can be just a few lines long::"
msgstr ""
#: whatsnew/2.0.rst:841
msgid ""
"The :file:`setup.py` file isn't much more complicated if the software "
"consists of a few packages::"
msgstr ""
#: whatsnew/2.0.rst:848
msgid ""
"A C extension can be the most complicated case; here's an example taken from "
"the PyXML package::"
msgstr ""
#: whatsnew/2.0.rst:864
msgid ""
"The Distutils can also take care of creating source and binary "
"distributions. The \"sdist\" command, run by \"``python setup.py sdist``', "
"builds a source distribution such as :file:`foo-1.0.tar.gz`. Adding new "
"commands isn't difficult, \"bdist_rpm\" and \"bdist_wininst\" commands have "
"already been contributed to create an RPM distribution and a Windows "
"installer for the software, respectively. Commands to create other "
"distribution formats such as Debian packages and Solaris :file:`.pkg` files "
"are in various stages of development."
msgstr ""
#: whatsnew/2.0.rst:873
msgid ""
"All this is documented in a new manual, *Distributing Python Modules*, that "
"joins the basic set of Python documentation."
msgstr ""
#: whatsnew/2.0.rst:880
msgid "XML Modules"
msgstr ""
#: whatsnew/2.0.rst:882
msgid ""
"Python 1.5.2 included a simple XML parser in the form of the :mod:`xmllib` "
"module, contributed by Sjoerd Mullender. Since 1.5.2's release, two "
"different interfaces for processing XML have become common: SAX2 (version 2 "
"of the Simple API for XML) provides an event-driven interface with some "
"similarities to :mod:`xmllib`, and the DOM (Document Object Model) provides "
"a tree-based interface, transforming an XML document into a tree of nodes "
"that can be traversed and modified. Python 2.0 includes a SAX2 interface "
"and a stripped- down DOM interface as part of the :mod:`xml` package. Here "
"we will give a brief overview of these new interfaces; consult the Python "
"documentation or the source code for complete details. The Python XML SIG is "
"also working on improved documentation."
msgstr ""
#: whatsnew/2.0.rst:896
msgid "SAX2 Support"
msgstr ""
#: whatsnew/2.0.rst:898
msgid ""
"SAX defines an event-driven interface for parsing XML. To use SAX, you must "
"write a SAX handler class. Handler classes inherit from various classes "
"provided by SAX, and override various methods that will then be called by "
"the XML parser. For example, the :meth:`startElement` and :meth:"
"`endElement` methods are called for every starting and end tag encountered "
"by the parser, the :meth:`characters` method is called for every chunk of "
"character data, and so forth."
msgstr ""
#: whatsnew/2.0.rst:906
msgid ""
"The advantage of the event-driven approach is that the whole document "
"doesn't have to be resident in memory at any one time, which matters if you "
"are processing really huge documents. However, writing the SAX handler "
"class can get very complicated if you're trying to modify the document "
"structure in some elaborate way."
msgstr ""
#: whatsnew/2.0.rst:912
msgid ""
"For example, this little example program defines a handler that prints a "
"message for every starting and ending tag, and then parses the file :file:"
"`hamlet.xml` using it::"
msgstr ""
#: whatsnew/2.0.rst:935
msgid ""
"For more information, consult the Python documentation, or the XML HOWTO at "
"http://pyxml.sourceforge.net/topics/howto/xml-howto.html."
msgstr ""
#: whatsnew/2.0.rst:940
msgid "DOM Support"
msgstr ""
#: whatsnew/2.0.rst:942
msgid ""
"The Document Object Model is a tree-based representation for an XML "
"document. A top-level :class:`Document` instance is the root of the tree, "
"and has a single child which is the top-level :class:`Element` instance. "
"This :class:`Element` has children nodes representing character data and any "
"sub-elements, which may have further children of their own, and so forth. "
"Using the DOM you can traverse the resulting tree any way you like, access "
"element and attribute values, insert and delete nodes, and convert the tree "
"back into XML."
msgstr ""
#: whatsnew/2.0.rst:950
msgid ""
"The DOM is useful for modifying XML documents, because you can create a DOM "
"tree, modify it by adding new nodes or rearranging subtrees, and then "
"produce a new XML document as output. You can also construct a DOM tree "
"manually and convert it to XML, which can be a more flexible way of "
"producing XML output than simply writing ``<tag1>``...\\ ``</tag1>`` to a "
"file."
msgstr ""
#: whatsnew/2.0.rst:956
msgid ""
"The DOM implementation included with Python lives in the :mod:`xml.dom."
"minidom` module. It's a lightweight implementation of the Level 1 DOM with "
"support for XML namespaces. The :func:`parse` and :func:`parseString` "
"convenience functions are provided for generating a DOM tree::"
msgstr ""
#: whatsnew/2.0.rst:964
msgid ""
"``doc`` is a :class:`Document` instance. :class:`Document`, like all the "
"other DOM classes such as :class:`Element` and :class:`Text`, is a subclass "
"of the :class:`Node` base class. All the nodes in a DOM tree therefore "
"support certain common methods, such as :meth:`toxml` which returns a string "
"containing the XML representation of the node and its children. Each class "
"also has special methods of its own; for example, :class:`Element` and :"
"class:`Document` instances have a method to find all child elements with a "
"given tag name. Continuing from the previous 2-line example::"
msgstr ""
#: whatsnew/2.0.rst:977
msgid "For the *Hamlet* XML file, the above few lines output::"
msgstr ""
#: whatsnew/2.0.rst:982
msgid ""
"The root element of the document is available as ``doc.documentElement``, "
"and its children can be easily modified by deleting, adding, or removing "
"nodes::"
msgstr ""
#: whatsnew/2.0.rst:997
msgid ""
"Again, I will refer you to the Python documentation for a complete listing "
"of the different :class:`Node` classes and their various methods."
msgstr ""
#: whatsnew/2.0.rst:1002
msgid "Relationship to PyXML"
msgstr ""
#: whatsnew/2.0.rst:1004
msgid ""
"The XML Special Interest Group has been working on XML-related Python code "
"for a while. Its code distribution, called PyXML, is available from the "
"SIG's Web pages at https://www.python.org/community/sigs/current/xml-sig. "
"The PyXML distribution also used the package name ``xml``. If you've "
"written programs that used PyXML, you're probably wondering about its "
"compatibility with the 2.0 :mod:`xml` package."
msgstr ""
#: whatsnew/2.0.rst:1010
msgid ""
"The answer is that Python 2.0's :mod:`xml` package isn't compatible with "
"PyXML, but can be made compatible by installing a recent version PyXML. "
"Many applications can get by with the XML support that is included with "
"Python 2.0, but more complicated applications will require that the full "
"PyXML package will be installed. When installed, PyXML versions 0.6.0 or "
"greater will replace the :mod:`xml` package shipped with Python, and will be "
"a strict superset of the standard package, adding a bunch of additional "
"features. Some of the additional features in PyXML include:"
msgstr ""
#: whatsnew/2.0.rst:1019
msgid "4DOM, a full DOM implementation from FourThought, Inc."
msgstr ""
#: whatsnew/2.0.rst:1021
msgid "The xmlproc validating parser, written by Lars Marius Garshol."
msgstr ""
#: whatsnew/2.0.rst:1023
msgid "The :mod:`sgmlop` parser accelerator module, written by Fredrik Lundh."
msgstr ""
#: whatsnew/2.0.rst:1029
msgid "Module changes"
msgstr ""
#: whatsnew/2.0.rst:1031
msgid ""
"Lots of improvements and bugfixes were made to Python's extensive standard "
"library; some of the affected modules include :mod:`readline`, :mod:"
"`ConfigParser`, :mod:`cgi`, :mod:`calendar`, :mod:`posix`, :mod:`readline`, :"
"mod:`xmllib`, :mod:`aifc`, :mod:`chunk, wave`, :mod:`random`, :mod:`shelve`, "
"and :mod:`nntplib`. Consult the CVS logs for the exact patch-by-patch "
"details."
msgstr ""
#: whatsnew/2.0.rst:1037
msgid ""
"Brian Gallew contributed OpenSSL support for the :mod:`socket` module. "
"OpenSSL is an implementation of the Secure Socket Layer, which encrypts the "
"data being sent over a socket. When compiling Python, you can edit :file:"
"`Modules/Setup` to include SSL support, which adds an additional function to "
"the :mod:`socket` module: ``socket.ssl(socket, keyfile, certfile)``, which "
"takes a socket object and returns an SSL socket. The :mod:`httplib` and :"
"mod:`urllib` modules were also changed to support ``https://`` URLs, though "
"no one has implemented FTP or SMTP over SSL."
msgstr ""
#: whatsnew/2.0.rst:1046
msgid ""
"The :mod:`httplib` module has been rewritten by Greg Stein to support "
"HTTP/1.1. Backward compatibility with the 1.5 version of :mod:`httplib` is "
"provided, though using HTTP/1.1 features such as pipelining will require "
"rewriting code to use a different set of interfaces."
msgstr ""
#: whatsnew/2.0.rst:1051
msgid ""
"The :mod:`Tkinter` module now supports Tcl/Tk version 8.1, 8.2, or 8.3, and "
"support for the older 7.x versions has been dropped. The Tkinter module now "
"supports displaying Unicode strings in Tk widgets. Also, Fredrik Lundh "
"contributed an optimization which makes operations like ``create_line`` and "
"``create_polygon`` much faster, especially when using lots of coordinates."
msgstr ""
#: whatsnew/2.0.rst:1057
msgid ""
"The :mod:`curses` module has been greatly extended, starting from Oliver "
"Andrich's enhanced version, to provide many additional functions from "
"ncurses and SYSV curses, such as colour, alternative character set support, "
"pads, and mouse support. This means the module is no longer compatible with "
"operating systems that only have BSD curses, but there don't seem to be any "
"currently maintained OSes that fall into this category."
msgstr ""
#: whatsnew/2.0.rst:1064
msgid ""
"As mentioned in the earlier discussion of 2.0's Unicode support, the "
"underlying implementation of the regular expressions provided by the :mod:"
"`re` module has been changed. SRE, a new regular expression engine written "
"by Fredrik Lundh and partially funded by Hewlett Packard, supports matching "
"against both 8-bit strings and Unicode strings."
msgstr ""
#: whatsnew/2.0.rst:1074
msgid "New modules"
msgstr ""
#: whatsnew/2.0.rst:1076
msgid ""
"A number of new modules were added. We'll simply list them with brief "
"descriptions; consult the 2.0 documentation for the details of a particular "
"module."
msgstr ""
#: whatsnew/2.0.rst:1080
msgid ""
":mod:`atexit`: For registering functions to be called before the Python "
"interpreter exits. Code that currently sets ``sys.exitfunc`` directly should "
"be changed to use the :mod:`atexit` module instead, importing :mod:`atexit` "
"and calling :func:`atexit.register` with the function to be called on exit. "
"(Contributed by Skip Montanaro.)"
msgstr ""
#: whatsnew/2.0.rst:1086
msgid ""
":mod:`codecs`, :mod:`encodings`, :mod:`unicodedata`: Added as part of the "
"new Unicode support."
msgstr ""
#: whatsnew/2.0.rst:1089
msgid ""
":mod:`filecmp`: Supersedes the old :mod:`cmp`, :mod:`cmpcache` and :mod:"
"`dircmp` modules, which have now become deprecated. (Contributed by Gordon "
"MacMillan and Moshe Zadka.)"
msgstr ""
#: whatsnew/2.0.rst:1093
msgid ""
":mod:`gettext`: This module provides internationalization (I18N) and "
"localization (L10N) support for Python programs by providing an interface to "
"the GNU gettext message catalog library. (Integrated by Barry Warsaw, from "
"separate contributions by Martin von Löwis, Peter Funk, and James "
"Henstridge.)"
msgstr ""
#: whatsnew/2.0.rst:1098
msgid ""
":mod:`linuxaudiodev`: Support for the :file:`/dev/audio` device on Linux, a "
"twin to the existing :mod:`sunaudiodev` module. (Contributed by Peter Bosch, "
"with fixes by Jeremy Hylton.)"
msgstr ""
#: whatsnew/2.0.rst:1102
msgid ""
":mod:`mmap`: An interface to memory-mapped files on both Windows and Unix. "
"A file's contents can be mapped directly into memory, at which point it "
"behaves like a mutable string, so its contents can be read and modified. "
"They can even be passed to functions that expect ordinary strings, such as "
"the :mod:`re` module. (Contributed by Sam Rushing, with some extensions by A."
"M. Kuchling.)"
msgstr ""
#: whatsnew/2.0.rst:1108
msgid ""
":mod:`pyexpat`: An interface to the Expat XML parser. (Contributed by Paul "
"Prescod.)"
msgstr ""
#: whatsnew/2.0.rst:1111
msgid ""
":mod:`robotparser`: Parse a :file:`robots.txt` file, which is used for "
"writing Web spiders that politely avoid certain areas of a Web site. The "
"parser accepts the contents of a :file:`robots.txt` file, builds a set of "
"rules from it, and can then answer questions about the fetchability of a "
"given URL. (Contributed by Skip Montanaro.)"
msgstr ""
#: whatsnew/2.0.rst:1117
msgid ""
":mod:`tabnanny`: A module/script to check Python source code for ambiguous "
"indentation. (Contributed by Tim Peters.)"
msgstr ""
#: whatsnew/2.0.rst:1120
msgid ""
":mod:`UserString`: A base class useful for deriving objects that behave like "
"strings."
msgstr ""
#: whatsnew/2.0.rst:1123
msgid ""
":mod:`webbrowser`: A module that provides a platform independent way to "
"launch a web browser on a specific URL. For each platform, various browsers "
"are tried in a specific order. The user can alter which browser is launched "
"by setting the *BROWSER* environment variable. (Originally inspired by Eric "
"S. Raymond's patch to :mod:`urllib` which added similar functionality, but "
"the final module comes from code originally implemented by Fred Drake as :"
"file:`Tools/idle/BrowserControl.py`, and adapted for the standard library by "
"Fred.)"
msgstr ""
#: whatsnew/2.0.rst:1132
msgid ""
":mod:`_winreg`: An interface to the Windows registry. :mod:`_winreg` is an "
"adaptation of functions that have been part of PythonWin since 1995, but has "
"now been added to the core distribution, and enhanced to support Unicode. :"
"mod:`_winreg` was written by Bill Tutt and Mark Hammond."
msgstr ""
#: whatsnew/2.0.rst:1137
msgid ""
":mod:`zipfile`: A module for reading and writing ZIP-format archives. These "
"are archives produced by :program:`PKZIP` on DOS/Windows or :program:`zip` "
"on Unix, not to be confused with :program:`gzip`\\ -format files (which are "
"supported by the :mod:`gzip` module) (Contributed by James C. Ahlstrom.)"
msgstr ""
#: whatsnew/2.0.rst:1142
msgid ""
":mod:`imputil`: A module that provides a simpler way for writing customised "
"import hooks, in comparison to the existing :mod:`ihooks` module. "
"(Implemented by Greg Stein, with much discussion on python-dev along the "
"way.)"
msgstr ""
#: whatsnew/2.0.rst:1150
msgid "IDLE Improvements"
msgstr ""
#: whatsnew/2.0.rst:1152
msgid ""
"IDLE is the official Python cross-platform IDE, written using Tkinter. "
"Python 2.0 includes IDLE 0.6, which adds a number of new features and "
"improvements. A partial list:"
msgstr ""
#: whatsnew/2.0.rst:1156
msgid ""
"UI improvements and optimizations, especially in the area of syntax "
"highlighting and auto-indentation."
msgstr ""
#: whatsnew/2.0.rst:1159
msgid ""
"The class browser now shows more information, such as the top level "
"functions in a module."
msgstr ""
#: whatsnew/2.0.rst:1162
msgid ""
"Tab width is now a user settable option. When opening an existing Python "
"file, IDLE automatically detects the indentation conventions, and adapts."
msgstr ""
#: whatsnew/2.0.rst:1165
msgid ""
"There is now support for calling browsers on various platforms, used to open "
"the Python documentation in a browser."
msgstr ""
#: whatsnew/2.0.rst:1168
msgid ""
"IDLE now has a command line, which is largely similar to the vanilla Python "
"interpreter."
msgstr ""
#: whatsnew/2.0.rst:1171
msgid "Call tips were added in many places."
msgstr ""
#: whatsnew/2.0.rst:1173
msgid "IDLE can now be installed as a package."
msgstr ""
#: whatsnew/2.0.rst:1175
msgid "In the editor window, there is now a line/column bar at the bottom."
msgstr ""
#: whatsnew/2.0.rst:1177
msgid ""
"Three new keystroke commands: Check module (:kbd:`Alt-F5`), Import module (:"
"kbd:`F5`) and Run script (:kbd:`Ctrl-F5`)."
msgstr ""
#: whatsnew/2.0.rst:1184
msgid "Deleted and Deprecated Modules"
msgstr ""
#: whatsnew/2.0.rst:1186
msgid ""
"A few modules have been dropped because they're obsolete, or because there "
"are now better ways to do the same thing. The :mod:`stdwin` module is gone; "
"it was for a platform-independent windowing toolkit that's no longer "
"developed."
msgstr ""
#: whatsnew/2.0.rst:1190
msgid ""
"A number of modules have been moved to the :file:`lib-old` subdirectory: :"
"mod:`cmp`, :mod:`cmpcache`, :mod:`dircmp`, :mod:`dump`, :mod:`find`, :mod:"
"`grep`, :mod:`packmail`, :mod:`poly`, :mod:`util`, :mod:`whatsound`, :mod:"
"`zmod`. If you have code which relies on a module that's been moved to :"
"file:`lib-old`, you can simply add that directory to ``sys.path`` to get "
"them back, but you're encouraged to update any code that uses these modules."
msgstr ""
#: whatsnew/2.0.rst:1199 whatsnew/2.1.rst:789 whatsnew/2.2.rst:1260
#: whatsnew/2.3.rst:2071 whatsnew/2.4.rst:1557 whatsnew/2.5.rst:2280
#: whatsnew/2.6.rst:3308 whatsnew/2.7.rst:2583
msgid "Acknowledgements"
msgstr ""
#: whatsnew/2.0.rst:1201
msgid ""
"The authors would like to thank the following people for offering "
"suggestions on various drafts of this article: David Bolen, Mark Hammond, "
"Gregg Hauser, Jeremy Hylton, Fredrik Lundh, Detlef Lannert, Aahz Maruch, "
"Skip Montanaro, Vladimir Marangozov, Tobias Polzin, Guido van Rossum, Neil "
"Schemenauer, and Russ Schmidt."
msgstr ""
#: whatsnew/2.1.rst:3
#, fuzzy
msgid "What's New in Python 2.1"
msgstr "Nouveautés de Python 2.0"
#: whatsnew/2.1.rst:5 whatsnew/2.2.rst:5 whatsnew/2.3.rst:5 whatsnew/2.4.rst:5
#: whatsnew/2.5.rst:5
msgid "A.M. Kuchling"
msgstr "A.M. Kuchling"
#: whatsnew/2.1.rst:15
msgid ""
"This article explains the new features in Python 2.1. While there aren't as "
"many changes in 2.1 as there were in Python 2.0, there are still some "
"pleasant surprises in store. 2.1 is the first release to be steered through "
"the use of Python Enhancement Proposals, or PEPs, so most of the sizable "
"changes have accompanying PEPs that provide more complete documentation and "
"a design rationale for the change. This article doesn't attempt to document "
"the new features completely, but simply provides an overview of the new "
"features for Python programmers. Refer to the Python 2.1 documentation, or "
"to the specific PEP, for more details about any new feature that "
"particularly interests you."
msgstr ""
#: whatsnew/2.1.rst:25
msgid ""
"One recent goal of the Python development team has been to accelerate the "
"pace of new releases, with a new release coming every 6 to 9 months. 2.1 is "
"the first release to come out at this faster pace, with the first alpha "
"appearing in January, 3 months after the final version of 2.0 was released."
msgstr ""
#: whatsnew/2.1.rst:30
msgid "The final release of Python 2.1 was made on April 17, 2001."
msgstr ""
#: whatsnew/2.1.rst:36 whatsnew/2.2.rst:839
msgid "PEP 227: Nested Scopes"
msgstr ""
#: whatsnew/2.1.rst:38
msgid ""
"The largest change in Python 2.1 is to Python's scoping rules. In Python "
"2.0, at any given time there are at most three namespaces used to look up "
"variable names: local, module-level, and the built-in namespace. This often "
"surprised people because it didn't match their intuitive expectations. For "
"example, a nested recursive function definition doesn't work::"
msgstr ""
#: whatsnew/2.1.rst:51 whatsnew/2.2.rst:862
msgid ""
"The function :func:`g` will always raise a :exc:`NameError` exception, "
"because the binding of the name ``g`` isn't in either its local namespace or "
"in the module-level namespace. This isn't much of a problem in practice "
"(how often do you recursively define interior functions like this?), but "
"this also made using the :keyword:`lambda` statement clumsier, and this was "
"a problem in practice. In code which uses :keyword:`lambda` you can often "
"find local variables being copied by passing them as the default values of "
"arguments. ::"
msgstr ""
#: whatsnew/2.1.rst:65 whatsnew/2.2.rst:876
msgid ""
"The readability of Python code written in a strongly functional style "
"suffers greatly as a result."
msgstr ""
#: whatsnew/2.1.rst:68
msgid ""
"The most significant change to Python 2.1 is that static scoping has been "
"added to the language to fix this problem. As a first effect, the "
"``name=name`` default argument is now unnecessary in the above example. Put "
"simply, when a given variable name is not assigned a value within a function "
"(by an assignment, or the :keyword:`def`, :keyword:`class`, or :keyword:"
"`import` statements), references to the variable will be looked up in the "
"local namespace of the enclosing scope. A more detailed explanation of the "
"rules, and a dissection of the implementation, can be found in the PEP."
msgstr ""
#: whatsnew/2.1.rst:77 whatsnew/2.2.rst:888
msgid ""
"This change may cause some compatibility problems for code where the same "
"variable name is used both at the module level and as a local variable "
"within a function that contains further function definitions. This seems "
"rather unlikely though, since such code would have been pretty confusing to "
"read in the first place."
msgstr ""
#: whatsnew/2.1.rst:83 whatsnew/2.2.rst:894
msgid ""
"One side effect of the change is that the ``from module import *`` and "
"``exec`` statements have been made illegal inside a function scope under "
"certain conditions. The Python reference manual has said all along that "
"``from module import *`` is only legal at the top level of a module, but the "
"CPython interpreter has never enforced this before. As part of the "
"implementation of nested scopes, the compiler which turns Python source into "
"bytecodes has to generate different code to access variables in a containing "
"scope. ``from module import *`` and ``exec`` make it impossible for the "
"compiler to figure this out, because they add names to the local namespace "
"that are unknowable at compile time. Therefore, if a function contains "
"function definitions or :keyword:`lambda` expressions with free variables, "
"the compiler will flag this by raising a :exc:`SyntaxError` exception."
msgstr ""
#: whatsnew/2.1.rst:96 whatsnew/2.2.rst:907
msgid "To make the preceding explanation a bit clearer, here's an example::"
msgstr ""
#: whatsnew/2.1.rst:105 whatsnew/2.2.rst:916
msgid ""
"Line 4 containing the ``exec`` statement is a syntax error, since ``exec`` "
"would define a new local variable named ``x`` whose value should be accessed "
"by :func:`g`."
msgstr ""
#: whatsnew/2.1.rst:109 whatsnew/2.2.rst:920
msgid ""
"This shouldn't be much of a limitation, since ``exec`` is rarely used in "
"most Python code (and when it is used, it's often a sign of a poor design "
"anyway)."
msgstr ""
#: whatsnew/2.1.rst:113
msgid ""
"Compatibility concerns have led to nested scopes being introduced gradually; "
"in Python 2.1, they aren't enabled by default, but can be turned on within a "
"module by using a future statement as described in PEP 236. (See the "
"following section for further discussion of PEP 236.) In Python 2.2, nested "
"scopes will become the default and there will be no way to turn them off, "
"but users will have had all of 2.1's lifetime to fix any breakage resulting "
"from their introduction."
msgstr ""
#: whatsnew/2.1.rst:123 whatsnew/2.2.rst:927
msgid "PEP 227 - Statically Nested Scopes"
msgstr ""
#: whatsnew/2.1.rst:124 whatsnew/2.2.rst:928
msgid "Written and implemented by Jeremy Hylton."
msgstr ""
#: whatsnew/2.1.rst:130
msgid "PEP 236: __future__ Directives"
msgstr ""
#: whatsnew/2.1.rst:132
msgid ""
"The reaction to nested scopes was widespread concern about the dangers of "
"breaking code with the 2.1 release, and it was strong enough to make the "
"Pythoneers take a more conservative approach. This approach consists of "
"introducing a convention for enabling optional functionality in release N "
"that will become compulsory in release N+1."
msgstr ""
#: whatsnew/2.1.rst:138
msgid ""
"The syntax uses a ``from...import`` statement using the reserved module "
"name :mod:`__future__`. Nested scopes can be enabled by the following "
"statement::"
msgstr ""
#: whatsnew/2.1.rst:143
msgid ""
"While it looks like a normal :keyword:`import` statement, it's not; there "
"are strict rules on where such a future statement can be put. They can only "
"be at the top of a module, and must precede any Python code or regular :"
"keyword:`import` statements. This is because such statements can affect how "
"the Python bytecode compiler parses code and generates bytecode, so they "
"must precede any statement that will result in bytecodes being produced."
msgstr ""
#: whatsnew/2.1.rst:153
msgid "PEP 236 - Back to the __future__"
msgstr ""
#: whatsnew/2.1.rst:154
msgid "Written by Tim Peters, and primarily implemented by Jeremy Hylton."
msgstr ""
#: whatsnew/2.1.rst:160
msgid "PEP 207: Rich Comparisons"
msgstr ""
#: whatsnew/2.1.rst:162
msgid ""
"In earlier versions, Python's support for implementing comparisons on user- "
"defined classes and extension types was quite simple. Classes could "
"implement a :meth:`__cmp__` method that was given two instances of a class, "
"and could only return 0 if they were equal or +1 or -1 if they weren't; the "
"method couldn't raise an exception or return anything other than a Boolean "
"value. Users of Numeric Python often found this model too weak and "
"restrictive, because in the number-crunching programs that numeric Python is "
"used for, it would be more useful to be able to perform elementwise "
"comparisons of two matrices, returning a matrix containing the results of a "
"given comparison for each element. If the two matrices are of different "
"sizes, then the compare has to be able to raise an exception to signal the "
"error."
msgstr ""
#: whatsnew/2.1.rst:174
msgid ""
"In Python 2.1, rich comparisons were added in order to support this need. "
"Python classes can now individually overload each of the ``<``, ``<=``, "
"``>``, ``>=``, ``==``, and ``!=`` operations. The new magic method names "
"are:"
msgstr ""
#: whatsnew/2.1.rst:179 whatsnew/2.5.rst:1807
msgid "Operation"
msgstr ""
#: whatsnew/2.1.rst:179
msgid "Method name"
msgstr ""
#: whatsnew/2.1.rst:181
msgid "``<``"
msgstr ""
#: whatsnew/2.1.rst:181
msgid ":meth:`__lt__`"
msgstr ""
#: whatsnew/2.1.rst:183
msgid "``<=``"
msgstr ""
#: whatsnew/2.1.rst:183
msgid ":meth:`__le__`"
msgstr ""
#: whatsnew/2.1.rst:185
msgid "``>``"
msgstr ""
#: whatsnew/2.1.rst:185
msgid ":meth:`__gt__`"
msgstr ""
#: whatsnew/2.1.rst:187
msgid "``>=``"
msgstr ""
#: whatsnew/2.1.rst:187
msgid ":meth:`__ge__`"
msgstr ""
#: whatsnew/2.1.rst:189
msgid "``==``"
msgstr ""
#: whatsnew/2.1.rst:189
msgid ":meth:`__eq__`"
msgstr ""
#: whatsnew/2.1.rst:191
msgid "``!=``"
msgstr ""
#: whatsnew/2.1.rst:191
msgid ":meth:`__ne__`"
msgstr ""
#: whatsnew/2.1.rst:194
msgid ""
"(The magic methods are named after the corresponding Fortran operators ``.LT."
"``. ``.LE.``, &c. Numeric programmers are almost certainly quite familiar "
"with these names and will find them easy to remember.)"
msgstr ""
#: whatsnew/2.1.rst:198
msgid ""
"Each of these magic methods is of the form ``method(self, other)``, where "
"``self`` will be the object on the left-hand side of the operator, while "
"``other`` will be the object on the right-hand side. For example, the "
"expression ``A < B`` will cause ``A.__lt__(B)`` to be called."
msgstr ""
#: whatsnew/2.1.rst:203
msgid ""
"Each of these magic methods can return anything at all: a Boolean, a matrix, "
"a list, or any other Python object. Alternatively they can raise an "
"exception if the comparison is impossible, inconsistent, or otherwise "
"meaningless."
msgstr ""
#: whatsnew/2.1.rst:207
msgid ""
"The built-in ``cmp(A,B)`` function can use the rich comparison machinery, "
"and now accepts an optional argument specifying which comparison operation "
"to use; this is given as one of the strings ``\"<\"``, ``\"<=\"``, ``\">"
"\"``, ``\">=\"``, ``\"==\"``, or ``\"!=\"``. If called without the optional "
"third argument, :func:`cmp` will only return -1, 0, or +1 as in previous "
"versions of Python; otherwise it will call the appropriate method and can "
"return any Python object."
msgstr ""
#: whatsnew/2.1.rst:214
msgid ""
"There are also corresponding changes of interest to C programmers; there's a "
"new slot ``tp_richcmp`` in type objects and an API for performing a given "
"rich comparison. I won't cover the C API here, but will refer you to PEP "
"207, or to 2.1's C API documentation, for the full list of related functions."
msgstr ""
#: whatsnew/2.1.rst:223
msgid "PEP 207 - Rich Comparisons"
msgstr ""
#: whatsnew/2.1.rst:223
msgid ""
"Written by Guido van Rossum, heavily based on earlier work by David Ascher, "
"and implemented by Guido van Rossum."
msgstr ""
#: whatsnew/2.1.rst:230
msgid "PEP 230: Warning Framework"
msgstr ""
#: whatsnew/2.1.rst:232
msgid ""
"Over its 10 years of existence, Python has accumulated a certain number of "
"obsolete modules and features along the way. It's difficult to know when a "
"feature is safe to remove, since there's no way of knowing how much code "
"uses it --- perhaps no programs depend on the feature, or perhaps many do. "
"To enable removing old features in a more structured way, a warning "
"framework was added. When the Python developers want to get rid of a "
"feature, it will first trigger a warning in the next version of Python. The "
"following Python version can then drop the feature, and users will have had "
"a full release cycle to remove uses of the old feature."
msgstr ""
#: whatsnew/2.1.rst:242
msgid ""
"Python 2.1 adds the warning framework to be used in this scheme. It adds a :"
"mod:`warnings` module that provide functions to issue warnings, and to "
"filter out warnings that you don't want to be displayed. Third-party modules "
"can also use this framework to deprecate old features that they no longer "
"wish to support."
msgstr ""
#: whatsnew/2.1.rst:248
msgid ""
"For example, in Python 2.1 the :mod:`regex` module is deprecated, so "
"importing it causes a warning to be printed::"
msgstr ""
#: whatsnew/2.1.rst:256
msgid "Warnings can be issued by calling the :func:`warnings.warn` function::"
msgstr ""
#: whatsnew/2.1.rst:260
msgid ""
"The first parameter is the warning message; an additional optional "
"parameters can be used to specify a particular warning category."
msgstr ""
#: whatsnew/2.1.rst:263
msgid ""
"Filters can be added to disable certain warnings; a regular expression "
"pattern can be applied to the message or to the module name in order to "
"suppress a warning. For example, you may have a program that uses the :mod:"
"`regex` module and not want to spare the time to convert it to use the :mod:"
"`re` module right now. The warning can be suppressed by calling ::"
msgstr ""
#: whatsnew/2.1.rst:275
msgid ""
"This adds a filter that will apply only to warnings of the class :class:"
"`DeprecationWarning` triggered in the :mod:`__main__` module, and applies a "
"regular expression to only match the message about the :mod:`regex` module "
"being deprecated, and will cause such warnings to be ignored. Warnings can "
"also be printed only once, printed every time the offending code is "
"executed, or turned into exceptions that will cause the program to stop "
"(unless the exceptions are caught in the usual way, of course)."
msgstr ""
#: whatsnew/2.1.rst:283
msgid ""
"Functions were also added to Python's C API for issuing warnings; refer to "
"PEP 230 or to Python's API documentation for the details."
msgstr ""
#: whatsnew/2.1.rst:293
msgid "PEP 5 - Guidelines for Language Evolution"
msgstr ""
#: whatsnew/2.1.rst:290
msgid ""
"Written by Paul Prescod, to specify procedures to be followed when removing "
"old features from Python. The policy described in this PEP hasn't been "
"officially adopted, but the eventual policy probably won't be too different "
"from Prescod's proposal."
msgstr ""
#: whatsnew/2.1.rst:295
msgid "PEP 230 - Warning Framework"
msgstr ""
#: whatsnew/2.1.rst:296
msgid "Written and implemented by Guido van Rossum."
msgstr ""
#: whatsnew/2.1.rst:302
msgid "PEP 229: New Build System"
msgstr ""
#: whatsnew/2.1.rst:304
msgid ""
"When compiling Python, the user had to go in and edit the :file:`Modules/"
"Setup` file in order to enable various additional modules; the default set "
"is relatively small and limited to modules that compile on most Unix "
"platforms. This means that on Unix platforms with many more features, most "
"notably Linux, Python installations often don't contain all useful modules "
"they could."
msgstr ""
#: whatsnew/2.1.rst:310
msgid ""
"Python 2.0 added the Distutils, a set of modules for distributing and "
"installing extensions. In Python 2.1, the Distutils are used to compile "
"much of the standard library of extension modules, autodetecting which ones "
"are supported on the current machine. It's hoped that this will make Python "
"installations easier and more featureful."
msgstr ""
#: whatsnew/2.1.rst:316
msgid ""
"Instead of having to edit the :file:`Modules/Setup` file in order to enable "
"modules, a :file:`setup.py` script in the top directory of the Python source "
"distribution is run at build time, and attempts to discover which modules "
"can be enabled by examining the modules and header files on the system. If "
"a module is configured in :file:`Modules/Setup`, the :file:`setup.py` script "
"won't attempt to compile that module and will defer to the :file:`Modules/"
"Setup` file's contents. This provides a way to specific any strange command-"
"line flags or libraries that are required for a specific platform."
msgstr ""
#: whatsnew/2.1.rst:325
msgid ""
"In another far-reaching change to the build mechanism, Neil Schemenauer "
"restructured things so Python now uses a single makefile that isn't "
"recursive, instead of makefiles in the top directory and in each of the :"
"file:`Python/`, :file:`Parser/`, :file:`Objects/`, and :file:`Modules/` "
"subdirectories. This makes building Python faster and also makes hacking "
"the Makefiles clearer and simpler."
msgstr ""
#: whatsnew/2.1.rst:335
msgid "PEP 229 - Using Distutils to Build Python"
msgstr ""
#: whatsnew/2.1.rst:336 whatsnew/2.1.rst:571
msgid "Written and implemented by A.M. Kuchling."
msgstr ""
#: whatsnew/2.1.rst:342
msgid "PEP 205: Weak References"
msgstr ""
#: whatsnew/2.1.rst:344
msgid ""
"Weak references, available through the :mod:`weakref` module, are a minor "
"but useful new data type in the Python programmer's toolbox."
msgstr ""
#: whatsnew/2.1.rst:347
msgid ""
"Storing a reference to an object (say, in a dictionary or a list) has the "
"side effect of keeping that object alive forever. There are a few specific "
"cases where this behaviour is undesirable, object caches being the most "
"common one, and another being circular references in data structures such as "
"trees."
msgstr ""
#: whatsnew/2.1.rst:352
msgid ""
"For example, consider a memoizing function that caches the results of "
"another function ``f(x)`` by storing the function's argument and its result "
"in a dictionary::"
msgstr ""
#: whatsnew/2.1.rst:368
msgid ""
"This version works for simple things such as integers, but it has a side "
"effect; the ``_cache`` dictionary holds a reference to the return values, so "
"they'll never be deallocated until the Python process exits and cleans up "
"This isn't very noticeable for integers, but if :func:`f` returns an object, "
"or a data structure that takes up a lot of memory, this can be a problem."
msgstr ""
#: whatsnew/2.1.rst:374
msgid ""
"Weak references provide a way to implement a cache that won't keep objects "
"alive beyond their time. If an object is only accessible through weak "
"references, the object will be deallocated and the weak references will now "
"indicate that the object it referred to no longer exists. A weak reference "
"to an object *obj* is created by calling ``wr = weakref.ref(obj)``. The "
"object being referred to is returned by calling the weak reference as if it "
"were a function: ``wr()``. It will return the referenced object, or "
"``None`` if the object no longer exists."
msgstr ""
#: whatsnew/2.1.rst:382
msgid ""
"This makes it possible to write a :func:`memoize` function whose cache "
"doesn't keep objects alive, by storing weak references in the cache. ::"
msgstr ""
#: whatsnew/2.1.rst:400
msgid ""
"The :mod:`weakref` module also allows creating proxy objects which behave "
"like weak references --- an object referenced only by proxy objects is "
"deallocated -- but instead of requiring an explicit call to retrieve the "
"object, the proxy transparently forwards all operations to the object as "
"long as the object still exists. If the object is deallocated, attempting "
"to use a proxy will cause a :exc:`weakref.ReferenceError` exception to be "
"raised. ::"
msgstr ""
#: whatsnew/2.1.rst:416
msgid "PEP 205 - Weak References"
msgstr ""
#: whatsnew/2.1.rst:417
msgid "Written and implemented by Fred L. Drake, Jr."
msgstr ""
#: whatsnew/2.1.rst:423
msgid "PEP 232: Function Attributes"
msgstr ""
#: whatsnew/2.1.rst:425
msgid ""
"In Python 2.1, functions can now have arbitrary information attached to "
"them. People were often using docstrings to hold information about functions "
"and methods, because the ``__doc__`` attribute was the only way of attaching "
"any information to a function. For example, in the Zope Web application "
"server, functions are marked as safe for public access by having a "
"docstring, and in John Aycock's SPARK parsing framework, docstrings hold "
"parts of the BNF grammar to be parsed. This overloading is unfortunate, "
"since docstrings are really intended to hold a function's documentation; for "
"example, it means you can't properly document functions intended for private "
"use in Zope."
msgstr ""
#: whatsnew/2.1.rst:435
msgid ""
"Arbitrary attributes can now be set and retrieved on functions using the "
"regular Python syntax::"
msgstr ""
#: whatsnew/2.1.rst:444
msgid ""
"The dictionary containing attributes can be accessed as the function's :attr:"
"`__dict__`. Unlike the :attr:`__dict__` attribute of class instances, in "
"functions you can actually assign a new dictionary to :attr:`__dict__`, "
"though the new value is restricted to a regular Python dictionary; you "
"*can't* be tricky and set it to a :class:`UserDict` instance, or any other "
"random object that behaves like a mapping."
msgstr ""
#: whatsnew/2.1.rst:454
msgid "PEP 232 - Function Attributes"
msgstr ""
#: whatsnew/2.1.rst:455
msgid "Written and implemented by Barry Warsaw."
msgstr ""
#: whatsnew/2.1.rst:461
msgid "PEP 235: Importing Modules on Case-Insensitive Platforms"
msgstr ""
#: whatsnew/2.1.rst:463
msgid ""
"Some operating systems have filesystems that are case-insensitive, MacOS and "
"Windows being the primary examples; on these systems, it's impossible to "
"distinguish the filenames ``FILE.PY`` and ``file.py``, even though they do "
"store the file's name in its original case (they're case-preserving, too)."
msgstr ""
#: whatsnew/2.1.rst:468
msgid ""
"In Python 2.1, the :keyword:`import` statement will work to simulate case- "
"sensitivity on case-insensitive platforms. Python will now search for the "
"first case-sensitive match by default, raising an :exc:`ImportError` if no "
"such file is found, so ``import file`` will not import a module named ``FILE."
"PY``. Case- insensitive matching can be requested by setting the :envvar:"
"`PYTHONCASEOK` environment variable before starting the Python interpreter."
msgstr ""
#: whatsnew/2.1.rst:479
msgid "PEP 217: Interactive Display Hook"
msgstr ""
#: whatsnew/2.1.rst:481
msgid ""
"When using the Python interpreter interactively, the output of commands is "
"displayed using the built-in :func:`repr` function. In Python 2.1, the "
"variable :func:`sys.displayhook` can be set to a callable object which will "
"be called instead of :func:`repr`. For example, you can set it to a special "
"pretty- printing function::"
msgstr ""
#: whatsnew/2.1.rst:502
msgid "PEP 217 - Display Hook for Interactive Use"
msgstr ""
#: whatsnew/2.1.rst:503
msgid "Written and implemented by Moshe Zadka."
msgstr ""
#: whatsnew/2.1.rst:509
msgid "PEP 208: New Coercion Model"
msgstr ""
#: whatsnew/2.1.rst:511
msgid ""
"How numeric coercion is done at the C level was significantly modified. "
"This will only affect the authors of C extensions to Python, allowing them "
"more flexibility in writing extension types that support numeric operations."
msgstr ""
#: whatsnew/2.1.rst:515
msgid ""
"Extension types can now set the type flag ``Py_TPFLAGS_CHECKTYPES`` in their "
"``PyTypeObject`` structure to indicate that they support the new coercion "
"model. In such extension types, the numeric slot functions can no longer "
"assume that they'll be passed two arguments of the same type; instead they "
"may be passed two arguments of differing types, and can then perform their "
"own internal coercion. If the slot function is passed a type it can't "
"handle, it can indicate the failure by returning a reference to the "
"``Py_NotImplemented`` singleton value. The numeric functions of the other "
"type will then be tried, and perhaps they can handle the operation; if the "
"other type also returns ``Py_NotImplemented``, then a :exc:`TypeError` will "
"be raised. Numeric methods written in Python can also return "
"``Py_NotImplemented``, causing the interpreter to act as if the method did "
"not exist (perhaps raising a :exc:`TypeError`, perhaps trying another "
"object's numeric methods)."
msgstr ""
#: whatsnew/2.1.rst:534
msgid "PEP 208 - Reworking the Coercion Model"
msgstr ""
#: whatsnew/2.1.rst:533
msgid ""
"Written and implemented by Neil Schemenauer, heavily based upon earlier work "
"by Marc-André Lemburg. Read this to understand the fine points of how "
"numeric operations will now be processed at the C level."
msgstr ""
#: whatsnew/2.1.rst:541
msgid "PEP 241: Metadata in Python Packages"
msgstr ""
#: whatsnew/2.1.rst:543
msgid ""
"A common complaint from Python users is that there's no single catalog of "
"all the Python modules in existence. T. Middleton's Vaults of Parnassus at "
"http://www.vex.net/parnassus/ are the largest catalog of Python modules, but "
"registering software at the Vaults is optional, and many people don't bother."
msgstr ""
#: whatsnew/2.1.rst:548
msgid ""
"As a first small step toward fixing the problem, Python software packaged "
"using the Distutils :command:`sdist` command will include a file named :file:"
"`PKG-INFO` containing information about the package such as its name, "
"version, and author (metadata, in cataloguing terminology). PEP 241 "
"contains the full list of fields that can be present in the :file:`PKG-INFO` "
"file. As people began to package their software using Python 2.1, more and "
"more packages will include metadata, making it possible to build automated "
"cataloguing systems and experiment with them. With the result experience, "
"perhaps it'll be possible to design a really good catalog and then build "
"support for it into Python 2.2. For example, the Distutils :command:`sdist` "
"and :command:`bdist_\\*` commands could support an ``upload`` option that "
"would automatically upload your package to a catalog server."
msgstr ""
#: whatsnew/2.1.rst:561
msgid ""
"You can start creating packages containing :file:`PKG-INFO` even if you're "
"not using Python 2.1, since a new release of the Distutils will be made for "
"users of earlier Python versions. Version 1.0.2 of the Distutils includes "
"the changes described in PEP 241, as well as various bugfixes and "
"enhancements. It will be available from the Distutils SIG at https://www."
"python.org/sigs/distutils-sig/."
msgstr ""
#: whatsnew/2.1.rst:571
msgid "PEP 241 - Metadata for Python Software Packages"
msgstr ""
#: whatsnew/2.1.rst:574
msgid "PEP 243 - Module Repository Upload Mechanism"
msgstr ""
#: whatsnew/2.1.rst:574
msgid ""
"Written by Sean Reifschneider, this draft PEP describes a proposed mechanism "
"for uploading Python packages to a central server."
msgstr ""
#: whatsnew/2.1.rst:581 whatsnew/2.2.rst:934 whatsnew/2.6.rst:1783
#: whatsnew/2.7.rst:1010
msgid "New and Improved Modules"
msgstr ""
#: whatsnew/2.1.rst:583
msgid ""
"Ka-Ping Yee contributed two new modules: :mod:`inspect.py`, a module for "
"getting information about live Python code, and :mod:`pydoc.py`, a module "
"for interactively converting docstrings to HTML or text. As a bonus, :file:"
"`Tools/scripts/pydoc`, which is now automatically installed, uses :mod:"
"`pydoc.py` to display documentation given a Python module, package, or class "
"name. For example, ``pydoc xml.dom`` displays the following::"
msgstr ""
#: whatsnew/2.1.rst:605
msgid ""
":file:`pydoc` also includes a Tk-based interactive help browser. :file:"
"`pydoc` quickly becomes addictive; try it out!"
msgstr ""
#: whatsnew/2.1.rst:608
msgid ""
"Two different modules for unit testing were added to the standard library. "
"The :mod:`doctest` module, contributed by Tim Peters, provides a testing "
"framework based on running embedded examples in docstrings and comparing the "
"results against the expected output. PyUnit, contributed by Steve Purcell, "
"is a unit testing framework inspired by JUnit, which was in turn an "
"adaptation of Kent Beck's Smalltalk testing framework. See http://pyunit."
"sourceforge.net/ for more information about PyUnit."
msgstr ""
#: whatsnew/2.1.rst:616
msgid ""
"The :mod:`difflib` module contains a class, :class:`SequenceMatcher`, which "
"compares two sequences and computes the changes required to transform one "
"sequence into the other. For example, this module can be used to write a "
"tool similar to the Unix :program:`diff` program, and in fact the sample "
"program :file:`Tools/scripts/ndiff.py` demonstrates how to write such a "
"script."
msgstr ""
#: whatsnew/2.1.rst:622
msgid ""
":mod:`curses.panel`, a wrapper for the panel library, part of ncurses and of "
"SYSV curses, was contributed by Thomas Gellekum. The panel library provides "
"windows with the additional feature of depth. Windows can be moved higher or "
"lower in the depth ordering, and the panel library figures out where panels "
"overlap and which sections are visible."
msgstr ""
#: whatsnew/2.1.rst:628
msgid ""
"The PyXML package has gone through a few releases since Python 2.0, and "
"Python 2.1 includes an updated version of the :mod:`xml` package. Some of "
"the noteworthy changes include support for Expat 1.2 and later versions, the "
"ability for Expat parsers to handle files in any encoding supported by "
"Python, and various bugfixes for SAX, DOM, and the :mod:`minidom` module."
msgstr ""
#: whatsnew/2.1.rst:634
msgid ""
"Ping also contributed another hook for handling uncaught exceptions. :func:"
"`sys.excepthook` can be set to a callable object. When an exception isn't "
"caught by any :keyword:`try`...\\ :keyword:`except` blocks, the exception "
"will be passed to :func:`sys.excepthook`, which can then do whatever it "
"likes. At the Ninth Python Conference, Ping demonstrated an application for "
"this hook: printing an extended traceback that not only lists the stack "
"frames, but also lists the function arguments and the local variables for "
"each frame."
msgstr ""
#: whatsnew/2.1.rst:642
msgid ""
"Various functions in the :mod:`time` module, such as :func:`asctime` and :"
"func:`localtime`, require a floating point argument containing the time in "
"seconds since the epoch. The most common use of these functions is to work "
"with the current time, so the floating point argument has been made "
"optional; when a value isn't provided, the current time will be used. For "
"example, log file entries usually need a string containing the current time; "
"in Python 2.1, ``time.asctime()`` can be used, instead of the lengthier "
"``time.asctime(time.localtime(time.time()))`` that was previously required."
msgstr ""
#: whatsnew/2.1.rst:651
msgid "This change was proposed and implemented by Thomas Wouters."
msgstr ""
#: whatsnew/2.1.rst:653
msgid ""
"The :mod:`ftplib` module now defaults to retrieving files in passive mode, "
"because passive mode is more likely to work from behind a firewall. This "
"request came from the Debian bug tracking system, since other Debian "
"packages use :mod:`ftplib` to retrieve files and then don't work from behind "
"a firewall. It's deemed unlikely that this will cause problems for anyone, "
"because Netscape defaults to passive mode and few people complain, but if "
"passive mode is unsuitable for your application or network setup, call "
"``set_pasv(0)`` on FTP objects to disable passive mode."
msgstr ""
#: whatsnew/2.1.rst:662
msgid ""
"Support for raw socket access has been added to the :mod:`socket` module, "
"contributed by Grant Edwards."
msgstr ""
#: whatsnew/2.1.rst:665
msgid ""
"The :mod:`pstats` module now contains a simple interactive statistics "
"browser for displaying timing profiles for Python programs, invoked when the "
"module is run as a script. Contributed by Eric S. Raymond."
msgstr ""
#: whatsnew/2.1.rst:669
msgid ""
"A new implementation-dependent function, ``sys._getframe([depth])``, has "
"been added to return a given frame object from the current call stack. :func:"
"`sys._getframe` returns the frame at the top of the call stack; if the "
"optional integer argument *depth* is supplied, the function returns the "
"frame that is *depth* calls below the top of the stack. For example, ``sys."
"_getframe(1)`` returns the caller's frame object."
msgstr ""
#: whatsnew/2.1.rst:676
msgid ""
"This function is only present in CPython, not in Jython or the .NET "
"implementation. Use it for debugging, and resist the temptation to put it "
"into production code."
msgstr ""
#: whatsnew/2.1.rst:684 whatsnew/2.2.rst:1129 whatsnew/2.3.rst:1960
#: whatsnew/2.7.rst:2353
msgid "Other Changes and Fixes"
msgstr ""
#: whatsnew/2.1.rst:686
msgid ""
"There were relatively few smaller changes made in Python 2.1 due to the "
"shorter release cycle. A search through the CVS change logs turns up 117 "
"patches applied, and 136 bugs fixed; both figures are likely to be "
"underestimates. Some of the more notable changes are:"
msgstr ""
#: whatsnew/2.1.rst:691
msgid ""
"A specialized object allocator is now optionally available, that should be "
"faster than the system :func:`malloc` and have less memory overhead. The "
"allocator uses C's :func:`malloc` function to get large pools of memory, and "
"then fulfills smaller memory requests from these pools. It can be enabled "
"by providing the :option:`--with-pymalloc` option to the :program:"
"`configure` script; see :file:`Objects/obmalloc.c` for the implementation "
"details."
msgstr ""
#: whatsnew/2.1.rst:698
msgid ""
"Authors of C extension modules should test their code with the object "
"allocator enabled, because some incorrect code may break, causing core dumps "
"at runtime. There are a bunch of memory allocation functions in Python's C "
"API that have previously been just aliases for the C library's :func:"
"`malloc` and :func:`free`, meaning that if you accidentally called "
"mismatched functions, the error wouldn't be noticeable. When the object "
"allocator is enabled, these functions aren't aliases of :func:`malloc` and :"
"func:`free` any more, and calling the wrong function to free memory will get "
"you a core dump. For example, if memory was allocated using :func:"
"`PyMem_New`, it has to be freed using :func:`PyMem_Del`, not :func:`free`. "
"A few modules included with Python fell afoul of this and had to be fixed; "
"doubtless there are more third-party modules that will have the same problem."
msgstr ""
#: whatsnew/2.1.rst:711
msgid "The object allocator was contributed by Vladimir Marangozov."
msgstr ""
#: whatsnew/2.1.rst:713
msgid ""
"The speed of line-oriented file I/O has been improved because people often "
"complain about its lack of speed, and because it's often been used as a "
"naïve benchmark. The :meth:`readline` method of file objects has therefore "
"been rewritten to be much faster. The exact amount of the speedup will vary "
"from platform to platform depending on how slow the C library's :func:`getc` "
"was, but is around 66%, and potentially much faster on some particular "
"operating systems. Tim Peters did much of the benchmarking and coding for "
"this change, motivated by a discussion in comp.lang.python."
msgstr ""
#: whatsnew/2.1.rst:722
msgid ""
"A new module and method for file objects was also added, contributed by Jeff "
"Epler. The new method, :meth:`xreadlines`, is similar to the existing :func:"
"`xrange` built-in. :func:`xreadlines` returns an opaque sequence object "
"that only supports being iterated over, reading a line on every iteration "
"but not reading the entire file into memory as the existing :meth:"
"`readlines` method does. You'd use it like this::"
msgstr ""
#: whatsnew/2.1.rst:733
msgid ""
"For a fuller discussion of the line I/O changes, see the python-dev summary "
"for January 1-15, 2001 at https://www.python.org/dev/summary/2001-01-1/."
msgstr ""
#: whatsnew/2.1.rst:736
msgid ""
"A new method, :meth:`popitem`, was added to dictionaries to enable "
"destructively iterating through the contents of a dictionary; this can be "
"faster for large dictionaries because there's no need to construct a list "
"containing all the keys or values. ``D.popitem()`` removes a random ``(key, "
"value)`` pair from the dictionary ``D`` and returns it as a 2-tuple. This "
"was implemented mostly by Tim Peters and Guido van Rossum, after a "
"suggestion and preliminary patch by Moshe Zadka."
msgstr ""
#: whatsnew/2.1.rst:744
msgid ""
"Modules can now control which names are imported when ``from module import "
"*`` is used, by defining an ``__all__`` attribute containing a list of names "
"that will be imported. One common complaint is that if the module imports "
"other modules such as :mod:`sys` or :mod:`string`, ``from module import *`` "
"will add them to the importing module's namespace. To fix this, simply list "
"the public names in ``__all__``::"
msgstr ""
#: whatsnew/2.1.rst:754
msgid ""
"A stricter version of this patch was first suggested and implemented by Ben "
"Wolfson, but after some python-dev discussion, a weaker final version was "
"checked in."
msgstr ""
#: whatsnew/2.1.rst:758
msgid ""
"Applying :func:`repr` to strings previously used octal escapes for non-"
"printable characters; for example, a newline was ``'\\012'``. This was a "
"vestigial trace of Python's C ancestry, but today octal is of very little "
"practical use. Ka-Ping Yee suggested using hex escapes instead of octal "
"ones, and using the ``\\n``, ``\\t``, ``\\r`` escapes for the appropriate "
"characters, and implemented this new formatting."
msgstr ""
#: whatsnew/2.1.rst:765
msgid ""
"Syntax errors detected at compile-time can now raise exceptions containing "
"the filename and line number of the error, a pleasant side effect of the "
"compiler reorganization done by Jeremy Hylton."
msgstr ""
#: whatsnew/2.1.rst:769
msgid ""
"C extensions which import other modules have been changed to use :func:"
"`PyImport_ImportModule`, which means that they will use any import hooks "
"that have been installed. This is also encouraged for third-party "
"extensions that need to import some other module from C code."
msgstr ""
#: whatsnew/2.1.rst:774
msgid ""
"The size of the Unicode character database was shrunk by another 340K thanks "
"to Fredrik Lundh."
msgstr ""
#: whatsnew/2.1.rst:777
msgid ""
"Some new ports were contributed: MacOS X (by Steven Majewski), Cygwin (by "
"Jason Tishler); RISCOS (by Dietmar Schwertberger); Unixware 7 (by Billy G. "
"Allie)."
msgstr ""
#: whatsnew/2.1.rst:781
msgid ""
"And there's the usual list of minor bugfixes, minor memory leaks, docstring "
"edits, and other tweaks, too lengthy to be worth itemizing; see the CVS logs "
"for the full details if you want them."
msgstr ""
#: whatsnew/2.1.rst:791
msgid ""
"The author would like to thank the following people for offering suggestions "
"on various drafts of this article: Graeme Cross, David Goodger, Jay Graves, "
"Michael Hudson, Marc-André Lemburg, Fredrik Lundh, Neil Schemenauer, Thomas "
"Wouters."
msgstr ""
#: whatsnew/2.2.rst:3
#, fuzzy
msgid "What's New in Python 2.2"
msgstr "Nouveautés de Python 2.0"
#: whatsnew/2.2.rst:15
msgid ""
"This article explains the new features in Python 2.2.2, released on October "
"14, 2002. Python 2.2.2 is a bugfix release of Python 2.2, originally "
"released on December 21, 2001."
msgstr ""
#: whatsnew/2.2.rst:19
msgid ""
"Python 2.2 can be thought of as the \"cleanup release\". There are some "
"features such as generators and iterators that are completely new, but most "
"of the changes, significant and far-reaching though they may be, are aimed "
"at cleaning up irregularities and dark corners of the language design."
msgstr ""
#: whatsnew/2.2.rst:24
msgid ""
"This article doesn't attempt to provide a complete specification of the new "
"features, but instead provides a convenient overview. For full details, you "
"should refer to the documentation for Python 2.2, such as the `Python "
"Library Reference <https://www.python.org/doc/2.2/lib/lib.html>`_ and the "
"`Python Reference Manual <https://www.python.org/doc/2.2/ref/ref.html>`_. "
"If you want to understand the complete implementation and design rationale "
"for a change, refer to the PEP for a particular new feature."
msgstr ""
#: whatsnew/2.2.rst:43
msgid "PEPs 252 and 253: Type and Class Changes"
msgstr ""
#: whatsnew/2.2.rst:45
msgid ""
"The largest and most far-reaching changes in Python 2.2 are to Python's "
"model of objects and classes. The changes should be backward compatible, so "
"it's likely that your code will continue to run unchanged, but the changes "
"provide some amazing new capabilities. Before beginning this, the longest "
"and most complicated section of this article, I'll provide an overview of "
"the changes and offer some comments."
msgstr ""
#: whatsnew/2.2.rst:52
msgid ""
"A long time ago I wrote a Web page listing flaws in Python's design. One of "
"the most significant flaws was that it's impossible to subclass Python types "
"implemented in C. In particular, it's not possible to subclass built-in "
"types, so you can't just subclass, say, lists in order to add a single "
"useful method to them. The :mod:`UserList` module provides a class that "
"supports all of the methods of lists and that can be subclassed further, but "
"there's lots of C code that expects a regular Python list and won't accept "
"a :class:`UserList` instance."
msgstr ""
#: whatsnew/2.2.rst:61
msgid ""
"Python 2.2 fixes this, and in the process adds some exciting new "
"capabilities. A brief summary:"
msgstr ""
#: whatsnew/2.2.rst:64
msgid ""
"You can subclass built-in types such as lists and even integers, and your "
"subclasses should work in every place that requires the original type."
msgstr ""
#: whatsnew/2.2.rst:67
msgid ""
"It's now possible to define static and class methods, in addition to the "
"instance methods available in previous versions of Python."
msgstr ""
#: whatsnew/2.2.rst:70
msgid ""
"It's also possible to automatically call methods on accessing or setting an "
"instance attribute by using a new mechanism called :dfn:`properties`. Many "
"uses of :meth:`__getattr__` can be rewritten to use properties instead, "
"making the resulting code simpler and faster. As a small side benefit, "
"attributes can now have docstrings, too."
msgstr ""
#: whatsnew/2.2.rst:76
msgid ""
"The list of legal attributes for an instance can be limited to a particular "
"set using :dfn:`slots`, making it possible to safeguard against typos and "
"perhaps make more optimizations possible in future versions of Python."
msgstr ""
#: whatsnew/2.2.rst:80
msgid ""
"Some users have voiced concern about all these changes. Sure, they say, the "
"new features are neat and lend themselves to all sorts of tricks that "
"weren't possible in previous versions of Python, but they also make the "
"language more complicated. Some people have said that they've always "
"recommended Python for its simplicity, and feel that its simplicity is being "
"lost."
msgstr ""
#: whatsnew/2.2.rst:86
msgid ""
"Personally, I think there's no need to worry. Many of the new features are "
"quite esoteric, and you can write a lot of Python code without ever needed "
"to be aware of them. Writing a simple class is no more difficult than it "
"ever was, so you don't need to bother learning or teaching them unless "
"they're actually needed. Some very complicated tasks that were previously "
"only possible from C will now be possible in pure Python, and to my mind "
"that's all for the better."
msgstr ""
#: whatsnew/2.2.rst:93
msgid ""
"I'm not going to attempt to cover every single corner case and small change "
"that were required to make the new features work. Instead this section will "
"paint only the broad strokes. See section :ref:`sect-rellinks`, \"Related "
"Links\", for further sources of information about Python 2.2's new object "
"model."
msgstr ""
#: whatsnew/2.2.rst:100
msgid "Old and New Classes"
msgstr ""
#: whatsnew/2.2.rst:102
msgid ""
"First, you should know that Python 2.2 really has two kinds of classes: "
"classic or old-style classes, and new-style classes. The old-style class "
"model is exactly the same as the class model in earlier versions of Python. "
"All the new features described in this section apply only to new-style "
"classes. This divergence isn't intended to last forever; eventually old-"
"style classes will be dropped, possibly in Python 3.0."
msgstr ""
#: whatsnew/2.2.rst:109
msgid ""
"So how do you define a new-style class? You do it by subclassing an "
"existing new-style class. Most of Python's built-in types, such as "
"integers, lists, dictionaries, and even files, are new-style classes now. A "
"new-style class named :class:`object`, the base class for all built-in "
"types, has also been added so if no built-in type is suitable, you can just "
"subclass :class:`object`::"
msgstr ""
#: whatsnew/2.2.rst:121
msgid ""
"This means that :keyword:`class` statements that don't have any base classes "
"are always classic classes in Python 2.2. (Actually you can also change "
"this by setting a module-level variable named :attr:`__metaclass__` --- see :"
"pep:`253` for the details --- but it's easier to just subclass :keyword:"
"`object`.)"
msgstr ""
#: whatsnew/2.2.rst:126
msgid ""
"The type objects for the built-in types are available as built-ins, named "
"using a clever trick. Python has always had built-in functions named :func:"
"`int`, :func:`float`, and :func:`str`. In 2.2, they aren't functions any "
"more, but type objects that behave as factories when called. ::"
msgstr ""
#: whatsnew/2.2.rst:136
msgid ""
"To make the set of types complete, new type objects such as :func:`dict` "
"and :func:`file` have been added. Here's a more interesting example, adding "
"a :meth:`lock` method to file objects::"
msgstr ""
#: whatsnew/2.2.rst:146
msgid ""
"The now-obsolete :mod:`posixfile` module contained a class that emulated all "
"of a file object's methods and also added a :meth:`lock` method, but this "
"class couldn't be passed to internal functions that expected a built-in "
"file, something which is possible with our new :class:`LockableFile`."
msgstr ""
#: whatsnew/2.2.rst:153
msgid "Descriptors"
msgstr ""
#: whatsnew/2.2.rst:155
msgid ""
"In previous versions of Python, there was no consistent way to discover what "
"attributes and methods were supported by an object. There were some informal "
"conventions, such as defining :attr:`__members__` and :attr:`__methods__` "
"attributes that were lists of names, but often the author of an extension "
"type or a class wouldn't bother to define them. You could fall back on "
"inspecting the :attr:`__dict__` of an object, but when class inheritance or "
"an arbitrary :meth:`__getattr__` hook were in use this could still be "
"inaccurate."
msgstr ""
#: whatsnew/2.2.rst:163
msgid ""
"The one big idea underlying the new class model is that an API for "
"describing the attributes of an object using :dfn:`descriptors` has been "
"formalized. Descriptors specify the value of an attribute, stating whether "
"it's a method or a field. With the descriptor API, static methods and class "
"methods become possible, as well as more exotic constructs."
msgstr ""
#: whatsnew/2.2.rst:169
msgid ""
"Attribute descriptors are objects that live inside class objects, and have a "
"few attributes of their own:"
msgstr ""
#: whatsnew/2.2.rst:172
msgid ":attr:`__name__` is the attribute's name."
msgstr ""
#: whatsnew/2.2.rst:174
msgid ":attr:`__doc__` is the attribute's docstring."
msgstr ""
#: whatsnew/2.2.rst:176
msgid ""
"``__get__(object)`` is a method that retrieves the attribute value from "
"*object*."
msgstr ""
#: whatsnew/2.2.rst:179
msgid "``__set__(object, value)`` sets the attribute on *object* to *value*."
msgstr ""
#: whatsnew/2.2.rst:181
msgid ""
"``__delete__(object, value)`` deletes the *value* attribute of *object*."
msgstr ""
#: whatsnew/2.2.rst:183
msgid ""
"For example, when you write ``obj.x``, the steps that Python actually "
"performs are::"
msgstr ""
#: whatsnew/2.2.rst:189
msgid ""
"For methods, :meth:`descriptor.__get__` returns a temporary object that's "
"callable, and wraps up the instance and the method to be called on it. This "
"is also why static methods and class methods are now possible; they have "
"descriptors that wrap up just the method, or the method and the class. As a "
"brief explanation of these new kinds of methods, static methods aren't "
"passed the instance, and therefore resemble regular functions. Class "
"methods are passed the class of the object, but not the object itself. "
"Static and class methods are defined like this::"
msgstr ""
#: whatsnew/2.2.rst:207
msgid ""
"The :func:`staticmethod` function takes the function :func:`f`, and returns "
"it wrapped up in a descriptor so it can be stored in the class object. You "
"might expect there to be special syntax for creating such methods (``def "
"static f``, ``defstatic f()``, or something like that) but no such syntax "
"has been defined yet; that's been left for future versions of Python."
msgstr ""
#: whatsnew/2.2.rst:213
msgid ""
"More new features, such as slots and properties, are also implemented as new "
"kinds of descriptors, and it's not difficult to write a descriptor class "
"that does something novel. For example, it would be possible to write a "
"descriptor class that made it possible to write Eiffel-style preconditions "
"and postconditions for a method. A class that used this feature might be "
"defined like this::"
msgstr ""
#: whatsnew/2.2.rst:235
msgid ""
"Note that a person using the new :func:`eiffelmethod` doesn't have to "
"understand anything about descriptors. This is why I think the new features "
"don't increase the basic complexity of the language. There will be a few "
"wizards who need to know about it in order to write :func:`eiffelmethod` or "
"the ZODB or whatever, but most users will just write code on top of the "
"resulting libraries and ignore the implementation details."
msgstr ""
#: whatsnew/2.2.rst:244
msgid "Multiple Inheritance: The Diamond Rule"
msgstr ""
#: whatsnew/2.2.rst:246
msgid ""
"Multiple inheritance has also been made more useful through changing the "
"rules under which names are resolved. Consider this set of classes (diagram "
"taken from :pep:`253` by Guido van Rossum)::"
msgstr ""
#: whatsnew/2.2.rst:264
msgid ""
"The lookup rule for classic classes is simple but not very smart; the base "
"classes are searched depth-first, going from left to right. A reference to :"
"meth:`D.save` will search the classes :class:`D`, :class:`B`, and then :"
"class:`A`, where :meth:`save` would be found and returned. :meth:`C.save` "
"would never be found at all. This is bad, because if :class:`C`'s :meth:"
"`save` method is saving some internal state specific to :class:`C`, not "
"calling it will result in that state never getting saved."
msgstr ""
#: whatsnew/2.2.rst:272
msgid ""
"New-style classes follow a different algorithm that's a bit more complicated "
"to explain, but does the right thing in this situation. (Note that Python "
"2.3 changes this algorithm to one that produces the same results in most "
"cases, but produces more useful results for really complicated inheritance "
"graphs.)"
msgstr ""
#: whatsnew/2.2.rst:277
msgid ""
"List all the base classes, following the classic lookup rule and include a "
"class multiple times if it's visited repeatedly. In the above example, the "
"list of visited classes is [:class:`D`, :class:`B`, :class:`A`, :class:`C`, :"
"class:`A`]."
msgstr ""
#: whatsnew/2.2.rst:282
msgid ""
"Scan the list for duplicated classes. If any are found, remove all but one "
"occurrence, leaving the *last* one in the list. In the above example, the "
"list becomes [:class:`D`, :class:`B`, :class:`C`, :class:`A`] after dropping "
"duplicates."
msgstr ""
#: whatsnew/2.2.rst:287
msgid ""
"Following this rule, referring to :meth:`D.save` will return :meth:`C.save`, "
"which is the behaviour we're after. This lookup rule is the same as the one "
"followed by Common Lisp. A new built-in function, :func:`super`, provides a "
"way to get at a class's superclasses without having to reimplement Python's "
"algorithm. The most commonly used form will be ``super(class, obj)``, which "
"returns a bound superclass object (not the actual class object). This form "
"will be used in methods to call a method in the superclass; for example, :"
"class:`D`'s :meth:`save` method would look like this::"
msgstr ""
#: whatsnew/2.2.rst:303
msgid ""
":func:`super` can also return unbound superclass objects when called as "
"``super(class)`` or ``super(class1, class2)``, but this probably won't often "
"be useful."
msgstr ""
#: whatsnew/2.2.rst:309
msgid "Attribute Access"
msgstr ""
#: whatsnew/2.2.rst:311
msgid ""
"A fair number of sophisticated Python classes define hooks for attribute "
"access using :meth:`__getattr__`; most commonly this is done for "
"convenience, to make code more readable by automatically mapping an "
"attribute access such as ``obj.parent`` into a method call such as ``obj."
"get_parent``. Python 2.2 adds some new ways of controlling attribute access."
msgstr ""
#: whatsnew/2.2.rst:317
msgid ""
"First, ``__getattr__(attr_name)`` is still supported by new-style classes, "
"and nothing about it has changed. As before, it will be called when an "
"attempt is made to access ``obj.foo`` and no attribute named ``foo`` is "
"found in the instance's dictionary."
msgstr ""
#: whatsnew/2.2.rst:322
msgid ""
"New-style classes also support a new method, "
"``__getattribute__(attr_name)``. The difference between the two methods is "
"that :meth:`__getattribute__` is *always* called whenever any attribute is "
"accessed, while the old :meth:`__getattr__` is only called if ``foo`` isn't "
"found in the instance's dictionary."
msgstr ""
#: whatsnew/2.2.rst:328
msgid ""
"However, Python 2.2's support for :dfn:`properties` will often be a simpler "
"way to trap attribute references. Writing a :meth:`__getattr__` method is "
"complicated because to avoid recursion you can't use regular attribute "
"accesses inside them, and instead have to mess around with the contents of :"
"attr:`__dict__`. :meth:`__getattr__` methods also end up being called by "
"Python when it checks for other methods such as :meth:`__repr__` or :meth:"
"`__coerce__`, and so have to be written with this in mind. Finally, calling "
"a function on every attribute access results in a sizable performance loss."
msgstr ""
#: whatsnew/2.2.rst:337
msgid ""
":class:`property` is a new built-in type that packages up three functions "
"that get, set, or delete an attribute, and a docstring. For example, if you "
"want to define a :attr:`size` attribute that's computed, but also settable, "
"you could write::"
msgstr ""
#: whatsnew/2.2.rst:357
msgid ""
"That is certainly clearer and easier to write than a pair of :meth:"
"`__getattr__`/:meth:`__setattr__` methods that check for the :attr:`size` "
"attribute and handle it specially while retrieving all other attributes from "
"the instance's :attr:`__dict__`. Accesses to :attr:`size` are also the only "
"ones which have to perform the work of calling a function, so references to "
"other attributes run at their usual speed."
msgstr ""
#: whatsnew/2.2.rst:364
msgid ""
"Finally, it's possible to constrain the list of attributes that can be "
"referenced on an object using the new :attr:`__slots__` class attribute. "
"Python objects are usually very dynamic; at any time it's possible to define "
"a new attribute on an instance by just doing ``obj.new_attr=1``. A new-"
"style class can define a class attribute named :attr:`__slots__` to limit "
"the legal attributes to a particular set of names. An example will make "
"this clear::"
msgstr ""
#: whatsnew/2.2.rst:385
msgid ""
"Note how you get an :exc:`AttributeError` on the attempt to assign to an "
"attribute not listed in :attr:`__slots__`."
msgstr ""
#: whatsnew/2.2.rst:392
msgid "Related Links"
msgstr ""
#: whatsnew/2.2.rst:394
msgid ""
"This section has just been a quick overview of the new features, giving "
"enough of an explanation to start you programming, but many details have "
"been simplified or ignored. Where should you go to get a more complete "
"picture?"
msgstr ""
#: whatsnew/2.2.rst:398
msgid ""
"https://www.python.org/2.2/descrintro.html is a lengthy tutorial "
"introduction to the descriptor features, written by Guido van Rossum. If my "
"description has whetted your appetite, go read this tutorial next, because "
"it goes into much more detail about the new features while still remaining "
"quite easy to read."
msgstr ""
#: whatsnew/2.2.rst:403
msgid ""
"Next, there are two relevant PEPs, :pep:`252` and :pep:`253`. :pep:`252` is "
"titled \"Making Types Look More Like Classes\", and covers the descriptor "
"API. :pep:`253` is titled \"Subtyping Built-in Types\", and describes the "
"changes to type objects that make it possible to subtype built-in objects. :"
"pep:`253` is the more complicated PEP of the two, and at a few points the "
"necessary explanations of types and meta-types may cause your head to "
"explode. Both PEPs were written and implemented by Guido van Rossum, with "
"substantial assistance from the rest of the Zope Corp. team."
msgstr ""
#: whatsnew/2.2.rst:412
msgid ""
"Finally, there's the ultimate authority: the source code. Most of the "
"machinery for the type handling is in :file:`Objects/typeobject.c`, but you "
"should only resort to it after all other avenues have been exhausted, "
"including posting a question to python-list or python-dev."
msgstr ""
#: whatsnew/2.2.rst:421
msgid "PEP 234: Iterators"
msgstr ""
#: whatsnew/2.2.rst:423
msgid ""
"Another significant addition to 2.2 is an iteration interface at both the C "
"and Python levels. Objects can define how they can be looped over by "
"callers."
msgstr ""
#: whatsnew/2.2.rst:426
msgid ""
"In Python versions up to 2.1, the usual way to make ``for item in obj`` work "
"is to define a :meth:`__getitem__` method that looks something like this::"
msgstr ""
#: whatsnew/2.2.rst:432
msgid ""
":meth:`__getitem__` is more properly used to define an indexing operation on "
"an object so that you can write ``obj[5]`` to retrieve the sixth element. "
"It's a bit misleading when you're using this only to support :keyword:`for` "
"loops. Consider some file-like object that wants to be looped over; the "
"*index* parameter is essentially meaningless, as the class probably assumes "
"that a series of :meth:`__getitem__` calls will be made with *index* "
"incrementing by one each time. In other words, the presence of the :meth:"
"`__getitem__` method doesn't mean that using ``file[5]`` to randomly access "
"the sixth element will work, though it really should."
msgstr ""
#: whatsnew/2.2.rst:442
msgid ""
"In Python 2.2, iteration can be implemented separately, and :meth:"
"`__getitem__` methods can be limited to classes that really do support "
"random access. The basic idea of iterators is simple. A new built-in "
"function, ``iter(obj)`` or ``iter(C, sentinel)``, is used to get an "
"iterator. ``iter(obj)`` returns an iterator for the object *obj*, while "
"``iter(C, sentinel)`` returns an iterator that will invoke the callable "
"object *C* until it returns *sentinel* to signal that the iterator is done."
msgstr ""
#: whatsnew/2.2.rst:450
msgid ""
"Python classes can define an :meth:`__iter__` method, which should create "
"and return a new iterator for the object; if the object is its own iterator, "
"this method can just return ``self``. In particular, iterators will usually "
"be their own iterators. Extension types implemented in C can implement a :c:"
"member:`~PyTypeObject.tp_iter` function in order to return an iterator, and "
"extension types that want to behave as iterators can define a :c:member:"
"`~PyTypeObject.tp_iternext` function."
msgstr ""
#: whatsnew/2.2.rst:457
msgid ""
"So, after all this, what do iterators actually do? They have one required "
"method, :meth:`next`, which takes no arguments and returns the next value. "
"When there are no more values to be returned, calling :meth:`next` should "
"raise the :exc:`StopIteration` exception. ::"
msgstr ""
#: whatsnew/2.2.rst:478
msgid ""
"In 2.2, Python's :keyword:`for` statement no longer expects a sequence; it "
"expects something for which :func:`iter` will return an iterator. For "
"backward compatibility and convenience, an iterator is automatically "
"constructed for sequences that don't implement :meth:`__iter__` or a :c:"
"member:`~PyTypeObject.tp_iter` slot, so ``for i in [1,2,3]`` will still "
"work. Wherever the Python interpreter loops over a sequence, it's been "
"changed to use the iterator protocol. This means you can do things like "
"this::"
msgstr ""
#: whatsnew/2.2.rst:492
msgid ""
"Iterator support has been added to some of Python's basic types. Calling :"
"func:`iter` on a dictionary will return an iterator which loops over its "
"keys::"
msgstr ""
#: whatsnew/2.2.rst:512
msgid ""
"That's just the default behaviour. If you want to iterate over keys, "
"values, or key/value pairs, you can explicitly call the :meth:`iterkeys`, :"
"meth:`itervalues`, or :meth:`iteritems` methods to get an appropriate "
"iterator. In a minor related change, the :keyword:`in` operator now works on "
"dictionaries, so ``key in dict`` is now equivalent to ``dict.has_key(key)``."
msgstr ""
#: whatsnew/2.2.rst:518
msgid ""
"Files also provide an iterator, which calls the :meth:`readline` method "
"until there are no more lines in the file. This means you can now read each "
"line of a file using code like this::"
msgstr ""
#: whatsnew/2.2.rst:526
msgid ""
"Note that you can only go forward in an iterator; there's no way to get the "
"previous element, reset the iterator, or make a copy of it. An iterator "
"object could provide such additional capabilities, but the iterator protocol "
"only requires a :meth:`next` method."
msgstr ""
#: whatsnew/2.2.rst:535
msgid "PEP 234 - Iterators"
msgstr ""
#: whatsnew/2.2.rst:535
msgid ""
"Written by Ka-Ping Yee and GvR; implemented by the Python Labs crew, mostly "
"by GvR and Tim Peters."
msgstr ""
#: whatsnew/2.2.rst:542 whatsnew/2.3.rst:126
msgid "PEP 255: Simple Generators"
msgstr ""
#: whatsnew/2.2.rst:544
msgid ""
"Generators are another new feature, one that interacts with the introduction "
"of iterators."
msgstr ""
#: whatsnew/2.2.rst:547
msgid ""
"You're doubtless familiar with how function calls work in Python or C. When "
"you call a function, it gets a private namespace where its local variables "
"are created. When the function reaches a :keyword:`return` statement, the "
"local variables are destroyed and the resulting value is returned to the "
"caller. A later call to the same function will get a fresh new set of local "
"variables. But, what if the local variables weren't thrown away on exiting a "
"function? What if you could later resume the function where it left off? "
"This is what generators provide; they can be thought of as resumable "
"functions."
msgstr ""
#: whatsnew/2.2.rst:556 whatsnew/2.3.rst:145
msgid "Here's the simplest example of a generator function::"
msgstr ""
#: whatsnew/2.2.rst:562
msgid ""
"A new keyword, :keyword:`yield`, was introduced for generators. Any "
"function containing a :keyword:`yield` statement is a generator function; "
"this is detected by Python's bytecode compiler which compiles the function "
"specially as a result. Because a new keyword was introduced, generators "
"must be explicitly enabled in a module by including a ``from __future__ "
"import generators`` statement near the top of the module's source code. In "
"Python 2.3 this statement will become unnecessary."
msgstr ""
#: whatsnew/2.2.rst:570
msgid ""
"When you call a generator function, it doesn't return a single value; "
"instead it returns a generator object that supports the iterator protocol. "
"On executing the :keyword:`yield` statement, the generator outputs the value "
"of ``i``, similar to a :keyword:`return` statement. The big difference "
"between :keyword:`yield` and a :keyword:`return` statement is that on "
"reaching a :keyword:`yield` the generator's state of execution is suspended "
"and local variables are preserved. On the next call to the generator's "
"``next()`` method, the function will resume executing immediately after the :"
"keyword:`yield` statement. (For complicated reasons, the :keyword:`yield` "
"statement isn't allowed inside the :keyword:`try` block of a :keyword:"
"`try`...\\ :keyword:`finally` statement; read :pep:`255` for a full "
"explanation of the interaction between :keyword:`yield` and exceptions.)"
msgstr ""
#: whatsnew/2.2.rst:583 whatsnew/2.3.rst:169
msgid "Here's a sample usage of the :func:`generate_ints` generator::"
msgstr ""
#: whatsnew/2.2.rst:600 whatsnew/2.3.rst:186
msgid ""
"You could equally write ``for i in generate_ints(5)``, or ``a,b,c = "
"generate_ints(3)``."
msgstr ""
#: whatsnew/2.2.rst:603 whatsnew/2.3.rst:189
msgid ""
"Inside a generator function, the :keyword:`return` statement can only be "
"used without a value, and signals the end of the procession of values; "
"afterwards the generator cannot return any further values. :keyword:`return` "
"with a value, such as ``return 5``, is a syntax error inside a generator "
"function. The end of the generator's results can also be indicated by "
"raising :exc:`StopIteration` manually, or by just letting the flow of "
"execution fall off the bottom of the function."
msgstr ""
#: whatsnew/2.2.rst:611 whatsnew/2.3.rst:197
msgid ""
"You could achieve the effect of generators manually by writing your own "
"class and storing all the local variables of the generator as instance "
"variables. For example, returning a list of integers could be done by "
"setting ``self.count`` to 0, and having the :meth:`next` method increment "
"``self.count`` and return it. However, for a moderately complicated "
"generator, writing a corresponding class would be much messier. :file:`Lib/"
"test/test_generators.py` contains a number of more interesting examples. "
"The simplest one implements an in-order traversal of a tree using generators "
"recursively. ::"
msgstr ""
#: whatsnew/2.2.rst:629 whatsnew/2.3.rst:215
msgid ""
"Two other examples in :file:`Lib/test/test_generators.py` produce solutions "
"for the N-Queens problem (placing $N$ queens on an $NxN$ chess board so that "
"no queen threatens another) and the Knight's Tour (a route that takes a "
"knight to every square of an $NxN$ chessboard without visiting any square "
"twice)."
msgstr ""
#: whatsnew/2.2.rst:634 whatsnew/2.3.rst:220
msgid ""
"The idea of generators comes from other programming languages, especially "
"Icon (http://www.cs.arizona.edu/icon/), where the idea of generators is "
"central. In Icon, every expression and function call behaves like a "
"generator. One example from \"An Overview of the Icon Programming Language"
"\" at http://www.cs.arizona.edu/icon/docs/ipd266.htm gives an idea of what "
"this looks like::"
msgstr ""
#: whatsnew/2.2.rst:644 whatsnew/2.3.rst:230
msgid ""
"In Icon the :func:`find` function returns the indexes at which the substring "
"\"or\" is found: 3, 23, 33. In the :keyword:`if` statement, ``i`` is first "
"assigned a value of 3, but 3 is less than 5, so the comparison fails, and "
"Icon retries it with the second value of 23. 23 is greater than 5, so the "
"comparison now succeeds, and the code prints the value 23 to the screen."
msgstr ""
#: whatsnew/2.2.rst:650
msgid ""
"Python doesn't go nearly as far as Icon in adopting generators as a central "
"concept. Generators are considered a new part of the core Python language, "
"but learning or using them isn't compulsory; if they don't solve any "
"problems that you have, feel free to ignore them. One novel feature of "
"Python's interface as compared to Icon's is that a generator's state is "
"represented as a concrete object (the iterator) that can be passed around to "
"other functions or stored in a data structure."
msgstr ""
#: whatsnew/2.2.rst:662 whatsnew/2.3.rst:248
msgid "PEP 255 - Simple Generators"
msgstr ""
#: whatsnew/2.2.rst:662 whatsnew/2.3.rst:248
msgid ""
"Written by Neil Schemenauer, Tim Peters, Magnus Lie Hetland. Implemented "
"mostly by Neil Schemenauer and Tim Peters, with other fixes from the Python "
"Labs crew."
msgstr ""
#: whatsnew/2.2.rst:669 whatsnew/2.4.rst:90
msgid "PEP 237: Unifying Long Integers and Integers"
msgstr ""
#: whatsnew/2.2.rst:671
msgid ""
"In recent versions, the distinction between regular integers, which are 32-"
"bit values on most machines, and long integers, which can be of arbitrary "
"size, was becoming an annoyance. For example, on platforms that support "
"files larger than ``2**32`` bytes, the :meth:`tell` method of file objects "
"has to return a long integer. However, there were various bits of Python "
"that expected plain integers and would raise an error if a long integer was "
"provided instead. For example, in Python 1.5, only regular integers could "
"be used as a slice index, and ``'abc'[1L:]`` would raise a :exc:`TypeError` "
"exception with the message 'slice index must be int'."
msgstr ""
#: whatsnew/2.2.rst:681
msgid ""
"Python 2.2 will shift values from short to long integers as required. The "
"'L' suffix is no longer needed to indicate a long integer literal, as now "
"the compiler will choose the appropriate type. (Using the 'L' suffix will "
"be discouraged in future 2.x versions of Python, triggering a warning in "
"Python 2.4, and probably dropped in Python 3.0.) Many operations that used "
"to raise an :exc:`OverflowError` will now return a long integer as their "
"result. For example::"
msgstr ""
#: whatsnew/2.2.rst:694
msgid ""
"In most cases, integers and long integers will now be treated identically. "
"You can still distinguish them with the :func:`type` built-in function, but "
"that's rarely needed."
msgstr ""
#: whatsnew/2.2.rst:702 whatsnew/2.4.rst:108
msgid "PEP 237 - Unifying Long Integers and Integers"
msgstr ""
#: whatsnew/2.2.rst:702
msgid ""
"Written by Moshe Zadka and Guido van Rossum. Implemented mostly by Guido "
"van Rossum."
msgstr ""
#: whatsnew/2.2.rst:709
msgid "PEP 238: Changing the Division Operator"
msgstr ""
#: whatsnew/2.2.rst:711
msgid ""
"The most controversial change in Python 2.2 heralds the start of an effort "
"to fix an old design flaw that's been in Python from the beginning. "
"Currently Python's division operator, ``/``, behaves like C's division "
"operator when presented with two integer arguments: it returns an integer "
"result that's truncated down when there would be a fractional part. For "
"example, ``3/2`` is 1, not 1.5, and ``(-1)/2`` is -1, not -0.5. This means "
"that the results of division can vary unexpectedly depending on the type of "
"the two operands and because Python is dynamically typed, it can be "
"difficult to determine the possible types of the operands."
msgstr ""
#: whatsnew/2.2.rst:721
msgid ""
"(The controversy is over whether this is *really* a design flaw, and whether "
"it's worth breaking existing code to fix this. It's caused endless "
"discussions on python-dev, and in July 2001 erupted into an storm of acidly "
"sarcastic postings on :newsgroup:`comp.lang.python`. I won't argue for "
"either side here and will stick to describing what's implemented in 2.2. "
"Read :pep:`238` for a summary of arguments and counter-arguments.)"
msgstr ""
#: whatsnew/2.2.rst:728
msgid ""
"Because this change might break code, it's being introduced very gradually. "
"Python 2.2 begins the transition, but the switch won't be complete until "
"Python 3.0."
msgstr ""
#: whatsnew/2.2.rst:732
msgid ""
"First, I'll borrow some terminology from :pep:`238`. \"True division\" is "
"the division that most non-programmers are familiar with: 3/2 is 1.5, 1/4 is "
"0.25, and so forth. \"Floor division\" is what Python's ``/`` operator "
"currently does when given integer operands; the result is the floor of the "
"value returned by true division. \"Classic division\" is the current mixed "
"behaviour of ``/``; it returns the result of floor division when the "
"operands are integers, and returns the result of true division when one of "
"the operands is a floating-point number."
msgstr ""
#: whatsnew/2.2.rst:740
msgid "Here are the changes 2.2 introduces:"
msgstr ""
#: whatsnew/2.2.rst:742
msgid ""
"A new operator, ``//``, is the floor division operator. (Yes, we know it "
"looks like C++'s comment symbol.) ``//`` *always* performs floor division "
"no matter what the types of its operands are, so ``1 // 2`` is 0 and "
"``1.0 // 2.0`` is also 0.0."
msgstr ""
#: whatsnew/2.2.rst:747
msgid ""
"``//`` is always available in Python 2.2; you don't need to enable it using "
"a ``__future__`` statement."
msgstr ""
#: whatsnew/2.2.rst:750
msgid ""
"By including a ``from __future__ import division`` in a module, the ``/`` "
"operator will be changed to return the result of true division, so ``1/2`` "
"is 0.5. Without the ``__future__`` statement, ``/`` still means classic "
"division. The default meaning of ``/`` will not change until Python 3.0."
msgstr ""
#: whatsnew/2.2.rst:755
msgid ""
"Classes can define methods called :meth:`__truediv__` and :meth:"
"`__floordiv__` to overload the two division operators. At the C level, "
"there are also slots in the :c:type:`PyNumberMethods` structure so extension "
"types can define the two operators."
msgstr ""
#: whatsnew/2.2.rst:760
msgid ""
"Python 2.2 supports some command-line arguments for testing whether code "
"will works with the changed division semantics. Running python with :option:"
"`-Q warn` will cause a warning to be issued whenever division is applied to "
"two integers. You can use this to find code that's affected by the change "
"and fix it. By default, Python 2.2 will simply perform classic division "
"without a warning; the warning will be turned on by default in Python 2.3."
msgstr ""
#: whatsnew/2.2.rst:770
msgid "PEP 238 - Changing the Division Operator"
msgstr ""
#: whatsnew/2.2.rst:771
msgid ""
"Written by Moshe Zadka and Guido van Rossum. Implemented by Guido van "
"Rossum.."
msgstr ""
#: whatsnew/2.2.rst:777
msgid "Unicode Changes"
msgstr ""
#: whatsnew/2.2.rst:779
msgid ""
"Python's Unicode support has been enhanced a bit in 2.2. Unicode strings "
"are usually stored as UCS-2, as 16-bit unsigned integers. Python 2.2 can "
"also be compiled to use UCS-4, 32-bit unsigned integers, as its internal "
"encoding by supplying :option:`--enable-unicode=ucs4` to the configure "
"script. (It's also possible to specify :option:`--disable-unicode` to "
"completely disable Unicode support.)"
msgstr ""
#: whatsnew/2.2.rst:786
msgid ""
"When built to use UCS-4 (a \"wide Python\"), the interpreter can natively "
"handle Unicode characters from U+000000 to U+110000, so the range of legal "
"values for the :func:`unichr` function is expanded accordingly. Using an "
"interpreter compiled to use UCS-2 (a \"narrow Python\"), values greater than "
"65535 will still cause :func:`unichr` to raise a :exc:`ValueError` "
"exception. This is all described in :pep:`261`, \"Support for 'wide' Unicode "
"characters\"; consult it for further details."
msgstr ""
#: whatsnew/2.2.rst:794
msgid ""
"Another change is simpler to explain. Since their introduction, Unicode "
"strings have supported an :meth:`encode` method to convert the string to a "
"selected encoding such as UTF-8 or Latin-1. A symmetric "
"``decode([*encoding*])`` method has been added to 8-bit strings (though not "
"to Unicode strings) in 2.2. :meth:`decode` assumes that the string is in the "
"specified encoding and decodes it, returning whatever is returned by the "
"codec."
msgstr ""
#: whatsnew/2.2.rst:801
msgid ""
"Using this new feature, codecs have been added for tasks not directly "
"related to Unicode. For example, codecs have been added for uu-encoding, "
"MIME's base64 encoding, and compression with the :mod:`zlib` module::"
msgstr ""
#: whatsnew/2.2.rst:822
msgid ""
"To convert a class instance to Unicode, a :meth:`__unicode__` method can be "
"defined by a class, analogous to :meth:`__str__`."
msgstr ""
#: whatsnew/2.2.rst:825
msgid ""
":meth:`encode`, :meth:`decode`, and :meth:`__unicode__` were implemented by "
"Marc-André Lemburg. The changes to support using UCS-4 internally were "
"implemented by Fredrik Lundh and Martin von Löwis."
msgstr ""
#: whatsnew/2.2.rst:832
msgid "PEP 261 - Support for 'wide' Unicode characters"
msgstr ""
#: whatsnew/2.2.rst:833
msgid "Written by Paul Prescod."
msgstr ""
#: whatsnew/2.2.rst:841
msgid ""
"In Python 2.1, statically nested scopes were added as an optional feature, "
"to be enabled by a ``from __future__ import nested_scopes`` directive. In "
"2.2 nested scopes no longer need to be specially enabled, and are now always "
"present. The rest of this section is a copy of the description of nested "
"scopes from my \"What's New in Python 2.1\" document; if you read it when "
"2.1 came out, you can skip the rest of this section."
msgstr ""
#: whatsnew/2.2.rst:848
msgid ""
"The largest change introduced in Python 2.1, and made complete in 2.2, is to "
"Python's scoping rules. In Python 2.0, at any given time there are at most "
"three namespaces used to look up variable names: local, module-level, and "
"the built-in namespace. This often surprised people because it didn't match "
"their intuitive expectations. For example, a nested recursive function "
"definition doesn't work::"
msgstr ""
#: whatsnew/2.2.rst:879
msgid ""
"The most significant change to Python 2.2 is that static scoping has been "
"added to the language to fix this problem. As a first effect, the "
"``name=name`` default argument is now unnecessary in the above example. Put "
"simply, when a given variable name is not assigned a value within a function "
"(by an assignment, or the :keyword:`def`, :keyword:`class`, or :keyword:"
"`import` statements), references to the variable will be looked up in the "
"local namespace of the enclosing scope. A more detailed explanation of the "
"rules, and a dissection of the implementation, can be found in the PEP."
msgstr ""
#: whatsnew/2.2.rst:936
msgid ""
"The :mod:`xmlrpclib` module was contributed to the standard library by "
"Fredrik Lundh, providing support for writing XML-RPC clients. XML-RPC is a "
"simple remote procedure call protocol built on top of HTTP and XML. For "
"example, the following snippet retrieves a list of RSS channels from the "
"O'Reilly Network, and then lists the recent headlines for one channel::"
msgstr ""
#: whatsnew/2.2.rst:959
msgid ""
"The :mod:`SimpleXMLRPCServer` module makes it easy to create straightforward "
"XML-RPC servers. See http://www.xmlrpc.com/ for more information about XML-"
"RPC."
msgstr ""
#: whatsnew/2.2.rst:962
msgid ""
"The new :mod:`hmac` module implements the HMAC algorithm described by :rfc:"
"`2104`. (Contributed by Gerhard Häring.)"
msgstr ""
#: whatsnew/2.2.rst:965
msgid ""
"Several functions that originally returned lengthy tuples now return pseudo- "
"sequences that still behave like tuples but also have mnemonic attributes "
"such as memberst_mtime or :attr:`tm_year`. The enhanced functions include :"
"func:`stat`, :func:`fstat`, :func:`statvfs`, and :func:`fstatvfs` in the :"
"mod:`os` module, and :func:`localtime`, :func:`gmtime`, and :func:`strptime` "
"in the :mod:`time` module."
msgstr ""
#: whatsnew/2.2.rst:972
msgid ""
"For example, to obtain a file's size using the old tuples, you'd end up "
"writing something like ``file_size = os.stat(filename)[stat.ST_SIZE]``, but "
"now this can be written more clearly as ``file_size = os.stat(filename)."
"st_size``."
msgstr ""
#: whatsnew/2.2.rst:976
msgid "The original patch for this feature was contributed by Nick Mathewson."
msgstr ""
#: whatsnew/2.2.rst:978
msgid ""
"The Python profiler has been extensively reworked and various errors in its "
"output have been corrected. (Contributed by Fred L. Drake, Jr. and Tim "
"Peters.)"
msgstr ""
#: whatsnew/2.2.rst:981
msgid ""
"The :mod:`socket` module can be compiled to support IPv6; specify the :"
"option:`--enable-ipv6` option to Python's configure script. (Contributed by "
"Jun-ichiro \"itojun\" Hagino.)"
msgstr ""
#: whatsnew/2.2.rst:985
msgid ""
"Two new format characters were added to the :mod:`struct` module for 64-bit "
"integers on platforms that support the C :c:type:`long long` type. ``q`` is "
"for a signed 64-bit integer, and ``Q`` is for an unsigned one. The value is "
"returned in Python's long integer type. (Contributed by Tim Peters.)"
msgstr ""
#: whatsnew/2.2.rst:990
msgid ""
"In the interpreter's interactive mode, there's a new built-in function :func:"
"`help` that uses the :mod:`pydoc` module introduced in Python 2.1 to provide "
"interactive help. ``help(object)`` displays any available help text about "
"*object*. :func:`help` with no argument puts you in an online help utility, "
"where you can enter the names of functions, classes, or modules to read "
"their help text. (Contributed by Guido van Rossum, using Ka-Ping Yee's :mod:"
"`pydoc` module.)"
msgstr ""
#: whatsnew/2.2.rst:998
msgid ""
"Various bugfixes and performance improvements have been made to the SRE "
"engine underlying the :mod:`re` module. For example, the :func:`re.sub` "
"and :func:`re.split` functions have been rewritten in C. Another "
"contributed patch speeds up certain Unicode character ranges by a factor of "
"two, and a new :meth:`finditer` method that returns an iterator over all "
"the non-overlapping matches in a given string. (SRE is maintained by "
"Fredrik Lundh. The BIGCHARSET patch was contributed by Martin von Löwis.)"
msgstr ""
#: whatsnew/2.2.rst:1006
msgid ""
"The :mod:`smtplib` module now supports :rfc:`2487`, \"Secure SMTP over TLS"
"\", so it's now possible to encrypt the SMTP traffic between a Python "
"program and the mail transport agent being handed a message. :mod:`smtplib` "
"also supports SMTP authentication. (Contributed by Gerhard Häring.)"
msgstr ""
#: whatsnew/2.2.rst:1011
msgid ""
"The :mod:`imaplib` module, maintained by Piers Lauder, has support for "
"several new extensions: the NAMESPACE extension defined in :rfc:`2342`, "
"SORT, GETACL and SETACL. (Contributed by Anthony Baxter and Michel "
"Pelletier.)"
msgstr ""
#: whatsnew/2.2.rst:1015
msgid ""
"The :mod:`rfc822` module's parsing of email addresses is now compliant with :"
"rfc:`2822`, an update to :rfc:`822`. (The module's name is *not* going to "
"be changed to ``rfc2822``.) A new package, :mod:`email`, has also been "
"added for parsing and generating e-mail messages. (Contributed by Barry "
"Warsaw, and arising out of his work on Mailman.)"
msgstr ""
#: whatsnew/2.2.rst:1021
msgid ""
"The :mod:`difflib` module now contains a new :class:`Differ` class for "
"producing human-readable lists of changes (a \"delta\") between two "
"sequences of lines of text. There are also two generator functions, :func:"
"`ndiff` and :func:`restore`, which respectively return a delta from two "
"sequences, or one of the original sequences from a delta. (Grunt work "
"contributed by David Goodger, from ndiff.py code by Tim Peters who then did "
"the generatorization.)"
msgstr ""
#: whatsnew/2.2.rst:1028
msgid ""
"New constants :const:`ascii_letters`, :const:`ascii_lowercase`, and :const:"
"`ascii_uppercase` were added to the :mod:`string` module. There were "
"several modules in the standard library that used :const:`string.letters` to "
"mean the ranges A-Za-z, but that assumption is incorrect when locales are in "
"use, because :const:`string.letters` varies depending on the set of legal "
"characters defined by the current locale. The buggy modules have all been "
"fixed to use :const:`ascii_letters` instead. (Reported by an unknown person; "
"fixed by Fred L. Drake, Jr.)"
msgstr ""
#: whatsnew/2.2.rst:1037
msgid ""
"The :mod:`mimetypes` module now makes it easier to use alternative MIME-type "
"databases by the addition of a :class:`MimeTypes` class, which takes a list "
"of filenames to be parsed. (Contributed by Fred L. Drake, Jr.)"
msgstr ""
#: whatsnew/2.2.rst:1041
msgid ""
"A :class:`Timer` class was added to the :mod:`threading` module that allows "
"scheduling an activity to happen at some future time. (Contributed by "
"Itamar Shtull-Trauring.)"
msgstr ""
#: whatsnew/2.2.rst:1049
msgid "Interpreter Changes and Fixes"
msgstr ""
#: whatsnew/2.2.rst:1051
msgid ""
"Some of the changes only affect people who deal with the Python interpreter "
"at the C level because they're writing Python extension modules, embedding "
"the interpreter, or just hacking on the interpreter itself. If you only "
"write Python code, none of the changes described here will affect you very "
"much."
msgstr ""
#: whatsnew/2.2.rst:1056
msgid ""
"Profiling and tracing functions can now be implemented in C, which can "
"operate at much higher speeds than Python-based functions and should reduce "
"the overhead of profiling and tracing. This will be of interest to authors "
"of development environments for Python. Two new C functions were added to "
"Python's API, :c:func:`PyEval_SetProfile` and :c:func:`PyEval_SetTrace`. The "
"existing :func:`sys.setprofile` and :func:`sys.settrace` functions still "
"exist, and have simply been changed to use the new C-level interface. "
"(Contributed by Fred L. Drake, Jr.)"
msgstr ""
#: whatsnew/2.2.rst:1065
msgid ""
"Another low-level API, primarily of interest to implementors of Python "
"debuggers and development tools, was added. :c:func:"
"`PyInterpreterState_Head` and :c:func:`PyInterpreterState_Next` let a caller "
"walk through all the existing interpreter objects; :c:func:"
"`PyInterpreterState_ThreadHead` and :c:func:`PyThreadState_Next` allow "
"looping over all the thread states for a given interpreter. (Contributed by "
"David Beazley.)"
msgstr ""
#: whatsnew/2.2.rst:1072
msgid ""
"The C-level interface to the garbage collector has been changed to make it "
"easier to write extension types that support garbage collection and to debug "
"misuses of the functions. Various functions have slightly different "
"semantics, so a bunch of functions had to be renamed. Extensions that use "
"the old API will still compile but will *not* participate in garbage "
"collection, so updating them for 2.2 should be considered fairly high "
"priority."
msgstr ""
#: whatsnew/2.2.rst:1079
msgid ""
"To upgrade an extension module to the new API, perform the following steps:"
msgstr ""
#: whatsnew/2.2.rst:1081
msgid "Rename :c:func:`Py_TPFLAGS_GC` to :c:func:`PyTPFLAGS_HAVE_GC`."
msgstr ""
#: whatsnew/2.2.rst:1084
msgid "Use PyObject_GC_New() or PyObject_GC_NewVar() to allocate"
msgstr ""
#: whatsnew/2.2.rst:1084
msgid "objects, and :c:func:`PyObject_GC_Del` to deallocate them."
msgstr ""
#: whatsnew/2.2.rst:1087
msgid "Rename PyObject_GC_Init() to PyObject_GC_Track() and"
msgstr ""
#: whatsnew/2.2.rst:1087
msgid ":c:func:`PyObject_GC_Fini` to :c:func:`PyObject_GC_UnTrack`."
msgstr ""
#: whatsnew/2.2.rst:1089
msgid "Remove :c:func:`PyGC_HEAD_SIZE` from object size calculations."
msgstr ""
#: whatsnew/2.2.rst:1091
msgid ""
"Remove calls to :c:func:`PyObject_AS_GC` and :c:func:`PyObject_FROM_GC`."
msgstr ""
#: whatsnew/2.2.rst:1093
msgid ""
"A new ``et`` format sequence was added to :c:func:`PyArg_ParseTuple`; ``et`` "
"takes both a parameter and an encoding name, and converts the parameter to "
"the given encoding if the parameter turns out to be a Unicode string, or "
"leaves it alone if it's an 8-bit string, assuming it to already be in the "
"desired encoding. This differs from the ``es`` format character, which "
"assumes that 8-bit strings are in Python's default ASCII encoding and "
"converts them to the specified new encoding. (Contributed by M.-A. Lemburg, "
"and used for the MBCS support on Windows described in the following section.)"
msgstr ""
#: whatsnew/2.2.rst:1102
msgid ""
"A different argument parsing function, :c:func:`PyArg_UnpackTuple`, has been "
"added that's simpler and presumably faster. Instead of specifying a format "
"string, the caller simply gives the minimum and maximum number of arguments "
"expected, and a set of pointers to :c:type:`PyObject\\*` variables that will "
"be filled in with argument values."
msgstr ""
#: whatsnew/2.2.rst:1108
msgid ""
"Two new flags :const:`METH_NOARGS` and :const:`METH_O` are available in "
"method definition tables to simplify implementation of methods with no "
"arguments or a single untyped argument. Calling such methods is more "
"efficient than calling a corresponding method that uses :const:"
"`METH_VARARGS`. Also, the old :const:`METH_OLDARGS` style of writing C "
"methods is now officially deprecated."
msgstr ""
#: whatsnew/2.2.rst:1114
msgid ""
"Two new wrapper functions, :c:func:`PyOS_snprintf` and :c:func:"
"`PyOS_vsnprintf` were added to provide cross-platform implementations for "
"the relatively new :c:func:`snprintf` and :c:func:`vsnprintf` C lib APIs. In "
"contrast to the standard :c:func:`sprintf` and :c:func:`vsprintf` functions, "
"the Python versions check the bounds of the buffer used to protect against "
"buffer overruns. (Contributed by M.-A. Lemburg.)"
msgstr ""
#: whatsnew/2.2.rst:1121
msgid ""
"The :c:func:`_PyTuple_Resize` function has lost an unused parameter, so now "
"it takes 2 parameters instead of 3. The third argument was never used, and "
"can simply be discarded when porting code from earlier versions to Python "
"2.2."
msgstr ""
#: whatsnew/2.2.rst:1131
msgid ""
"As usual there were a bunch of other improvements and bugfixes scattered "
"throughout the source tree. A search through the CVS change logs finds "
"there were 527 patches applied and 683 bugs fixed between Python 2.1 and "
"2.2; 2.2.1 applied 139 patches and fixed 143 bugs; 2.2.2 applied 106 patches "
"and fixed 82 bugs. These figures are likely to be underestimates."
msgstr ""
#: whatsnew/2.2.rst:1137 whatsnew/2.3.rst:1967
msgid "Some of the more notable changes are:"
msgstr ""
#: whatsnew/2.2.rst:1139
msgid ""
"The code for the MacOS port for Python, maintained by Jack Jansen, is now "
"kept in the main Python CVS tree, and many changes have been made to support "
"MacOS X."
msgstr ""
#: whatsnew/2.2.rst:1142
msgid ""
"The most significant change is the ability to build Python as a framework, "
"enabled by supplying the :option:`--enable-framework` option to the "
"configure script when compiling Python. According to Jack Jansen, \"This "
"installs a self- contained Python installation plus the OS X framework \"glue"
"\" into :file:`/Library/Frameworks/Python.framework` (or another location of "
"choice). For now there is little immediate added benefit to this (actually, "
"there is the disadvantage that you have to change your PATH to be able to "
"find Python), but it is the basis for creating a full-blown Python "
"application, porting the MacPython IDE, possibly using Python as a standard "
"OSA scripting language and much more.\""
msgstr ""
#: whatsnew/2.2.rst:1153
msgid ""
"Most of the MacPython toolbox modules, which interface to MacOS APIs such as "
"windowing, QuickTime, scripting, etc. have been ported to OS X, but they've "
"been left commented out in :file:`setup.py`. People who want to experiment "
"with these modules can uncomment them manually."
msgstr ""
#: whatsnew/2.2.rst:1176
msgid ""
"Keyword arguments passed to built-in functions that don't take them now "
"cause a :exc:`TypeError` exception to be raised, with the message "
"\"*function* takes no keyword arguments\"."
msgstr ""
#: whatsnew/2.2.rst:1180
msgid ""
"Weak references, added in Python 2.1 as an extension module, are now part of "
"the core because they're used in the implementation of new-style classes. "
"The :exc:`ReferenceError` exception has therefore moved from the :mod:"
"`weakref` module to become a built-in exception."
msgstr ""
#: whatsnew/2.2.rst:1185
msgid ""
"A new script, :file:`Tools/scripts/cleanfuture.py` by Tim Peters, "
"automatically removes obsolete ``__future__`` statements from Python source "
"code."
msgstr ""
#: whatsnew/2.2.rst:1189
msgid ""
"An additional *flags* argument has been added to the built-in function :func:"
"`compile`, so the behaviour of ``__future__`` statements can now be "
"correctly observed in simulated shells, such as those presented by IDLE and "
"other development environments. This is described in :pep:`264`. "
"(Contributed by Michael Hudson.)"
msgstr ""
#: whatsnew/2.2.rst:1195
msgid ""
"The new license introduced with Python 1.6 wasn't GPL-compatible. This is "
"fixed by some minor textual changes to the 2.2 license, so it's now legal to "
"embed Python inside a GPLed program again. Note that Python itself is not "
"GPLed, but instead is under a license that's essentially equivalent to the "
"BSD license, same as it always was. The license changes were also applied "
"to the Python 2.0.1 and 2.1.1 releases."
msgstr ""
#: whatsnew/2.2.rst:1202
msgid ""
"When presented with a Unicode filename on Windows, Python will now convert "
"it to an MBCS encoded string, as used by the Microsoft file APIs. As MBCS "
"is explicitly used by the file APIs, Python's choice of ASCII as the default "
"encoding turns out to be an annoyance. On Unix, the locale's character set "
"is used if ``locale.nl_langinfo(CODESET)`` is available. (Windows support "
"was contributed by Mark Hammond with assistance from Marc-André Lemburg. "
"Unix support was added by Martin von Löwis.)"
msgstr ""
#: whatsnew/2.2.rst:1210
msgid ""
"Large file support is now enabled on Windows. (Contributed by Tim Peters.)"
msgstr ""
#: whatsnew/2.2.rst:1212
msgid ""
"The :file:`Tools/scripts/ftpmirror.py` script now parses a :file:`.netrc` "
"file, if you have one. (Contributed by Mike Romberg.)"
msgstr ""
#: whatsnew/2.2.rst:1215
msgid ""
"Some features of the object returned by the :func:`xrange` function are now "
"deprecated, and trigger warnings when they're accessed; they'll disappear in "
"Python 2.3. :class:`xrange` objects tried to pretend they were full sequence "
"types by supporting slicing, sequence multiplication, and the :keyword:`in` "
"operator, but these features were rarely used and therefore buggy. The :"
"meth:`tolist` method and the :attr:`start`, :attr:`stop`, and :attr:`step` "
"attributes are also being deprecated. At the C level, the fourth argument "
"to the :c:func:`PyRange_New` function, ``repeat``, has also been deprecated."
msgstr ""
#: whatsnew/2.2.rst:1224
msgid ""
"There were a bunch of patches to the dictionary implementation, mostly to "
"fix potential core dumps if a dictionary contains objects that sneakily "
"changed their hash value, or mutated the dictionary they were contained in. "
"For a while python-dev fell into a gentle rhythm of Michael Hudson finding a "
"case that dumped core, Tim Peters fixing the bug, Michael finding another "
"case, and round and round it went."
msgstr ""
#: whatsnew/2.2.rst:1231
msgid ""
"On Windows, Python can now be compiled with Borland C thanks to a number of "
"patches contributed by Stephen Hansen, though the result isn't fully "
"functional yet. (But this *is* progress...)"
msgstr ""
#: whatsnew/2.2.rst:1235
msgid ""
"Another Windows enhancement: Wise Solutions generously offered PythonLabs "
"use of their InstallerMaster 8.1 system. Earlier PythonLabs Windows "
"installers used Wise 5.0a, which was beginning to show its age. (Packaged "
"up by Tim Peters.)"
msgstr ""
#: whatsnew/2.2.rst:1239
msgid ""
"Files ending in ``.pyw`` can now be imported on Windows. ``.pyw`` is a "
"Windows-only thing, used to indicate that a script needs to be run using "
"PYTHONW.EXE instead of PYTHON.EXE in order to prevent a DOS console from "
"popping up to display the output. This patch makes it possible to import "
"such scripts, in case they're also usable as modules. (Implemented by David "
"Bolen.)"
msgstr ""
#: whatsnew/2.2.rst:1245
msgid ""
"On platforms where Python uses the C :c:func:`dlopen` function to load "
"extension modules, it's now possible to set the flags used by :c:func:"
"`dlopen` using the :func:`sys.getdlopenflags` and :func:`sys.setdlopenflags` "
"functions. (Contributed by Bram Stolk.)"
msgstr ""
#: whatsnew/2.2.rst:1250
msgid ""
"The :func:`pow` built-in function no longer supports 3 arguments when "
"floating-point numbers are supplied. ``pow(x, y, z)`` returns ``(x**y) % "
"z``, but this is never useful for floating point numbers, and the final "
"result varies unpredictably depending on the platform. A call such as "
"``pow(2.0, 8.0, 7.0)`` will now raise a :exc:`TypeError` exception."
msgstr ""
#: whatsnew/2.2.rst:1262
msgid ""
"The author would like to thank the following people for offering "
"suggestions, corrections and assistance with various drafts of this article: "
"Fred Bremmer, Keith Briggs, Andrew Dalke, Fred L. Drake, Jr., Carel "
"Fellinger, David Goodger, Mark Hammond, Stephen Hansen, Michael Hudson, Jack "
"Jansen, Marc-André Lemburg, Martin von Löwis, Fredrik Lundh, Michael McLay, "
"Nick Mathewson, Paul Moore, Gustavo Niemeyer, Don O'Donnell, Joonas "
"Paalasma, Tim Peters, Jens Quade, Tom Reinhardt, Neil Schemenauer, Guido van "
"Rossum, Greg Ward, Edward Welbourne."
msgstr ""
#: whatsnew/2.3.rst:3
#, fuzzy
msgid "What's New in Python 2.3"
msgstr "Nouveautés de Python 2.0"
#: whatsnew/2.3.rst:11
msgid ""
"This article explains the new features in Python 2.3. Python 2.3 was "
"released on July 29, 2003."
msgstr ""
#: whatsnew/2.3.rst:14
msgid ""
"The main themes for Python 2.3 are polishing some of the features added in "
"2.2, adding various small but useful enhancements to the core language, and "
"expanding the standard library. The new object model introduced in the "
"previous version has benefited from 18 months of bugfixes and from "
"optimization efforts that have improved the performance of new-style "
"classes. A few new built-in functions have been added such as :func:`sum` "
"and :func:`enumerate`. The :keyword:`in` operator can now be used for "
"substring searches (e.g. ``\"ab\" in \"abc\"`` returns :const:`True`)."
msgstr ""
#: whatsnew/2.3.rst:23
msgid ""
"Some of the many new library features include Boolean, set, heap, and date/"
"time data types, the ability to import modules from ZIP-format archives, "
"metadata support for the long-awaited Python catalog, an updated version of "
"IDLE, and modules for logging messages, wrapping text, parsing CSV files, "
"processing command-line options, using BerkeleyDB databases... the list of "
"new and enhanced modules is lengthy."
msgstr ""
#: whatsnew/2.3.rst:30
msgid ""
"This article doesn't attempt to provide a complete specification of the new "
"features, but instead provides a convenient overview. For full details, you "
"should refer to the documentation for Python 2.3, such as the Python Library "
"Reference and the Python Reference Manual. If you want to understand the "
"complete implementation and design rationale, refer to the PEP for a "
"particular new feature."
msgstr ""
#: whatsnew/2.3.rst:41
msgid "PEP 218: A Standard Set Datatype"
msgstr ""
#: whatsnew/2.3.rst:43
msgid ""
"The new :mod:`sets` module contains an implementation of a set datatype. "
"The :class:`Set` class is for mutable sets, sets that can have members added "
"and removed. The :class:`ImmutableSet` class is for sets that can't be "
"modified, and instances of :class:`ImmutableSet` can therefore be used as "
"dictionary keys. Sets are built on top of dictionaries, so the elements "
"within a set must be hashable."
msgstr ""
#: whatsnew/2.3.rst:50
msgid "Here's a simple example::"
msgstr ""
#: whatsnew/2.3.rst:66
msgid ""
"The union and intersection of sets can be computed with the :meth:`union` "
"and :meth:`intersection` methods; an alternative notation uses the bitwise "
"operators ``&`` and ``|``. Mutable sets also have in-place versions of these "
"methods, :meth:`union_update` and :meth:`intersection_update`. ::"
msgstr ""
#: whatsnew/2.3.rst:86
msgid ""
"It's also possible to take the symmetric difference of two sets. This is "
"the set of all elements in the union that aren't in the intersection. "
"Another way of putting it is that the symmetric difference contains all "
"elements that are in exactly one set. Again, there's an alternative "
"notation (``^``), and an in- place version with the ungainly name :meth:"
"`symmetric_difference_update`. ::"
msgstr ""
#: whatsnew/2.3.rst:100
msgid ""
"There are also :meth:`issubset` and :meth:`issuperset` methods for checking "
"whether one set is a subset or superset of another::"
msgstr ""
#: whatsnew/2.3.rst:117 whatsnew/2.4.rst:83
msgid "PEP 218 - Adding a Built-In Set Object Type"
msgstr ""
#: whatsnew/2.3.rst:117
msgid ""
"PEP written by Greg V. Wilson. Implemented by Greg V. Wilson, Alex Martelli, "
"and GvR."
msgstr ""
#: whatsnew/2.3.rst:128
msgid ""
"In Python 2.2, generators were added as an optional feature, to be enabled "
"by a ``from __future__ import generators`` directive. In 2.3 generators no "
"longer need to be specially enabled, and are now always present; this means "
"that :keyword:`yield` is now always a keyword. The rest of this section is "
"a copy of the description of generators from the \"What's New in Python "
"2.2\" document; if you read it back when Python 2.2 came out, you can skip "
"the rest of this section."
msgstr ""
#: whatsnew/2.3.rst:136
msgid ""
"You're doubtless familiar with how function calls work in Python or C. When "
"you call a function, it gets a private namespace where its local variables "
"are created. When the function reaches a :keyword:`return` statement, the "
"local variables are destroyed and the resulting value is returned to the "
"caller. A later call to the same function will get a fresh new set of local "
"variables. But, what if the local variables weren't thrown away on exiting a "
"function? What if you could later resume the function where it left off? "
"This is what generators provide; they can be thought of as resumable "
"functions."
msgstr ""
#: whatsnew/2.3.rst:151
msgid ""
"A new keyword, :keyword:`yield`, was introduced for generators. Any "
"function containing a :keyword:`yield` statement is a generator function; "
"this is detected by Python's bytecode compiler which compiles the function "
"specially as a result."
msgstr ""
#: whatsnew/2.3.rst:156
msgid ""
"When you call a generator function, it doesn't return a single value; "
"instead it returns a generator object that supports the iterator protocol. "
"On executing the :keyword:`yield` statement, the generator outputs the value "
"of ``i``, similar to a :keyword:`return` statement. The big difference "
"between :keyword:`yield` and a :keyword:`return` statement is that on "
"reaching a :keyword:`yield` the generator's state of execution is suspended "
"and local variables are preserved. On the next call to the generator's ``."
"next()`` method, the function will resume executing immediately after the :"
"keyword:`yield` statement. (For complicated reasons, the :keyword:`yield` "
"statement isn't allowed inside the :keyword:`try` block of a :keyword:"
"`try`...\\ :keyword:`finally` statement; read :pep:`255` for a full "
"explanation of the interaction between :keyword:`yield` and exceptions.)"
msgstr ""
#: whatsnew/2.3.rst:236
msgid ""
"Python doesn't go nearly as far as Icon in adopting generators as a central "
"concept. Generators are considered part of the core Python language, but "
"learning or using them isn't compulsory; if they don't solve any problems "
"that you have, feel free to ignore them. One novel feature of Python's "
"interface as compared to Icon's is that a generator's state is represented "
"as a concrete object (the iterator) that can be passed around to other "
"functions or stored in a data structure."
msgstr ""
#: whatsnew/2.3.rst:257
msgid "PEP 263: Source Code Encodings"
msgstr ""
#: whatsnew/2.3.rst:259
msgid ""
"Python source files can now be declared as being in different character set "
"encodings. Encodings are declared by including a specially formatted "
"comment in the first or second line of the source file. For example, a "
"UTF-8 file can be declared with::"
msgstr ""
#: whatsnew/2.3.rst:267
msgid ""
"Without such an encoding declaration, the default encoding used is 7-bit "
"ASCII. Executing or importing modules that contain string literals with 8-"
"bit characters and have no encoding declaration will result in a :exc:"
"`DeprecationWarning` being signalled by Python 2.3; in 2.4 this will be a "
"syntax error."
msgstr ""
#: whatsnew/2.3.rst:273
msgid ""
"The encoding declaration only affects Unicode string literals, which will be "
"converted to Unicode using the specified encoding. Note that Python "
"identifiers are still restricted to ASCII characters, so you can't have "
"variable names that use characters outside of the usual alphanumerics."
msgstr ""
#: whatsnew/2.3.rst:282
msgid "PEP 263 - Defining Python Source Code Encodings"
msgstr ""
#: whatsnew/2.3.rst:282
msgid ""
"Written by Marc-André Lemburg and Martin von Löwis; implemented by Suzuki "
"Hisao and Martin von Löwis."
msgstr ""
#: whatsnew/2.3.rst:289
msgid "PEP 273: Importing Modules from ZIP Archives"
msgstr ""
#: whatsnew/2.3.rst:291
msgid ""
"The new :mod:`zipimport` module adds support for importing modules from a "
"ZIP- format archive. You don't need to import the module explicitly; it "
"will be automatically imported if a ZIP archive's filename is added to ``sys."
"path``. For example::"
msgstr ""
#: whatsnew/2.3.rst:312
msgid ""
"An entry in ``sys.path`` can now be the filename of a ZIP archive. The ZIP "
"archive can contain any kind of files, but only files named :file:`\\*.py`, :"
"file:`\\*.pyc`, or :file:`\\*.pyo` can be imported. If an archive only "
"contains :file:`\\*.py` files, Python will not attempt to modify the archive "
"by adding the corresponding :file:`\\*.pyc` file, meaning that if a ZIP "
"archive doesn't contain :file:`\\*.pyc` files, importing may be rather slow."
msgstr ""
#: whatsnew/2.3.rst:319
msgid ""
"A path within the archive can also be specified to only import from a "
"subdirectory; for example, the path :file:`/tmp/example.zip/lib/` would only "
"import from the :file:`lib/` subdirectory within the archive."
msgstr ""
#: whatsnew/2.3.rst:329
msgid "PEP 273 - Import Modules from Zip Archives"
msgstr ""
#: whatsnew/2.3.rst:327
msgid ""
"Written by James C. Ahlstrom, who also provided an implementation. Python "
"2.3 follows the specification in :pep:`273`, but uses an implementation "
"written by Just van Rossum that uses the import hooks described in :pep:"
"`302`. See section :ref:`section-pep302` for a description of the new import "
"hooks."
msgstr ""
#: whatsnew/2.3.rst:336
msgid "PEP 277: Unicode file name support for Windows NT"
msgstr ""
#: whatsnew/2.3.rst:338
msgid ""
"On Windows NT, 2000, and XP, the system stores file names as Unicode "
"strings. Traditionally, Python has represented file names as byte strings, "
"which is inadequate because it renders some file names inaccessible."
msgstr ""
#: whatsnew/2.3.rst:342
msgid ""
"Python now allows using arbitrary Unicode strings (within the limitations of "
"the file system) for all functions that expect file names, most notably the :"
"func:`open` built-in function. If a Unicode string is passed to :func:`os."
"listdir`, Python now returns a list of Unicode strings. A new function, :"
"func:`os.getcwdu`, returns the current directory as a Unicode string."
msgstr ""
#: whatsnew/2.3.rst:348
msgid ""
"Byte strings still work as file names, and on Windows Python will "
"transparently convert them to Unicode using the ``mbcs`` encoding."
msgstr ""
#: whatsnew/2.3.rst:351
msgid ""
"Other systems also allow Unicode strings as file names but convert them to "
"byte strings before passing them to the system, which can cause a :exc:"
"`UnicodeError` to be raised. Applications can test whether arbitrary Unicode "
"strings are supported as file names by checking :attr:`os.path."
"supports_unicode_filenames`, a Boolean value."
msgstr ""
#: whatsnew/2.3.rst:357
msgid "Under MacOS, :func:`os.listdir` may now return Unicode filenames."
msgstr ""
#: whatsnew/2.3.rst:363
msgid "PEP 277 - Unicode file name support for Windows NT"
msgstr ""
#: whatsnew/2.3.rst:363
msgid ""
"Written by Neil Hodgson; implemented by Neil Hodgson, Martin von Löwis, and "
"Mark Hammond."
msgstr ""
#: whatsnew/2.3.rst:373
msgid "PEP 278: Universal Newline Support"
msgstr ""
#: whatsnew/2.3.rst:375
msgid ""
"The three major operating systems used today are Microsoft Windows, Apple's "
"Macintosh OS, and the various Unix derivatives. A minor irritation of "
"cross- platform work is that these three platforms all use different "
"characters to mark the ends of lines in text files. Unix uses the linefeed "
"(ASCII character 10), MacOS uses the carriage return (ASCII character 13), "
"and Windows uses a two-character sequence of a carriage return plus a "
"newline."
msgstr ""
#: whatsnew/2.3.rst:382
msgid ""
"Python's file objects can now support end of line conventions other than the "
"one followed by the platform on which Python is running. Opening a file with "
"the mode ``'U'`` or ``'rU'`` will open a file for reading in :term:"
"`universal newlines` mode. All three line ending conventions will be "
"translated to a ``'\\n'`` in the strings returned by the various file "
"methods such as :meth:`read` and :meth:`readline`."
msgstr ""
#: whatsnew/2.3.rst:389
msgid ""
"Universal newline support is also used when importing modules and when "
"executing a file with the :func:`execfile` function. This means that Python "
"modules can be shared between all three operating systems without needing to "
"convert the line-endings."
msgstr ""
#: whatsnew/2.3.rst:394
msgid ""
"This feature can be disabled when compiling Python by specifying the :option:"
"`--without-universal-newlines` switch when running Python's :program:"
"`configure` script."
msgstr ""
#: whatsnew/2.3.rst:401
msgid "PEP 278 - Universal Newline Support"
msgstr ""
#: whatsnew/2.3.rst:402
msgid "Written and implemented by Jack Jansen."
msgstr ""
#: whatsnew/2.3.rst:410
msgid "PEP 279: enumerate()"
msgstr ""
#: whatsnew/2.3.rst:412
msgid ""
"A new built-in function, :func:`enumerate`, will make certain loops a bit "
"clearer. ``enumerate(thing)``, where *thing* is either an iterator or a "
"sequence, returns an iterator that will return ``(0, thing[0])``, ``(1, "
"thing[1])``, ``(2, thing[2])``, and so forth."
msgstr ""
#: whatsnew/2.3.rst:417
msgid "A common idiom to change every element of a list looks like this::"
msgstr ""
#: whatsnew/2.3.rst:424
msgid "This can be rewritten using :func:`enumerate` as::"
msgstr ""
#: whatsnew/2.3.rst:433
msgid "PEP 279 - The enumerate() built-in function"
msgstr ""
#: whatsnew/2.3.rst:434
msgid "Written and implemented by Raymond D. Hettinger."
msgstr ""
#: whatsnew/2.3.rst:440
msgid "PEP 282: The logging Package"
msgstr ""
#: whatsnew/2.3.rst:442
msgid ""
"A standard package for writing logs, :mod:`logging`, has been added to "
"Python 2.3. It provides a powerful and flexible mechanism for generating "
"logging output which can then be filtered and processed in various ways. A "
"configuration file written in a standard format can be used to control the "
"logging behavior of a program. Python includes handlers that will write log "
"records to standard error or to a file or socket, send them to the system "
"log, or even e-mail them to a particular address; of course, it's also "
"possible to write your own handler classes."
msgstr ""
#: whatsnew/2.3.rst:451
msgid ""
"The :class:`Logger` class is the primary class. Most application code will "
"deal with one or more :class:`Logger` objects, each one used by a particular "
"subsystem of the application. Each :class:`Logger` is identified by a name, "
"and names are organized into a hierarchy using ``.`` as the component "
"separator. For example, you might have :class:`Logger` instances named "
"``server``, ``server.auth`` and ``server.network``. The latter two "
"instances are below ``server`` in the hierarchy. This means that if you "
"turn up the verbosity for ``server`` or direct ``server`` messages to a "
"different handler, the changes will also apply to records logged to ``server."
"auth`` and ``server.network``. There's also a root :class:`Logger` that's "
"the parent of all other loggers."
msgstr ""
#: whatsnew/2.3.rst:462
msgid ""
"For simple uses, the :mod:`logging` package contains some convenience "
"functions that always use the root log::"
msgstr ""
#: whatsnew/2.3.rst:473 whatsnew/2.3.rst:498 whatsnew/2.6.rst:642
#, fuzzy
msgid "This produces the following output::"
msgstr "Produisant l'affichage suivant :"
#: whatsnew/2.3.rst:479
msgid ""
"In the default configuration, informational and debugging messages are "
"suppressed and the output is sent to standard error. You can enable the "
"display of informational and debugging messages by calling the :meth:"
"`setLevel` method on the root logger."
msgstr ""
#: whatsnew/2.3.rst:484
msgid ""
"Notice the :func:`warning` call's use of string formatting operators; all of "
"the functions for logging messages take the arguments ``(msg, arg1, "
"arg2, ...)`` and log the string resulting from ``msg % (arg1, arg2, ...)``."
msgstr ""
#: whatsnew/2.3.rst:488
msgid ""
"There's also an :func:`exception` function that records the most recent "
"traceback. Any of the other functions will also record the traceback if you "
"specify a true value for the keyword argument *exc_info*. ::"
msgstr ""
#: whatsnew/2.3.rst:506
msgid ""
"Slightly more advanced programs will use a logger other than the root "
"logger. The ``getLogger(name)`` function is used to get a particular log, "
"creating it if it doesn't exist yet. ``getLogger(None)`` returns the root "
"logger. ::"
msgstr ""
#: whatsnew/2.3.rst:517
msgid ""
"Log records are usually propagated up the hierarchy, so a message logged to "
"``server.auth`` is also seen by ``server`` and ``root``, but a :class:"
"`Logger` can prevent this by setting its :attr:`propagate` attribute to :"
"const:`False`."
msgstr ""
#: whatsnew/2.3.rst:521
msgid ""
"There are more classes provided by the :mod:`logging` package that can be "
"customized. When a :class:`Logger` instance is told to log a message, it "
"creates a :class:`LogRecord` instance that is sent to any number of "
"different :class:`Handler` instances. Loggers and handlers can also have an "
"attached list of filters, and each filter can cause the :class:`LogRecord` "
"to be ignored or can modify the record before passing it along. When "
"they're finally output, :class:`LogRecord` instances are converted to text "
"by a :class:`Formatter` class. All of these classes can be replaced by your "
"own specially-written classes."
msgstr ""
#: whatsnew/2.3.rst:531
msgid ""
"With all of these features the :mod:`logging` package should provide enough "
"flexibility for even the most complicated applications. This is only an "
"incomplete overview of its features, so please see the package's reference "
"documentation for all of the details. Reading :pep:`282` will also be "
"helpful."
msgstr ""
#: whatsnew/2.3.rst:539
msgid "PEP 282 - A Logging System"
msgstr ""
#: whatsnew/2.3.rst:540
msgid "Written by Vinay Sajip and Trent Mick; implemented by Vinay Sajip."
msgstr ""
#: whatsnew/2.3.rst:548
msgid "PEP 285: A Boolean Type"
msgstr ""
#: whatsnew/2.3.rst:550
msgid ""
"A Boolean type was added to Python 2.3. Two new constants were added to "
"the :mod:`__builtin__` module, :const:`True` and :const:`False`. (:const:"
"`True` and :const:`False` constants were added to the built-ins in Python "
"2.2.1, but the 2.2.1 versions are simply set to integer values of 1 and 0 "
"and aren't a different type.)"
msgstr ""
#: whatsnew/2.3.rst:556
msgid ""
"The type object for this new type is named :class:`bool`; the constructor "
"for it takes any Python value and converts it to :const:`True` or :const:"
"`False`. ::"
msgstr ""
#: whatsnew/2.3.rst:568
msgid ""
"Most of the standard library modules and built-in functions have been "
"changed to return Booleans. ::"
msgstr ""
#: whatsnew/2.3.rst:579
msgid ""
"Python's Booleans were added with the primary goal of making code clearer. "
"For example, if you're reading a function and encounter the statement "
"``return 1``, you might wonder whether the ``1`` represents a Boolean truth "
"value, an index, or a coefficient that multiplies some other quantity. If "
"the statement is ``return True``, however, the meaning of the return value "
"is quite clear."
msgstr ""
#: whatsnew/2.3.rst:585
msgid ""
"Python's Booleans were *not* added for the sake of strict type-checking. A "
"very strict language such as Pascal would also prevent you performing "
"arithmetic with Booleans, and would require that the expression in an :"
"keyword:`if` statement always evaluate to a Boolean result. Python is not "
"this strict and never will be, as :pep:`285` explicitly says. This means "
"you can still use any expression in an :keyword:`if` statement, even ones "
"that evaluate to a list or tuple or some random object. The Boolean type is "
"a subclass of the :class:`int` class so that arithmetic using a Boolean "
"still works. ::"
msgstr ""
#: whatsnew/2.3.rst:603
msgid ""
"To sum up :const:`True` and :const:`False` in a sentence: they're "
"alternative ways to spell the integer values 1 and 0, with the single "
"difference that :func:`str` and :func:`repr` return the strings ``'True'`` "
"and ``'False'`` instead of ``'1'`` and ``'0'``."
msgstr ""
#: whatsnew/2.3.rst:611
msgid "PEP 285 - Adding a bool type"
msgstr ""
#: whatsnew/2.3.rst:612
msgid "Written and implemented by GvR."
msgstr ""
#: whatsnew/2.3.rst:618
msgid "PEP 293: Codec Error Handling Callbacks"
msgstr ""
#: whatsnew/2.3.rst:620
msgid ""
"When encoding a Unicode string into a byte string, unencodable characters "
"may be encountered. So far, Python has allowed specifying the error "
"processing as either \"strict\" (raising :exc:`UnicodeError`), \"ignore"
"\" (skipping the character), or \"replace\" (using a question mark in the "
"output string), with \"strict\" being the default behavior. It may be "
"desirable to specify alternative processing of such errors, such as "
"inserting an XML character reference or HTML entity reference into the "
"converted string."
msgstr ""
#: whatsnew/2.3.rst:628
msgid ""
"Python now has a flexible framework to add different processing strategies. "
"New error handlers can be added with :func:`codecs.register_error`, and "
"codecs then can access the error handler with :func:`codecs.lookup_error`. "
"An equivalent C API has been added for codecs written in C. The error "
"handler gets the necessary state information such as the string being "
"converted, the position in the string where the error was detected, and the "
"target encoding. The handler can then either raise an exception or return a "
"replacement string."
msgstr ""
#: whatsnew/2.3.rst:636
msgid ""
"Two additional error handlers have been implemented using this framework: "
"\"backslashreplace\" uses Python backslash quoting to represent unencodable "
"characters and \"xmlcharrefreplace\" emits XML character references."
msgstr ""
#: whatsnew/2.3.rst:643
msgid "PEP 293 - Codec Error Handling Callbacks"
msgstr ""
#: whatsnew/2.3.rst:644
msgid "Written and implemented by Walter Dörwald."
msgstr ""
#: whatsnew/2.3.rst:652
msgid "PEP 301: Package Index and Metadata for Distutils"
msgstr ""
#: whatsnew/2.3.rst:654
msgid ""
"Support for the long-requested Python catalog makes its first appearance in "
"2.3."
msgstr ""
#: whatsnew/2.3.rst:656
msgid ""
"The heart of the catalog is the new Distutils :command:`register` command. "
"Running ``python setup.py register`` will collect the metadata describing a "
"package, such as its name, version, maintainer, description, &c., and send "
"it to a central catalog server. The resulting catalog is available from "
"https://pypi.python.org/pypi."
msgstr ""
#: whatsnew/2.3.rst:662
msgid ""
"To make the catalog a bit more useful, a new optional *classifiers* keyword "
"argument has been added to the Distutils :func:`setup` function. A list of "
"`Trove <http://catb.org/~esr/trove/>`_-style strings can be supplied to help "
"classify the software."
msgstr ""
#: whatsnew/2.3.rst:667
msgid ""
"Here's an example :file:`setup.py` with classifiers, written to be "
"compatible with older versions of the Distutils::"
msgstr ""
#: whatsnew/2.3.rst:686
msgid ""
"The full list of classifiers can be obtained by running ``python setup.py "
"register --list-classifiers``."
msgstr ""
#: whatsnew/2.3.rst:692
msgid "PEP 301 - Package Index and Metadata for Distutils"
msgstr ""
#: whatsnew/2.3.rst:693
msgid "Written and implemented by Richard Jones."
msgstr ""
#: whatsnew/2.3.rst:701
msgid "PEP 302: New Import Hooks"
msgstr ""
#: whatsnew/2.3.rst:703
msgid ""
"While it's been possible to write custom import hooks ever since the :mod:"
"`ihooks` module was introduced in Python 1.3, no one has ever been really "
"happy with it because writing new import hooks is difficult and messy. "
"There have been various proposed alternatives such as the :mod:`imputil` "
"and :mod:`iu` modules, but none of them has ever gained much acceptance, and "
"none of them were easily usable from C code."
msgstr ""
#: whatsnew/2.3.rst:710
msgid ""
":pep:`302` borrows ideas from its predecessors, especially from Gordon "
"McMillan's :mod:`iu` module. Three new items are added to the :mod:`sys` "
"module:"
msgstr ""
#: whatsnew/2.3.rst:714
msgid ""
"``sys.path_hooks`` is a list of callable objects; most often they'll be "
"classes. Each callable takes a string containing a path and either returns "
"an importer object that will handle imports from this path or raises an :exc:"
"`ImportError` exception if it can't handle this path."
msgstr ""
#: whatsnew/2.3.rst:719
msgid ""
"``sys.path_importer_cache`` caches importer objects for each path, so ``sys."
"path_hooks`` will only need to be traversed once for each path."
msgstr ""
#: whatsnew/2.3.rst:722
msgid ""
"``sys.meta_path`` is a list of importer objects that will be traversed "
"before ``sys.path`` is checked. This list is initially empty, but user code "
"can add objects to it. Additional built-in and frozen modules can be "
"imported by an object added to this list."
msgstr ""
#: whatsnew/2.3.rst:727
msgid ""
"Importer objects must have a single method, ``find_module(fullname, "
"path=None)``. *fullname* will be a module or package name, e.g. ``string`` "
"or ``distutils.core``. :meth:`find_module` must return a loader object that "
"has a single method, ``load_module(fullname)``, that creates and returns the "
"corresponding module object."
msgstr ""
#: whatsnew/2.3.rst:733
msgid ""
"Pseudo-code for Python's new import logic, therefore, looks something like "
"this (simplified a bit; see :pep:`302` for the full details)::"
msgstr ""
#: whatsnew/2.3.rst:758
msgid "PEP 302 - New Import Hooks"
msgstr ""
#: whatsnew/2.3.rst:759
msgid ""
"Written by Just van Rossum and Paul Moore. Implemented by Just van Rossum."
msgstr ""
#: whatsnew/2.3.rst:767
msgid "PEP 305: Comma-separated Files"
msgstr ""
#: whatsnew/2.3.rst:769
msgid ""
"Comma-separated files are a format frequently used for exporting data from "
"databases and spreadsheets. Python 2.3 adds a parser for comma-separated "
"files."
msgstr ""
#: whatsnew/2.3.rst:772
msgid "Comma-separated format is deceptively simple at first glance::"
msgstr ""
#: whatsnew/2.3.rst:776
msgid ""
"Read a line and call ``line.split(',')``: what could be simpler? But toss in "
"string data that can contain commas, and things get more complicated::"
msgstr ""
#: whatsnew/2.3.rst:781
msgid ""
"A big ugly regular expression can parse this, but using the new :mod:`csv` "
"package is much simpler::"
msgstr ""
#: whatsnew/2.3.rst:791
msgid ""
"The :func:`reader` function takes a number of different options. The field "
"separator isn't limited to the comma and can be changed to any character, "
"and so can the quoting and line-ending characters."
msgstr ""
#: whatsnew/2.3.rst:795
msgid ""
"Different dialects of comma-separated files can be defined and registered; "
"currently there are two dialects, both used by Microsoft Excel. A separate :"
"class:`csv.writer` class will generate comma-separated files from a "
"succession of tuples or lists, quoting strings that contain the delimiter."
msgstr ""
#: whatsnew/2.3.rst:804
msgid "PEP 305 - CSV File API"
msgstr ""
#: whatsnew/2.3.rst:804
msgid ""
"Written and implemented by Kevin Altis, Dave Cole, Andrew McNamara, Skip "
"Montanaro, Cliff Wells."
msgstr ""
#: whatsnew/2.3.rst:813
msgid "PEP 307: Pickle Enhancements"
msgstr ""
#: whatsnew/2.3.rst:815
msgid ""
"The :mod:`pickle` and :mod:`cPickle` modules received some attention during "
"the 2.3 development cycle. In 2.2, new-style classes could be pickled "
"without difficulty, but they weren't pickled very compactly; :pep:`307` "
"quotes a trivial example where a new-style class results in a pickled string "
"three times longer than that for a classic class."
msgstr ""
#: whatsnew/2.3.rst:821
msgid ""
"The solution was to invent a new pickle protocol. The :func:`pickle.dumps` "
"function has supported a text-or-binary flag for a long time. In 2.3, this "
"flag is redefined from a Boolean to an integer: 0 is the old text-mode "
"pickle format, 1 is the old binary format, and now 2 is a new 2.3-specific "
"format. A new constant, :const:`pickle.HIGHEST_PROTOCOL`, can be used to "
"select the fanciest protocol available."
msgstr ""
#: whatsnew/2.3.rst:828
msgid ""
"Unpickling is no longer considered a safe operation. 2.2's :mod:`pickle` "
"provided hooks for trying to prevent unsafe classes from being unpickled "
"(specifically, a :attr:`__safe_for_unpickling__` attribute), but none of "
"this code was ever audited and therefore it's all been ripped out in 2.3. "
"You should not unpickle untrusted data in any version of Python."
msgstr ""
#: whatsnew/2.3.rst:834
msgid ""
"To reduce the pickling overhead for new-style classes, a new interface for "
"customizing pickling was added using three special methods: :meth:"
"`__getstate__`, :meth:`__setstate__`, and :meth:`__getnewargs__`. Consult :"
"pep:`307` for the full semantics of these methods."
msgstr ""
#: whatsnew/2.3.rst:839
msgid ""
"As a way to compress pickles yet further, it's now possible to use integer "
"codes instead of long strings to identify pickled classes. The Python "
"Software Foundation will maintain a list of standardized codes; there's also "
"a range of codes for private use. Currently no codes have been specified."
msgstr ""
#: whatsnew/2.3.rst:847
msgid "PEP 307 - Extensions to the pickle protocol"
msgstr ""
#: whatsnew/2.3.rst:848
msgid "Written and implemented by Guido van Rossum and Tim Peters."
msgstr ""
#: whatsnew/2.3.rst:856
msgid "Extended Slices"
msgstr ""
#: whatsnew/2.3.rst:858
msgid ""
"Ever since Python 1.4, the slicing syntax has supported an optional third "
"\"step\" or \"stride\" argument. For example, these are all legal Python "
"syntax: ``L[1:10:2]``, ``L[:-1:1]``, ``L[::-1]``. This was added to Python "
"at the request of the developers of Numerical Python, which uses the third "
"argument extensively. However, Python's built-in list, tuple, and string "
"sequence types have never supported this feature, raising a :exc:`TypeError` "
"if you tried it. Michael Hudson contributed a patch to fix this shortcoming."
msgstr ""
#: whatsnew/2.3.rst:866
msgid ""
"For example, you can now easily extract the elements of a list that have "
"even indexes::"
msgstr ""
#: whatsnew/2.3.rst:873
msgid ""
"Negative values also work to make a copy of the same list in reverse order::"
msgstr ""
#: whatsnew/2.3.rst:878
msgid "This also works for tuples, arrays, and strings::"
msgstr ""
#: whatsnew/2.3.rst:886
msgid ""
"If you have a mutable sequence such as a list or an array you can assign to "
"or delete an extended slice, but there are some differences between "
"assignment to extended and regular slices. Assignment to a regular slice "
"can be used to change the length of the sequence::"
msgstr ""
#: whatsnew/2.3.rst:898
msgid ""
"Extended slices aren't this flexible. When assigning to an extended slice, "
"the list on the right hand side of the statement must contain the same "
"number of items as the slice it is replacing::"
msgstr ""
#: whatsnew/2.3.rst:915
msgid "Deletion is more straightforward::"
msgstr ""
#: whatsnew/2.3.rst:926
msgid ""
"One can also now pass slice objects to the :meth:`__getitem__` methods of "
"the built-in sequences::"
msgstr ""
#: whatsnew/2.3.rst:932
msgid "Or use slice objects directly in subscripts::"
msgstr ""
#: whatsnew/2.3.rst:937
msgid ""
"To simplify implementing sequences that support extended slicing, slice "
"objects now have a method ``indices(length)`` which, given the length of a "
"sequence, returns a ``(start, stop, step)`` tuple that can be passed "
"directly to :func:`range`. :meth:`indices` handles omitted and out-of-bounds "
"indices in a manner consistent with regular slices (and this innocuous "
"phrase hides a welter of confusing details!). The method is intended to be "
"used like this::"
msgstr ""
#: whatsnew/2.3.rst:955
msgid ""
"From this example you can also see that the built-in :class:`slice` object "
"is now the type object for the slice type, and is no longer a function. "
"This is consistent with Python 2.2, where :class:`int`, :class:`str`, etc., "
"underwent the same change."
msgstr ""
#: whatsnew/2.3.rst:964 whatsnew/2.4.rst:774 whatsnew/2.5.rst:973
#: whatsnew/2.6.rst:1485 whatsnew/2.7.rst:663 whatsnew/3.1.rst:116
#: whatsnew/3.2.rst:430 whatsnew/3.3.rst:776 whatsnew/3.4.rst:401
#: whatsnew/3.5.rst:688
msgid "Other Language Changes"
msgstr ""
#: whatsnew/2.3.rst:966
msgid ""
"Here are all of the changes that Python 2.3 makes to the core Python "
"language."
msgstr ""
#: whatsnew/2.3.rst:968
msgid ""
"The :keyword:`yield` statement is now always a keyword, as described in "
"section :ref:`section-generators` of this document."
msgstr ""
#: whatsnew/2.3.rst:971
msgid ""
"A new built-in function :func:`enumerate` was added, as described in "
"section :ref:`section-enumerate` of this document."
msgstr ""
#: whatsnew/2.3.rst:974
msgid ""
"Two new constants, :const:`True` and :const:`False` were added along with "
"the built-in :class:`bool` type, as described in section :ref:`section-bool` "
"of this document."
msgstr ""
#: whatsnew/2.3.rst:978
msgid ""
"The :func:`int` type constructor will now return a long integer instead of "
"raising an :exc:`OverflowError` when a string or floating-point number is "
"too large to fit into an integer. This can lead to the paradoxical result "
"that ``isinstance(int(expression), int)`` is false, but that seems unlikely "
"to cause problems in practice."
msgstr ""
#: whatsnew/2.3.rst:984
msgid ""
"Built-in types now support the extended slicing syntax, as described in "
"section :ref:`section-slices` of this document."
msgstr ""
#: whatsnew/2.3.rst:987
msgid ""
"A new built-in function, ``sum(iterable, start=0)``, adds up the numeric "
"items in the iterable object and returns their sum. :func:`sum` only "
"accepts numbers, meaning that you can't use it to concatenate a bunch of "
"strings. (Contributed by Alex Martelli.)"
msgstr ""
#: whatsnew/2.3.rst:992
msgid ""
"``list.insert(pos, value)`` used to insert *value* at the front of the list "
"when *pos* was negative. The behaviour has now been changed to be "
"consistent with slice indexing, so when *pos* is -1 the value will be "
"inserted before the last element, and so forth."
msgstr ""
#: whatsnew/2.3.rst:997
msgid ""
"``list.index(value)``, which searches for *value* within the list and "
"returns its index, now takes optional *start* and *stop* arguments to limit "
"the search to only part of the list."
msgstr ""
#: whatsnew/2.3.rst:1001
msgid ""
"Dictionaries have a new method, ``pop(key[, *default*])``, that returns the "
"value corresponding to *key* and removes that key/value pair from the "
"dictionary. If the requested key isn't present in the dictionary, *default* "
"is returned if it's specified and :exc:`KeyError` raised if it isn't. ::"
msgstr ""
#: whatsnew/2.3.rst:1023
msgid ""
"There's also a new class method, ``dict.fromkeys(iterable, value)``, that "
"creates a dictionary with keys taken from the supplied iterator *iterable* "
"and all values set to *value*, defaulting to ``None``."
msgstr ""
#: whatsnew/2.3.rst:1027
msgid "(Patches contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.3.rst:1029
msgid ""
"Also, the :func:`dict` constructor now accepts keyword arguments to simplify "
"creating small dictionaries::"
msgstr ""
#: whatsnew/2.3.rst:1035
msgid "(Contributed by Just van Rossum.)"
msgstr ""
#: whatsnew/2.3.rst:1037
msgid ""
"The :keyword:`assert` statement no longer checks the ``__debug__`` flag, so "
"you can no longer disable assertions by assigning to ``__debug__``. Running "
"Python with the :option:`-O` switch will still generate code that doesn't "
"execute any assertions."
msgstr ""
#: whatsnew/2.3.rst:1042
msgid ""
"Most type objects are now callable, so you can use them to create new "
"objects such as functions, classes, and modules. (This means that the :mod:"
"`new` module can be deprecated in a future Python version, because you can "
"now use the type objects available in the :mod:`types` module.) For example, "
"you can create a new module object with the following code:"
msgstr ""
#: whatsnew/2.3.rst:1057
msgid ""
"A new warning, :exc:`PendingDeprecationWarning` was added to indicate "
"features which are in the process of being deprecated. The warning will "
"*not* be printed by default. To check for use of features that will be "
"deprecated in the future, supply :option:`-Walways::"
"PendingDeprecationWarning::` on the command line or use :func:`warnings."
"filterwarnings`."
msgstr ""
#: whatsnew/2.3.rst:1063
msgid ""
"The process of deprecating string-based exceptions, as in ``raise \"Error "
"occurred\"``, has begun. Raising a string will now trigger :exc:"
"`PendingDeprecationWarning`."
msgstr ""
#: whatsnew/2.3.rst:1067
msgid ""
"Using ``None`` as a variable name will now result in a :exc:`SyntaxWarning` "
"warning. In a future version of Python, ``None`` may finally become a "
"keyword."
msgstr ""
#: whatsnew/2.3.rst:1070
msgid ""
"The :meth:`xreadlines` method of file objects, introduced in Python 2.1, is "
"no longer necessary because files now behave as their own iterator. :meth:"
"`xreadlines` was originally introduced as a faster way to loop over all the "
"lines in a file, but now you can simply write ``for line in file_obj``. File "
"objects also have a new read-only :attr:`encoding` attribute that gives the "
"encoding used by the file; Unicode strings written to the file will be "
"automatically converted to bytes using the given encoding."
msgstr ""
#: whatsnew/2.3.rst:1078
msgid ""
"The method resolution order used by new-style classes has changed, though "
"you'll only notice the difference if you have a really complicated "
"inheritance hierarchy. Classic classes are unaffected by this change. "
"Python 2.2 originally used a topological sort of a class's ancestors, but "
"2.3 now uses the C3 algorithm as described in the paper `\"A Monotonic "
"Superclass Linearization for Dylan\" <http://www.webcom.com/haahr/dylan/"
"linearization-oopsla96.html>`_. To understand the motivation for this "
"change, read Michele Simionato's article `\"Python 2.3 Method Resolution "
"Order\" <https://www.python.org/2.3/mro.html>`_, or read the thread on "
"python-dev starting with the message at https://mail.python.org/pipermail/"
"python-dev/2002-October/029035.html. Samuele Pedroni first pointed out the "
"problem and also implemented the fix by coding the C3 algorithm."
msgstr ""
#: whatsnew/2.3.rst:1091
msgid ""
"Python runs multithreaded programs by switching between threads after "
"executing N bytecodes. The default value for N has been increased from 10 "
"to 100 bytecodes, speeding up single-threaded applications by reducing the "
"switching overhead. Some multithreaded applications may suffer slower "
"response time, but that's easily fixed by setting the limit back to a lower "
"number using ``sys.setcheckinterval(N)``. The limit can be retrieved with "
"the new :func:`sys.getcheckinterval` function."
msgstr ""
#: whatsnew/2.3.rst:1099
msgid ""
"One minor but far-reaching change is that the names of extension types "
"defined by the modules included with Python now contain the module and a "
"``'.'`` in front of the type name. For example, in Python 2.2, if you "
"created a socket and printed its :attr:`__class__`, you'd get this output::"
msgstr ""
#: whatsnew/2.3.rst:1108
msgid "In 2.3, you get this::"
msgstr ""
#: whatsnew/2.3.rst:1113
msgid ""
"One of the noted incompatibilities between old- and new-style classes has "
"been removed: you can now assign to the :attr:`__name__` and :attr:"
"`__bases__` attributes of new-style classes. There are some restrictions on "
"what can be assigned to :attr:`__bases__` along the lines of those relating "
"to assigning to an instance's :attr:`__class__` attribute."
msgstr ""
#: whatsnew/2.3.rst:1123
msgid "String Changes"
msgstr ""
#: whatsnew/2.3.rst:1125
msgid ""
"The :keyword:`in` operator now works differently for strings. Previously, "
"when evaluating ``X in Y`` where *X* and *Y* are strings, *X* could only be "
"a single character. That's now changed; *X* can be a string of any length, "
"and ``X in Y`` will return :const:`True` if *X* is a substring of *Y*. If "
"*X* is the empty string, the result is always :const:`True`. ::"
msgstr ""
#: whatsnew/2.3.rst:1138
msgid ""
"Note that this doesn't tell you where the substring starts; if you need that "
"information, use the :meth:`find` string method."
msgstr ""
#: whatsnew/2.3.rst:1141
msgid ""
"The :meth:`strip`, :meth:`lstrip`, and :meth:`rstrip` string methods now "
"have an optional argument for specifying the characters to strip. The "
"default is still to remove all whitespace characters::"
msgstr ""
#: whatsnew/2.3.rst:1155
msgid "(Suggested by Simon Brunning and implemented by Walter Dörwald.)"
msgstr ""
#: whatsnew/2.3.rst:1157
msgid ""
"The :meth:`startswith` and :meth:`endswith` string methods now accept "
"negative numbers for the *start* and *end* parameters."
msgstr ""
#: whatsnew/2.3.rst:1160
msgid ""
"Another new string method is :meth:`zfill`, originally a function in the :"
"mod:`string` module. :meth:`zfill` pads a numeric string with zeros on the "
"left until it's the specified width. Note that the ``%`` operator is still "
"more flexible and powerful than :meth:`zfill`. ::"
msgstr ""
#: whatsnew/2.3.rst:1172
msgid "(Contributed by Walter Dörwald.)"
msgstr ""
#: whatsnew/2.3.rst:1174
msgid ""
"A new type object, :class:`basestring`, has been added. Both 8-bit strings "
"and Unicode strings inherit from this type, so ``isinstance(obj, "
"basestring)`` will return :const:`True` for either kind of string. It's a "
"completely abstract type, so you can't create :class:`basestring` instances."
msgstr ""
#: whatsnew/2.3.rst:1179
msgid ""
"Interned strings are no longer immortal and will now be garbage-collected in "
"the usual way when the only reference to them is from the internal "
"dictionary of interned strings. (Implemented by Oren Tirosh.)"
msgstr ""
#: whatsnew/2.3.rst:1187 whatsnew/2.4.rst:933 whatsnew/2.5.rst:1138
#: whatsnew/2.6.rst:1693 whatsnew/2.7.rst:913 whatsnew/3.1.rst:416
#: whatsnew/3.2.rst:2307 whatsnew/3.3.rst:2148 whatsnew/3.5.rst:2061
msgid "Optimizations"
msgstr ""
#: whatsnew/2.3.rst:1189
msgid ""
"The creation of new-style class instances has been made much faster; they're "
"now faster than classic classes!"
msgstr ""
#: whatsnew/2.3.rst:1192
msgid ""
"The :meth:`sort` method of list objects has been extensively rewritten by "
"Tim Peters, and the implementation is significantly faster."
msgstr ""
#: whatsnew/2.3.rst:1195
msgid ""
"Multiplication of large long integers is now much faster thanks to an "
"implementation of Karatsuba multiplication, an algorithm that scales better "
"than the O(n\\*n) required for the grade-school multiplication algorithm. "
"(Original patch by Christopher A. Craig, and significantly reworked by Tim "
"Peters.)"
msgstr ""
#: whatsnew/2.3.rst:1200
msgid ""
"The ``SET_LINENO`` opcode is now gone. This may provide a small speed "
"increase, depending on your compiler's idiosyncrasies. See section :ref:"
"`23section-other` for a longer explanation. (Removed by Michael Hudson.)"
msgstr ""
#: whatsnew/2.3.rst:1204
msgid ""
":func:`xrange` objects now have their own iterator, making ``for i in "
"xrange(n)`` slightly faster than ``for i in range(n)``. (Patch by Raymond "
"Hettinger.)"
msgstr ""
#: whatsnew/2.3.rst:1208
msgid ""
"A number of small rearrangements have been made in various hotspots to "
"improve performance, such as inlining a function or removing some code. "
"(Implemented mostly by GvR, but lots of people have contributed single "
"changes.)"
msgstr ""
#: whatsnew/2.3.rst:1212
msgid ""
"The net result of the 2.3 optimizations is that Python 2.3 runs the pystone "
"benchmark around 25% faster than Python 2.2."
msgstr ""
#: whatsnew/2.3.rst:1219 whatsnew/2.4.rst:990 whatsnew/3.1.rst:224
#: whatsnew/3.2.rst:644
msgid "New, Improved, and Deprecated Modules"
msgstr ""
#: whatsnew/2.3.rst:1221 whatsnew/2.4.rst:992
msgid ""
"As usual, Python's standard library received a number of enhancements and "
"bug fixes. Here's a partial list of the most notable changes, sorted "
"alphabetically by module name. Consult the :file:`Misc/NEWS` file in the "
"source tree for a more complete list of changes, or look through the CVS "
"logs for all the details."
msgstr ""
#: whatsnew/2.3.rst:1226
msgid ""
"The :mod:`array` module now supports arrays of Unicode characters using the "
"``'u'`` format character. Arrays also now support using the ``+=`` "
"assignment operator to add another array's contents, and the ``*=`` "
"assignment operator to repeat an array. (Contributed by Jason Orendorff.)"
msgstr ""
#: whatsnew/2.3.rst:1231
msgid ""
"The :mod:`bsddb` module has been replaced by version 4.1.6 of the `PyBSDDB "
"<http://pybsddb.sourceforge.net>`_ package, providing a more complete "
"interface to the transactional features of the BerkeleyDB library."
msgstr ""
#: whatsnew/2.3.rst:1235
msgid ""
"The old version of the module has been renamed to :mod:`bsddb185` and is no "
"longer built automatically; you'll have to edit :file:`Modules/Setup` to "
"enable it. Note that the new :mod:`bsddb` package is intended to be "
"compatible with the old module, so be sure to file bugs if you discover any "
"incompatibilities. When upgrading to Python 2.3, if the new interpreter is "
"compiled with a new version of the underlying BerkeleyDB library, you will "
"almost certainly have to convert your database files to the new version. "
"You can do this fairly easily with the new scripts :file:`db2pickle.py` and :"
"file:`pickle2db.py` which you will find in the distribution's :file:`Tools/"
"scripts` directory. If you've already been using the PyBSDDB package and "
"importing it as :mod:`bsddb3`, you will have to change your ``import`` "
"statements to import it as :mod:`bsddb`."
msgstr ""
#: whatsnew/2.3.rst:1247
msgid ""
"The new :mod:`bz2` module is an interface to the bz2 data compression "
"library. bz2-compressed data is usually smaller than corresponding :mod:"
"`zlib`\\ -compressed data. (Contributed by Gustavo Niemeyer.)"
msgstr ""
#: whatsnew/2.3.rst:1251
msgid ""
"A set of standard date/time types has been added in the new :mod:`datetime` "
"module. See the following section for more details."
msgstr ""
#: whatsnew/2.3.rst:1254
msgid ""
"The Distutils :class:`Extension` class now supports an extra constructor "
"argument named *depends* for listing additional source files that an "
"extension depends on. This lets Distutils recompile the module if any of "
"the dependency files are modified. For example, if :file:`sampmodule.c` "
"includes the header file :file:`sample.h`, you would create the :class:"
"`Extension` object like this::"
msgstr ""
#: whatsnew/2.3.rst:1265
msgid ""
"Modifying :file:`sample.h` would then cause the module to be recompiled. "
"(Contributed by Jeremy Hylton.)"
msgstr ""
#: whatsnew/2.3.rst:1268
msgid ""
"Other minor changes to Distutils: it now checks for the :envvar:`CC`, :"
"envvar:`CFLAGS`, :envvar:`CPP`, :envvar:`LDFLAGS`, and :envvar:`CPPFLAGS` "
"environment variables, using them to override the settings in Python's "
"configuration (contributed by Robert Weber)."
msgstr ""
#: whatsnew/2.3.rst:1273
msgid ""
"Previously the :mod:`doctest` module would only search the docstrings of "
"public methods and functions for test cases, but it now also examines "
"private ones as well. The :func:`DocTestSuite` function creates a :class:"
"`unittest.TestSuite` object from a set of :mod:`doctest` tests."
msgstr ""
#: whatsnew/2.3.rst:1278
msgid ""
"The new ``gc.get_referents(object)`` function returns a list of all the "
"objects referenced by *object*."
msgstr ""
#: whatsnew/2.3.rst:1281
msgid ""
"The :mod:`getopt` module gained a new function, :func:`gnu_getopt`, that "
"supports the same arguments as the existing :func:`getopt` function but uses "
"GNU-style scanning mode. The existing :func:`getopt` stops processing "
"options as soon as a non-option argument is encountered, but in GNU-style "
"mode processing continues, meaning that options and arguments can be mixed. "
"For example::"
msgstr ""
#: whatsnew/2.3.rst:1292
msgid "(Contributed by Peter Åstrand.)"
msgstr ""
#: whatsnew/2.3.rst:1294
msgid ""
"The :mod:`grp`, :mod:`pwd`, and :mod:`resource` modules now return enhanced "
"tuples::"
msgstr ""
#: whatsnew/2.3.rst:1302
msgid "The :mod:`gzip` module can now handle files exceeding 2 GiB."
msgstr ""
#: whatsnew/2.3.rst:1304
msgid ""
"The new :mod:`heapq` module contains an implementation of a heap queue "
"algorithm. A heap is an array-like data structure that keeps items in a "
"partially sorted order such that, for every index *k*, ``heap[k] <= heap[2*k"
"+1]`` and ``heap[k] <= heap[2*k+2]``. This makes it quick to remove the "
"smallest item, and inserting a new item while maintaining the heap property "
"is O(lg n). (See http://www.nist.gov/dads/HTML/priorityque.html for more "
"information about the priority queue data structure.)"
msgstr ""
#: whatsnew/2.3.rst:1312
msgid ""
"The :mod:`heapq` module provides :func:`heappush` and :func:`heappop` "
"functions for adding and removing items while maintaining the heap property "
"on top of some other mutable Python sequence type. Here's an example that "
"uses a Python list::"
msgstr ""
#: whatsnew/2.3.rst:1330
msgid "(Contributed by Kevin O'Connor.)"
msgstr ""
#: whatsnew/2.3.rst:1332
msgid ""
"The IDLE integrated development environment has been updated using the code "
"from the IDLEfork project (http://idlefork.sourceforge.net). The most "
"notable feature is that the code being developed is now executed in a "
"subprocess, meaning that there's no longer any need for manual ``reload()`` "
"operations. IDLE's core code has been incorporated into the standard library "
"as the :mod:`idlelib` package."
msgstr ""
#: whatsnew/2.3.rst:1338
msgid ""
"The :mod:`imaplib` module now supports IMAP over SSL. (Contributed by Piers "
"Lauder and Tino Lange.)"
msgstr ""
#: whatsnew/2.3.rst:1341
msgid ""
"The :mod:`itertools` contains a number of useful functions for use with "
"iterators, inspired by various functions provided by the ML and Haskell "
"languages. For example, ``itertools.ifilter(predicate, iterator)`` returns "
"all elements in the iterator for which the function :func:`predicate` "
"returns :const:`True`, and ``itertools.repeat(obj, N)`` returns ``obj`` *N* "
"times. There are a number of other functions in the module; see the "
"package's reference documentation for details. (Contributed by Raymond "
"Hettinger.)"
msgstr ""
#: whatsnew/2.3.rst:1350
msgid ""
"Two new functions in the :mod:`math` module, ``degrees(rads)`` and "
"``radians(degs)``, convert between radians and degrees. Other functions in "
"the :mod:`math` module such as :func:`math.sin` and :func:`math.cos` have "
"always required input values measured in radians. Also, an optional *base* "
"argument was added to :func:`math.log` to make it easier to compute "
"logarithms for bases other than ``e`` and ``10``. (Contributed by Raymond "
"Hettinger.)"
msgstr ""
#: whatsnew/2.3.rst:1357
msgid ""
"Several new POSIX functions (:func:`getpgid`, :func:`killpg`, :func:"
"`lchown`, :func:`loadavg`, :func:`major`, :func:`makedev`, :func:`minor`, "
"and :func:`mknod`) were added to the :mod:`posix` module that underlies the :"
"mod:`os` module. (Contributed by Gustavo Niemeyer, Geert Jansen, and Denis "
"S. Otkidach.)"
msgstr ""
#: whatsnew/2.3.rst:1363
msgid ""
"In the :mod:`os` module, the :func:`\\*stat` family of functions can now "
"report fractions of a second in a timestamp. Such time stamps are "
"represented as floats, similar to the value returned by :func:`time.time`."
msgstr ""
#: whatsnew/2.3.rst:1367
msgid ""
"During testing, it was found that some applications will break if time "
"stamps are floats. For compatibility, when using the tuple interface of "
"the :class:`stat_result` time stamps will be represented as integers. When "
"using named fields (a feature first introduced in Python 2.2), time stamps "
"are still represented as integers, unless :func:`os.stat_float_times` is "
"invoked to enable float return values::"
msgstr ""
#: whatsnew/2.3.rst:1380
msgid "In Python 2.4, the default will change to always returning floats."
msgstr ""
#: whatsnew/2.3.rst:1382
msgid ""
"Application developers should enable this feature only if all their "
"libraries work properly when confronted with floating point time stamps, or "
"if they use the tuple API. If used, the feature should be activated on an "
"application level instead of trying to enable it on a per-use basis."
msgstr ""
#: whatsnew/2.3.rst:1387
msgid ""
"The :mod:`optparse` module contains a new parser for command-line arguments "
"that can convert option values to a particular Python type and will "
"automatically generate a usage message. See the following section for more "
"details."
msgstr ""
#: whatsnew/2.3.rst:1392
msgid ""
"The old and never-documented :mod:`linuxaudiodev` module has been "
"deprecated, and a new version named :mod:`ossaudiodev` has been added. The "
"module was renamed because the OSS sound drivers can be used on platforms "
"other than Linux, and the interface has also been tidied and brought up to "
"date in various ways. (Contributed by Greg Ward and Nicholas FitzRoy-Dale.)"
msgstr ""
#: whatsnew/2.3.rst:1398
msgid ""
"The new :mod:`platform` module contains a number of functions that try to "
"determine various properties of the platform you're running on. There are "
"functions for getting the architecture, CPU type, the Windows OS version, "
"and even the Linux distribution version. (Contributed by Marc-André Lemburg.)"
msgstr ""
#: whatsnew/2.3.rst:1403
msgid ""
"The parser objects provided by the :mod:`pyexpat` module can now optionally "
"buffer character data, resulting in fewer calls to your character data "
"handler and therefore faster performance. Setting the parser object's :attr:"
"`buffer_text` attribute to :const:`True` will enable buffering."
msgstr ""
#: whatsnew/2.3.rst:1408
msgid ""
"The ``sample(population, k)`` function was added to the :mod:`random` "
"module. *population* is a sequence or :class:`xrange` object containing the "
"elements of a population, and :func:`sample` chooses *k* elements from the "
"population without replacing chosen elements. *k* can be any value up to "
"``len(population)``. For example::"
msgstr ""
#: whatsnew/2.3.rst:1430
msgid ""
"The :mod:`random` module now uses a new algorithm, the Mersenne Twister, "
"implemented in C. It's faster and more extensively studied than the "
"previous algorithm."
msgstr ""
#: whatsnew/2.3.rst:1434
msgid "(All changes contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.3.rst:1436
msgid ""
"The :mod:`readline` module also gained a number of new functions: :func:"
"`get_history_item`, :func:`get_current_history_length`, and :func:"
"`redisplay`."
msgstr ""
#: whatsnew/2.3.rst:1440
msgid ""
"The :mod:`rexec` and :mod:`Bastion` modules have been declared dead, and "
"attempts to import them will fail with a :exc:`RuntimeError`. New-style "
"classes provide new ways to break out of the restricted execution "
"environment provided by :mod:`rexec`, and no one has interest in fixing them "
"or time to do so. If you have applications using :mod:`rexec`, rewrite them "
"to use something else."
msgstr ""
#: whatsnew/2.3.rst:1446
msgid ""
"(Sticking with Python 2.2 or 2.1 will not make your applications any safer "
"because there are known bugs in the :mod:`rexec` module in those versions. "
"To repeat: if you're using :mod:`rexec`, stop using it immediately.)"
msgstr ""
#: whatsnew/2.3.rst:1450
msgid ""
"The :mod:`rotor` module has been deprecated because the algorithm it uses "
"for encryption is not believed to be secure. If you need encryption, use "
"one of the several AES Python modules that are available separately."
msgstr ""
#: whatsnew/2.3.rst:1454
msgid ""
"The :mod:`shutil` module gained a ``move(src, dest)`` function that "
"recursively moves a file or directory to a new location."
msgstr ""
#: whatsnew/2.3.rst:1457
msgid ""
"Support for more advanced POSIX signal handling was added to the :mod:"
"`signal` but then removed again as it proved impossible to make it work "
"reliably across platforms."
msgstr ""
#: whatsnew/2.3.rst:1461
msgid ""
"The :mod:`socket` module now supports timeouts. You can call the "
"``settimeout(t)`` method on a socket object to set a timeout of *t* seconds. "
"Subsequent socket operations that take longer than *t* seconds to complete "
"will abort and raise a :exc:`socket.timeout` exception."
msgstr ""
#: whatsnew/2.3.rst:1466
msgid ""
"The original timeout implementation was by Tim O'Malley. Michael Gilfix "
"integrated it into the Python :mod:`socket` module and shepherded it through "
"a lengthy review. After the code was checked in, Guido van Rossum rewrote "
"parts of it. (This is a good example of a collaborative development process "
"in action.)"
msgstr ""
#: whatsnew/2.3.rst:1472
msgid ""
"On Windows, the :mod:`socket` module now ships with Secure Sockets Layer "
"(SSL) support."
msgstr ""
#: whatsnew/2.3.rst:1475
msgid ""
"The value of the C :const:`PYTHON_API_VERSION` macro is now exposed at the "
"Python level as ``sys.api_version``. The current exception can be cleared "
"by calling the new :func:`sys.exc_clear` function."
msgstr ""
#: whatsnew/2.3.rst:1479
msgid ""
"The new :mod:`tarfile` module allows reading from and writing to :program:"
"`tar`\\ -format archive files. (Contributed by Lars Gustäbel.)"
msgstr ""
#: whatsnew/2.3.rst:1482
msgid ""
"The new :mod:`textwrap` module contains functions for wrapping strings "
"containing paragraphs of text. The ``wrap(text, width)`` function takes a "
"string and returns a list containing the text split into lines of no more "
"than the chosen width. The ``fill(text, width)`` function returns a single "
"string, reformatted to fit into lines no longer than the chosen width. (As "
"you can guess, :func:`fill` is built on top of :func:`wrap`. For example::"
msgstr ""
#: whatsnew/2.3.rst:1504
msgid ""
"The module also contains a :class:`TextWrapper` class that actually "
"implements the text wrapping strategy. Both the :class:`TextWrapper` class "
"and the :func:`wrap` and :func:`fill` functions support a number of "
"additional keyword arguments for fine-tuning the formatting; consult the "
"module's documentation for details. (Contributed by Greg Ward.)"
msgstr ""
#: whatsnew/2.3.rst:1510
msgid ""
"The :mod:`thread` and :mod:`threading` modules now have companion modules, :"
"mod:`dummy_thread` and :mod:`dummy_threading`, that provide a do-nothing "
"implementation of the :mod:`thread` module's interface for platforms where "
"threads are not supported. The intention is to simplify thread-aware "
"modules (ones that *don't* rely on threads to run) by putting the following "
"code at the top::"
msgstr ""
#: whatsnew/2.3.rst:1522
msgid ""
"In this example, :mod:`_threading` is used as the module name to make it "
"clear that the module being used is not necessarily the actual :mod:"
"`threading` module. Code can call functions and use classes in :mod:"
"`_threading` whether or not threads are supported, avoiding an :keyword:`if` "
"statement and making the code slightly clearer. This module will not "
"magically make multithreaded code run without threads; code that waits for "
"another thread to return or to do something will simply hang forever."
msgstr ""
#: whatsnew/2.3.rst:1530
msgid ""
"The :mod:`time` module's :func:`strptime` function has long been an "
"annoyance because it uses the platform C library's :func:`strptime` "
"implementation, and different platforms sometimes have odd bugs. Brett "
"Cannon contributed a portable implementation that's written in pure Python "
"and should behave identically on all platforms."
msgstr ""
#: whatsnew/2.3.rst:1536
msgid ""
"The new :mod:`timeit` module helps measure how long snippets of Python code "
"take to execute. The :file:`timeit.py` file can be run directly from the "
"command line, or the module's :class:`Timer` class can be imported and used "
"directly. Here's a short example that figures out whether it's faster to "
"convert an 8-bit string to Unicode by appending an empty Unicode string to "
"it or by using the :func:`unicode` function::"
msgstr ""
#: whatsnew/2.3.rst:1556
msgid ""
"The :mod:`Tix` module has received various bug fixes and updates for the "
"current version of the Tix package."
msgstr ""
#: whatsnew/2.3.rst:1559
msgid ""
"The :mod:`Tkinter` module now works with a thread-enabled version of Tcl. "
"Tcl's threading model requires that widgets only be accessed from the thread "
"in which they're created; accesses from another thread can cause Tcl to "
"panic. For certain Tcl interfaces, :mod:`Tkinter` will now automatically "
"avoid this when a widget is accessed from a different thread by marshalling "
"a command, passing it to the correct thread, and waiting for the results. "
"Other interfaces can't be handled automatically but :mod:`Tkinter` will now "
"raise an exception on such an access so that you can at least find out about "
"the problem. See https://mail.python.org/pipermail/python-dev/2002-"
"December/031107.html for a more detailed explanation of this change. "
"(Implemented by Martin von Löwis.)"
msgstr ""
#: whatsnew/2.3.rst:1570
msgid ""
"Calling Tcl methods through :mod:`_tkinter` no longer returns only strings. "
"Instead, if Tcl returns other objects those objects are converted to their "
"Python equivalent, if one exists, or wrapped with a :class:`_tkinter."
"Tcl_Obj` object if no Python equivalent exists. This behavior can be "
"controlled through the :meth:`wantobjects` method of :class:`tkapp` objects."
msgstr ""
#: whatsnew/2.3.rst:1576
msgid ""
"When using :mod:`_tkinter` through the :mod:`Tkinter` module (as most "
"Tkinter applications will), this feature is always activated. It should not "
"cause compatibility problems, since Tkinter would always convert string "
"results to Python types where possible."
msgstr ""
#: whatsnew/2.3.rst:1581
msgid ""
"If any incompatibilities are found, the old behavior can be restored by "
"setting the :attr:`wantobjects` variable in the :mod:`Tkinter` module to "
"false before creating the first :class:`tkapp` object. ::"
msgstr ""
#: whatsnew/2.3.rst:1588
msgid "Any breakage caused by this change should be reported as a bug."
msgstr ""
#: whatsnew/2.3.rst:1590
msgid ""
"The :mod:`UserDict` module has a new :class:`DictMixin` class which defines "
"all dictionary methods for classes that already have a minimum mapping "
"interface. This greatly simplifies writing classes that need to be "
"substitutable for dictionaries, such as the classes in the :mod:`shelve` "
"module."
msgstr ""
#: whatsnew/2.3.rst:1596
msgid ""
"Adding the mix-in as a superclass provides the full dictionary interface "
"whenever the class defines :meth:`__getitem__`, :meth:`__setitem__`, :meth:"
"`__delitem__`, and :meth:`keys`. For example::"
msgstr ""
#: whatsnew/2.3.rst:1637 whatsnew/2.4.rst:891 whatsnew/2.4.rst:919
#: whatsnew/2.4.rst:1212 whatsnew/2.5.rst:1372 whatsnew/2.5.rst:1381
#: whatsnew/2.6.rst:1596 whatsnew/2.6.rst:1880 whatsnew/2.6.rst:1901
#: whatsnew/3.1.rst:281 whatsnew/3.2.rst:809 whatsnew/3.2.rst:821
#: whatsnew/3.2.rst:864 whatsnew/3.2.rst:884 whatsnew/3.2.rst:897
#: whatsnew/3.2.rst:1753 whatsnew/3.2.rst:1798
msgid "(Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.3.rst:1639
msgid ""
"The DOM implementation in :mod:`xml.dom.minidom` can now generate XML output "
"in a particular encoding by providing an optional encoding argument to the :"
"meth:`toxml` and :meth:`toprettyxml` methods of DOM nodes."
msgstr ""
#: whatsnew/2.3.rst:1643
msgid ""
"The :mod:`xmlrpclib` module now supports an XML-RPC extension for handling "
"nil data values such as Python's ``None``. Nil values are always supported "
"on unmarshalling an XML-RPC response. To generate requests containing "
"``None``, you must supply a true value for the *allow_none* parameter when "
"creating a :class:`Marshaller` instance."
msgstr ""
#: whatsnew/2.3.rst:1649
msgid ""
"The new :mod:`DocXMLRPCServer` module allows writing self-documenting XML-"
"RPC servers. Run it in demo mode (as a program) to see it in action. "
"Pointing the Web browser to the RPC server produces pydoc-style "
"documentation; pointing xmlrpclib to the server allows invoking the actual "
"methods. (Contributed by Brian Quinlan.)"
msgstr ""
#: whatsnew/2.3.rst:1655
msgid ""
"Support for internationalized domain names (RFCs 3454, 3490, 3491, and 3492) "
"has been added. The \"idna\" encoding can be used to convert between a "
"Unicode domain name and the ASCII-compatible encoding (ACE) of that name. ::"
msgstr ""
#: whatsnew/2.3.rst:1662
msgid ""
"The :mod:`socket` module has also been extended to transparently convert "
"Unicode hostnames to the ACE version before passing them to the C library. "
"Modules that deal with hostnames such as :mod:`httplib` and :mod:`ftplib`) "
"also support Unicode host names; :mod:`httplib` also sends HTTP ``Host`` "
"headers using the ACE version of the domain name. :mod:`urllib` supports "
"Unicode URLs with non-ASCII host names as long as the ``path`` part of the "
"URL is ASCII only."
msgstr ""
#: whatsnew/2.3.rst:1670
msgid ""
"To implement this change, the :mod:`stringprep` module, the "
"``mkstringprep`` tool and the ``punycode`` encoding have been added."
msgstr ""
#: whatsnew/2.3.rst:1677
msgid "Date/Time Type"
msgstr ""
#: whatsnew/2.3.rst:1679
msgid ""
"Date and time types suitable for expressing timestamps were added as the :"
"mod:`datetime` module. The types don't support different calendars or many "
"fancy features, and just stick to the basics of representing time."
msgstr ""
#: whatsnew/2.3.rst:1683
msgid ""
"The three primary types are: :class:`date`, representing a day, month, and "
"year; :class:`time`, consisting of hour, minute, and second; and :class:"
"`datetime`, which contains all the attributes of both :class:`date` and :"
"class:`time`. There's also a :class:`timedelta` class representing "
"differences between two points in time, and time zone logic is implemented "
"by classes inheriting from the abstract :class:`tzinfo` class."
msgstr ""
#: whatsnew/2.3.rst:1690
msgid ""
"You can create instances of :class:`date` and :class:`time` by either "
"supplying keyword arguments to the appropriate constructor, e.g. ``datetime."
"date(year=1972, month=10, day=15)``, or by using one of a number of class "
"methods. For example, the :meth:`date.today` class method returns the "
"current local date."
msgstr ""
#: whatsnew/2.3.rst:1696
msgid ""
"Once created, instances of the date/time classes are all immutable. There "
"are a number of methods for producing formatted strings from objects::"
msgstr ""
#: whatsnew/2.3.rst:1708
msgid ""
"The :meth:`replace` method allows modifying one or more fields of a :class:"
"`date` or :class:`datetime` instance, returning a new instance::"
msgstr ""
#: whatsnew/2.3.rst:1718
msgid ""
"Instances can be compared, hashed, and converted to strings (the result is "
"the same as that of :meth:`isoformat`). :class:`date` and :class:`datetime` "
"instances can be subtracted from each other, and added to :class:`timedelta` "
"instances. The largest missing feature is that there's no standard library "
"support for parsing strings and getting back a :class:`date` or :class:"
"`datetime`."
msgstr ""
#: whatsnew/2.3.rst:1725
msgid ""
"For more information, refer to the module's reference documentation. "
"(Contributed by Tim Peters.)"
msgstr ""
#: whatsnew/2.3.rst:1732
msgid "The optparse Module"
msgstr ""
#: whatsnew/2.3.rst:1734
msgid ""
"The :mod:`getopt` module provides simple parsing of command-line arguments. "
"The new :mod:`optparse` module (originally named Optik) provides more "
"elaborate command-line parsing that follows the Unix conventions, "
"automatically creates the output for :option:`--help`, and can perform "
"different actions for different options."
msgstr ""
#: whatsnew/2.3.rst:1740
msgid ""
"You start by creating an instance of :class:`OptionParser` and telling it "
"what your program's options are. ::"
msgstr ""
#: whatsnew/2.3.rst:1754
msgid ""
"Parsing a command line is then done by calling the :meth:`parse_args` "
"method. ::"
msgstr ""
#: whatsnew/2.3.rst:1760
msgid ""
"This returns an object containing all of the option values, and a list of "
"strings containing the remaining arguments."
msgstr ""
#: whatsnew/2.3.rst:1763
msgid ""
"Invoking the script with the various arguments now works as you'd expect it "
"to. Note that the length argument is automatically converted to an "
"integer. ::"
msgstr ""
#: whatsnew/2.3.rst:1774
msgid "The help message is automatically generated for you::"
msgstr ""
#: whatsnew/2.3.rst:1787
msgid "See the module's documentation for more details."
msgstr ""
#: whatsnew/2.3.rst:1790
msgid ""
"Optik was written by Greg Ward, with suggestions from the readers of the "
"Getopt SIG."
msgstr ""
#: whatsnew/2.3.rst:1799
msgid "Pymalloc: A Specialized Object Allocator"
msgstr ""
#: whatsnew/2.3.rst:1801
msgid ""
"Pymalloc, a specialized object allocator written by Vladimir Marangozov, was "
"a feature added to Python 2.1. Pymalloc is intended to be faster than the "
"system :c:func:`malloc` and to have less memory overhead for allocation "
"patterns typical of Python programs. The allocator uses C's :c:func:`malloc` "
"function to get large pools of memory and then fulfills smaller memory "
"requests from these pools."
msgstr ""
#: whatsnew/2.3.rst:1807
msgid ""
"In 2.1 and 2.2, pymalloc was an experimental feature and wasn't enabled by "
"default; you had to explicitly enable it when compiling Python by providing "
"the :option:`--with-pymalloc` option to the :program:`configure` script. In "
"2.3, pymalloc has had further enhancements and is now enabled by default; "
"you'll have to supply :option:`--without-pymalloc` to disable it."
msgstr ""
#: whatsnew/2.3.rst:1813
msgid ""
"This change is transparent to code written in Python; however, pymalloc may "
"expose bugs in C extensions. Authors of C extension modules should test "
"their code with pymalloc enabled, because some incorrect code may cause core "
"dumps at runtime."
msgstr ""
#: whatsnew/2.3.rst:1818
msgid ""
"There's one particularly common error that causes problems. There are a "
"number of memory allocation functions in Python's C API that have previously "
"just been aliases for the C library's :c:func:`malloc` and :c:func:`free`, "
"meaning that if you accidentally called mismatched functions the error "
"wouldn't be noticeable. When the object allocator is enabled, these "
"functions aren't aliases of :c:func:`malloc` and :c:func:`free` any more, "
"and calling the wrong function to free memory may get you a core dump. For "
"example, if memory was allocated using :c:func:`PyObject_Malloc`, it has to "
"be freed using :c:func:`PyObject_Free`, not :c:func:`free`. A few modules "
"included with Python fell afoul of this and had to be fixed; doubtless there "
"are more third-party modules that will have the same problem."
msgstr ""
#: whatsnew/2.3.rst:1830
msgid ""
"As part of this change, the confusing multiple interfaces for allocating "
"memory have been consolidated down into two API families. Memory allocated "
"with one family must not be manipulated with functions from the other "
"family. There is one family for allocating chunks of memory and another "
"family of functions specifically for allocating Python objects."
msgstr ""
#: whatsnew/2.3.rst:1836
msgid ""
"To allocate and free an undistinguished chunk of memory use the \"raw memory"
"\" family: :c:func:`PyMem_Malloc`, :c:func:`PyMem_Realloc`, and :c:func:"
"`PyMem_Free`."
msgstr ""
#: whatsnew/2.3.rst:1839
msgid ""
"The \"object memory\" family is the interface to the pymalloc facility "
"described above and is biased towards a large number of \"small\" "
"allocations: :c:func:`PyObject_Malloc`, :c:func:`PyObject_Realloc`, and :c:"
"func:`PyObject_Free`."
msgstr ""
#: whatsnew/2.3.rst:1843
msgid ""
"To allocate and free Python objects, use the \"object\" family :c:func:"
"`PyObject_New`, :c:func:`PyObject_NewVar`, and :c:func:`PyObject_Del`."
msgstr ""
#: whatsnew/2.3.rst:1846
msgid ""
"Thanks to lots of work by Tim Peters, pymalloc in 2.3 also provides "
"debugging features to catch memory overwrites and doubled frees in both "
"extension modules and in the interpreter itself. To enable this support, "
"compile a debugging version of the Python interpreter by running :program:"
"`configure` with :option:`--with-pydebug`."
msgstr ""
#: whatsnew/2.3.rst:1852
msgid ""
"To aid extension writers, a header file :file:`Misc/pymemcompat.h` is "
"distributed with the source to Python 2.3 that allows Python extensions to "
"use the 2.3 interfaces to memory allocation while compiling against any "
"version of Python since 1.5.2. You would copy the file from Python's source "
"distribution and bundle it with the source of your extension."
msgstr ""
#: whatsnew/2.3.rst:1863
msgid "https://svn.python.org/view/python/trunk/Objects/obmalloc.c"
msgstr ""
#: whatsnew/2.3.rst:1862
msgid ""
"For the full details of the pymalloc implementation, see the comments at the "
"top of the file :file:`Objects/obmalloc.c` in the Python source code. The "
"above link points to the file within the python.org SVN browser."
msgstr ""
#: whatsnew/2.3.rst:1870 whatsnew/2.4.rst:1446 whatsnew/2.5.rst:2079
#: whatsnew/2.6.rst:2979 whatsnew/2.7.rst:2076 whatsnew/3.0.rst:850
#: whatsnew/3.1.rst:473 whatsnew/3.2.rst:2485 whatsnew/3.3.rst:2168
#: whatsnew/3.5.rst:2129
msgid "Build and C API Changes"
msgstr ""
#: whatsnew/2.3.rst:1872 whatsnew/2.5.rst:2081 whatsnew/2.6.rst:2981
#: whatsnew/2.7.rst:2078 whatsnew/3.1.rst:475 whatsnew/3.2.rst:2487
#: whatsnew/3.3.rst:2170
msgid "Changes to Python's build process and to the C API include:"
msgstr ""
#: whatsnew/2.3.rst:1874
msgid ""
"The cycle detection implementation used by the garbage collection has proven "
"to be stable, so it's now been made mandatory. You can no longer compile "
"Python without it, and the :option:`--with-cycle-gc` switch to :program:"
"`configure` has been removed."
msgstr ""
#: whatsnew/2.3.rst:1879
msgid ""
"Python can now optionally be built as a shared library (:file:`libpython2.3."
"so`) by supplying :option:`--enable-shared` when running Python's :program:"
"`configure` script. (Contributed by Ondrej Palkovsky.)"
msgstr ""
#: whatsnew/2.3.rst:1883
msgid ""
"The :c:macro:`DL_EXPORT` and :c:macro:`DL_IMPORT` macros are now deprecated. "
"Initialization functions for Python extension modules should now be declared "
"using the new macro :c:macro:`PyMODINIT_FUNC`, while the Python core will "
"generally use the :c:macro:`PyAPI_FUNC` and :c:macro:`PyAPI_DATA` macros."
msgstr ""
#: whatsnew/2.3.rst:1888
msgid ""
"The interpreter can be compiled without any docstrings for the built-in "
"functions and modules by supplying :option:`--without-doc-strings` to the :"
"program:`configure` script. This makes the Python executable about 10% "
"smaller, but will also mean that you can't get help for Python's built-ins. "
"(Contributed by Gustavo Niemeyer.)"
msgstr ""
#: whatsnew/2.3.rst:1894
msgid ""
"The :c:func:`PyArg_NoArgs` macro is now deprecated, and code that uses it "
"should be changed. For Python 2.2 and later, the method definition table "
"can specify the :const:`METH_NOARGS` flag, signalling that there are no "
"arguments, and the argument checking can then be removed. If compatibility "
"with pre-2.2 versions of Python is important, the code could use "
"``PyArg_ParseTuple(args, \"\")`` instead, but this will be slower than "
"using :const:`METH_NOARGS`."
msgstr ""
#: whatsnew/2.3.rst:1901
msgid ""
":c:func:`PyArg_ParseTuple` accepts new format characters for various sizes "
"of unsigned integers: ``B`` for :c:type:`unsigned char`, ``H`` for :c:type:"
"`unsigned short int`, ``I`` for :c:type:`unsigned int`, and ``K`` for :c:"
"type:`unsigned long long`."
msgstr ""
#: whatsnew/2.3.rst:1906
msgid ""
"A new function, ``PyObject_DelItemString(mapping, char *key)`` was added as "
"shorthand for ``PyObject_DelItem(mapping, PyString_New(key))``."
msgstr ""
#: whatsnew/2.3.rst:1909
msgid ""
"File objects now manage their internal string buffer differently, increasing "
"it exponentially when needed. This results in the benchmark tests in :file:"
"`Lib/test/test_bufio.py` speeding up considerably (from 57 seconds to 1.7 "
"seconds, according to one measurement)."
msgstr ""
#: whatsnew/2.3.rst:1914
msgid ""
"It's now possible to define class and static methods for a C extension type "
"by setting either the :const:`METH_CLASS` or :const:`METH_STATIC` flags in a "
"method's :c:type:`PyMethodDef` structure."
msgstr ""
#: whatsnew/2.3.rst:1918
msgid ""
"Python now includes a copy of the Expat XML parser's source code, removing "
"any dependence on a system version or local installation of Expat."
msgstr ""
#: whatsnew/2.3.rst:1921
msgid ""
"If you dynamically allocate type objects in your extension, you should be "
"aware of a change in the rules relating to the :attr:`__module__` and :attr:"
"`__name__` attributes. In summary, you will want to ensure the type's "
"dictionary contains a ``'__module__'`` key; making the module name the part "
"of the type name leading up to the final period will no longer have the "
"desired effect. For more detail, read the API reference documentation or "
"the source."
msgstr ""
#: whatsnew/2.3.rst:1932 whatsnew/2.4.rst:1499 whatsnew/2.5.rst:2207
msgid "Port-Specific Changes"
msgstr ""
#: whatsnew/2.3.rst:1934
msgid ""
"Support for a port to IBM's OS/2 using the EMX runtime environment was "
"merged into the main Python source tree. EMX is a POSIX emulation layer "
"over the OS/2 system APIs. The Python port for EMX tries to support all the "
"POSIX-like capability exposed by the EMX runtime, and mostly succeeds; :func:"
"`fork` and :func:`fcntl` are restricted by the limitations of the underlying "
"emulation layer. The standard OS/2 port, which uses IBM's Visual Age "
"compiler, also gained support for case-sensitive import semantics as part of "
"the integration of the EMX port into CVS. (Contributed by Andrew MacIntyre.)"
msgstr ""
#: whatsnew/2.3.rst:1943
msgid ""
"On MacOS, most toolbox modules have been weaklinked to improve backward "
"compatibility. This means that modules will no longer fail to load if a "
"single routine is missing on the current OS version. Instead calling the "
"missing routine will raise an exception. (Contributed by Jack Jansen.)"
msgstr ""
#: whatsnew/2.3.rst:1948
msgid ""
"The RPM spec files, found in the :file:`Misc/RPM/` directory in the Python "
"source distribution, were updated for 2.3. (Contributed by Sean "
"Reifschneider.)"
msgstr ""
#: whatsnew/2.3.rst:1951
msgid ""
"Other new platforms now supported by Python include AtheOS (http://www."
"atheos.cx/), GNU/Hurd, and OpenVMS."
msgstr ""
#: whatsnew/2.3.rst:1962
msgid ""
"As usual, there were a bunch of other improvements and bugfixes scattered "
"throughout the source tree. A search through the CVS change logs finds "
"there were 523 patches applied and 514 bugs fixed between Python 2.2 and "
"2.3. Both figures are likely to be underestimates."
msgstr ""
#: whatsnew/2.3.rst:1969
msgid ""
"If the :envvar:`PYTHONINSPECT` environment variable is set, the Python "
"interpreter will enter the interactive prompt after running a Python "
"program, as if Python had been invoked with the :option:`-i` option. The "
"environment variable can be set before running the Python interpreter, or it "
"can be set by the Python program as part of its execution."
msgstr ""
#: whatsnew/2.3.rst:1975
msgid ""
"The :file:`regrtest.py` script now provides a way to allow \"all resources "
"except *foo*.\" A resource name passed to the :option:`-u` option can now "
"be prefixed with a hyphen (``'-'``) to mean \"remove this resource.\" For "
"example, the option '``-uall,-bsddb``' could be used to enable the use of "
"all resources except ``bsddb``."
msgstr ""
#: whatsnew/2.3.rst:1981
msgid ""
"The tools used to build the documentation now work under Cygwin as well as "
"Unix."
msgstr ""
#: whatsnew/2.3.rst:1984
msgid ""
"The ``SET_LINENO`` opcode has been removed. Back in the mists of time, this "
"opcode was needed to produce line numbers in tracebacks and support trace "
"functions (for, e.g., :mod:`pdb`). Since Python 1.5, the line numbers in "
"tracebacks have been computed using a different mechanism that works with "
"\"python -O\". For Python 2.3 Michael Hudson implemented a similar scheme "
"to determine when to call the trace function, removing the need for "
"``SET_LINENO`` entirely."
msgstr ""
#: whatsnew/2.3.rst:1992
msgid ""
"It would be difficult to detect any resulting difference from Python code, "
"apart from a slight speed up when Python is run without :option:`-O`."
msgstr ""
#: whatsnew/2.3.rst:1995
msgid ""
"C extensions that access the :attr:`f_lineno` field of frame objects should "
"instead call ``PyCode_Addr2Line(f->f_code, f->f_lasti)``. This will have the "
"added effect of making the code work as desired under \"python -O\" in "
"earlier versions of Python."
msgstr ""
#: whatsnew/2.3.rst:2000
msgid ""
"A nifty new feature is that trace functions can now assign to the :attr:"
"`f_lineno` attribute of frame objects, changing the line that will be "
"executed next. A ``jump`` command has been added to the :mod:`pdb` debugger "
"taking advantage of this new feature. (Implemented by Richie Hindle.)"
msgstr ""
#: whatsnew/2.3.rst:2009
#, fuzzy
msgid "Porting to Python 2.3"
msgstr "Portage vers Python 3.2"
#: whatsnew/2.3.rst:2011 whatsnew/2.4.rst:1510 whatsnew/2.5.rst:2229
msgid ""
"This section lists previously described changes that may require changes to "
"your code:"
msgstr ""
#: whatsnew/2.3.rst:2014
msgid ""
":keyword:`yield` is now always a keyword; if it's used as a variable name in "
"your code, a different name must be chosen."
msgstr ""
#: whatsnew/2.3.rst:2017
msgid ""
"For strings *X* and *Y*, ``X in Y`` now works if *X* is more than one "
"character long."
msgstr ""
#: whatsnew/2.3.rst:2020
msgid ""
"The :func:`int` type constructor will now return a long integer instead of "
"raising an :exc:`OverflowError` when a string or floating-point number is "
"too large to fit into an integer."
msgstr ""
#: whatsnew/2.3.rst:2024
msgid ""
"If you have Unicode strings that contain 8-bit characters, you must declare "
"the file's encoding (UTF-8, Latin-1, or whatever) by adding a comment to the "
"top of the file. See section :ref:`section-encodings` for more information."
msgstr ""
#: whatsnew/2.3.rst:2028
msgid ""
"Calling Tcl methods through :mod:`_tkinter` no longer returns only strings. "
"Instead, if Tcl returns other objects those objects are converted to their "
"Python equivalent, if one exists, or wrapped with a :class:`_tkinter."
"Tcl_Obj` object if no Python equivalent exists."
msgstr ""
#: whatsnew/2.3.rst:2033
msgid ""
"Large octal and hex literals such as ``0xffffffff`` now trigger a :exc:"
"`FutureWarning`. Currently they're stored as 32-bit numbers and result in a "
"negative value, but in Python 2.4 they'll become positive long integers."
msgstr ""
#: whatsnew/2.3.rst:2037
msgid ""
"There are a few ways to fix this warning. If you really need a positive "
"number, just add an ``L`` to the end of the literal. If you're trying to "
"get a 32-bit integer with low bits set and have previously used an "
"expression such as ``~(1 << 31)``, it's probably clearest to start with all "
"bits set and clear the desired upper bits. For example, to clear just the "
"top bit (bit 31), you could write ``0xffffffffL &~(1L<<31)``."
msgstr ""
#: whatsnew/2.3.rst:2044
msgid "You can no longer disable assertions by assigning to ``__debug__``."
msgstr ""
#: whatsnew/2.3.rst:2046
msgid ""
"The Distutils :func:`setup` function has gained various new keyword "
"arguments such as *depends*. Old versions of the Distutils will abort if "
"passed unknown keywords. A solution is to check for the presence of the "
"new :func:`get_distutil_options` function in your :file:`setup.py` and only "
"uses the new keywords with a version of the Distutils that supports them::"
msgstr ""
#: whatsnew/2.3.rst:2059
msgid ""
"Using ``None`` as a variable name will now result in a :exc:`SyntaxWarning` "
"warning."
msgstr ""
#: whatsnew/2.3.rst:2062
msgid ""
"Names of extension types defined by the modules included with Python now "
"contain the module and a ``'.'`` in front of the type name."
msgstr ""
#: whatsnew/2.3.rst:2073
msgid ""
"The author would like to thank the following people for offering "
"suggestions, corrections and assistance with various drafts of this article: "
"Jeff Bauer, Simon Brunning, Brett Cannon, Michael Chermside, Andrew Dalke, "
"Scott David Daniels, Fred L. Drake, Jr., David Fraser, Kelly Gerber, "
"Raymond Hettinger, Michael Hudson, Chris Lambert, Detlef Lannert, Martin von "
"Löwis, Andrew MacIntyre, Lalo Martins, Chad Netzer, Gustavo Niemeyer, Neal "
"Norwitz, Hans Nowak, Chris Reedy, Francesco Ricciardi, Vinay Sajip, Neil "
"Schemenauer, Roman Suzi, Jason Tishler, Just van Rossum."
msgstr ""
#: whatsnew/2.4.rst:3
#, fuzzy
msgid "What's New in Python 2.4"
msgstr "Nouveautés de Python 2.0"
#: whatsnew/2.4.rst:14
msgid ""
"This article explains the new features in Python 2.4.1, released on March "
"30, 2005."
msgstr ""
#: whatsnew/2.4.rst:17
msgid ""
"Python 2.4 is a medium-sized release. It doesn't introduce as many changes "
"as the radical Python 2.2, but introduces more features than the "
"conservative 2.3 release. The most significant new language features are "
"function decorators and generator expressions; most other changes are to the "
"standard library."
msgstr ""
#: whatsnew/2.4.rst:22
msgid ""
"According to the CVS change logs, there were 481 patches applied and 502 "
"bugs fixed between Python 2.3 and 2.4. Both figures are likely to be "
"underestimates."
msgstr ""
#: whatsnew/2.4.rst:25
msgid ""
"This article doesn't attempt to provide a complete specification of every "
"single new feature, but instead provides a brief introduction to each "
"feature. For full details, you should refer to the documentation for Python "
"2.4, such as the Python Library Reference and the Python Reference Manual. "
"Often you will be referred to the PEP for a particular new feature for "
"explanations of the implementation and design rationale."
msgstr ""
#: whatsnew/2.4.rst:36
msgid "PEP 218: Built-In Set Objects"
msgstr ""
#: whatsnew/2.4.rst:38
msgid ""
"Python 2.3 introduced the :mod:`sets` module. C implementations of set data "
"types have now been added to the Python core as two new built-in types, "
"``set(iterable)`` and ``frozenset(iterable)``. They provide high speed "
"operations for membership testing, for eliminating duplicates from "
"sequences, and for mathematical operations like unions, intersections, "
"differences, and symmetric differences. ::"
msgstr ""
#: whatsnew/2.4.rst:71
msgid ""
"The :func:`frozenset` type is an immutable version of :func:`set`. Since it "
"is immutable and hashable, it may be used as a dictionary key or as a member "
"of another set."
msgstr ""
#: whatsnew/2.4.rst:75
msgid ""
"The :mod:`sets` module remains in the standard library, and may be useful if "
"you wish to subclass the :class:`Set` or :class:`ImmutableSet` classes. "
"There are currently no plans to deprecate the module."
msgstr ""
#: whatsnew/2.4.rst:83
msgid ""
"Originally proposed by Greg Wilson and ultimately implemented by Raymond "
"Hettinger."
msgstr ""
#: whatsnew/2.4.rst:92
msgid ""
"The lengthy transition process for this PEP, begun in Python 2.2, takes "
"another step forward in Python 2.4. In 2.3, certain integer operations that "
"would behave differently after int/long unification triggered :exc:"
"`FutureWarning` warnings and returned values limited to 32 or 64 bits "
"(depending on your platform). In 2.4, these expressions no longer produce a "
"warning and instead produce a different result that's usually a long integer."
msgstr ""
#: whatsnew/2.4.rst:99
msgid ""
"The problematic expressions are primarily left shifts and lengthy "
"hexadecimal and octal constants. For example, ``2 << 32`` results in a "
"warning in 2.3, evaluating to 0 on 32-bit platforms. In Python 2.4, this "
"expression now returns the correct answer, 8589934592."
msgstr ""
#: whatsnew/2.4.rst:108
msgid ""
"Original PEP written by Moshe Zadka and GvR. The changes for 2.4 were "
"implemented by Kalle Svensson."
msgstr ""
#: whatsnew/2.4.rst:115
msgid "PEP 289: Generator Expressions"
msgstr ""
#: whatsnew/2.4.rst:117
msgid ""
"The iterator feature introduced in Python 2.2 and the :mod:`itertools` "
"module make it easier to write programs that loop through large data sets "
"without having the entire data set in memory at one time. List "
"comprehensions don't fit into this picture very well because they produce a "
"Python list object containing all of the items. This unavoidably pulls all "
"of the objects into memory, which can be a problem if your data set is very "
"large. When trying to write a functionally-styled program, it would be "
"natural to write something like::"
msgstr ""
#: whatsnew/2.4.rst:129
msgid "instead of ::"
msgstr ""
#: whatsnew/2.4.rst:136
msgid ""
"The first form is more concise and perhaps more readable, but if you're "
"dealing with a large number of link objects you'd have to write the second "
"form to avoid having all link objects in memory at the same time."
msgstr ""
#: whatsnew/2.4.rst:140
msgid ""
"Generator expressions work similarly to list comprehensions but don't "
"materialize the entire list; instead they create a generator that will "
"return elements one by one. The above example could be written as::"
msgstr ""
#: whatsnew/2.4.rst:148
msgid ""
"Generator expressions always have to be written inside parentheses, as in "
"the above example. The parentheses signalling a function call also count, "
"so if you want to create an iterator that will be immediately passed to a "
"function you could write::"
msgstr ""
#: whatsnew/2.4.rst:155
msgid ""
"Generator expressions differ from list comprehensions in various small ways. "
"Most notably, the loop variable (*obj* in the above example) is not "
"accessible outside of the generator expression. List comprehensions leave "
"the variable assigned to its last value; future versions of Python will "
"change this, making list comprehensions match generator expressions in this "
"respect."
msgstr ""
#: whatsnew/2.4.rst:165
msgid "PEP 289 - Generator Expressions"
msgstr ""
#: whatsnew/2.4.rst:165
msgid ""
"Proposed by Raymond Hettinger and implemented by Jiwon Seo with early "
"efforts steered by Hye-Shik Chang."
msgstr ""
#: whatsnew/2.4.rst:172
msgid "PEP 292: Simpler String Substitutions"
msgstr ""
#: whatsnew/2.4.rst:174
msgid ""
"Some new classes in the standard library provide an alternative mechanism "
"for substituting variables into strings; this style of substitution may be "
"better for applications where untrained users need to edit templates."
msgstr ""
#: whatsnew/2.4.rst:178
msgid "The usual way of substituting variables by name is the ``%`` operator::"
msgstr ""
#: whatsnew/2.4.rst:183
msgid ""
"When writing the template string, it can be easy to forget the ``i`` or "
"``s`` after the closing parenthesis. This isn't a big problem if the "
"template is in a Python module, because you run the code, get an "
"\"Unsupported format character\" :exc:`ValueError`, and fix the problem. "
"However, consider an application such as Mailman where template strings or "
"translations are being edited by users who aren't aware of the Python "
"language. The format string's syntax is complicated to explain to such "
"users, and if they make a mistake, it's difficult to provide helpful "
"feedback to them."
msgstr ""
#: whatsnew/2.4.rst:192
msgid ""
"PEP 292 adds a :class:`Template` class to the :mod:`string` module that uses "
"``$`` to indicate a substitution::"
msgstr ""
#: whatsnew/2.4.rst:200
msgid ""
"If a key is missing from the dictionary, the :meth:`substitute` method will "
"raise a :exc:`KeyError`. There's also a :meth:`safe_substitute` method that "
"ignores missing keys::"
msgstr ""
#: whatsnew/2.4.rst:211
msgid "PEP 292 - Simpler String Substitutions"
msgstr ""
#: whatsnew/2.4.rst:212
msgid "Written and implemented by Barry Warsaw."
msgstr ""
#: whatsnew/2.4.rst:218
msgid "PEP 318: Decorators for Functions and Methods"
msgstr ""
#: whatsnew/2.4.rst:220
msgid ""
"Python 2.2 extended Python's object model by adding static methods and class "
"methods, but it didn't extend Python's syntax to provide any new way of "
"defining static or class methods. Instead, you had to write a :keyword:"
"`def` statement in the usual way, and pass the resulting method to a :func:"
"`staticmethod` or :func:`classmethod` function that would wrap up the "
"function as a method of the new type. Your code would look like this::"
msgstr ""
#: whatsnew/2.4.rst:233
msgid ""
"If the method was very long, it would be easy to miss or forget the :func:"
"`classmethod` invocation after the function body."
msgstr ""
#: whatsnew/2.4.rst:236
msgid ""
"The intention was always to add some syntax to make such definitions more "
"readable, but at the time of 2.2's release a good syntax was not obvious. "
"Today a good syntax *still* isn't obvious but users are asking for easier "
"access to the feature; a new syntactic feature has been added to meet this "
"need."
msgstr ""
#: whatsnew/2.4.rst:241
msgid ""
"The new feature is called \"function decorators\". The name comes from the "
"idea that :func:`classmethod`, :func:`staticmethod`, and friends are storing "
"additional information on a function object; they're *decorating* functions "
"with more details."
msgstr ""
#: whatsnew/2.4.rst:246
msgid ""
"The notation borrows from Java and uses the ``'@'`` character as an "
"indicator. Using the new syntax, the example above would be written::"
msgstr ""
#: whatsnew/2.4.rst:256
msgid ""
"The ``@classmethod`` is shorthand for the ``meth=classmethod(meth)`` "
"assignment. More generally, if you have the following::"
msgstr ""
#: whatsnew/2.4.rst:265
msgid "It's equivalent to the following pre-decorator code::"
msgstr ""
#: whatsnew/2.4.rst:270
msgid ""
"Decorators must come on the line before a function definition, one decorator "
"per line, and can't be on the same line as the def statement, meaning that "
"``@A def f(): ...`` is illegal. You can only decorate function definitions, "
"either at the module level or inside a class; you can't decorate class "
"definitions."
msgstr ""
#: whatsnew/2.4.rst:275
msgid ""
"A decorator is just a function that takes the function to be decorated as an "
"argument and returns either the same function or some new object. The "
"return value of the decorator need not be callable (though it typically is), "
"unless further decorators will be applied to the result. It's easy to write "
"your own decorators. The following simple example just sets an attribute on "
"the function object::"
msgstr ""
#: whatsnew/2.4.rst:295
msgid ""
"As a slightly more realistic example, the following decorator checks that "
"the supplied argument is an integer::"
msgstr ""
#: whatsnew/2.4.rst:313
msgid ""
"An example in :pep:`318` contains a fancier version of this idea that lets "
"you both specify the required type and check the returned type."
msgstr ""
#: whatsnew/2.4.rst:316
msgid ""
"Decorator functions can take arguments. If arguments are supplied, your "
"decorator function is called with only those arguments and must return a new "
"decorator function; this function must take a single function and return a "
"function, as previously described. In other words, ``@A @B @C(args)`` "
"becomes::"
msgstr ""
#: whatsnew/2.4.rst:325
msgid ""
"Getting this right can be slightly brain-bending, but it's not too difficult."
msgstr ""
#: whatsnew/2.4.rst:327
msgid ""
"A small related change makes the :attr:`func_name` attribute of functions "
"writable. This attribute is used to display function names in tracebacks, "
"so decorators should change the name of any new function that's constructed "
"and returned."
msgstr ""
#: whatsnew/2.4.rst:338
msgid "PEP 318 - Decorators for Functions, Methods and Classes"
msgstr ""
#: whatsnew/2.4.rst:336
msgid ""
"Written by Kevin D. Smith, Jim Jewett, and Skip Montanaro. Several people "
"wrote patches implementing function decorators, but the one that was "
"actually checked in was patch #979728, written by Mark Russell."
msgstr ""
#: whatsnew/2.4.rst:340
msgid "https://www.python.org/moin/PythonDecoratorLibrary"
msgstr ""
#: whatsnew/2.4.rst:341
msgid "This Wiki page contains several examples of decorators."
msgstr ""
#: whatsnew/2.4.rst:347
msgid "PEP 322: Reverse Iteration"
msgstr ""
#: whatsnew/2.4.rst:349
msgid ""
"A new built-in function, ``reversed(seq)``, takes a sequence and returns an "
"iterator that loops over the elements of the sequence in reverse order. ::"
msgstr ""
#: whatsnew/2.4.rst:359
msgid ""
"Compared to extended slicing, such as ``range(1,4)[::-1]``, :func:`reversed` "
"is easier to read, runs faster, and uses substantially less memory."
msgstr ""
#: whatsnew/2.4.rst:362
msgid ""
"Note that :func:`reversed` only accepts sequences, not arbitrary iterators. "
"If you want to reverse an iterator, first convert it to a list with :func:"
"`list`. ::"
msgstr ""
#: whatsnew/2.4.rst:376
msgid "PEP 322 - Reverse Iteration"
msgstr ""
#: whatsnew/2.4.rst:377
msgid "Written and implemented by Raymond Hettinger."
msgstr ""
#: whatsnew/2.4.rst:383
msgid "PEP 324: New subprocess Module"
msgstr ""
#: whatsnew/2.4.rst:385
msgid ""
"The standard library provides a number of ways to execute a subprocess, "
"offering different features and different levels of complexity. ``os."
"system(command)`` is easy to use, but slow (it runs a shell process which "
"executes the command) and dangerous (you have to be careful about escaping "
"the shell's metacharacters). The :mod:`popen2` module offers classes that "
"can capture standard output and standard error from the subprocess, but the "
"naming is confusing. The :mod:`subprocess` module cleans this up, "
"providing a unified interface that offers all the features you might need."
msgstr ""
#: whatsnew/2.4.rst:394
msgid ""
"Instead of :mod:`popen2`'s collection of classes, :mod:`subprocess` contains "
"a single class called :class:`Popen` whose constructor supports a number of "
"different keyword arguments. ::"
msgstr ""
#: whatsnew/2.4.rst:404
msgid ""
"*args* is commonly a sequence of strings that will be the arguments to the "
"program executed as the subprocess. (If the *shell* argument is true, "
"*args* can be a string which will then be passed on to the shell for "
"interpretation, just as :func:`os.system` does.)"
msgstr ""
#: whatsnew/2.4.rst:409
msgid ""
"*stdin*, *stdout*, and *stderr* specify what the subprocess's input, output, "
"and error streams will be. You can provide a file object or a file "
"descriptor, or you can use the constant ``subprocess.PIPE`` to create a pipe "
"between the subprocess and the parent."
msgstr ""
#: whatsnew/2.4.rst:417
msgid "The constructor has a number of handy options:"
msgstr ""
#: whatsnew/2.4.rst:419
msgid ""
"*close_fds* requests that all file descriptors be closed before running the "
"subprocess."
msgstr ""
#: whatsnew/2.4.rst:422
msgid ""
"*cwd* specifies the working directory in which the subprocess will be "
"executed (defaulting to whatever the parent's working directory is)."
msgstr ""
#: whatsnew/2.4.rst:425
msgid "*env* is a dictionary specifying environment variables."
msgstr ""
#: whatsnew/2.4.rst:427
msgid ""
"*preexec_fn* is a function that gets called before the child is started."
msgstr ""
#: whatsnew/2.4.rst:429
msgid ""
"*universal_newlines* opens the child's input and output using Python's :term:"
"`universal newlines` feature."
msgstr ""
#: whatsnew/2.4.rst:432
msgid ""
"Once you've created the :class:`Popen` instance, you can call its :meth:"
"`wait` method to pause until the subprocess has exited, :meth:`poll` to "
"check if it's exited without pausing, or ``communicate(data)`` to send the "
"string *data* to the subprocess's standard input. ``communicate(data)`` "
"then reads any data that the subprocess has sent to its standard output or "
"standard error, returning a tuple ``(stdout_data, stderr_data)``."
msgstr ""
#: whatsnew/2.4.rst:439
msgid ""
":func:`call` is a shortcut that passes its arguments along to the :class:"
"`Popen` constructor, waits for the command to complete, and returns the "
"status code of the subprocess. It can serve as a safer analog to :func:`os."
"system`::"
msgstr ""
#: whatsnew/2.4.rst:451
msgid ""
"The command is invoked without use of the shell. If you really do want to "
"use the shell, you can add ``shell=True`` as a keyword argument and provide "
"a string instead of a sequence::"
msgstr ""
#: whatsnew/2.4.rst:457
msgid ""
"The PEP takes various examples of shell and Python code and shows how they'd "
"be translated into Python code that uses :mod:`subprocess`. Reading this "
"section of the PEP is highly recommended."
msgstr ""
#: whatsnew/2.4.rst:465
msgid "PEP 324 - subprocess - New process module"
msgstr ""
#: whatsnew/2.4.rst:465
msgid ""
"Written and implemented by Peter Åstrand, with assistance from Fredrik Lundh "
"and others."
msgstr ""
#: whatsnew/2.4.rst:472
msgid "PEP 327: Decimal Data Type"
msgstr ""
#: whatsnew/2.4.rst:474
msgid ""
"Python has always supported floating-point (FP) numbers, based on the "
"underlying C :c:type:`double` type, as a data type. However, while most "
"programming languages provide a floating-point type, many people (even "
"programmers) are unaware that floating-point numbers don't represent certain "
"decimal fractions accurately. The new :class:`Decimal` type can represent "
"these fractions accurately, up to a user-specified precision limit."
msgstr ""
#: whatsnew/2.4.rst:483
msgid "Why is Decimal needed?"
msgstr ""
#: whatsnew/2.4.rst:485
msgid ""
"The limitations arise from the representation used for floating-point "
"numbers. FP numbers are made up of three components:"
msgstr ""
#: whatsnew/2.4.rst:488
msgid "The sign, which is positive or negative."
msgstr ""
#: whatsnew/2.4.rst:490
msgid ""
"The mantissa, which is a single-digit binary number followed by a "
"fractional part. For example, ``1.01`` in base-2 notation is ``1 + 0/2 + "
"1/4``, or 1.25 in decimal notation."
msgstr ""
#: whatsnew/2.4.rst:494
msgid ""
"The exponent, which tells where the decimal point is located in the number "
"represented."
msgstr ""
#: whatsnew/2.4.rst:497
msgid ""
"For example, the number 1.25 has positive sign, a mantissa value of 1.01 (in "
"binary), and an exponent of 0 (the decimal point doesn't need to be "
"shifted). The number 5 has the same sign and mantissa, but the exponent is 2 "
"because the mantissa is multiplied by 4 (2 to the power of the exponent 2); "
"1.25 \\* 4 equals 5."
msgstr ""
#: whatsnew/2.4.rst:503
msgid ""
"Modern systems usually provide floating-point support that conforms to a "
"standard called IEEE 754. C's :c:type:`double` type is usually implemented "
"as a 64-bit IEEE 754 number, which uses 52 bits of space for the mantissa. "
"This means that numbers can only be specified to 52 bits of precision. If "
"you're trying to represent numbers whose expansion repeats endlessly, the "
"expansion is cut off after 52 bits. Unfortunately, most software needs to "
"produce output in base 10, and common fractions in base 10 are often "
"repeating decimals in binary. For example, 1.1 decimal is binary "
"``1.0001100110011 ...``; .1 = 1/16 + 1/32 + 1/256 plus an infinite number of "
"additional terms. IEEE 754 has to chop off that infinitely repeated decimal "
"after 52 digits, so the representation is slightly inaccurate."
msgstr ""
#: whatsnew/2.4.rst:515
msgid "Sometimes you can see this inaccuracy when the number is printed::"
msgstr ""
#: whatsnew/2.4.rst:520
msgid ""
"The inaccuracy isn't always visible when you print the number because the FP-"
"to- decimal-string conversion is provided by the C library, and most C "
"libraries try to produce sensible output. Even if it's not displayed, "
"however, the inaccuracy is still there and subsequent operations can magnify "
"the error."
msgstr ""
#: whatsnew/2.4.rst:525
msgid ""
"For many applications this doesn't matter. If I'm plotting points and "
"displaying them on my monitor, the difference between 1.1 and "
"1.1000000000000001 is too small to be visible. Reports often limit output "
"to a certain number of decimal places, and if you round the number to two or "
"three or even eight decimal places, the error is never apparent. However, "
"for applications where it does matter, it's a lot of work to implement your "
"own custom arithmetic routines."
msgstr ""
#: whatsnew/2.4.rst:533
msgid "Hence, the :class:`Decimal` type was created."
msgstr ""
#: whatsnew/2.4.rst:537
msgid "The :class:`Decimal` type"
msgstr ""
#: whatsnew/2.4.rst:539
msgid ""
"A new module, :mod:`decimal`, was added to Python's standard library. It "
"contains two classes, :class:`Decimal` and :class:`Context`. :class:"
"`Decimal` instances represent numbers, and :class:`Context` instances are "
"used to wrap up various settings such as the precision and default rounding "
"mode."
msgstr ""
#: whatsnew/2.4.rst:544
msgid ""
":class:`Decimal` instances are immutable, like regular Python integers and "
"FP numbers; once it's been created, you can't change the value an instance "
"represents. :class:`Decimal` instances can be created from integers or "
"strings::"
msgstr ""
#: whatsnew/2.4.rst:555
msgid ""
"You can also provide tuples containing the sign, the mantissa represented "
"as a tuple of decimal digits, and the exponent::"
msgstr ""
#: whatsnew/2.4.rst:561
msgid ""
"Cautionary note: the sign bit is a Boolean value, so 0 is positive and 1 is "
"negative."
msgstr ""
#: whatsnew/2.4.rst:564
msgid ""
"Converting from floating-point numbers poses a bit of a problem: should the "
"FP number representing 1.1 turn into the decimal number for exactly 1.1, or "
"for 1.1 plus whatever inaccuracies are introduced? The decision was to dodge "
"the issue and leave such a conversion out of the API. Instead, you should "
"convert the floating-point number into a string using the desired precision "
"and pass the string to the :class:`Decimal` constructor::"
msgstr ""
#: whatsnew/2.4.rst:577
msgid ""
"Once you have :class:`Decimal` instances, you can perform the usual "
"mathematical operations on them. One limitation: exponentiation requires an "
"integer exponent::"
msgstr ""
#: whatsnew/2.4.rst:598
msgid ""
"You can combine :class:`Decimal` instances with integers, but not with "
"floating- point numbers::"
msgstr ""
#: whatsnew/2.4.rst:609
msgid ""
":class:`Decimal` numbers can be used with the :mod:`math` and :mod:`cmath` "
"modules, but note that they'll be immediately converted to floating-point "
"numbers before the operation is performed, resulting in a possible loss of "
"precision and accuracy. You'll also get back a regular floating-point "
"number and not a :class:`Decimal`. ::"
msgstr ""
#: whatsnew/2.4.rst:622
msgid ""
":class:`Decimal` instances have a :meth:`sqrt` method that returns a :class:"
"`Decimal`, but if you need other things such as trigonometric functions "
"you'll have to implement them. ::"
msgstr ""
#: whatsnew/2.4.rst:631
msgid "The :class:`Context` type"
msgstr ""
#: whatsnew/2.4.rst:633
msgid ""
"Instances of the :class:`Context` class encapsulate several settings for "
"decimal operations:"
msgstr ""
#: whatsnew/2.4.rst:636
msgid ":attr:`prec` is the precision, the number of decimal places."
msgstr ""
#: whatsnew/2.4.rst:638
msgid ""
":attr:`rounding` specifies the rounding mode. The :mod:`decimal` module has "
"constants for the various possibilities: :const:`ROUND_DOWN`, :const:"
"`ROUND_CEILING`, :const:`ROUND_HALF_EVEN`, and various others."
msgstr ""
#: whatsnew/2.4.rst:642
msgid ""
":attr:`traps` is a dictionary specifying what happens on encountering "
"certain error conditions: either an exception is raised or a value is "
"returned. Some examples of error conditions are division by zero, loss of "
"precision, and overflow."
msgstr ""
#: whatsnew/2.4.rst:647
msgid ""
"There's a thread-local default context available by calling :func:"
"`getcontext`; you can change the properties of this context to alter the "
"default precision, rounding, or trap handling. The following example shows "
"the effect of changing the precision of the default context::"
msgstr ""
#: whatsnew/2.4.rst:660
msgid ""
"The default action for error conditions is selectable; the module can either "
"return a special value such as infinity or not-a-number, or exceptions can "
"be raised::"
msgstr ""
#: whatsnew/2.4.rst:673
msgid ""
"The :class:`Context` instance also has various methods for formatting "
"numbers such as :meth:`to_eng_string` and :meth:`to_sci_string`."
msgstr ""
#: whatsnew/2.4.rst:676
msgid ""
"For more information, see the documentation for the :mod:`decimal` module, "
"which includes a quick-start tutorial and a reference."
msgstr ""
#: whatsnew/2.4.rst:684
msgid "PEP 327 - Decimal Data Type"
msgstr ""
#: whatsnew/2.4.rst:683
msgid ""
"Written by Facundo Batista and implemented by Facundo Batista, Eric Price, "
"Raymond Hettinger, Aahz, and Tim Peters."
msgstr ""
#: whatsnew/2.4.rst:688
msgid "http://www.lahey.com/float.htm"
msgstr ""
#: whatsnew/2.4.rst:687
msgid ""
"The article uses Fortran code to illustrate many of the problems that "
"floating- point inaccuracy can cause."
msgstr ""
#: whatsnew/2.4.rst:692
msgid "http://www2.hursley.ibm.com/decimal/"
msgstr ""
#: whatsnew/2.4.rst:691
msgid ""
"A description of a decimal-based representation. This representation is "
"being proposed as a standard, and underlies the new Python decimal type. "
"Much of this material was written by Mike Cowlishaw, designer of the Rexx "
"language."
msgstr ""
#: whatsnew/2.4.rst:699
msgid "PEP 328: Multi-line Imports"
msgstr ""
#: whatsnew/2.4.rst:701
msgid ""
"One language change is a small syntactic tweak aimed at making it easier to "
"import many names from a module. In a ``from module import names`` "
"statement, *names* is a sequence of names separated by commas. If the "
"sequence is very long, you can either write multiple imports from the same "
"module, or you can use backslashes to escape the line endings like this::"
msgstr ""
#: whatsnew/2.4.rst:712
msgid ""
"The syntactic change in Python 2.4 simply allows putting the names within "
"parentheses. Python ignores newlines within a parenthesized expression, so "
"the backslashes are no longer needed::"
msgstr ""
#: whatsnew/2.4.rst:721
msgid ""
"The PEP also proposes that all :keyword:`import` statements be absolute "
"imports, with a leading ``.`` character to indicate a relative import. This "
"part of the PEP was not implemented for Python 2.4, but was completed for "
"Python 2.5."
msgstr ""
#: whatsnew/2.4.rst:728 whatsnew/2.5.rst:331
msgid "PEP 328 - Imports: Multi-Line and Absolute/Relative"
msgstr ""
#: whatsnew/2.4.rst:729
msgid "Written by Aahz. Multi-line imports were implemented by Dima Dorfman."
msgstr ""
#: whatsnew/2.4.rst:735
msgid "PEP 331: Locale-Independent Float/String Conversions"
msgstr ""
#: whatsnew/2.4.rst:737
msgid ""
"The :mod:`locale` modules lets Python software select various conversions "
"and display conventions that are localized to a particular country or "
"language. However, the module was careful to not change the numeric locale "
"because various functions in Python's implementation required that the "
"numeric locale remain set to the ``'C'`` locale. Often this was because the "
"code was using the C library's :c:func:`atof` function."
msgstr ""
#: whatsnew/2.4.rst:744
msgid ""
"Not setting the numeric locale caused trouble for extensions that used "
"third- party C libraries, however, because they wouldn't have the correct "
"locale set. The motivating example was GTK+, whose user interface widgets "
"weren't displaying numbers in the current locale."
msgstr ""
#: whatsnew/2.4.rst:749
msgid ""
"The solution described in the PEP is to add three new functions to the "
"Python API that perform ASCII-only conversions, ignoring the locale setting:"
msgstr ""
#: whatsnew/2.4.rst:752
msgid ""
"``PyOS_ascii_strtod(str, ptr)`` and ``PyOS_ascii_atof(str, ptr)`` both "
"convert a string to a C :c:type:`double`."
msgstr ""
#: whatsnew/2.4.rst:755
msgid ""
"``PyOS_ascii_formatd(buffer, buf_len, format, d)`` converts a :c:type:"
"`double` to an ASCII string."
msgstr ""
#: whatsnew/2.4.rst:758
msgid ""
"The code for these functions came from the GLib library (http://library."
"gnome.org/devel/glib/stable/), whose developers kindly relicensed the "
"relevant functions and donated them to the Python Software Foundation. The :"
"mod:`locale` module can now change the numeric locale, letting extensions "
"such as GTK+ produce the correct results."
msgstr ""
#: whatsnew/2.4.rst:767
msgid "PEP 331 - Locale-Independent Float/String Conversions"
msgstr ""
#: whatsnew/2.4.rst:768
msgid "Written by Christian R. Reis, and implemented by Gustavo Carneiro."
msgstr ""
#: whatsnew/2.4.rst:776
msgid ""
"Here are all of the changes that Python 2.4 makes to the core Python "
"language."
msgstr ""
#: whatsnew/2.4.rst:778
msgid "Decorators for functions and methods were added (:pep:`318`)."
msgstr ""
#: whatsnew/2.4.rst:780
msgid ""
"Built-in :func:`set` and :func:`frozenset` types were added (:pep:`218`). "
"Other new built-ins include the ``reversed(seq)`` function (:pep:`322`)."
msgstr ""
#: whatsnew/2.4.rst:783
msgid "Generator expressions were added (:pep:`289`)."
msgstr ""
#: whatsnew/2.4.rst:785
msgid ""
"Certain numeric expressions no longer return values restricted to 32 or 64 "
"bits (:pep:`237`)."
msgstr ""
#: whatsnew/2.4.rst:788
msgid ""
"You can now put parentheses around the list of names in a ``from module "
"import names`` statement (:pep:`328`)."
msgstr ""
#: whatsnew/2.4.rst:791
msgid ""
"The :meth:`dict.update` method now accepts the same argument forms as the :"
"class:`dict` constructor. This includes any mapping, any iterable of key/"
"value pairs, and keyword arguments. (Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:795
msgid ""
"The string methods :meth:`ljust`, :meth:`rjust`, and :meth:`center` now take "
"an optional argument for specifying a fill character other than a space. "
"(Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:799
msgid ""
"Strings also gained an :meth:`rsplit` method that works like the :meth:"
"`split` method but splits from the end of the string. (Contributed by Sean "
"Reifschneider.) ::"
msgstr ""
#: whatsnew/2.4.rst:808
msgid ""
"Three keyword parameters, *cmp*, *key*, and *reverse*, were added to the :"
"meth:`sort` method of lists. These parameters make some common usages of :"
"meth:`sort` simpler. All of these parameters are optional."
msgstr ""
#: whatsnew/2.4.rst:812
msgid ""
"For the *cmp* parameter, the value should be a comparison function that "
"takes two parameters and returns -1, 0, or +1 depending on how the "
"parameters compare. This function will then be used to sort the list. "
"Previously this was the only parameter that could be provided to :meth:"
"`sort`."
msgstr ""
#: whatsnew/2.4.rst:817
msgid ""
"*key* should be a single-parameter function that takes a list element and "
"returns a comparison key for the element. The list is then sorted using the "
"comparison keys. The following example sorts a list case-insensitively::"
msgstr ""
#: whatsnew/2.4.rst:834
msgid ""
"The last example, which uses the *cmp* parameter, is the old way to perform "
"a case-insensitive sort. It works but is slower than using a *key* "
"parameter. Using *key* calls :meth:`lower` method once for each element in "
"the list while using *cmp* will call it twice for each comparison, so using "
"*key* saves on invocations of the :meth:`lower` method."
msgstr ""
#: whatsnew/2.4.rst:840
msgid ""
"For simple key functions and comparison functions, it is often possible to "
"avoid a :keyword:`lambda` expression by using an unbound method instead. "
"For example, the above case-insensitive sort is best written as::"
msgstr ""
#: whatsnew/2.4.rst:848
msgid ""
"Finally, the *reverse* parameter takes a Boolean value. If the value is "
"true, the list will be sorted into reverse order. Instead of ``L.sort(); L."
"reverse()``, you can now write ``L.sort(reverse=True)``."
msgstr ""
#: whatsnew/2.4.rst:852
msgid ""
"The results of sorting are now guaranteed to be stable. This means that two "
"entries with equal keys will be returned in the same order as they were "
"input. For example, you can sort a list of people by name, and then sort the "
"list by age, resulting in a list sorted by age where people with the same "
"age are in name-sorted order."
msgstr ""
#: whatsnew/2.4.rst:858
msgid "(All changes to :meth:`sort` contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:860
msgid ""
"There is a new built-in function ``sorted(iterable)`` that works like the in-"
"place :meth:`list.sort` method but can be used in expressions. The "
"differences are:"
msgstr ""
#: whatsnew/2.4.rst:864
msgid "the input may be any iterable;"
msgstr ""
#: whatsnew/2.4.rst:866
msgid "a newly formed copy is sorted, leaving the original intact; and"
msgstr ""
#: whatsnew/2.4.rst:868
msgid "the expression returns the new sorted copy"
msgstr ""
#: whatsnew/2.4.rst:893 whatsnew/2.4.rst:1517
msgid ""
"Integer operations will no longer trigger an :exc:`OverflowWarning`. The :"
"exc:`OverflowWarning` warning will disappear in Python 2.5."
msgstr ""
#: whatsnew/2.4.rst:896
msgid ""
"The interpreter gained a new switch, :option:`-m`, that takes a name, "
"searches for the corresponding module on ``sys.path``, and runs the module "
"as a script. For example, you can now run the Python profiler with ``python "
"-m profile``. (Contributed by Nick Coghlan.)"
msgstr ""
#: whatsnew/2.4.rst:901
msgid ""
"The ``eval(expr, globals, locals)`` and ``execfile(filename, globals, "
"locals)`` functions and the ``exec`` statement now accept any mapping type "
"for the *locals* parameter. Previously this had to be a regular Python "
"dictionary. (Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:906
msgid ""
"The :func:`zip` built-in function and :func:`itertools.izip` now return an "
"empty list if called with no arguments. Previously they raised a :exc:"
"`TypeError` exception. This makes them more suitable for use with variable "
"length argument lists::"
msgstr ""
#: whatsnew/2.4.rst:921
msgid ""
"Encountering a failure while importing a module no longer leaves a "
"partially- initialized module object in ``sys.modules``. The incomplete "
"module object left behind would fool further imports of the same module into "
"succeeding, leading to confusing errors. (Fixed by Tim Peters.)"
msgstr ""
#: whatsnew/2.4.rst:926
msgid ""
":const:`None` is now a constant; code that binds a new value to the name "
"``None`` is now a syntax error. (Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:935
msgid ""
"The inner loops for list and tuple slicing were optimized and now run about "
"one-third faster. The inner loops for dictionaries were also optimized, "
"resulting in performance boosts for :meth:`keys`, :meth:`values`, :meth:"
"`items`, :meth:`iterkeys`, :meth:`itervalues`, and :meth:`iteritems`. "
"(Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:941
msgid ""
"The machinery for growing and shrinking lists was optimized for speed and "
"for space efficiency. Appending and popping from lists now runs faster due "
"to more efficient code paths and less frequent use of the underlying system :"
"c:func:`realloc`. List comprehensions also benefit. :meth:`list.extend` "
"was also optimized and no longer converts its argument into a temporary list "
"before extending the base list. (Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:948
msgid ""
":func:`list`, :func:`tuple`, :func:`map`, :func:`filter`, and :func:`zip` "
"now run several times faster with non-sequence arguments that supply a :meth:"
"`__len__` method. (Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:952
msgid ""
"The methods :meth:`list.__getitem__`, :meth:`dict.__getitem__`, and :meth:"
"`dict.__contains__` are now implemented as :class:`method_descriptor` "
"objects rather than :class:`wrapper_descriptor` objects. This form of "
"access doubles their performance and makes them more suitable for use as "
"arguments to functionals: ``map(mydict.__getitem__, keylist)``. (Contributed "
"by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:959
msgid ""
"Added a new opcode, ``LIST_APPEND``, that simplifies the generated bytecode "
"for list comprehensions and speeds them up by about a third. (Contributed "
"by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:963
msgid ""
"The peephole bytecode optimizer has been improved to produce shorter, "
"faster bytecode; remarkably, the resulting bytecode is more readable. "
"(Enhanced by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:967
msgid ""
"String concatenations in statements of the form ``s = s + \"abc\"`` and ``s "
"+= \"abc\"`` are now performed more efficiently in certain circumstances. "
"This optimization won't be present in other Python implementations such as "
"Jython, so you shouldn't rely on it; using the :meth:`join` method of "
"strings is still recommended when you want to efficiently glue a large "
"number of strings together. (Contributed by Armin Rigo.)"
msgstr ""
#: whatsnew/2.4.rst:974
msgid ""
"The net result of the 2.4 optimizations is that Python 2.4 runs the pystone "
"benchmark around 5% faster than Python 2.3 and 35% faster than Python 2.2. "
"(pystone is not a particularly good benchmark, but it's the most commonly "
"used measurement of Python's performance. Your own applications may show "
"greater or smaller benefits from Python 2.4.)"
msgstr ""
#: whatsnew/2.4.rst:997
msgid ""
"The :mod:`asyncore` module's :func:`loop` function now has a *count* "
"parameter that lets you perform a limited number of passes through the "
"polling loop. The default is still to loop forever."
msgstr ""
#: whatsnew/2.4.rst:1001
msgid ""
"The :mod:`base64` module now has more complete RFC 3548 support for Base64, "
"Base32, and Base16 encoding and decoding, including optional case folding "
"and optional alternative alphabets. (Contributed by Barry Warsaw.)"
msgstr ""
#: whatsnew/2.4.rst:1005
msgid ""
"The :mod:`bisect` module now has an underlying C implementation for improved "
"performance. (Contributed by Dmitry Vasiliev.)"
msgstr ""
#: whatsnew/2.4.rst:1008
msgid ""
"The CJKCodecs collections of East Asian codecs, maintained by Hye-Shik "
"Chang, was integrated into 2.4. The new encodings are:"
msgstr ""
#: whatsnew/2.4.rst:1011
msgid "Chinese (PRC): gb2312, gbk, gb18030, big5hkscs, hz"
msgstr ""
#: whatsnew/2.4.rst:1013
msgid "Chinese (ROC): big5, cp950"
msgstr ""
#: whatsnew/2.4.rst:1017
msgid "Japanese: cp932, euc-jis-2004, euc-jp, euc-jisx0213, iso-2022-jp,"
msgstr ""
#: whatsnew/2.4.rst:1016
msgid ""
"iso-2022-jp-1, iso-2022-jp-2, iso-2022-jp-3, iso-2022-jp-ext, iso-2022-"
"jp-2004, shift-jis, shift-jisx0213, shift-jis-2004"
msgstr ""
#: whatsnew/2.4.rst:1019
msgid "Korean: cp949, euc-kr, johab, iso-2022-kr"
msgstr ""
#: whatsnew/2.4.rst:1021
msgid ""
"Some other new encodings were added: HP Roman8, ISO_8859-11, ISO_8859-16, "
"PCTP-154, and TIS-620."
msgstr ""
#: whatsnew/2.4.rst:1024
msgid ""
"The UTF-8 and UTF-16 codecs now cope better with receiving partial input. "
"Previously the :class:`StreamReader` class would try to read more data, "
"making it impossible to resume decoding from the stream. The :meth:`read` "
"method will now return as much data as it can and future calls will resume "
"decoding where previous ones left off. (Implemented by Walter Dörwald.)"
msgstr ""
#: whatsnew/2.4.rst:1030
msgid ""
"There is a new :mod:`collections` module for various specialized collection "
"datatypes. Currently it contains just one type, :class:`deque`, a double- "
"ended queue that supports efficiently adding and removing elements from "
"either end::"
msgstr ""
#: whatsnew/2.4.rst:1050
msgid ""
"Several modules, such as the :mod:`Queue` and :mod:`threading` modules, now "
"take advantage of :class:`collections.deque` for improved performance. "
"(Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:1054
msgid ""
"The :mod:`ConfigParser` classes have been enhanced slightly. The :meth:"
"`read` method now returns a list of the files that were successfully parsed, "
"and the :meth:`set` method raises :exc:`TypeError` if passed a *value* "
"argument that isn't a string. (Contributed by John Belmonte and David "
"Goodger.)"
msgstr ""
#: whatsnew/2.4.rst:1059
msgid ""
"The :mod:`curses` module now supports the ncurses extension :func:"
"`use_default_colors`. On platforms where the terminal supports "
"transparency, this makes it possible to use a transparent background. "
"(Contributed by Jörg Lehmann.)"
msgstr ""
#: whatsnew/2.4.rst:1064
msgid ""
"The :mod:`difflib` module now includes an :class:`HtmlDiff` class that "
"creates an HTML table showing a side by side comparison of two versions of a "
"text. (Contributed by Dan Gass.)"
msgstr ""
#: whatsnew/2.4.rst:1068
msgid ""
"The :mod:`email` package was updated to version 3.0, which dropped various "
"deprecated APIs and removes support for Python versions earlier than 2.3. "
"The 3.0 version of the package uses a new incremental parser for MIME "
"messages, available in the :mod:`email.FeedParser` module. The new parser "
"doesn't require reading the entire message into memory, and doesn't raise "
"exceptions if a message is malformed; instead it records any problems in "
"the :attr:`defect` attribute of the message. (Developed by Anthony Baxter, "
"Barry Warsaw, Thomas Wouters, and others.)"
msgstr ""
#: whatsnew/2.4.rst:1077
msgid ""
"The :mod:`heapq` module has been converted to C. The resulting tenfold "
"improvement in speed makes the module suitable for handling high volumes of "
"data. In addition, the module has two new functions :func:`nlargest` and :"
"func:`nsmallest` that use heaps to find the N largest or smallest values in "
"a dataset without the expense of a full sort. (Contributed by Raymond "
"Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:1083
msgid ""
"The :mod:`httplib` module now contains constants for HTTP status codes "
"defined in various HTTP-related RFC documents. Constants have names such "
"as :const:`OK`, :const:`CREATED`, :const:`CONTINUE`, and :const:"
"`MOVED_PERMANENTLY`; use pydoc to get a full list. (Contributed by Andrew "
"Eland.)"
msgstr ""
#: whatsnew/2.4.rst:1089
msgid ""
"The :mod:`imaplib` module now supports IMAP's THREAD command (contributed by "
"Yves Dionne) and new :meth:`deleteacl` and :meth:`myrights` methods "
"(contributed by Arnaud Mazin)."
msgstr ""
#: whatsnew/2.4.rst:1093
msgid ""
"The :mod:`itertools` module gained a ``groupby(iterable[, *func*])`` "
"function. *iterable* is something that can be iterated over to return a "
"stream of elements, and the optional *func* parameter is a function that "
"takes an element and returns a key value; if omitted, the key is simply the "
"element itself. :func:`groupby` then groups the elements into subsequences "
"which have matching values of the key, and returns a series of 2-tuples "
"containing the key value and an iterator over the subsequence."
msgstr ""
#: whatsnew/2.4.rst:1101
msgid ""
"Here's an example to make this clearer. The *key* function simply returns "
"whether a number is even or odd, so the result of :func:`groupby` is to "
"return consecutive runs of odd or even numbers. ::"
msgstr ""
#: whatsnew/2.4.rst:1117
msgid ""
":func:`groupby` is typically used with sorted input. The logic for :func:"
"`groupby` is similar to the Unix ``uniq`` filter which makes it handy for "
"eliminating, counting, or identifying duplicate elements::"
msgstr ""
#: whatsnew/2.4.rst:1140
msgid "(Contributed by Hye-Shik Chang.)"
msgstr ""
#: whatsnew/2.4.rst:1142
msgid ""
":mod:`itertools` also gained a function named ``tee(iterator, N)`` that "
"returns *N* independent iterators that replicate *iterator*. If *N* is "
"omitted, the default is 2. ::"
msgstr ""
#: whatsnew/2.4.rst:1155
msgid ""
"Note that :func:`tee` has to keep copies of the values returned by the "
"iterator; in the worst case, it may need to keep all of them. This should "
"therefore be used carefully if the leading iterator can run far ahead of the "
"trailing iterator in a long stream of inputs. If the separation is large, "
"then you might as well use :func:`list` instead. When the iterators track "
"closely with one another, :func:`tee` is ideal. Possible applications "
"include bookmarking, windowing, or lookahead iterators. (Contributed by "
"Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:1164
msgid ""
"A number of functions were added to the :mod:`locale` module, such as :func:"
"`bind_textdomain_codeset` to specify a particular encoding and a family of :"
"func:`l\\*gettext` functions that return messages in the chosen encoding. "
"(Contributed by Gustavo Niemeyer.)"
msgstr ""
#: whatsnew/2.4.rst:1169
msgid ""
"Some keyword arguments were added to the :mod:`logging` package's :func:"
"`basicConfig` function to simplify log configuration. The default behavior "
"is to log messages to standard error, but various keyword arguments can be "
"specified to log to a particular file, change the logging format, or set the "
"logging level. For example::"
msgstr ""
#: whatsnew/2.4.rst:1180
msgid ""
"Other additions to the :mod:`logging` package include a ``log(level, msg)`` "
"convenience method, as well as a :class:`TimedRotatingFileHandler` class "
"that rotates its log files at a timed interval. The module already had :"
"class:`RotatingFileHandler`, which rotated logs once the file exceeded a "
"certain size. Both classes derive from a new :class:`BaseRotatingHandler` "
"class that can be used to implement other rotating handlers."
msgstr ""
#: whatsnew/2.4.rst:1187
msgid "(Changes implemented by Vinay Sajip.)"
msgstr ""
#: whatsnew/2.4.rst:1189
msgid ""
"The :mod:`marshal` module now shares interned strings on unpacking a data "
"structure. This may shrink the size of certain pickle strings, but the "
"primary effect is to make :file:`.pyc` files significantly smaller. "
"(Contributed by Martin von Löwis.)"
msgstr ""
#: whatsnew/2.4.rst:1194
msgid ""
"The :mod:`nntplib` module's :class:`NNTP` class gained :meth:`description` "
"and :meth:`descriptions` methods to retrieve newsgroup descriptions for a "
"single group or for a range of groups. (Contributed by Jürgen A. Erhard.)"
msgstr ""
#: whatsnew/2.4.rst:1198
msgid ""
"Two new functions were added to the :mod:`operator` module, "
"``attrgetter(attr)`` and ``itemgetter(index)``. Both functions return "
"callables that take a single argument and return the corresponding attribute "
"or item; these callables make excellent data extractors when used with :func:"
"`map` or :func:`sorted`. For example::"
msgstr ""
#: whatsnew/2.4.rst:1214
msgid ""
"The :mod:`optparse` module was updated in various ways. The module now "
"passes its messages through :func:`gettext.gettext`, making it possible to "
"internationalize Optik's help and error messages. Help messages for options "
"can now include the string ``'%default'``, which will be replaced by the "
"option's default value. (Contributed by Greg Ward.)"
msgstr ""
#: whatsnew/2.4.rst:1220
msgid ""
"The long-term plan is to deprecate the :mod:`rfc822` module in some future "
"Python release in favor of the :mod:`email` package. To this end, the :func:"
"`email.Utils.formatdate` function has been changed to make it usable as a "
"replacement for :func:`rfc822.formatdate`. You may want to write new e-mail "
"processing code with this in mind. (Change implemented by Anthony Baxter.)"
msgstr ""
#: whatsnew/2.4.rst:1226
msgid ""
"A new ``urandom(n)`` function was added to the :mod:`os` module, returning a "
"string containing *n* bytes of random data. This function provides access "
"to platform-specific sources of randomness such as :file:`/dev/urandom` on "
"Linux or the Windows CryptoAPI. (Contributed by Trevor Perrin.)"
msgstr ""
#: whatsnew/2.4.rst:1231
msgid ""
"Another new function: ``os.path.lexists(path)`` returns true if the file "
"specified by *path* exists, whether or not it's a symbolic link. This "
"differs from the existing ``os.path.exists(path)`` function, which returns "
"false if *path* is a symlink that points to a destination that doesn't "
"exist. (Contributed by Beni Cherniavsky.)"
msgstr ""
#: whatsnew/2.4.rst:1237
msgid ""
"A new :func:`getsid` function was added to the :mod:`posix` module that "
"underlies the :mod:`os` module. (Contributed by J. Raynor.)"
msgstr ""
#: whatsnew/2.4.rst:1240
msgid ""
"The :mod:`poplib` module now supports POP over SSL. (Contributed by Hector "
"Urtubia.)"
msgstr ""
#: whatsnew/2.4.rst:1243
msgid ""
"The :mod:`profile` module can now profile C extension functions. "
"(Contributed by Nick Bastin.)"
msgstr ""
#: whatsnew/2.4.rst:1246
msgid ""
"The :mod:`random` module has a new method called ``getrandbits(N)`` that "
"returns a long integer *N* bits in length. The existing :meth:`randrange` "
"method now uses :meth:`getrandbits` where appropriate, making generation of "
"arbitrarily large random numbers more efficient. (Contributed by Raymond "
"Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:1252
msgid ""
"The regular expression language accepted by the :mod:`re` module was "
"extended with simple conditional expressions, written as ``(?(group)A|B)``. "
"*group* is either a numeric group ID or a group name defined with ``(?"
"P<group>...)`` earlier in the expression. If the specified group matched, "
"the regular expression pattern *A* will be tested against the string; if the "
"group didn't match, the pattern *B* will be used instead. (Contributed by "
"Gustavo Niemeyer.)"
msgstr ""
#: whatsnew/2.4.rst:1259
msgid ""
"The :mod:`re` module is also no longer recursive, thanks to a massive amount "
"of work by Gustavo Niemeyer. In a recursive regular expression engine, "
"certain patterns result in a large amount of C stack space being consumed, "
"and it was possible to overflow the stack. For example, if you matched a "
"30000-byte string of ``a`` characters against the expression ``(a|b)+``, one "
"stack frame was consumed per character. Python 2.3 tried to check for stack "
"overflow and raise a :exc:`RuntimeError` exception, but certain patterns "
"could sidestep the checking and if you were unlucky Python could segfault. "
"Python 2.4's regular expression engine can match this pattern without "
"problems."
msgstr ""
#: whatsnew/2.4.rst:1269
msgid ""
"The :mod:`signal` module now performs tighter error-checking on the "
"parameters to the :func:`signal.signal` function. For example, you can't "
"set a handler on the :const:`SIGKILL` signal; previous versions of Python "
"would quietly accept this, but 2.4 will raise a :exc:`RuntimeError` "
"exception."
msgstr ""
#: whatsnew/2.4.rst:1274
msgid ""
"Two new functions were added to the :mod:`socket` module. :func:`socketpair` "
"returns a pair of connected sockets and ``getservbyport(port)`` looks up the "
"service name for a given port number. (Contributed by Dave Cole and Barry "
"Warsaw.)"
msgstr ""
#: whatsnew/2.4.rst:1279
msgid ""
"The :func:`sys.exitfunc` function has been deprecated. Code should be using "
"the existing :mod:`atexit` module, which correctly handles calling multiple "
"exit functions. Eventually :func:`sys.exitfunc` will become a purely "
"internal interface, accessed only by :mod:`atexit`."
msgstr ""
#: whatsnew/2.4.rst:1284
msgid ""
"The :mod:`tarfile` module now generates GNU-format tar files by default. "
"(Contributed by Lars Gustäbel.)"
msgstr ""
#: whatsnew/2.4.rst:1287
msgid ""
"The :mod:`threading` module now has an elegantly simple way to support "
"thread-local data. The module contains a :class:`local` class whose "
"attribute values are local to different threads. ::"
msgstr ""
#: whatsnew/2.4.rst:1297
msgid ""
"Other threads can assign and retrieve their own values for the :attr:"
"`number` and :attr:`url` attributes. You can subclass :class:`local` to "
"initialize attributes or to add methods. (Contributed by Jim Fulton.)"
msgstr ""
#: whatsnew/2.4.rst:1301
msgid ""
"The :mod:`timeit` module now automatically disables periodic garbage "
"collection during the timing loop. This change makes consecutive timings "
"more comparable. (Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:1305
msgid ""
"The :mod:`weakref` module now supports a wider variety of objects including "
"Python functions, class instances, sets, frozensets, deques, arrays, files, "
"sockets, and regular expression pattern objects. (Contributed by Raymond "
"Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:1310
msgid ""
"The :mod:`xmlrpclib` module now supports a multi-call extension for "
"transmitting multiple XML-RPC calls in a single HTTP operation. (Contributed "
"by Brian Quinlan.)"
msgstr ""
#: whatsnew/2.4.rst:1314
msgid ""
"The :mod:`mpz`, :mod:`rotor`, and :mod:`xreadlines` modules have been "
"removed."
msgstr ""
#: whatsnew/2.4.rst:1323
msgid "cookielib"
msgstr ""
#: whatsnew/2.4.rst:1325
msgid ""
"The :mod:`cookielib` library supports client-side handling for HTTP cookies, "
"mirroring the :mod:`Cookie` module's server-side cookie support. Cookies are "
"stored in cookie jars; the library transparently stores cookies offered by "
"the web server in the cookie jar, and fetches the cookie from the jar when "
"connecting to the server. As in web browsers, policy objects control whether "
"cookies are accepted or not."
msgstr ""
#: whatsnew/2.4.rst:1332
msgid ""
"In order to store cookies across sessions, two implementations of cookie "
"jars are provided: one that stores cookies in the Netscape format so "
"applications can use the Mozilla or Lynx cookie files, and one that stores "
"cookies in the same format as the Perl libwww library."
msgstr ""
#: whatsnew/2.4.rst:1337
msgid ""
":mod:`urllib2` has been changed to interact with :mod:`cookielib`: :class:"
"`HTTPCookieProcessor` manages a cookie jar that is used when accessing URLs."
msgstr ""
#: whatsnew/2.4.rst:1341
msgid "This module was contributed by John J. Lee."
msgstr ""
#: whatsnew/2.4.rst:1347 whatsnew/3.4.rst:776 whatsnew/3.5.rst:1044
msgid "doctest"
msgstr ""
#: whatsnew/2.4.rst:1349
msgid ""
"The :mod:`doctest` module underwent considerable refactoring thanks to "
"Edward Loper and Tim Peters. Testing can still be as simple as running :"
"func:`doctest.testmod`, but the refactorings allow customizing the module's "
"operation in various ways"
msgstr ""
#: whatsnew/2.4.rst:1354
msgid ""
"The new :class:`DocTestFinder` class extracts the tests from a given "
"object's docstrings::"
msgstr ""
#: whatsnew/2.4.rst:1370
msgid ""
"The new :class:`DocTestRunner` class then runs individual tests and can "
"produce a summary of the results::"
msgstr ""
#: whatsnew/2.4.rst:1379
msgid "The above example produces the following output::"
msgstr ""
#: whatsnew/2.4.rst:1387
msgid ""
":class:`DocTestRunner` uses an instance of the :class:`OutputChecker` class "
"to compare the expected output with the actual output. This class takes a "
"number of different flags that customize its behaviour; ambitious users can "
"also write a completely new subclass of :class:`OutputChecker`."
msgstr ""
#: whatsnew/2.4.rst:1392
msgid ""
"The default output checker provides a number of handy features. For example, "
"with the :const:`doctest.ELLIPSIS` option flag, an ellipsis (``...``) in the "
"expected output matches any substring, making it easier to accommodate "
"outputs that vary in minor ways::"
msgstr ""
#: whatsnew/2.4.rst:1403
msgid "Another special string, ``<BLANKLINE>``, matches a blank line::"
msgstr ""
#: whatsnew/2.4.rst:1411
msgid ""
"Another new capability is producing a diff-style display of the output by "
"specifying the :const:`doctest.REPORT_UDIFF` (unified diffs), :const:"
"`doctest.REPORT_CDIFF` (context diffs), or :const:`doctest.REPORT_NDIFF` "
"(delta-style) option flags. For example::"
msgstr ""
#: whatsnew/2.4.rst:1427
msgid ""
"Running the above function's tests with :const:`doctest.REPORT_UDIFF` "
"specified, you get the following output::"
msgstr ""
#: whatsnew/2.4.rst:1448
msgid "Some of the changes to Python's build process and to the C API are:"
msgstr ""
#: whatsnew/2.4.rst:1450
msgid ""
"Three new convenience macros were added for common return values from "
"extension functions: :c:macro:`Py_RETURN_NONE`, :c:macro:`Py_RETURN_TRUE`, "
"and :c:macro:`Py_RETURN_FALSE`. (Contributed by Brett Cannon.)"
msgstr ""
#: whatsnew/2.4.rst:1454
msgid ""
"Another new macro, :c:macro:`Py_CLEAR(obj)`, decreases the reference count "
"of *obj* and sets *obj* to the null pointer. (Contributed by Jim Fulton.)"
msgstr ""
#: whatsnew/2.4.rst:1457
msgid ""
"A new function, ``PyTuple_Pack(N, obj1, obj2, ..., objN)``, constructs "
"tuples from a variable length argument list of Python objects. (Contributed "
"by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:1461
msgid ""
"A new function, ``PyDict_Contains(d, k)``, implements fast dictionary "
"lookups without masking exceptions raised during the look-up process. "
"(Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:1465
msgid ""
"The :c:macro:`Py_IS_NAN(X)` macro returns 1 if its float or double argument "
"*X* is a NaN. (Contributed by Tim Peters.)"
msgstr ""
#: whatsnew/2.4.rst:1468
msgid ""
"C code can avoid unnecessary locking by using the new :c:func:"
"`PyEval_ThreadsInitialized` function to tell if any thread operations have "
"been performed. If this function returns false, no lock operations are "
"needed. (Contributed by Nick Coghlan.)"
msgstr ""
#: whatsnew/2.4.rst:1473
msgid ""
"A new function, :c:func:`PyArg_VaParseTupleAndKeywords`, is the same as :c:"
"func:`PyArg_ParseTupleAndKeywords` but takes a :c:type:`va_list` instead of "
"a number of arguments. (Contributed by Greg Chapman.)"
msgstr ""
#: whatsnew/2.4.rst:1477
msgid ""
"A new method flag, :const:`METH_COEXISTS`, allows a function defined in "
"slots to co-exist with a :c:type:`PyCFunction` having the same name. This "
"can halve the access time for a method such as :meth:`set.__contains__`. "
"(Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.4.rst:1482
msgid ""
"Python can now be built with additional profiling for the interpreter "
"itself, intended as an aid to people developing the Python core. Providing :"
"option:`----enable-profiling` to the :program:`configure` script will let "
"you profile the interpreter with :program:`gprof`, and providing the :option:"
"`----with-tsc` switch enables profiling using the Pentium's Time-Stamp- "
"Counter register. Note that the :option:`----with-tsc` switch is slightly "
"misnamed, because the profiling feature also works on the PowerPC platform, "
"though that processor architecture doesn't call that register \"the TSC "
"register\". (Contributed by Jeremy Hylton.)"
msgstr ""
#: whatsnew/2.4.rst:1492
msgid ""
"The :c:type:`tracebackobject` type has been renamed to :c:type:"
"`PyTracebackObject`."
msgstr ""
#: whatsnew/2.4.rst:1501
msgid ""
"The Windows port now builds under MSVC++ 7.1 as well as version 6. "
"(Contributed by Martin von Löwis.)"
msgstr ""
#: whatsnew/2.4.rst:1508
#, fuzzy
msgid "Porting to Python 2.4"
msgstr "Portage vers Python 3.2"
#: whatsnew/2.4.rst:1513
msgid ""
"Left shifts and hexadecimal/octal constants that are too large no longer "
"trigger a :exc:`FutureWarning` and return a value limited to 32 or 64 bits; "
"instead they return a long integer."
msgstr ""
#: whatsnew/2.4.rst:1520
msgid ""
"The :func:`zip` built-in function and :func:`itertools.izip` now return an "
"empty list instead of raising a :exc:`TypeError` exception if called with no "
"arguments."
msgstr ""
#: whatsnew/2.4.rst:1524
msgid ""
"You can no longer compare the :class:`date` and :class:`datetime` instances "
"provided by the :mod:`datetime` module. Two instances of different classes "
"will now always be unequal, and relative comparisons (``<``, ``>``) will "
"raise a :exc:`TypeError`."
msgstr ""
#: whatsnew/2.4.rst:1529
msgid ""
":func:`dircache.listdir` now passes exceptions to the caller instead of "
"returning empty lists."
msgstr ""
#: whatsnew/2.4.rst:1532
msgid ""
":func:`LexicalHandler.startDTD` used to receive the public and system IDs in "
"the wrong order. This has been corrected; applications relying on the wrong "
"order need to be fixed."
msgstr ""
#: whatsnew/2.4.rst:1536
msgid ""
":func:`fcntl.ioctl` now warns if the *mutate* argument is omitted and "
"relevant."
msgstr ""
#: whatsnew/2.4.rst:1539
msgid ""
"The :mod:`tarfile` module now generates GNU-format tar files by default."
msgstr ""
#: whatsnew/2.4.rst:1541
msgid ""
"Encountering a failure while importing a module no longer leaves a "
"partially- initialized module object in ``sys.modules``."
msgstr ""
#: whatsnew/2.4.rst:1544
msgid ""
":const:`None` is now a constant; code that binds a new value to the name "
"``None`` is now a syntax error."
msgstr ""
#: whatsnew/2.4.rst:1547
msgid ""
"The :func:`signals.signal` function now raises a :exc:`RuntimeError` "
"exception for certain illegal values; previously these errors would pass "
"silently. For example, you can no longer set a handler on the :const:"
"`SIGKILL` signal."
msgstr ""
#: whatsnew/2.4.rst:1559
msgid ""
"The author would like to thank the following people for offering "
"suggestions, corrections and assistance with various drafts of this article: "
"Koray Can, Hye-Shik Chang, Michael Dyck, Raymond Hettinger, Brian Hurt, "
"Hamish Lawson, Fredrik Lundh, Sean Reifschneider, Sadruddin Rejeb."
msgstr ""
#: whatsnew/2.5.rst:3
#, fuzzy
msgid "What's New in Python 2.5"
msgstr "Nouveautés de Python 2.0"
#: whatsnew/2.5.rst:12
msgid ""
"This article explains the new features in Python 2.5. The final release of "
"Python 2.5 is scheduled for August 2006; :pep:`356` describes the planned "
"release schedule."
msgstr ""
#: whatsnew/2.5.rst:16
msgid ""
"The changes in Python 2.5 are an interesting mix of language and library "
"improvements. The library enhancements will be more important to Python's "
"user community, I think, because several widely-useful packages were added. "
"New modules include ElementTree for XML processing (:mod:`xml.etree`), the "
"SQLite database module (:mod:`sqlite`), and the :mod:`ctypes` module for "
"calling C functions."
msgstr ""
#: whatsnew/2.5.rst:23
msgid ""
"The language changes are of middling significance. Some pleasant new "
"features were added, but most of them aren't features that you'll use every "
"day. Conditional expressions were finally added to the language using a "
"novel syntax; see section :ref:`pep-308`. The new ':keyword:`with`' "
"statement will make writing cleanup code easier (section :ref:`pep-343`). "
"Values can now be passed into generators (section :ref:`pep-342`). Imports "
"are now visible as either absolute or relative (section :ref:`pep-328`). "
"Some corner cases of exception handling are handled better (section :ref:"
"`pep-341`). All these improvements are worthwhile, but they're improvements "
"to one specific language feature or another; none of them are broad "
"modifications to Python's semantics."
msgstr ""
#: whatsnew/2.5.rst:34
msgid ""
"As well as the language and library additions, other improvements and "
"bugfixes were made throughout the source tree. A search through the SVN "
"change logs finds there were 353 patches applied and 458 bugs fixed between "
"Python 2.4 and 2.5. (Both figures are likely to be underestimates.)"
msgstr ""
#: whatsnew/2.5.rst:39
msgid ""
"This article doesn't try to be a complete specification of the new features; "
"instead changes are briefly introduced using helpful examples. For full "
"details, you should always refer to the documentation for Python 2.5 at "
"https://docs.python.org. If you want to understand the complete "
"implementation and design rationale, refer to the PEP for a particular new "
"feature."
msgstr ""
#: whatsnew/2.5.rst:45
msgid ""
"Comments, suggestions, and error reports for this document are welcome; "
"please e-mail them to the author or open a bug in the Python bug tracker."
msgstr ""
#: whatsnew/2.5.rst:54
msgid "PEP 308: Conditional Expressions"
msgstr ""
#: whatsnew/2.5.rst:56
msgid ""
"For a long time, people have been requesting a way to write conditional "
"expressions, which are expressions that return value A or value B depending "
"on whether a Boolean value is true or false. A conditional expression lets "
"you write a single assignment statement that has the same effect as the "
"following::"
msgstr ""
#: whatsnew/2.5.rst:66
msgid ""
"There have been endless tedious discussions of syntax on both python-dev and "
"comp.lang.python. A vote was even held that found the majority of voters "
"wanted conditional expressions in some form, but there was no syntax that "
"was preferred by a clear majority. Candidates included C's ``cond ? true_v : "
"false_v``, ``if cond then true_v else false_v``, and 16 other variations."
msgstr ""
#: whatsnew/2.5.rst:72
msgid "Guido van Rossum eventually chose a surprising syntax::"
msgstr ""
#: whatsnew/2.5.rst:76
msgid ""
"Evaluation is still lazy as in existing Boolean expressions, so the order of "
"evaluation jumps around a bit. The *condition* expression in the middle is "
"evaluated first, and the *true_value* expression is evaluated only if the "
"condition was true. Similarly, the *false_value* expression is only "
"evaluated when the condition is false."
msgstr ""
#: whatsnew/2.5.rst:82
msgid ""
"This syntax may seem strange and backwards; why does the condition go in the "
"*middle* of the expression, and not in the front as in C's ``c ? x : y``? "
"The decision was checked by applying the new syntax to the modules in the "
"standard library and seeing how the resulting code read. In many cases "
"where a conditional expression is used, one value seems to be the 'common "
"case' and one value is an 'exceptional case', used only on rarer occasions "
"when the condition isn't met. The conditional syntax makes this pattern a "
"bit more obvious::"
msgstr ""
#: whatsnew/2.5.rst:92
msgid ""
"I read the above statement as meaning \"here *contents* is usually assigned "
"a value of ``doc+'\\n'``; sometimes *doc* is empty, in which special case "
"an empty string is returned.\" I doubt I will use conditional expressions "
"very often where there isn't a clear common and uncommon case."
msgstr ""
#: whatsnew/2.5.rst:97
msgid ""
"There was some discussion of whether the language should require surrounding "
"conditional expressions with parentheses. The decision was made to *not* "
"require parentheses in the Python language's grammar, but as a matter of "
"style I think you should always use them. Consider these two statements::"
msgstr ""
#: whatsnew/2.5.rst:108
msgid ""
"In the first version, I think a reader's eye might group the statement into "
"'level = 1', 'if logging', 'else 0', and think that the condition decides "
"whether the assignment to *level* is performed. The second version reads "
"better, in my opinion, because it makes it clear that the assignment is "
"always performed and the choice is being made between two values."
msgstr ""
#: whatsnew/2.5.rst:114
msgid ""
"Another reason for including the brackets: a few odd combinations of list "
"comprehensions and lambdas could look like incorrect conditional "
"expressions. See :pep:`308` for some examples. If you put parentheses "
"around your conditional expressions, you won't run into this case."
msgstr ""
#: whatsnew/2.5.rst:123
msgid "PEP 308 - Conditional Expressions"
msgstr ""
#: whatsnew/2.5.rst:123
msgid ""
"PEP written by Guido van Rossum and Raymond D. Hettinger; implemented by "
"Thomas Wouters."
msgstr ""
#: whatsnew/2.5.rst:132
msgid "PEP 309: Partial Function Application"
msgstr ""
#: whatsnew/2.5.rst:134
msgid ""
"The :mod:`functools` module is intended to contain tools for functional-"
"style programming."
msgstr ""
#: whatsnew/2.5.rst:137
msgid ""
"One useful tool in this module is the :func:`partial` function. For programs "
"written in a functional style, you'll sometimes want to construct variants "
"of existing functions that have some of the parameters filled in. Consider "
"a Python function ``f(a, b, c)``; you could create a new function ``g(b, "
"c)`` that was equivalent to ``f(1, b, c)``. This is called \"partial "
"function application\"."
msgstr ""
#: whatsnew/2.5.rst:144
msgid ""
":func:`partial` takes the arguments ``(function, arg1, arg2, ... "
"kwarg1=value1, kwarg2=value2)``. The resulting object is callable, so you "
"can just call it to invoke *function* with the filled-in arguments."
msgstr ""
#: whatsnew/2.5.rst:148
msgid "Here's a small but realistic example::"
msgstr ""
#: whatsnew/2.5.rst:160
msgid ""
"Here's another example, from a program that uses PyGTK. Here a context- "
"sensitive pop-up menu is being constructed dynamically. The callback "
"provided for the menu option is a partially applied version of the :meth:"
"`open_item` method, where the first argument has been provided. ::"
msgstr ""
#: whatsnew/2.5.rst:173
msgid ""
"Another function in the :mod:`functools` module is the "
"``update_wrapper(wrapper, wrapped)`` function that helps you write well- "
"behaved decorators. :func:`update_wrapper` copies the name, module, and "
"docstring attribute to a wrapper function so that tracebacks inside the "
"wrapped function are easier to understand. For example, you might write::"
msgstr ""
#: whatsnew/2.5.rst:186
msgid ""
":func:`wraps` is a decorator that can be used inside your own decorators to "
"copy the wrapped function's information. An alternate version of the "
"previous example would be::"
msgstr ""
#: whatsnew/2.5.rst:201
msgid "PEP 309 - Partial Function Application"
msgstr ""
#: whatsnew/2.5.rst:201
msgid ""
"PEP proposed and written by Peter Harris; implemented by Hye-Shik Chang and "
"Nick Coghlan, with adaptations by Raymond Hettinger."
msgstr ""
#: whatsnew/2.5.rst:210
msgid "PEP 314: Metadata for Python Software Packages v1.1"
msgstr ""
#: whatsnew/2.5.rst:212
msgid ""
"Some simple dependency support was added to Distutils. The :func:`setup` "
"function now has ``requires``, ``provides``, and ``obsoletes`` keyword "
"parameters. When you build a source distribution using the ``sdist`` "
"command, the dependency information will be recorded in the :file:`PKG-INFO` "
"file."
msgstr ""
#: whatsnew/2.5.rst:217
msgid ""
"Another new keyword parameter is ``download_url``, which should be set to a "
"URL for the package's source code. This means it's now possible to look up "
"an entry in the package index, determine the dependencies for a package, and "
"download the required packages. ::"
msgstr ""
#: whatsnew/2.5.rst:231
msgid ""
"Another new enhancement to the Python package index at https://pypi.python."
"org is storing source and binary archives for a package. The new :command:"
"`upload` Distutils command will upload a package to the repository."
msgstr ""
#: whatsnew/2.5.rst:236
msgid ""
"Before a package can be uploaded, you must be able to build a distribution "
"using the :command:`sdist` Distutils command. Once that works, you can run "
"``python setup.py upload`` to add your package to the PyPI archive. "
"Optionally you can GPG-sign the package by supplying the :option:`--sign` "
"and :option:`--identity` options."
msgstr ""
#: whatsnew/2.5.rst:242
msgid ""
"Package uploading was implemented by Martin von Löwis and Richard Jones."
msgstr ""
#: whatsnew/2.5.rst:248
msgid "PEP 314 - Metadata for Python Software Packages v1.1"
msgstr ""
#: whatsnew/2.5.rst:248
msgid ""
"PEP proposed and written by A.M. Kuchling, Richard Jones, and Fred Drake; "
"implemented by Richard Jones and Fred Drake."
msgstr ""
#: whatsnew/2.5.rst:257
msgid "PEP 328: Absolute and Relative Imports"
msgstr ""
#: whatsnew/2.5.rst:259
msgid ""
"The simpler part of PEP 328 was implemented in Python 2.4: parentheses could "
"now be used to enclose the names imported from a module using the ``from ... "
"import ...`` statement, making it easier to import many different names."
msgstr ""
#: whatsnew/2.5.rst:263
msgid ""
"The more complicated part has been implemented in Python 2.5: importing a "
"module can be specified to use absolute or package-relative imports. The "
"plan is to move toward making absolute imports the default in future "
"versions of Python."
msgstr ""
#: whatsnew/2.5.rst:267
msgid "Let's say you have a package directory like this::"
msgstr ""
#: whatsnew/2.5.rst:274
msgid ""
"This defines a package named :mod:`pkg` containing the :mod:`pkg.main` and :"
"mod:`pkg.string` submodules."
msgstr ""
#: whatsnew/2.5.rst:277
msgid ""
"Consider the code in the :file:`main.py` module. What happens if it "
"executes the statement ``import string``? In Python 2.4 and earlier, it "
"will first look in the package's directory to perform a relative import, "
"finds :file:`pkg/string.py`, imports the contents of that file as the :mod:"
"`pkg.string` module, and that module is bound to the name ``string`` in the :"
"mod:`pkg.main` module's namespace."
msgstr ""
#: whatsnew/2.5.rst:284
msgid ""
"That's fine if :mod:`pkg.string` was what you wanted. But what if you "
"wanted Python's standard :mod:`string` module? There's no clean way to "
"ignore :mod:`pkg.string` and look for the standard module; generally you had "
"to look at the contents of ``sys.modules``, which is slightly unclean. "
"Holger Krekel's :mod:`py.std` package provides a tidier way to perform "
"imports from the standard library, ``import py; py.std.string.join()``, but "
"that package isn't available on all Python installations."
msgstr ""
#: whatsnew/2.5.rst:292
msgid ""
"Reading code which relies on relative imports is also less clear, because a "
"reader may be confused about which module, :mod:`string` or :mod:`pkg."
"string`, is intended to be used. Python users soon learned not to duplicate "
"the names of standard library modules in the names of their packages' "
"submodules, but you can't protect against having your submodule's name being "
"used for a new module added in a future version of Python."
msgstr ""
#: whatsnew/2.5.rst:299
msgid ""
"In Python 2.5, you can switch :keyword:`import`'s behaviour to absolute "
"imports using a ``from __future__ import absolute_import`` directive. This "
"absolute- import behaviour will become the default in a future version "
"(probably Python 2.7). Once absolute imports are the default, ``import "
"string`` will always find the standard library's version. It's suggested "
"that users should begin using absolute imports as much as possible, so it's "
"preferable to begin writing ``from pkg import string`` in your code."
msgstr ""
#: whatsnew/2.5.rst:307
msgid ""
"Relative imports are still possible by adding a leading period to the "
"module name when using the ``from ... import`` form::"
msgstr ""
#: whatsnew/2.5.rst:315
msgid ""
"This imports the :mod:`string` module relative to the current package, so "
"in :mod:`pkg.main` this will import *name1* and *name2* from :mod:`pkg."
"string`. Additional leading periods perform the relative import starting "
"from the parent of the current package. For example, code in the :mod:`A.B."
"C` module can do::"
msgstr ""
#: whatsnew/2.5.rst:324
msgid ""
"Leading periods cannot be used with the ``import modname`` form of the "
"import statement, only the ``from ... import`` form."
msgstr ""
#: whatsnew/2.5.rst:331
msgid "PEP written by Aahz; implemented by Thomas Wouters."
msgstr ""
#: whatsnew/2.5.rst:333
msgid "http://codespeak.net/py/current/doc/index.html"
msgstr ""
#: whatsnew/2.5.rst:334
msgid ""
"The py library by Holger Krekel, which contains the :mod:`py.std` package."
msgstr ""
#: whatsnew/2.5.rst:342
msgid "PEP 338: Executing Modules as Scripts"
msgstr ""
#: whatsnew/2.5.rst:344
msgid ""
"The :option:`-m` switch added in Python 2.4 to execute a module as a script "
"gained a few more abilities. Instead of being implemented in C code inside "
"the Python interpreter, the switch now uses an implementation in a new "
"module, :mod:`runpy`."
msgstr ""
#: whatsnew/2.5.rst:349
msgid ""
"The :mod:`runpy` module implements a more sophisticated import mechanism so "
"that it's now possible to run modules in a package such as :mod:`pychecker."
"checker`. The module also supports alternative import mechanisms such as "
"the :mod:`zipimport` module. This means you can add a .zip archive's path "
"to ``sys.path`` and then use the :option:`-m` switch to execute code from "
"the archive."
msgstr ""
#: whatsnew/2.5.rst:359
msgid "PEP 338 - Executing modules as scripts"
msgstr ""
#: whatsnew/2.5.rst:360
msgid "PEP written and implemented by Nick Coghlan."
msgstr ""
#: whatsnew/2.5.rst:368
msgid "PEP 341: Unified try/except/finally"
msgstr ""
#: whatsnew/2.5.rst:370
msgid ""
"Until Python 2.5, the :keyword:`try` statement came in two flavours. You "
"could use a :keyword:`finally` block to ensure that code is always executed, "
"or one or more :keyword:`except` blocks to catch specific exceptions. You "
"couldn't combine both :keyword:`except` blocks and a :keyword:`finally` "
"block, because generating the right bytecode for the combined version was "
"complicated and it wasn't clear what the semantics of the combined statement "
"should be."
msgstr ""
#: whatsnew/2.5.rst:377
msgid ""
"Guido van Rossum spent some time working with Java, which does support the "
"equivalent of combining :keyword:`except` blocks and a :keyword:`finally` "
"block, and this clarified what the statement should mean. In Python 2.5, "
"you can now write::"
msgstr ""
#: whatsnew/2.5.rst:393
msgid ""
"The code in *block-1* is executed. If the code raises an exception, the "
"various :keyword:`except` blocks are tested: if the exception is of class :"
"class:`Exception1`, *handler-1* is executed; otherwise if it's of class :"
"class:`Exception2`, *handler-2* is executed, and so forth. If no exception "
"is raised, the *else-block* is executed."
msgstr ""
#: whatsnew/2.5.rst:399
msgid ""
"No matter what happened previously, the *final-block* is executed once the "
"code block is complete and any raised exceptions handled. Even if there's an "
"error in an exception handler or the *else-block* and a new exception is "
"raised, the code in the *final-block* is still run."
msgstr ""
#: whatsnew/2.5.rst:407
msgid "PEP 341 - Unifying try-except and try-finally"
msgstr ""
#: whatsnew/2.5.rst:408
msgid "PEP written by Georg Brandl; implementation by Thomas Lee."
msgstr ""
#: whatsnew/2.5.rst:416
msgid "PEP 342: New Generator Features"
msgstr ""
#: whatsnew/2.5.rst:418
msgid ""
"Python 2.5 adds a simple way to pass values *into* a generator. As "
"introduced in Python 2.3, generators only produce output; once a generator's "
"code was invoked to create an iterator, there was no way to pass any new "
"information into the function when its execution is resumed. Sometimes the "
"ability to pass in some information would be useful. Hackish solutions to "
"this include making the generator's code look at a global variable and then "
"changing the global variable's value, or passing in some mutable object that "
"callers then modify."
msgstr ""
#: whatsnew/2.5.rst:426
msgid "To refresh your memory of basic generators, here's a simple example::"
msgstr ""
#: whatsnew/2.5.rst:434
msgid ""
"When you call ``counter(10)``, the result is an iterator that returns the "
"values from 0 up to 9. On encountering the :keyword:`yield` statement, the "
"iterator returns the provided value and suspends the function's execution, "
"preserving the local variables. Execution resumes on the following call to "
"the iterator's :meth:`next` method, picking up after the :keyword:`yield` "
"statement."
msgstr ""
#: whatsnew/2.5.rst:440
msgid ""
"In Python 2.3, :keyword:`yield` was a statement; it didn't return any "
"value. In 2.5, :keyword:`yield` is now an expression, returning a value "
"that can be assigned to a variable or otherwise operated on::"
msgstr ""
#: whatsnew/2.5.rst:446
msgid ""
"I recommend that you always put parentheses around a :keyword:`yield` "
"expression when you're doing something with the returned value, as in the "
"above example. The parentheses aren't always necessary, but it's easier to "
"always add them instead of having to remember when they're needed."
msgstr ""
#: whatsnew/2.5.rst:451
msgid ""
"(:pep:`342` explains the exact rules, which are that a :keyword:`yield`\\ -"
"expression must always be parenthesized except when it occurs at the top-"
"level expression on the right-hand side of an assignment. This means you "
"can write ``val = yield i`` but have to use parentheses when there's an "
"operation, as in ``val = (yield i) + 12``.)"
msgstr ""
#: whatsnew/2.5.rst:457
msgid ""
"Values are sent into a generator by calling its ``send(value)`` method. The "
"generator's code is then resumed and the :keyword:`yield` expression returns "
"the specified *value*. If the regular :meth:`next` method is called, the :"
"keyword:`yield` returns :const:`None`."
msgstr ""
#: whatsnew/2.5.rst:462
msgid ""
"Here's the previous example, modified to allow changing the value of the "
"internal counter. ::"
msgstr ""
#: whatsnew/2.5.rst:475
msgid "And here's an example of changing the counter::"
msgstr ""
#: whatsnew/2.5.rst:492
msgid ""
":keyword:`yield` will usually return :const:`None`, so you should always "
"check for this case. Don't just use its value in expressions unless you're "
"sure that the :meth:`send` method will be the only method used to resume "
"your generator function."
msgstr ""
#: whatsnew/2.5.rst:497
msgid ""
"In addition to :meth:`send`, there are two other new methods on generators:"
msgstr ""
#: whatsnew/2.5.rst:499
msgid ""
"``throw(type, value=None, traceback=None)`` is used to raise an exception "
"inside the generator; the exception is raised by the :keyword:`yield` "
"expression where the generator's execution is paused."
msgstr ""
#: whatsnew/2.5.rst:503
msgid ""
":meth:`close` raises a new :exc:`GeneratorExit` exception inside the "
"generator to terminate the iteration. On receiving this exception, the "
"generator's code must either raise :exc:`GeneratorExit` or :exc:"
"`StopIteration`. Catching the :exc:`GeneratorExit` exception and returning "
"a value is illegal and will trigger a :exc:`RuntimeError`; if the function "
"raises some other exception, that exception is propagated to the caller. :"
"meth:`close` will also be called by Python's garbage collector when the "
"generator is garbage-collected."
msgstr ""
#: whatsnew/2.5.rst:511
msgid ""
"If you need to run cleanup code when a :exc:`GeneratorExit` occurs, I "
"suggest using a ``try: ... finally:`` suite instead of catching :exc:"
"`GeneratorExit`."
msgstr ""
#: whatsnew/2.5.rst:514
msgid ""
"The cumulative effect of these changes is to turn generators from one-way "
"producers of information into both producers and consumers."
msgstr ""
#: whatsnew/2.5.rst:517
msgid ""
"Generators also become *coroutines*, a more generalized form of subroutines. "
"Subroutines are entered at one point and exited at another point (the top of "
"the function, and a :keyword:`return` statement), but coroutines can be "
"entered, exited, and resumed at many different points (the :keyword:`yield` "
"statements). We'll have to figure out patterns for using coroutines "
"effectively in Python."
msgstr ""
#: whatsnew/2.5.rst:523
msgid ""
"The addition of the :meth:`close` method has one side effect that isn't "
"obvious. :meth:`close` is called when a generator is garbage-collected, so "
"this means the generator's code gets one last chance to run before the "
"generator is destroyed. This last chance means that ``try...finally`` "
"statements in generators can now be guaranteed to work; the :keyword:"
"`finally` clause will now always get a chance to run. The syntactic "
"restriction that you couldn't mix :keyword:`yield` statements with a ``try..."
"finally`` suite has therefore been removed. This seems like a minor bit of "
"language trivia, but using generators and ``try...finally`` is actually "
"necessary in order to implement the :keyword:`with` statement described by "
"PEP 343. I'll look at this new statement in the following section."
msgstr ""
#: whatsnew/2.5.rst:535
msgid ""
"Another even more esoteric effect of this change: previously, the :attr:"
"`gi_frame` attribute of a generator was always a frame object. It's now "
"possible for :attr:`gi_frame` to be ``None`` once the generator has been "
"exhausted."
msgstr ""
#: whatsnew/2.5.rst:548
msgid "PEP 342 - Coroutines via Enhanced Generators"
msgstr ""
#: whatsnew/2.5.rst:544
msgid ""
"PEP written by Guido van Rossum and Phillip J. Eby; implemented by Phillip "
"J. Eby. Includes examples of some fancier uses of generators as coroutines."
msgstr ""
#: whatsnew/2.5.rst:547
msgid ""
"Earlier versions of these features were proposed in :pep:`288` by Raymond "
"Hettinger and :pep:`325` by Samuele Pedroni."
msgstr ""
#: whatsnew/2.5.rst:551
msgid "http://en.wikipedia.org/wiki/Coroutine"
msgstr ""
#: whatsnew/2.5.rst:551
msgid "The Wikipedia entry for coroutines."
msgstr ""
#: whatsnew/2.5.rst:553
msgid "http://www.sidhe.org/~dan/blog/archives/000178.html"
msgstr ""
#: whatsnew/2.5.rst:554
msgid ""
"An explanation of coroutines from a Perl point of view, written by Dan "
"Sugalski."
msgstr ""
#: whatsnew/2.5.rst:562 whatsnew/2.6.rst:248
msgid "PEP 343: The 'with' statement"
msgstr ""
#: whatsnew/2.5.rst:564 whatsnew/2.6.rst:259
msgid ""
"The ':keyword:`with`' statement clarifies code that previously would use "
"``try...finally`` blocks to ensure that clean-up code is executed. In this "
"section, I'll discuss the statement as it will commonly be used. In the "
"next section, I'll examine the implementation details and show how to write "
"objects for use with this statement."
msgstr ""
#: whatsnew/2.5.rst:570
msgid ""
"The ':keyword:`with`' statement is a new control-flow structure whose basic "
"structure is::"
msgstr ""
#: whatsnew/2.5.rst:576
msgid ""
"The expression is evaluated, and it should result in an object that supports "
"the context management protocol (that is, has :meth:`__enter__` and :meth:"
"`__exit__` methods."
msgstr ""
#: whatsnew/2.5.rst:580 whatsnew/2.6.rst:275
msgid ""
"The object's :meth:`__enter__` is called before *with-block* is executed and "
"therefore can run set-up code. It also may return a value that is bound to "
"the name *variable*, if given. (Note carefully that *variable* is *not* "
"assigned the result of *expression*.)"
msgstr ""
#: whatsnew/2.5.rst:585 whatsnew/2.6.rst:280
msgid ""
"After execution of the *with-block* is finished, the object's :meth:"
"`__exit__` method is called, even if the block raised an exception, and can "
"therefore run clean-up code."
msgstr ""
#: whatsnew/2.5.rst:589
msgid ""
"To enable the statement in Python 2.5, you need to add the following "
"directive to your module::"
msgstr ""
#: whatsnew/2.5.rst:594
msgid "The statement will always be enabled in Python 2.6."
msgstr ""
#: whatsnew/2.5.rst:596 whatsnew/2.6.rst:284
msgid ""
"Some standard Python objects now support the context management protocol and "
"can be used with the ':keyword:`with`' statement. File objects are one "
"example::"
msgstr ""
#: whatsnew/2.5.rst:604 whatsnew/2.6.rst:292
msgid ""
"After this statement has executed, the file object in *f* will have been "
"automatically closed, even if the :keyword:`for` loop raised an exception "
"part- way through the block."
msgstr ""
#: whatsnew/2.5.rst:610 whatsnew/2.6.rst:298
msgid ""
"In this case, *f* is the same object created by :func:`open`, because :meth:"
"`file.__enter__` returns *self*."
msgstr ""
#: whatsnew/2.5.rst:613 whatsnew/2.6.rst:301
msgid ""
"The :mod:`threading` module's locks and condition variables also support "
"the ':keyword:`with`' statement::"
msgstr ""
#: whatsnew/2.5.rst:621 whatsnew/2.6.rst:309
msgid ""
"The lock is acquired before the block is executed and always released once "
"the block is complete."
msgstr ""
#: whatsnew/2.5.rst:624
msgid ""
"The new :func:`localcontext` function in the :mod:`decimal` module makes it "
"easy to save and restore the current decimal context, which encapsulates the "
"desired precision and rounding characteristics for computations::"
msgstr ""
#: whatsnew/2.5.rst:643 whatsnew/2.6.rst:331
msgid "Writing Context Managers"
msgstr ""
#: whatsnew/2.5.rst:645 whatsnew/2.6.rst:333
msgid ""
"Under the hood, the ':keyword:`with`' statement is fairly complicated. Most "
"people will only use ':keyword:`with`' in company with existing objects and "
"don't need to know these details, so you can skip the rest of this section "
"if you like. Authors of new objects will need to understand the details of "
"the underlying implementation and should keep reading."
msgstr ""
#: whatsnew/2.5.rst:651 whatsnew/2.6.rst:339
msgid "A high-level explanation of the context management protocol is:"
msgstr ""
#: whatsnew/2.5.rst:653 whatsnew/2.6.rst:341
msgid ""
"The expression is evaluated and should result in an object called a "
"\"context manager\". The context manager must have :meth:`__enter__` and :"
"meth:`__exit__` methods."
msgstr ""
#: whatsnew/2.5.rst:657
msgid ""
"The context manager's :meth:`__enter__` method is called. The value "
"returned is assigned to *VAR*. If no ``'as VAR'`` clause is present, the "
"value is simply discarded."
msgstr ""
#: whatsnew/2.5.rst:661 whatsnew/2.6.rst:349
msgid "The code in *BLOCK* is executed."
msgstr ""
#: whatsnew/2.5.rst:663
msgid ""
"If *BLOCK* raises an exception, the ``__exit__(type, value, traceback)`` is "
"called with the exception details, the same values returned by :func:`sys."
"exc_info`. The method's return value controls whether the exception is re-"
"raised: any false value re-raises the exception, and ``True`` will result in "
"suppressing it. You'll only rarely want to suppress the exception, because "
"if you do the author of the code containing the ':keyword:`with`' statement "
"will never realize anything went wrong."
msgstr ""
#: whatsnew/2.5.rst:671 whatsnew/2.6.rst:360
msgid ""
"If *BLOCK* didn't raise an exception, the :meth:`__exit__` method is still "
"called, but *type*, *value*, and *traceback* are all ``None``."
msgstr ""
#: whatsnew/2.5.rst:674 whatsnew/2.6.rst:363
msgid ""
"Let's think through an example. I won't present detailed code but will only "
"sketch the methods necessary for a database that supports transactions."
msgstr ""
#: whatsnew/2.5.rst:677 whatsnew/2.6.rst:366
msgid ""
"(For people unfamiliar with database terminology: a set of changes to the "
"database are grouped into a transaction. Transactions can be either "
"committed, meaning that all the changes are written into the database, or "
"rolled back, meaning that the changes are all discarded and the database is "
"unchanged. See any database textbook for more information.)"
msgstr ""
#: whatsnew/2.5.rst:683 whatsnew/2.6.rst:372
msgid ""
"Let's assume there's an object representing a database connection. Our goal "
"will be to let the user write code like this::"
msgstr ""
#: whatsnew/2.5.rst:692 whatsnew/2.6.rst:381
msgid ""
"The transaction should be committed if the code in the block runs flawlessly "
"or rolled back if there's an exception. Here's the basic interface for :"
"class:`DatabaseConnection` that I'll assume::"
msgstr ""
#: whatsnew/2.5.rst:705 whatsnew/2.6.rst:394
msgid ""
"The :meth:`__enter__` method is pretty easy, having only to start a new "
"transaction. For this application the resulting cursor object would be a "
"useful result, so the method will return it. The user can then add ``as "
"cursor`` to their ':keyword:`with`' statement to bind the cursor to a "
"variable name. ::"
msgstr ""
#: whatsnew/2.5.rst:717 whatsnew/2.6.rst:406
msgid ""
"The :meth:`__exit__` method is the most complicated because it's where most "
"of the work has to be done. The method has to check if an exception "
"occurred. If there was no exception, the transaction is committed. The "
"transaction is rolled back if there was an exception."
msgstr ""
#: whatsnew/2.5.rst:722 whatsnew/2.6.rst:411
msgid ""
"In the code below, execution will just fall off the end of the function, "
"returning the default value of ``None``. ``None`` is false, so the "
"exception will be re-raised automatically. If you wished, you could be more "
"explicit and add a :keyword:`return` statement at the marked location. ::"
msgstr ""
#: whatsnew/2.5.rst:742 whatsnew/2.6.rst:431
msgid "The contextlib module"
msgstr ""
#: whatsnew/2.5.rst:744
msgid ""
"The new :mod:`contextlib` module provides some functions and a decorator "
"that are useful for writing objects for use with the ':keyword:`with`' "
"statement."
msgstr ""
#: whatsnew/2.5.rst:747 whatsnew/2.6.rst:436
msgid ""
"The decorator is called :func:`contextmanager`, and lets you write a single "
"generator function instead of defining a new class. The generator should "
"yield exactly one value. The code up to the :keyword:`yield` will be "
"executed as the :meth:`__enter__` method, and the value yielded will be the "
"method's return value that will get bound to the variable in the ':keyword:"
"`with`' statement's :keyword:`as` clause, if any. The code after the :"
"keyword:`yield` will be executed in the :meth:`__exit__` method. Any "
"exception raised in the block will be raised by the :keyword:`yield` "
"statement."
msgstr ""
#: whatsnew/2.5.rst:756
msgid ""
"Our database example from the previous section could be written using this "
"decorator as::"
msgstr ""
#: whatsnew/2.5.rst:776 whatsnew/2.6.rst:465
msgid ""
"The :mod:`contextlib` module also has a ``nested(mgr1, mgr2, ...)`` function "
"that combines a number of context managers so you don't need to write nested "
"':keyword:`with`' statements. In this example, the single ':keyword:`with`' "
"statement both starts a database transaction and acquires a thread lock::"
msgstr ""
#: whatsnew/2.5.rst:785
msgid ""
"Finally, the ``closing(object)`` function returns *object* so that it can be "
"bound to a variable, and calls ``object.close`` at the end of the block. ::"
msgstr ""
#: whatsnew/2.5.rst:802 whatsnew/2.6.rst:492
msgid "PEP 343 - The \"with\" statement"
msgstr ""
#: whatsnew/2.5.rst:799 whatsnew/2.6.rst:489
msgid ""
"PEP written by Guido van Rossum and Nick Coghlan; implemented by Mike Bland, "
"Guido van Rossum, and Neal Norwitz. The PEP shows the code generated for a "
"':keyword:`with`' statement, which can be helpful in learning how the "
"statement works."
msgstr ""
#: whatsnew/2.5.rst:804 whatsnew/2.6.rst:494
msgid "The documentation for the :mod:`contextlib` module."
msgstr ""
#: whatsnew/2.5.rst:812
msgid "PEP 352: Exceptions as New-Style Classes"
msgstr ""
#: whatsnew/2.5.rst:814
msgid ""
"Exception classes can now be new-style classes, not just classic classes, "
"and the built-in :exc:`Exception` class and all the standard built-in "
"exceptions (:exc:`NameError`, :exc:`ValueError`, etc.) are now new-style "
"classes."
msgstr ""
#: whatsnew/2.5.rst:818
msgid ""
"The inheritance hierarchy for exceptions has been rearranged a bit. In 2.5, "
"the inheritance relationships are::"
msgstr ""
#: whatsnew/2.5.rst:827
msgid ""
"This rearrangement was done because people often want to catch all "
"exceptions that indicate program errors. :exc:`KeyboardInterrupt` and :exc:"
"`SystemExit` aren't errors, though, and usually represent an explicit action "
"such as the user hitting :kbd:`Control-C` or code calling :func:`sys.exit`. "
"A bare ``except:`` will catch all exceptions, so you commonly need to list :"
"exc:`KeyboardInterrupt` and :exc:`SystemExit` in order to re-raise them. "
"The usual pattern is::"
msgstr ""
#: whatsnew/2.5.rst:842
msgid ""
"In Python 2.5, you can now write ``except Exception`` to achieve the same "
"result, catching all the exceptions that usually indicate errors but "
"leaving :exc:`KeyboardInterrupt` and :exc:`SystemExit` alone. As in "
"previous versions, a bare ``except:`` still catches all exceptions."
msgstr ""
#: whatsnew/2.5.rst:847
msgid ""
"The goal for Python 3.0 is to require any class raised as an exception to "
"derive from :exc:`BaseException` or some descendant of :exc:`BaseException`, "
"and future releases in the Python 2.x series may begin to enforce this "
"constraint. Therefore, I suggest you begin making all your exception classes "
"derive from :exc:`Exception` now. It's been suggested that the bare "
"``except:`` form should be removed in Python 3.0, but Guido van Rossum "
"hasn't decided whether to do this or not."
msgstr ""
#: whatsnew/2.5.rst:855
msgid ""
"Raising of strings as exceptions, as in the statement ``raise \"Error "
"occurred\"``, is deprecated in Python 2.5 and will trigger a warning. The "
"aim is to be able to remove the string-exception feature in a few releases."
msgstr ""
#: whatsnew/2.5.rst:862
msgid "PEP 352 - Required Superclass for Exceptions"
msgstr ""
#: whatsnew/2.5.rst:863
msgid ""
"PEP written by Brett Cannon and Guido van Rossum; implemented by Brett "
"Cannon."
msgstr ""
#: whatsnew/2.5.rst:871
msgid "PEP 353: Using ssize_t as the index type"
msgstr ""
#: whatsnew/2.5.rst:873
msgid ""
"A wide-ranging change to Python's C API, using a new :c:type:`Py_ssize_t` "
"type definition instead of :c:type:`int`, will permit the interpreter to "
"handle more data on 64-bit platforms. This change doesn't affect Python's "
"capacity on 32-bit platforms."
msgstr ""
#: whatsnew/2.5.rst:878
msgid ""
"Various pieces of the Python interpreter used C's :c:type:`int` type to "
"store sizes or counts; for example, the number of items in a list or tuple "
"were stored in an :c:type:`int`. The C compilers for most 64-bit platforms "
"still define :c:type:`int` as a 32-bit type, so that meant that lists could "
"only hold up to ``2**31 - 1`` = 2147483647 items. (There are actually a few "
"different programming models that 64-bit C compilers can use -- see http://"
"www.unix.org/version2/whatsnew/lp64_wp.html for a discussion -- but the most "
"commonly available model leaves :c:type:`int` as 32 bits.)"
msgstr ""
#: whatsnew/2.5.rst:887
msgid ""
"A limit of 2147483647 items doesn't really matter on a 32-bit platform "
"because you'll run out of memory before hitting the length limit. Each list "
"item requires space for a pointer, which is 4 bytes, plus space for a :c:"
"type:`PyObject` representing the item. 2147483647\\*4 is already more bytes "
"than a 32-bit address space can contain."
msgstr ""
#: whatsnew/2.5.rst:893
msgid ""
"It's possible to address that much memory on a 64-bit platform, however. "
"The pointers for a list that size would only require 16 GiB of space, so "
"it's not unreasonable that Python programmers might construct lists that "
"large. Therefore, the Python interpreter had to be changed to use some type "
"other than :c:type:`int`, and this will be a 64-bit type on 64-bit "
"platforms. The change will cause incompatibilities on 64-bit machines, so "
"it was deemed worth making the transition now, while the number of 64-bit "
"users is still relatively small. (In 5 or 10 years, we may *all* be on 64-"
"bit machines, and the transition would be more painful then.)"
msgstr ""
#: whatsnew/2.5.rst:903
msgid ""
"This change most strongly affects authors of C extension modules. Python "
"strings and container types such as lists and tuples now use :c:type:"
"`Py_ssize_t` to store their size. Functions such as :c:func:`PyList_Size` "
"now return :c:type:`Py_ssize_t`. Code in extension modules may therefore "
"need to have some variables changed to :c:type:`Py_ssize_t`."
msgstr ""
#: whatsnew/2.5.rst:909
msgid ""
"The :c:func:`PyArg_ParseTuple` and :c:func:`Py_BuildValue` functions have a "
"new conversion code, ``n``, for :c:type:`Py_ssize_t`. :c:func:"
"`PyArg_ParseTuple`'s ``s#`` and ``t#`` still output :c:type:`int` by "
"default, but you can define the macro :c:macro:`PY_SSIZE_T_CLEAN` before "
"including :file:`Python.h` to make them return :c:type:`Py_ssize_t`."
msgstr ""
#: whatsnew/2.5.rst:915
msgid ""
":pep:`353` has a section on conversion guidelines that extension authors "
"should read to learn about supporting 64-bit platforms."
msgstr ""
#: whatsnew/2.5.rst:921
msgid "PEP 353 - Using ssize_t as the index type"
msgstr ""
#: whatsnew/2.5.rst:922
msgid "PEP written and implemented by Martin von Löwis."
msgstr ""
#: whatsnew/2.5.rst:930
msgid "PEP 357: The '__index__' method"
msgstr ""
#: whatsnew/2.5.rst:932
msgid ""
"The NumPy developers had a problem that could only be solved by adding a new "
"special method, :meth:`__index__`. When using slice notation, as in "
"``[start:stop:step]``, the values of the *start*, *stop*, and *step* indexes "
"must all be either integers or long integers. NumPy defines a variety of "
"specialized integer types corresponding to unsigned and signed integers of "
"8, 16, 32, and 64 bits, but there was no way to signal that these types "
"could be used as slice indexes."
msgstr ""
#: whatsnew/2.5.rst:940
msgid ""
"Slicing can't just use the existing :meth:`__int__` method because that "
"method is also used to implement coercion to integers. If slicing used :"
"meth:`__int__`, floating-point numbers would also become legal slice indexes "
"and that's clearly an undesirable behaviour."
msgstr ""
#: whatsnew/2.5.rst:945
msgid ""
"Instead, a new special method called :meth:`__index__` was added. It takes "
"no arguments and returns an integer giving the slice index to use. For "
"example::"
msgstr ""
#: whatsnew/2.5.rst:952
msgid ""
"The return value must be either a Python integer or long integer. The "
"interpreter will check that the type returned is correct, and raises a :exc:"
"`TypeError` if this requirement isn't met."
msgstr ""
#: whatsnew/2.5.rst:956
msgid ""
"A corresponding :attr:`nb_index` slot was added to the C-level :c:type:"
"`PyNumberMethods` structure to let C extensions implement this protocol. "
"``PyNumber_Index(obj)`` can be used in extension code to call the :meth:"
"`__index__` function and retrieve its result."
msgstr ""
#: whatsnew/2.5.rst:964
msgid "PEP 357 - Allowing Any Object to be Used for Slicing"
msgstr ""
#: whatsnew/2.5.rst:965
msgid "PEP written and implemented by Travis Oliphant."
msgstr ""
#: whatsnew/2.5.rst:975
msgid ""
"Here are all of the changes that Python 2.5 makes to the core Python "
"language."
msgstr ""
#: whatsnew/2.5.rst:977
msgid ""
"The :class:`dict` type has a new hook for letting subclasses provide a "
"default value when a key isn't contained in the dictionary. When a key isn't "
"found, the dictionary's ``__missing__(key)`` method will be called. This "
"hook is used to implement the new :class:`defaultdict` class in the :mod:"
"`collections` module. The following example defines a dictionary that "
"returns zero for any missing key::"
msgstr ""
#: whatsnew/2.5.rst:992
msgid ""
"Both 8-bit and Unicode strings have new ``partition(sep)`` and "
"``rpartition(sep)`` methods that simplify a common use case."
msgstr ""
#: whatsnew/2.5.rst:995
msgid ""
"The ``find(S)`` method is often used to get an index which is then used to "
"slice the string and obtain the pieces that are before and after the "
"separator. ``partition(sep)`` condenses this pattern into a single method "
"call that returns a 3-tuple containing the substring before the separator, "
"the separator itself, and the substring after the separator. If the "
"separator isn't found, the first element of the tuple is the entire string "
"and the other two elements are empty. ``rpartition(sep)`` also returns a 3-"
"tuple but starts searching from the end of the string; the ``r`` stands for "
"'reverse'."
msgstr ""
#: whatsnew/2.5.rst:1004
msgid "Some examples::"
msgstr "Quelques exemples ::"
#: whatsnew/2.5.rst:1017
msgid ""
"(Implemented by Fredrik Lundh following a suggestion by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.5.rst:1019
msgid ""
"The :meth:`startswith` and :meth:`endswith` methods of string types now "
"accept tuples of strings to check for. ::"
msgstr ""
#: whatsnew/2.5.rst:1025
msgid "(Implemented by Georg Brandl following a suggestion by Tom Lynn.)"
msgstr ""
#: whatsnew/2.5.rst:1029
msgid ""
"The :func:`min` and :func:`max` built-in functions gained a ``key`` keyword "
"parameter analogous to the ``key`` argument for :meth:`sort`. This "
"parameter supplies a function that takes a single argument and is called for "
"every value in the list; :func:`min`/:func:`max` will return the element "
"with the smallest/largest return value from this function. For example, to "
"find the longest string in a list, you can do::"
msgstr ""
#: whatsnew/2.5.rst:1042
msgid "(Contributed by Steven Bethard and Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.5.rst:1044
msgid ""
"Two new built-in functions, :func:`any` and :func:`all`, evaluate whether an "
"iterator contains any true or false values. :func:`any` returns :const:"
"`True` if any value returned by the iterator is true; otherwise it will "
"return :const:`False`. :func:`all` returns :const:`True` only if all of the "
"values returned by the iterator evaluate as true. (Suggested by Guido van "
"Rossum, and implemented by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.5.rst:1051
msgid ""
"The result of a class's :meth:`__hash__` method can now be either a long "
"integer or a regular integer. If a long integer is returned, the hash of "
"that value is taken. In earlier versions the hash value was required to be "
"a regular integer, but in 2.5 the :func:`id` built-in was changed to always "
"return non-negative numbers, and users often seem to use ``id(self)`` in :"
"meth:`__hash__` methods (though this is discouraged)."
msgstr ""
#: whatsnew/2.5.rst:1060
msgid ""
"ASCII is now the default encoding for modules. It's now a syntax error if "
"a module contains string literals with 8-bit characters but doesn't have an "
"encoding declaration. In Python 2.4 this triggered a warning, not a syntax "
"error. See :pep:`263` for how to declare a module's encoding; for example, "
"you might add a line like this near the top of the source file::"
msgstr ""
#: whatsnew/2.5.rst:1068
msgid ""
"A new warning, :class:`UnicodeWarning`, is triggered when you attempt to "
"compare a Unicode string and an 8-bit string that can't be converted to "
"Unicode using the default ASCII encoding. The result of the comparison is "
"false::"
msgstr ""
#: whatsnew/2.5.rst:1080
msgid ""
"Previously this would raise a :class:`UnicodeDecodeError` exception, but in "
"2.5 this could result in puzzling problems when accessing a dictionary. If "
"you looked up ``unichr(128)`` and ``chr(128)`` was being used as a key, "
"you'd get a :class:`UnicodeDecodeError` exception. Other changes in 2.5 "
"resulted in this exception being raised instead of suppressed by the code "
"in :file:`dictobject.c` that implements dictionaries."
msgstr ""
#: whatsnew/2.5.rst:1087
msgid ""
"Raising an exception for such a comparison is strictly correct, but the "
"change might have broken code, so instead :class:`UnicodeWarning` was "
"introduced."
msgstr ""
#: whatsnew/2.5.rst:1090
msgid "(Implemented by Marc-André Lemburg.)"
msgstr ""
#: whatsnew/2.5.rst:1092
msgid ""
"One error that Python programmers sometimes make is forgetting to include "
"an :file:`__init__.py` module in a package directory. Debugging this mistake "
"can be confusing, and usually requires running Python with the :option:`-v` "
"switch to log all the paths searched. In Python 2.5, a new :exc:"
"`ImportWarning` warning is triggered when an import would have picked up a "
"directory as a package but no :file:`__init__.py` was found. This warning "
"is silently ignored by default; provide the :option:`-Wd` option when "
"running the Python executable to display the warning message. (Implemented "
"by Thomas Wouters.)"
msgstr ""
#: whatsnew/2.5.rst:1101
msgid ""
"The list of base classes in a class definition can now be empty. As an "
"example, this is now legal::"
msgstr ""
#: whatsnew/2.5.rst:1107
msgid "(Implemented by Brett Cannon.)"
msgstr ""
#: whatsnew/2.5.rst:1115
msgid "Interactive Interpreter Changes"
msgstr ""
#: whatsnew/2.5.rst:1117
msgid ""
"In the interactive interpreter, ``quit`` and ``exit`` have long been "
"strings so that new users get a somewhat helpful message when they try to "
"quit::"
msgstr ""
#: whatsnew/2.5.rst:1123
msgid ""
"In Python 2.5, ``quit`` and ``exit`` are now objects that still produce "
"string representations of themselves, but are also callable. Newbies who try "
"``quit()`` or ``exit()`` will now exit the interpreter as they expect. "
"(Implemented by Georg Brandl.)"
msgstr ""
#: whatsnew/2.5.rst:1128
msgid ""
"The Python executable now accepts the standard long options :option:`--"
"help` and :option:`--version`; on Windows, it also accepts the :option:`/?` "
"option for displaying a help message. (Implemented by Georg Brandl.)"
msgstr ""
#: whatsnew/2.5.rst:1140
msgid ""
"Several of the optimizations were developed at the NeedForSpeed sprint, an "
"event held in Reykjavik, Iceland, from May 21--28 2006. The sprint focused "
"on speed enhancements to the CPython implementation and was funded by EWT "
"LLC with local support from CCP Games. Those optimizations added at this "
"sprint are specially marked in the following list."
msgstr ""
#: whatsnew/2.5.rst:1146
msgid ""
"When they were introduced in Python 2.4, the built-in :class:`set` and :"
"class:`frozenset` types were built on top of Python's dictionary type. In "
"2.5 the internal data structure has been customized for implementing sets, "
"and as a result sets will use a third less memory and are somewhat faster. "
"(Implemented by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.5.rst:1152
msgid ""
"The speed of some Unicode operations, such as finding substrings, string "
"splitting, and character map encoding and decoding, has been improved. "
"(Substring search and splitting improvements were added by Fredrik Lundh and "
"Andrew Dalke at the NeedForSpeed sprint. Character maps were improved by "
"Walter Dörwald and Martin von Löwis.)"
msgstr ""
#: whatsnew/2.5.rst:1160
msgid ""
"The ``long(str, base)`` function is now faster on long digit strings because "
"fewer intermediate results are calculated. The peak is for strings of "
"around 800--1000 digits where the function is 6 times faster. (Contributed "
"by Alan McIntyre and committed at the NeedForSpeed sprint.)"
msgstr ""
#: whatsnew/2.5.rst:1167
msgid ""
"It's now illegal to mix iterating over a file with ``for line in file`` and "
"calling the file object's :meth:`read`/:meth:`readline`/:meth:`readlines` "
"methods. Iteration uses an internal buffer and the :meth:`read\\*` methods "
"don't use that buffer. Instead they would return the data following the "
"buffer, causing the data to appear out of order. Mixing iteration and these "
"methods will now trigger a :exc:`ValueError` from the :meth:`read\\*` "
"method. (Implemented by Thomas Wouters.)"
msgstr ""
#: whatsnew/2.5.rst:1177
msgid ""
"The :mod:`struct` module now compiles structure format strings into an "
"internal representation and caches this representation, yielding a 20% "
"speedup. (Contributed by Bob Ippolito at the NeedForSpeed sprint.)"
msgstr ""
#: whatsnew/2.5.rst:1181
msgid ""
"The :mod:`re` module got a 1 or 2% speedup by switching to Python's "
"allocator functions instead of the system's :c:func:`malloc` and :c:func:"
"`free`. (Contributed by Jack Diederich at the NeedForSpeed sprint.)"
msgstr ""
#: whatsnew/2.5.rst:1185
msgid ""
"The code generator's peephole optimizer now performs simple constant folding "
"in expressions. If you write something like ``a = 2+3``, the code generator "
"will do the arithmetic and produce code corresponding to ``a = 5``. "
"(Proposed and implemented by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.5.rst:1190
msgid ""
"Function calls are now faster because code objects now keep the most "
"recently finished frame (a \"zombie frame\") in an internal field of the "
"code object, reusing it the next time the code object is invoked. (Original "
"patch by Michael Hudson, modified by Armin Rigo and Richard Jones; committed "
"at the NeedForSpeed sprint.) Frame objects are also slightly smaller, which "
"may improve cache locality and reduce memory usage a bit. (Contributed by "
"Neal Norwitz.)"
msgstr ""
#: whatsnew/2.5.rst:1200
msgid ""
"Python's built-in exceptions are now new-style classes, a change that speeds "
"up instantiation considerably. Exception handling in Python 2.5 is "
"therefore about 30% faster than in 2.4. (Contributed by Richard Jones, Georg "
"Brandl and Sean Reifschneider at the NeedForSpeed sprint.)"
msgstr ""
#: whatsnew/2.5.rst:1205
msgid ""
"Importing now caches the paths tried, recording whether they exist or not "
"so that the interpreter makes fewer :c:func:`open` and :c:func:`stat` calls "
"on startup. (Contributed by Martin von Löwis and Georg Brandl.)"
msgstr ""
#: whatsnew/2.5.rst:1217
msgid "New, Improved, and Removed Modules"
msgstr ""
#: whatsnew/2.5.rst:1219
msgid ""
"The standard library received many enhancements and bug fixes in Python 2.5. "
"Here's a partial list of the most notable changes, sorted alphabetically by "
"module name. Consult the :file:`Misc/NEWS` file in the source tree for a "
"more complete list of changes, or look through the SVN logs for all the "
"details."
msgstr ""
#: whatsnew/2.5.rst:1224
msgid ""
"The :mod:`audioop` module now supports the a-LAW encoding, and the code for "
"u-LAW encoding has been improved. (Contributed by Lars Immisch.)"
msgstr ""
#: whatsnew/2.5.rst:1227
msgid ""
"The :mod:`codecs` module gained support for incremental codecs. The :func:"
"`codec.lookup` function now returns a :class:`CodecInfo` instance instead of "
"a tuple. :class:`CodecInfo` instances behave like a 4-tuple to preserve "
"backward compatibility but also have the attributes :attr:`encode`, :attr:"
"`decode`, :attr:`incrementalencoder`, :attr:`incrementaldecoder`, :attr:"
"`streamwriter`, and :attr:`streamreader`. Incremental codecs can receive "
"input and produce output in multiple chunks; the output is the same as if "
"the entire input was fed to the non-incremental codec. See the :mod:`codecs` "
"module documentation for details. (Designed and implemented by Walter "
"Dörwald.)"
msgstr ""
#: whatsnew/2.5.rst:1239
msgid ""
"The :mod:`collections` module gained a new type, :class:`defaultdict`, that "
"subclasses the standard :class:`dict` type. The new type mostly behaves "
"like a dictionary but constructs a default value when a key isn't present, "
"automatically adding it to the dictionary for the requested key value."
msgstr ""
#: whatsnew/2.5.rst:1244
msgid ""
"The first argument to :class:`defaultdict`'s constructor is a factory "
"function that gets called whenever a key is requested but not found. This "
"factory function receives no arguments, so you can use built-in type "
"constructors such as :func:`list` or :func:`int`. For example, you can "
"make an index of words based on their initial letter like this::"
msgstr ""
#: whatsnew/2.5.rst:1260
msgid "Printing ``index`` results in the following output::"
msgstr ""
#: whatsnew/2.5.rst:1268
msgid "(Contributed by Guido van Rossum.)"
msgstr ""
#: whatsnew/2.5.rst:1270
msgid ""
"The :class:`deque` double-ended queue type supplied by the :mod:"
"`collections` module now has a ``remove(value)`` method that removes the "
"first occurrence of *value* in the queue, raising :exc:`ValueError` if the "
"value isn't found. (Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.5.rst:1275
msgid ""
"New module: The :mod:`contextlib` module contains helper functions for use "
"with the new ':keyword:`with`' statement. See section :ref:`contextlibmod` "
"for more about this module."
msgstr ""
#: whatsnew/2.5.rst:1279
msgid ""
"New module: The :mod:`cProfile` module is a C implementation of the "
"existing :mod:`profile` module that has much lower overhead. The module's "
"interface is the same as :mod:`profile`: you run ``cProfile.run('main()')`` "
"to profile a function, can save profile data to a file, etc. It's not yet "
"known if the Hotshot profiler, which is also written in C but doesn't match "
"the :mod:`profile` module's interface, will continue to be maintained in "
"future versions of Python. (Contributed by Armin Rigo.)"
msgstr ""
#: whatsnew/2.5.rst:1287
msgid ""
"Also, the :mod:`pstats` module for analyzing the data measured by the "
"profiler now supports directing the output to any file object by supplying a "
"*stream* argument to the :class:`Stats` constructor. (Contributed by Skip "
"Montanaro.)"
msgstr ""
#: whatsnew/2.5.rst:1291
msgid ""
"The :mod:`csv` module, which parses files in comma-separated value format, "
"received several enhancements and a number of bugfixes. You can now set the "
"maximum size in bytes of a field by calling the ``csv."
"field_size_limit(new_limit)`` function; omitting the *new_limit* argument "
"will return the currently-set limit. The :class:`reader` class now has a :"
"attr:`line_num` attribute that counts the number of physical lines read from "
"the source; records can span multiple physical lines, so :attr:`line_num` is "
"not the same as the number of records read."
msgstr ""
#: whatsnew/2.5.rst:1300
msgid ""
"The CSV parser is now stricter about multi-line quoted fields. Previously, "
"if a line ended within a quoted field without a terminating newline "
"character, a newline would be inserted into the returned field. This "
"behavior caused problems when reading files that contained carriage return "
"characters within fields, so the code was changed to return the field "
"without inserting newlines. As a consequence, if newlines embedded within "
"fields are important, the input should be split into lines in a manner that "
"preserves the newline characters."
msgstr ""
#: whatsnew/2.5.rst:1308
msgid "(Contributed by Skip Montanaro and Andrew McNamara.)"
msgstr ""
#: whatsnew/2.5.rst:1310
msgid ""
"The :class:`datetime` class in the :mod:`datetime` module now has a "
"``strptime(string, format)`` method for parsing date strings, contributed "
"by Josh Spoerri. It uses the same format characters as :func:`time.strptime` "
"and :func:`time.strftime`::"
msgstr ""
#: whatsnew/2.5.rst:1320
msgid ""
"The :meth:`SequenceMatcher.get_matching_blocks` method in the :mod:`difflib` "
"module now guarantees to return a minimal list of blocks describing matching "
"subsequences. Previously, the algorithm would occasionally break a block of "
"matching elements into two list entries. (Enhancement by Tim Peters.)"
msgstr ""
#: whatsnew/2.5.rst:1325
msgid ""
"The :mod:`doctest` module gained a ``SKIP`` option that keeps an example "
"from being executed at all. This is intended for code snippets that are "
"usage examples intended for the reader and aren't actually test cases."
msgstr ""
#: whatsnew/2.5.rst:1329
msgid ""
"An *encoding* parameter was added to the :func:`testfile` function and the :"
"class:`DocFileSuite` class to specify the file's encoding. This makes it "
"easier to use non-ASCII characters in tests contained within a docstring. "
"(Contributed by Bjorn Tillenius.)"
msgstr ""
#: whatsnew/2.5.rst:1336
msgid ""
"The :mod:`email` package has been updated to version 4.0. (Contributed by "
"Barry Warsaw.)"
msgstr ""
#: whatsnew/2.5.rst:1344
msgid ""
"The :mod:`fileinput` module was made more flexible. Unicode filenames are "
"now supported, and a *mode* parameter that defaults to ``\"r\"`` was added "
"to the :func:`input` function to allow opening files in binary or :term:"
"`universal newlines` mode. Another new parameter, *openhook*, lets you use "
"a function other than :func:`open` to open the input files. Once you're "
"iterating over the set of files, the :class:`FileInput` object's new :meth:"
"`fileno` returns the file descriptor for the currently opened file. "
"(Contributed by Georg Brandl.)"
msgstr ""
#: whatsnew/2.5.rst:1353
msgid ""
"In the :mod:`gc` module, the new :func:`get_count` function returns a 3-"
"tuple containing the current collection counts for the three GC "
"generations. This is accounting information for the garbage collector; when "
"these counts reach a specified threshold, a garbage collection sweep will be "
"made. The existing :func:`gc.collect` function now takes an optional "
"*generation* argument of 0, 1, or 2 to specify which generation to collect. "
"(Contributed by Barry Warsaw.)"
msgstr ""
#: whatsnew/2.5.rst:1360
msgid ""
"The :func:`nsmallest` and :func:`nlargest` functions in the :mod:`heapq` "
"module now support a ``key`` keyword parameter similar to the one provided "
"by the :func:`min`/:func:`max` functions and the :meth:`sort` methods. For "
"example::"
msgstr ""
#: whatsnew/2.5.rst:1374
msgid ""
"The :func:`itertools.islice` function now accepts ``None`` for the start and "
"step arguments. This makes it more compatible with the attributes of slice "
"objects, so that you can now write the following::"
msgstr ""
#: whatsnew/2.5.rst:1383
msgid ""
"The :func:`format` function in the :mod:`locale` module has been modified "
"and two new functions were added, :func:`format_string` and :func:`currency`."
msgstr ""
#: whatsnew/2.5.rst:1386
msgid ""
"The :func:`format` function's *val* parameter could previously be a string "
"as long as no more than one %char specifier appeared; now the parameter must "
"be exactly one %char specifier with no surrounding text. An optional "
"*monetary* parameter was also added which, if ``True``, will use the "
"locale's rules for formatting currency in placing a separator between groups "
"of three digits."
msgstr ""
#: whatsnew/2.5.rst:1392
msgid ""
"To format strings with multiple %char specifiers, use the new :func:"
"`format_string` function that works like :func:`format` but also supports "
"mixing %char specifiers with arbitrary text."
msgstr ""
#: whatsnew/2.5.rst:1396
msgid ""
"A new :func:`currency` function was also added that formats a number "
"according to the current locale's settings."
msgstr ""
#: whatsnew/2.5.rst:1399
msgid "(Contributed by Georg Brandl.)"
msgstr ""
#: whatsnew/2.5.rst:1403
msgid ""
"The :mod:`mailbox` module underwent a massive rewrite to add the capability "
"to modify mailboxes in addition to reading them. A new set of classes that "
"include :class:`mbox`, :class:`MH`, and :class:`Maildir` are used to read "
"mailboxes, and have an ``add(message)`` method to add messages, "
"``remove(key)`` to remove messages, and :meth:`lock`/:meth:`unlock` to lock/"
"unlock the mailbox. The following example converts a maildir-format mailbox "
"into an mbox-format one::"
msgstr ""
#: whatsnew/2.5.rst:1421
msgid ""
"(Contributed by Gregory K. Johnson. Funding was provided by Google's 2005 "
"Summer of Code.)"
msgstr ""
#: whatsnew/2.5.rst:1424
msgid ""
"New module: the :mod:`msilib` module allows creating Microsoft Installer :"
"file:`.msi` files and CAB files. Some support for reading the :file:`.msi` "
"database is also included. (Contributed by Martin von Löwis.)"
msgstr ""
#: whatsnew/2.5.rst:1428
msgid ""
"The :mod:`nis` module now supports accessing domains other than the system "
"default domain by supplying a *domain* argument to the :func:`nis.match` "
"and :func:`nis.maps` functions. (Contributed by Ben Bell.)"
msgstr ""
#: whatsnew/2.5.rst:1432
msgid ""
"The :mod:`operator` module's :func:`itemgetter` and :func:`attrgetter` "
"functions now support multiple fields. A call such as ``operator."
"attrgetter('a', 'b')`` will return a function that retrieves the :attr:`a` "
"and :attr:`b` attributes. Combining this new feature with the :meth:`sort` "
"method's ``key`` parameter lets you easily sort lists using multiple "
"fields. (Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.5.rst:1439
msgid ""
"The :mod:`optparse` module was updated to version 1.5.1 of the Optik "
"library. The :class:`OptionParser` class gained an :attr:`epilog` attribute, "
"a string that will be printed after the help message, and a :meth:`destroy` "
"method to break reference cycles created by the object. (Contributed by Greg "
"Ward.)"
msgstr ""
#: whatsnew/2.5.rst:1444
msgid ""
"The :mod:`os` module underwent several changes. The :attr:"
"`stat_float_times` variable now defaults to true, meaning that :func:`os."
"stat` will now return time values as floats. (This doesn't necessarily mean "
"that :func:`os.stat` will return times that are precise to fractions of a "
"second; not all systems support such precision.)"
msgstr ""
#: whatsnew/2.5.rst:1450
msgid ""
"Constants named :attr:`os.SEEK_SET`, :attr:`os.SEEK_CUR`, and :attr:`os."
"SEEK_END` have been added; these are the parameters to the :func:`os.lseek` "
"function. Two new constants for locking are :attr:`os.O_SHLOCK` and :attr:"
"`os.O_EXLOCK`."
msgstr ""
#: whatsnew/2.5.rst:1455
msgid ""
"Two new functions, :func:`wait3` and :func:`wait4`, were added. They're "
"similar the :func:`waitpid` function which waits for a child process to exit "
"and returns a tuple of the process ID and its exit status, but :func:`wait3` "
"and :func:`wait4` return additional information. :func:`wait3` doesn't take "
"a process ID as input, so it waits for any child process to exit and returns "
"a 3-tuple of *process-id*, *exit-status*, *resource-usage* as returned from "
"the :func:`resource.getrusage` function. ``wait4(pid)`` does take a process "
"ID. (Contributed by Chad J. Schroeder.)"
msgstr ""
#: whatsnew/2.5.rst:1464
msgid ""
"On FreeBSD, the :func:`os.stat` function now returns times with nanosecond "
"resolution, and the returned object now has :attr:`st_gen` and :attr:"
"`st_birthtime`. The :attr:`st_flags` attribute is also available, if the "
"platform supports it. (Contributed by Antti Louko and Diego Pettenò.)"
msgstr ""
#: whatsnew/2.5.rst:1471
msgid ""
"The Python debugger provided by the :mod:`pdb` module can now store lists of "
"commands to execute when a breakpoint is reached and execution stops. Once "
"breakpoint #1 has been created, enter ``commands 1`` and enter a series of "
"commands to be executed, finishing the list with ``end``. The command list "
"can include commands that resume execution, such as ``continue`` or "
"``next``. (Contributed by Grégoire Dooms.)"
msgstr ""
#: whatsnew/2.5.rst:1480
msgid ""
"The :mod:`pickle` and :mod:`cPickle` modules no longer accept a return value "
"of ``None`` from the :meth:`__reduce__` method; the method must return a "
"tuple of arguments instead. The ability to return ``None`` was deprecated "
"in Python 2.4, so this completes the removal of the feature."
msgstr ""
#: whatsnew/2.5.rst:1485
msgid ""
"The :mod:`pkgutil` module, containing various utility functions for finding "
"packages, was enhanced to support PEP 302's import hooks and now also works "
"for packages stored in ZIP-format archives. (Contributed by Phillip J. Eby.)"
msgstr ""
#: whatsnew/2.5.rst:1489
msgid ""
"The pybench benchmark suite by Marc-André Lemburg is now included in the :"
"file:`Tools/pybench` directory. The pybench suite is an improvement on the "
"commonly used :file:`pystone.py` program because pybench provides a more "
"detailed measurement of the interpreter's speed. It times particular "
"operations such as function calls, tuple slicing, method lookups, and "
"numeric operations, instead of performing many different operations and "
"reducing the result to a single number as :file:`pystone.py` does."
msgstr ""
#: whatsnew/2.5.rst:1497
msgid ""
"The :mod:`pyexpat` module now uses version 2.0 of the Expat parser. "
"(Contributed by Trent Mick.)"
msgstr ""
#: whatsnew/2.5.rst:1500
msgid ""
"The :class:`Queue` class provided by the :mod:`Queue` module gained two new "
"methods. :meth:`join` blocks until all items in the queue have been "
"retrieved and all processing work on the items have been completed. Worker "
"threads call the other new method, :meth:`task_done`, to signal that "
"processing for an item has been completed. (Contributed by Raymond "
"Hettinger.)"
msgstr ""
#: whatsnew/2.5.rst:1506
msgid ""
"The old :mod:`regex` and :mod:`regsub` modules, which have been deprecated "
"ever since Python 2.0, have finally been deleted. Other deleted modules: :"
"mod:`statcache`, :mod:`tzparse`, :mod:`whrandom`."
msgstr ""
#: whatsnew/2.5.rst:1510
msgid ""
"Also deleted: the :file:`lib-old` directory, which includes ancient modules "
"such as :mod:`dircmp` and :mod:`ni`, was removed. :file:`lib-old` wasn't on "
"the default ``sys.path``, so unless your programs explicitly added the "
"directory to ``sys.path``, this removal shouldn't affect your code."
msgstr ""
#: whatsnew/2.5.rst:1515
msgid ""
"The :mod:`rlcompleter` module is no longer dependent on importing the :mod:"
"`readline` module and therefore now works on non-Unix platforms. (Patch from "
"Robert Kiendl.)"
msgstr ""
#: whatsnew/2.5.rst:1521
msgid ""
"The :mod:`SimpleXMLRPCServer` and :mod:`DocXMLRPCServer` classes now have "
"a :attr:`rpc_paths` attribute that constrains XML-RPC operations to a "
"limited set of URL paths; the default is to allow only ``'/'`` and ``'/"
"RPC2'``. Setting :attr:`rpc_paths` to ``None`` or an empty tuple disables "
"this path checking."
msgstr ""
#: whatsnew/2.5.rst:1528
msgid ""
"The :mod:`socket` module now supports :const:`AF_NETLINK` sockets on Linux, "
"thanks to a patch from Philippe Biondi. Netlink sockets are a Linux-"
"specific mechanism for communications between a user-space process and "
"kernel code; an introductory article about them is at http://www."
"linuxjournal.com/article/7356. In Python code, netlink addresses are "
"represented as a tuple of 2 integers, ``(pid, group_mask)``."
msgstr ""
#: whatsnew/2.5.rst:1535
msgid ""
"Two new methods on socket objects, ``recv_into(buffer)`` and "
"``recvfrom_into(buffer)``, store the received data in an object that "
"supports the buffer protocol instead of returning the data as a string. "
"This means you can put the data directly into an array or a memory-mapped "
"file."
msgstr ""
#: whatsnew/2.5.rst:1540
msgid ""
"Socket objects also gained :meth:`getfamily`, :meth:`gettype`, and :meth:"
"`getproto` accessor methods to retrieve the family, type, and protocol "
"values for the socket."
msgstr ""
#: whatsnew/2.5.rst:1544
msgid ""
"New module: the :mod:`spwd` module provides functions for accessing the "
"shadow password database on systems that support shadow passwords."
msgstr ""
#: whatsnew/2.5.rst:1547
msgid ""
"The :mod:`struct` is now faster because it compiles format strings into :"
"class:`Struct` objects with :meth:`pack` and :meth:`unpack` methods. This "
"is similar to how the :mod:`re` module lets you create compiled regular "
"expression objects. You can still use the module-level :func:`pack` and :"
"func:`unpack` functions; they'll create :class:`Struct` objects and cache "
"them. Or you can use :class:`Struct` instances directly::"
msgstr ""
#: whatsnew/2.5.rst:1559
msgid ""
"You can also pack and unpack data to and from buffer objects directly using "
"the ``pack_into(buffer, offset, v1, v2, ...)`` and ``unpack_from(buffer, "
"offset)`` methods. This lets you store data directly into an array or a "
"memory- mapped file."
msgstr ""
#: whatsnew/2.5.rst:1564
msgid ""
"(:class:`Struct` objects were implemented by Bob Ippolito at the "
"NeedForSpeed sprint. Support for buffer objects was added by Martin Blais, "
"also at the NeedForSpeed sprint.)"
msgstr ""
#: whatsnew/2.5.rst:1568
msgid ""
"The Python developers switched from CVS to Subversion during the 2.5 "
"development process. Information about the exact build version is available "
"as the ``sys.subversion`` variable, a 3-tuple of ``(interpreter-name, branch-"
"name, revision-range)``. For example, at the time of writing my copy of 2.5 "
"was reporting ``('CPython', 'trunk', '45313:45315')``."
msgstr ""
#: whatsnew/2.5.rst:1574
msgid ""
"This information is also available to C extensions via the :c:func:"
"`Py_GetBuildInfo` function that returns a string of build information like "
"this: ``\"trunk:45355:45356M, Apr 13 2006, 07:42:19\"``. (Contributed by "
"Barry Warsaw.)"
msgstr ""
#: whatsnew/2.5.rst:1579
msgid ""
"Another new function, :func:`sys._current_frames`, returns the current stack "
"frames for all running threads as a dictionary mapping thread identifiers to "
"the topmost stack frame currently active in that thread at the time the "
"function is called. (Contributed by Tim Peters.)"
msgstr ""
#: whatsnew/2.5.rst:1584
msgid ""
"The :class:`TarFile` class in the :mod:`tarfile` module now has an :meth:"
"`extractall` method that extracts all members from the archive into the "
"current working directory. It's also possible to set a different directory "
"as the extraction target, and to unpack only a subset of the archive's "
"members."
msgstr ""
#: whatsnew/2.5.rst:1589
msgid ""
"The compression used for a tarfile opened in stream mode can now be "
"autodetected using the mode ``'r|*'``. (Contributed by Lars Gustäbel.)"
msgstr ""
#: whatsnew/2.5.rst:1594
msgid ""
"The :mod:`threading` module now lets you set the stack size used when new "
"threads are created. The ``stack_size([*size*])`` function returns the "
"currently configured stack size, and supplying the optional *size* parameter "
"sets a new value. Not all platforms support changing the stack size, but "
"Windows, POSIX threading, and OS/2 all do. (Contributed by Andrew MacIntyre.)"
msgstr ""
#: whatsnew/2.5.rst:1602
msgid ""
"The :mod:`unicodedata` module has been updated to use version 4.1.0 of the "
"Unicode character database. Version 3.2.0 is required by some "
"specifications, so it's still available as :attr:`unicodedata.ucd_3_2_0`."
msgstr ""
#: whatsnew/2.5.rst:1606
msgid ""
"New module: the :mod:`uuid` module generates universally unique "
"identifiers (UUIDs) according to :rfc:`4122`. The RFC defines several "
"different UUID versions that are generated from a starting string, from "
"system properties, or purely randomly. This module contains a :class:`UUID` "
"class and functions named :func:`uuid1`, :func:`uuid3`, :func:`uuid4`, "
"and :func:`uuid5` to generate different versions of UUID. (Version 2 "
"UUIDs are not specified in :rfc:`4122` and are not supported by this "
"module.) ::"
msgstr ""
#: whatsnew/2.5.rst:1631
msgid "(Contributed by Ka-Ping Yee.)"
msgstr ""
#: whatsnew/2.5.rst:1633
msgid ""
"The :mod:`weakref` module's :class:`WeakKeyDictionary` and :class:"
"`WeakValueDictionary` types gained new methods for iterating over the weak "
"references contained in the dictionary. :meth:`iterkeyrefs` and :meth:"
"`keyrefs` methods were added to :class:`WeakKeyDictionary`, and :meth:"
"`itervaluerefs` and :meth:`valuerefs` were added to :class:"
"`WeakValueDictionary`. (Contributed by Fred L. Drake, Jr.)"
msgstr ""
#: whatsnew/2.5.rst:1640
msgid ""
"The :mod:`webbrowser` module received a number of enhancements. It's now "
"usable as a script with ``python -m webbrowser``, taking a URL as the "
"argument; there are a number of switches to control the behaviour (:option:"
"`-n` for a new browser window, :option:`-t` for a new tab). New module-"
"level functions, :func:`open_new` and :func:`open_new_tab`, were added to "
"support this. The module's :func:`open` function supports an additional "
"feature, an *autoraise* parameter that signals whether to raise the open "
"window when possible. A number of additional browsers were added to the "
"supported list such as Firefox, Opera, Konqueror, and elinks. (Contributed "
"by Oleg Broytmann and Georg Brandl.)"
msgstr ""
#: whatsnew/2.5.rst:1652
msgid ""
"The :mod:`xmlrpclib` module now supports returning :class:`datetime` "
"objects for the XML-RPC date type. Supply ``use_datetime=True`` to the :"
"func:`loads` function or the :class:`Unmarshaller` class to enable this "
"feature. (Contributed by Skip Montanaro.)"
msgstr ""
#: whatsnew/2.5.rst:1659
msgid ""
"The :mod:`zipfile` module now supports the ZIP64 version of the format, "
"meaning that a .zip archive can now be larger than 4 GiB and can contain "
"individual files larger than 4 GiB. (Contributed by Ronald Oussoren.)"
msgstr ""
#: whatsnew/2.5.rst:1665
msgid ""
"The :mod:`zlib` module's :class:`Compress` and :class:`Decompress` objects "
"now support a :meth:`copy` method that makes a copy of the object's "
"internal state and returns a new :class:`Compress` or :class:`Decompress` "
"object. (Contributed by Chris AtLee.)"
msgstr ""
#: whatsnew/2.5.rst:1678
msgid "The ctypes package"
msgstr ""
#: whatsnew/2.5.rst:1680
msgid ""
"The :mod:`ctypes` package, written by Thomas Heller, has been added to the "
"standard library. :mod:`ctypes` lets you call arbitrary functions in "
"shared libraries or DLLs. Long-time users may remember the :mod:`dl` "
"module, which provides functions for loading shared libraries and calling "
"functions in them. The :mod:`ctypes` package is much fancier."
msgstr ""
#: whatsnew/2.5.rst:1686
msgid ""
"To load a shared library or DLL, you must create an instance of the :class:"
"`CDLL` class and provide the name or path of the shared library or DLL. Once "
"that's done, you can call arbitrary functions by accessing them as "
"attributes of the :class:`CDLL` object. ::"
msgstr ""
#: whatsnew/2.5.rst:1696
msgid ""
"Type constructors for the various C types are provided: :func:`c_int`, :func:"
"`c_float`, :func:`c_double`, :func:`c_char_p` (equivalent to :c:type:`char "
"\\*`), and so forth. Unlike Python's types, the C versions are all mutable; "
"you can assign to their :attr:`value` attribute to change the wrapped "
"value. Python integers and strings will be automatically converted to the "
"corresponding C types, but for other types you must call the correct type "
"constructor. (And I mean *must*; getting it wrong will often result in the "
"interpreter crashing with a segmentation fault.)"
msgstr ""
#: whatsnew/2.5.rst:1705
msgid ""
"You shouldn't use :func:`c_char_p` with a Python string when the C function "
"will be modifying the memory area, because Python strings are supposed to "
"be immutable; breaking this rule will cause puzzling bugs. When you need a "
"modifiable memory area, use :func:`create_string_buffer`::"
msgstr ""
#: whatsnew/2.5.rst:1714
msgid ""
"C functions are assumed to return integers, but you can set the :attr:"
"`restype` attribute of the function object to change this::"
msgstr ""
#: whatsnew/2.5.rst:1723
msgid ""
":mod:`ctypes` also provides a wrapper for Python's C API as the ``ctypes."
"pythonapi`` object. This object does *not* release the global interpreter "
"lock before calling a function, because the lock must be held when calling "
"into the interpreter's code. There's a :class:`py_object()` type "
"constructor that will create a :c:type:`PyObject \\*` pointer. A simple "
"usage::"
msgstr ""
#: whatsnew/2.5.rst:1736
msgid ""
"Don't forget to use :class:`py_object()`; if it's omitted you end up with a "
"segmentation fault."
msgstr ""
#: whatsnew/2.5.rst:1739
msgid ""
":mod:`ctypes` has been around for a while, but people still write and "
"distribution hand-coded extension modules because you can't rely on :mod:"
"`ctypes` being present. Perhaps developers will begin to write Python "
"wrappers atop a library accessed through :mod:`ctypes` instead of extension "
"modules, now that :mod:`ctypes` is included with core Python."
msgstr ""
#: whatsnew/2.5.rst:1749
msgid "http://starship.python.net/crew/theller/ctypes/"
msgstr ""
#: whatsnew/2.5.rst:1749
msgid "The ctypes web page, with a tutorial, reference, and FAQ."
msgstr ""
#: whatsnew/2.5.rst:1751
msgid "The documentation for the :mod:`ctypes` module."
msgstr ""
#: whatsnew/2.5.rst:1759
msgid "The ElementTree package"
msgstr ""
#: whatsnew/2.5.rst:1761
msgid ""
"A subset of Fredrik Lundh's ElementTree library for processing XML has been "
"added to the standard library as :mod:`xml.etree`. The available modules "
"are :mod:`ElementTree`, :mod:`ElementPath`, and :mod:`ElementInclude` from "
"ElementTree 1.2.6. The :mod:`cElementTree` accelerator module is also "
"included."
msgstr ""
#: whatsnew/2.5.rst:1767
msgid ""
"The rest of this section will provide a brief overview of using ElementTree. "
"Full documentation for ElementTree is available at http://effbot.org/zone/"
"element-index.htm."
msgstr ""
#: whatsnew/2.5.rst:1771
msgid ""
"ElementTree represents an XML document as a tree of element nodes. The text "
"content of the document is stored as the :attr:`text` and :attr:`tail` "
"attributes of (This is one of the major differences between ElementTree and "
"the Document Object Model; in the DOM there are many different types of "
"node, including :class:`TextNode`.)"
msgstr ""
#: whatsnew/2.5.rst:1777
msgid ""
"The most commonly used parsing function is :func:`parse`, that takes either "
"a string (assumed to contain a filename) or a file-like object and returns "
"an :class:`ElementTree` instance::"
msgstr ""
#: whatsnew/2.5.rst:1789
msgid ""
"Once you have an :class:`ElementTree` instance, you can call its :meth:"
"`getroot` method to get the root :class:`Element` node."
msgstr ""
#: whatsnew/2.5.rst:1792
msgid ""
"There's also an :func:`XML` function that takes a string literal and returns "
"an :class:`Element` node (not an :class:`ElementTree`). This function "
"provides a tidy way to incorporate XML fragments, approaching the "
"convenience of an XML literal::"
msgstr ""
#: whatsnew/2.5.rst:1802
msgid ""
"Each XML element supports some dictionary-like and some list-like access "
"methods. Dictionary-like operations are used to access attribute values, "
"and list-like operations are used to access child nodes."
msgstr ""
#: whatsnew/2.5.rst:1807
msgid "Result"
msgstr ""
#: whatsnew/2.5.rst:1809
msgid "``elem[n]``"
msgstr ""
#: whatsnew/2.5.rst:1809
msgid "Returns n'th child element."
msgstr ""
#: whatsnew/2.5.rst:1811
msgid "``elem[m:n]``"
msgstr ""
#: whatsnew/2.5.rst:1811
msgid "Returns list of m'th through n'th child elements."
msgstr ""
#: whatsnew/2.5.rst:1814
msgid "``len(elem)``"
msgstr ""
#: whatsnew/2.5.rst:1814
msgid "Returns number of child elements."
msgstr ""
#: whatsnew/2.5.rst:1816
msgid "``list(elem)``"
msgstr ""
#: whatsnew/2.5.rst:1816
msgid "Returns list of child elements."
msgstr ""
#: whatsnew/2.5.rst:1818
msgid "``elem.append(elem2)``"
msgstr ""
#: whatsnew/2.5.rst:1818
msgid "Adds *elem2* as a child."
msgstr ""
#: whatsnew/2.5.rst:1820
msgid "``elem.insert(index, elem2)``"
msgstr ""
#: whatsnew/2.5.rst:1820
msgid "Inserts *elem2* at the specified location."
msgstr ""
#: whatsnew/2.5.rst:1822
msgid "``del elem[n]``"
msgstr ""
#: whatsnew/2.5.rst:1822
msgid "Deletes n'th child element."
msgstr ""
#: whatsnew/2.5.rst:1824
msgid "``elem.keys()``"
msgstr ""
#: whatsnew/2.5.rst:1824
msgid "Returns list of attribute names."
msgstr ""
#: whatsnew/2.5.rst:1826
msgid "``elem.get(name)``"
msgstr ""
#: whatsnew/2.5.rst:1826
msgid "Returns value of attribute *name*."
msgstr ""
#: whatsnew/2.5.rst:1828
msgid "``elem.set(name, value)``"
msgstr ""
#: whatsnew/2.5.rst:1828
msgid "Sets new value for attribute *name*."
msgstr ""
#: whatsnew/2.5.rst:1830
msgid "``elem.attrib``"
msgstr ""
#: whatsnew/2.5.rst:1830
msgid "Retrieves the dictionary containing attributes."
msgstr ""
#: whatsnew/2.5.rst:1833
msgid "``del elem.attrib[name]``"
msgstr ""
#: whatsnew/2.5.rst:1833
msgid "Deletes attribute *name*."
msgstr ""
#: whatsnew/2.5.rst:1836
msgid ""
"Comments and processing instructions are also represented as :class:"
"`Element` nodes. To check if a node is a comment or processing "
"instructions::"
msgstr ""
#: whatsnew/2.5.rst:1844
msgid ""
"To generate XML output, you should call the :meth:`ElementTree.write` "
"method. Like :func:`parse`, it can take either a string or a file-like "
"object::"
msgstr ""
#: whatsnew/2.5.rst:1854
msgid ""
"(Caution: the default encoding used for output is ASCII. For general XML "
"work, where an element's name may contain arbitrary Unicode characters, "
"ASCII isn't a very useful encoding because it will raise an exception if an "
"element's name contains any characters with values greater than 127. "
"Therefore, it's best to specify a different encoding such as UTF-8 that can "
"handle any Unicode character.)"
msgstr ""
#: whatsnew/2.5.rst:1861
msgid ""
"This section is only a partial description of the ElementTree interfaces. "
"Please read the package's official documentation for more details."
msgstr ""
#: whatsnew/2.5.rst:1867
msgid "http://effbot.org/zone/element-index.htm"
msgstr ""
#: whatsnew/2.5.rst:1868
msgid "Official documentation for ElementTree."
msgstr ""
#: whatsnew/2.5.rst:1876
msgid "The hashlib package"
msgstr ""
#: whatsnew/2.5.rst:1878
msgid ""
"A new :mod:`hashlib` module, written by Gregory P. Smith, has been added to "
"replace the :mod:`md5` and :mod:`sha` modules. :mod:`hashlib` adds support "
"for additional secure hashes (SHA-224, SHA-256, SHA-384, and SHA-512). When "
"available, the module uses OpenSSL for fast platform optimized "
"implementations of algorithms."
msgstr ""
#: whatsnew/2.5.rst:1884
msgid ""
"The old :mod:`md5` and :mod:`sha` modules still exist as wrappers around "
"hashlib to preserve backwards compatibility. The new module's interface is "
"very close to that of the old modules, but not identical. The most "
"significant difference is that the constructor functions for creating new "
"hashing objects are named differently. ::"
msgstr ""
#: whatsnew/2.5.rst:1913
msgid ""
"Once a hash object has been created, its methods are the same as before: "
"``update(string)`` hashes the specified string into the current digest "
"state, :meth:`digest` and :meth:`hexdigest` return the digest value as a "
"binary string or a string of hex digits, and :meth:`copy` returns a new "
"hashing object with the same digest state."
msgstr ""
#: whatsnew/2.5.rst:1922
msgid "The documentation for the :mod:`hashlib` module."
msgstr ""
#: whatsnew/2.5.rst:1930
msgid "The sqlite3 package"
msgstr ""
#: whatsnew/2.5.rst:1932
msgid ""
"The pysqlite module (http://www.pysqlite.org), a wrapper for the SQLite "
"embedded database, has been added to the standard library under the package "
"name :mod:`sqlite3`."
msgstr ""
#: whatsnew/2.5.rst:1936
msgid ""
"SQLite is a C library that provides a lightweight disk-based database that "
"doesn't require a separate server process and allows accessing the database "
"using a nonstandard variant of the SQL query language. Some applications can "
"use SQLite for internal data storage. It's also possible to prototype an "
"application using SQLite and then port the code to a larger database such as "
"PostgreSQL or Oracle."
msgstr ""
#: whatsnew/2.5.rst:1943
msgid ""
"pysqlite was written by Gerhard Häring and provides a SQL interface "
"compliant with the DB-API 2.0 specification described by :pep:`249`."
msgstr ""
#: whatsnew/2.5.rst:1946
msgid ""
"If you're compiling the Python source yourself, note that the source tree "
"doesn't include the SQLite code, only the wrapper module. You'll need to "
"have the SQLite libraries and headers installed before compiling Python, and "
"the build process will compile the module when the necessary headers are "
"available."
msgstr ""
#: whatsnew/2.5.rst:1951
msgid ""
"To use the module, you must first create a :class:`Connection` object that "
"represents the database. Here the data will be stored in the :file:`/tmp/"
"example` file::"
msgstr ""
#: whatsnew/2.5.rst:1957
msgid ""
"You can also supply the special name ``:memory:`` to create a database in "
"RAM."
msgstr ""
#: whatsnew/2.5.rst:1959
msgid ""
"Once you have a :class:`Connection`, you can create a :class:`Cursor` "
"object and call its :meth:`execute` method to perform SQL commands::"
msgstr ""
#: whatsnew/2.5.rst:1973
msgid ""
"Usually your SQL operations will need to use values from Python variables. "
"You shouldn't assemble your query using Python's string operations because "
"doing so is insecure; it makes your program vulnerable to an SQL injection "
"attack."
msgstr ""
#: whatsnew/2.5.rst:1977
msgid ""
"Instead, use the DB-API's parameter substitution. Put ``?`` as a "
"placeholder wherever you want to use a value, and then provide a tuple of "
"values as the second argument to the cursor's :meth:`execute` method. "
"(Other database modules may use a different placeholder, such as ``%s`` or "
"``:1``.) For example::"
msgstr ""
#: whatsnew/2.5.rst:1997
msgid ""
"To retrieve data after executing a SELECT statement, you can either treat "
"the cursor as an iterator, call the cursor's :meth:`fetchone` method to "
"retrieve a single matching row, or call :meth:`fetchall` to get a list of "
"the matching rows."
msgstr ""
#: whatsnew/2.5.rst:2002
msgid "This example uses the iterator form::"
msgstr ""
#: whatsnew/2.5.rst:2015
msgid ""
"For more information about the SQL dialect supported by SQLite, see http://"
"www.sqlite.org."
msgstr ""
#: whatsnew/2.5.rst:2022
msgid "http://www.pysqlite.org"
msgstr ""
#: whatsnew/2.5.rst:2022
msgid "The pysqlite web page."
msgstr ""
#: whatsnew/2.5.rst:2026
msgid "http://www.sqlite.org"
msgstr ""
#: whatsnew/2.5.rst:2025
msgid ""
"The SQLite web page; the documentation describes the syntax and the "
"available data types for the supported SQL dialect."
msgstr ""
#: whatsnew/2.5.rst:2028
msgid "The documentation for the :mod:`sqlite3` module."
msgstr ""
#: whatsnew/2.5.rst:2030
msgid "PEP 249 - Database API Specification 2.0"
msgstr ""
#: whatsnew/2.5.rst:2031
msgid "PEP written by Marc-André Lemburg."
msgstr ""
#: whatsnew/2.5.rst:2039
msgid "The wsgiref package"
msgstr ""
#: whatsnew/2.5.rst:2041
msgid ""
"The Web Server Gateway Interface (WSGI) v1.0 defines a standard interface "
"between web servers and Python web applications and is described in :pep:"
"`333`. The :mod:`wsgiref` package is a reference implementation of the WSGI "
"specification."
msgstr ""
#: whatsnew/2.5.rst:2048
msgid ""
"The package includes a basic HTTP server that will run a WSGI application; "
"this server is useful for debugging but isn't intended for production use. "
"Setting up a server takes only a few lines of code::"
msgstr ""
#: whatsnew/2.5.rst:2068
msgid "http://www.wsgi.org"
msgstr ""
#: whatsnew/2.5.rst:2068
msgid "A central web site for WSGI-related resources."
msgstr ""
#: whatsnew/2.5.rst:2070
msgid "PEP 333 - Python Web Server Gateway Interface v1.0"
msgstr ""
#: whatsnew/2.5.rst:2071
msgid "PEP written by Phillip J. Eby."
msgstr ""
#: whatsnew/2.5.rst:2083
msgid ""
"The Python source tree was converted from CVS to Subversion, in a complex "
"migration procedure that was supervised and flawlessly carried out by Martin "
"von Löwis. The procedure was developed as :pep:`347`."
msgstr ""
#: whatsnew/2.5.rst:2087
msgid ""
"Coverity, a company that markets a source code analysis tool called Prevent, "
"provided the results of their examination of the Python source code. The "
"analysis found about 60 bugs that were quickly fixed. Many of the bugs "
"were refcounting problems, often occurring in error-handling code. See "
"http://scan.coverity.com for the statistics."
msgstr ""
#: whatsnew/2.5.rst:2093
msgid ""
"The largest change to the C API came from :pep:`353`, which modifies the "
"interpreter to use a :c:type:`Py_ssize_t` type definition instead of :c:type:"
"`int`. See the earlier section :ref:`pep-353` for a discussion of this "
"change."
msgstr ""
#: whatsnew/2.5.rst:2098
msgid ""
"The design of the bytecode compiler has changed a great deal, no longer "
"generating bytecode by traversing the parse tree. Instead the parse tree is "
"converted to an abstract syntax tree (or AST), and it is the abstract "
"syntax tree that's traversed to produce the bytecode."
msgstr ""
#: whatsnew/2.5.rst:2103
msgid ""
"It's possible for Python code to obtain AST objects by using the :func:"
"`compile` built-in and specifying ``_ast.PyCF_ONLY_AST`` as the value of "
"the *flags* parameter::"
msgstr ""
#: whatsnew/2.5.rst:2116
msgid ""
"No official documentation has been written for the AST code yet, but :pep:"
"`339` discusses the design. To start learning about the code, read the "
"definition of the various AST nodes in :file:`Parser/Python.asdl`. A Python "
"script reads this file and generates a set of C structure definitions in :"
"file:`Include/Python-ast.h`. The :c:func:`PyParser_ASTFromString` and :c:"
"func:`PyParser_ASTFromFile`, defined in :file:`Include/pythonrun.h`, take "
"Python source as input and return the root of an AST representing the "
"contents. This AST can then be turned into a code object by :c:func:"
"`PyAST_Compile`. For more information, read the source code, and then ask "
"questions on python-dev."
msgstr ""
#: whatsnew/2.5.rst:2126
msgid ""
"The AST code was developed under Jeremy Hylton's management, and implemented "
"by (in alphabetical order) Brett Cannon, Nick Coghlan, Grant Edwards, John "
"Ehresman, Kurt Kaiser, Neal Norwitz, Tim Peters, Armin Rigo, and Neil "
"Schemenauer, plus the participants in a number of AST sprints at conferences "
"such as PyCon."
msgstr ""
#: whatsnew/2.5.rst:2135
msgid ""
"Evan Jones's patch to obmalloc, first described in a talk at PyCon DC 2005, "
"was applied. Python 2.4 allocated small objects in 256K-sized arenas, but "
"never freed arenas. With this patch, Python will free arenas when they're "
"empty. The net effect is that on some platforms, when you allocate many "
"objects, Python's memory usage may actually drop when you delete them and "
"the memory may be returned to the operating system. (Implemented by Evan "
"Jones, and reworked by Tim Peters.)"
msgstr ""
#: whatsnew/2.5.rst:2143
msgid ""
"Note that this change means extension modules must be more careful when "
"allocating memory. Python's API has many different functions for allocating "
"memory that are grouped into families. For example, :c:func:"
"`PyMem_Malloc`, :c:func:`PyMem_Realloc`, and :c:func:`PyMem_Free` are one "
"family that allocates raw memory, while :c:func:`PyObject_Malloc`, :c:func:"
"`PyObject_Realloc`, and :c:func:`PyObject_Free` are another family that's "
"supposed to be used for creating Python objects."
msgstr ""
#: whatsnew/2.5.rst:2151
msgid ""
"Previously these different families all reduced to the platform's :c:func:"
"`malloc` and :c:func:`free` functions. This meant it didn't matter if you "
"got things wrong and allocated memory with the :c:func:`PyMem` function but "
"freed it with the :c:func:`PyObject` function. With 2.5's changes to "
"obmalloc, these families now do different things and mismatches will "
"probably result in a segfault. You should carefully test your C extension "
"modules with Python 2.5."
msgstr ""
#: whatsnew/2.5.rst:2158
msgid ""
"The built-in set types now have an official C API. Call :c:func:`PySet_New` "
"and :c:func:`PyFrozenSet_New` to create a new set, :c:func:`PySet_Add` and :"
"c:func:`PySet_Discard` to add and remove elements, and :c:func:"
"`PySet_Contains` and :c:func:`PySet_Size` to examine the set's state. "
"(Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.5.rst:2164
msgid ""
"C code can now obtain information about the exact revision of the Python "
"interpreter by calling the :c:func:`Py_GetBuildInfo` function that returns "
"a string of build information like this: ``\"trunk:45355:45356M, Apr 13 "
"2006, 07:42:19\"``. (Contributed by Barry Warsaw.)"
msgstr ""
#: whatsnew/2.5.rst:2169
msgid ""
"Two new macros can be used to indicate C functions that are local to the "
"current file so that a faster calling convention can be used. "
"``Py_LOCAL(type)`` declares the function as returning a value of the "
"specified *type* and uses a fast-calling qualifier. "
"``Py_LOCAL_INLINE(type)`` does the same thing and also requests the function "
"be inlined. If :c:func:`PY_LOCAL_AGGRESSIVE` is defined before :file:"
"`python.h` is included, a set of more aggressive optimizations are enabled "
"for the module; you should benchmark the results to find out if these "
"optimizations actually make the code faster. (Contributed by Fredrik Lundh "
"at the NeedForSpeed sprint.)"
msgstr ""
#: whatsnew/2.5.rst:2180
msgid ""
"``PyErr_NewException(name, base, dict)`` can now accept a tuple of base "
"classes as its *base* argument. (Contributed by Georg Brandl.)"
msgstr ""
#: whatsnew/2.5.rst:2183
msgid ""
"The :c:func:`PyErr_Warn` function for issuing warnings is now deprecated in "
"favour of ``PyErr_WarnEx(category, message, stacklevel)`` which lets you "
"specify the number of stack frames separating this function and the caller. "
"A *stacklevel* of 1 is the function calling :c:func:`PyErr_WarnEx`, 2 is the "
"function above that, and so forth. (Added by Neal Norwitz.)"
msgstr ""
#: whatsnew/2.5.rst:2189
msgid ""
"The CPython interpreter is still written in C, but the code can now be "
"compiled with a C++ compiler without errors. (Implemented by Anthony "
"Baxter, Martin von Löwis, Skip Montanaro.)"
msgstr ""
#: whatsnew/2.5.rst:2193
msgid ""
"The :c:func:`PyRange_New` function was removed. It was never documented, "
"never used in the core code, and had dangerously lax error checking. In the "
"unlikely case that your extensions were using it, you can replace it by "
"something like the following::"
msgstr ""
#: whatsnew/2.5.rst:2209
msgid ""
"MacOS X (10.3 and higher): dynamic loading of modules now uses the :c:func:"
"`dlopen` function instead of MacOS-specific functions."
msgstr ""
#: whatsnew/2.5.rst:2212
msgid ""
"MacOS X: an :option:`--enable-universalsdk` switch was added to the :program:"
"`configure` script that compiles the interpreter as a universal binary able "
"to run on both PowerPC and Intel processors. (Contributed by Ronald "
"Oussoren; :issue:`2573`.)"
msgstr ""
#: whatsnew/2.5.rst:2217
msgid ""
"Windows: :file:`.dll` is no longer supported as a filename extension for "
"extension modules. :file:`.pyd` is now the only filename extension that "
"will be searched for."
msgstr ""
#: whatsnew/2.5.rst:2227
#, fuzzy
msgid "Porting to Python 2.5"
msgstr "Portage vers Python 3.2"
#: whatsnew/2.5.rst:2232
msgid ""
"ASCII is now the default encoding for modules. It's now a syntax error if "
"a module contains string literals with 8-bit characters but doesn't have an "
"encoding declaration. In Python 2.4 this triggered a warning, not a syntax "
"error."
msgstr ""
#: whatsnew/2.5.rst:2237
msgid ""
"Previously, the :attr:`gi_frame` attribute of a generator was always a frame "
"object. Because of the :pep:`342` changes described in section :ref:"
"`pep-342`, it's now possible for :attr:`gi_frame` to be ``None``."
msgstr ""
#: whatsnew/2.5.rst:2241
msgid ""
"A new warning, :class:`UnicodeWarning`, is triggered when you attempt to "
"compare a Unicode string and an 8-bit string that can't be converted to "
"Unicode using the default ASCII encoding. Previously such comparisons would "
"raise a :class:`UnicodeDecodeError` exception."
msgstr ""
#: whatsnew/2.5.rst:2246
msgid ""
"Library: the :mod:`csv` module is now stricter about multi-line quoted "
"fields. If your files contain newlines embedded within fields, the input "
"should be split into lines in a manner which preserves the newline "
"characters."
msgstr ""
#: whatsnew/2.5.rst:2250
msgid ""
"Library: the :mod:`locale` module's :func:`format` function's would "
"previously accept any string as long as no more than one %char specifier "
"appeared. In Python 2.5, the argument must be exactly one %char specifier "
"with no surrounding text."
msgstr ""
#: whatsnew/2.5.rst:2255
msgid ""
"Library: The :mod:`pickle` and :mod:`cPickle` modules no longer accept a "
"return value of ``None`` from the :meth:`__reduce__` method; the method must "
"return a tuple of arguments instead. The modules also no longer accept the "
"deprecated *bin* keyword parameter."
msgstr ""
#: whatsnew/2.5.rst:2260
msgid ""
"Library: The :mod:`SimpleXMLRPCServer` and :mod:`DocXMLRPCServer` classes "
"now have a :attr:`rpc_paths` attribute that constrains XML-RPC operations to "
"a limited set of URL paths; the default is to allow only ``'/'`` and ``'/"
"RPC2'``. Setting :attr:`rpc_paths` to ``None`` or an empty tuple disables "
"this path checking."
msgstr ""
#: whatsnew/2.5.rst:2266
msgid ""
"C API: Many functions now use :c:type:`Py_ssize_t` instead of :c:type:`int` "
"to allow processing more data on 64-bit machines. Extension code may need "
"to make the same change to avoid warnings and to support 64-bit machines. "
"See the earlier section :ref:`pep-353` for a discussion of this change."
msgstr ""
#: whatsnew/2.5.rst:2271
msgid ""
"C API: The obmalloc changes mean that you must be careful to not mix usage "
"of the :c:func:`PyMem_\\*` and :c:func:`PyObject_\\*` families of functions. "
"Memory allocated with one family's :c:func:`\\*_Malloc` must be freed with "
"the corresponding family's :c:func:`\\*_Free` function."
msgstr ""
#: whatsnew/2.5.rst:2282
msgid ""
"The author would like to thank the following people for offering "
"suggestions, corrections and assistance with various drafts of this article: "
"Georg Brandl, Nick Coghlan, Phillip J. Eby, Lars Gustäbel, Raymond "
"Hettinger, Ralf W. Grosse- Kunstleve, Kent Johnson, Iain Lowe, Martin von "
"Löwis, Fredrik Lundh, Andrew McNamara, Skip Montanaro, Gustavo Niemeyer, "
"Paul Prescod, James Pryor, Mike Rovner, Scott Weikart, Barry Warsaw, Thomas "
"Wouters."
msgstr ""
#: whatsnew/2.6.rst:5
#, fuzzy
msgid "What's New in Python 2.6"
msgstr "Nouveautés de Python 2.0"
#: whatsnew/2.6.rst:9 whatsnew/2.7.rst:5
msgid "A.M. Kuchling (amk at amk.ca)"
msgstr ""
#: whatsnew/2.6.rst:52
msgid ""
"This article explains the new features in Python 2.6, released on October 1 "
"2008. The release schedule is described in :pep:`361`."
msgstr ""
#: whatsnew/2.6.rst:55
msgid ""
"The major theme of Python 2.6 is preparing the migration path to Python 3.0, "
"a major redesign of the language. Whenever possible, Python 2.6 "
"incorporates new features and syntax from 3.0 while remaining compatible "
"with existing code by not removing older features or syntax. When it's not "
"possible to do that, Python 2.6 tries to do what it can, adding "
"compatibility functions in a :mod:`future_builtins` module and a :option:"
"`-3` switch to warn about usages that will become unsupported in 3.0."
msgstr ""
#: whatsnew/2.6.rst:64
msgid ""
"Some significant new packages have been added to the standard library, such "
"as the :mod:`multiprocessing` and :mod:`json` modules, but there aren't many "
"new features that aren't related to Python 3.0 in some way."
msgstr ""
#: whatsnew/2.6.rst:69
msgid ""
"Python 2.6 also sees a number of improvements and bugfixes throughout the "
"source. A search through the change logs finds there were 259 patches "
"applied and 612 bugs fixed between Python 2.5 and 2.6. Both figures are "
"likely to be underestimates."
msgstr ""
#: whatsnew/2.6.rst:74
msgid ""
"This article doesn't attempt to provide a complete specification of the new "
"features, but instead provides a convenient overview. For full details, you "
"should refer to the documentation for Python 2.6. If you want to understand "
"the rationale for the design and implementation, refer to the PEP for a "
"particular new feature. Whenever possible, \"What's New in Python\" links to "
"the bug/patch item for each change."
msgstr ""
#: whatsnew/2.6.rst:90
msgid "Python 3.0"
msgstr "Python 3.0"
#: whatsnew/2.6.rst:92
msgid ""
"The development cycle for Python versions 2.6 and 3.0 was synchronized, with "
"the alpha and beta releases for both versions being made on the same days. "
"The development of 3.0 has influenced many features in 2.6."
msgstr ""
#: whatsnew/2.6.rst:97
msgid ""
"Python 3.0 is a far-ranging redesign of Python that breaks compatibility "
"with the 2.x series. This means that existing Python code will need some "
"conversion in order to run on Python 3.0. However, not all the changes in "
"3.0 necessarily break compatibility. In cases where new features won't "
"cause existing code to break, they've been backported to 2.6 and are "
"described in this document in the appropriate place. Some of the 3.0-"
"derived features are:"
msgstr ""
#: whatsnew/2.6.rst:106
msgid ""
"A :meth:`__complex__` method for converting objects to a complex number."
msgstr ""
#: whatsnew/2.6.rst:107
msgid "Alternate syntax for catching exceptions: ``except TypeError as exc``."
msgstr ""
#: whatsnew/2.6.rst:108
msgid ""
"The addition of :func:`functools.reduce` as a synonym for the built-in :func:"
"`reduce` function."
msgstr ""
#: whatsnew/2.6.rst:111
msgid ""
"Python 3.0 adds several new built-in functions and changes the semantics of "
"some existing builtins. Functions that are new in 3.0 such as :func:`bin` "
"have simply been added to Python 2.6, but existing builtins haven't been "
"changed; instead, the :mod:`future_builtins` module has versions with the "
"new 3.0 semantics. Code written to be compatible with 3.0 can do ``from "
"future_builtins import hex, map`` as necessary."
msgstr ""
#: whatsnew/2.6.rst:119
msgid ""
"A new command-line switch, :option:`-3`, enables warnings about features "
"that will be removed in Python 3.0. You can run code with this switch to "
"see how much work will be necessary to port code to 3.0. The value of this "
"switch is available to Python code as the boolean variable :data:`sys."
"py3kwarning`, and to C extension code as :c:data:`Py_Py3kWarningFlag`."
msgstr ""
#: whatsnew/2.6.rst:128
msgid ""
"The 3xxx series of PEPs, which contains proposals for Python 3.0. :pep:"
"`3000` describes the development process for Python 3.0. Start with :pep:"
"`3100` that describes the general goals for Python 3.0, and then explore the "
"higher-numbered PEPS that propose specific features."
msgstr ""
#: whatsnew/2.6.rst:136
msgid "Changes to the Development Process"
msgstr ""
#: whatsnew/2.6.rst:138
msgid ""
"While 2.6 was being developed, the Python development process underwent two "
"significant changes: we switched from SourceForge's issue tracker to a "
"customized Roundup installation, and the documentation was converted from "
"LaTeX to reStructuredText."
msgstr ""
#: whatsnew/2.6.rst:145
msgid "New Issue Tracker: Roundup"
msgstr ""
#: whatsnew/2.6.rst:147
msgid ""
"For a long time, the Python developers had been growing increasingly annoyed "
"by SourceForge's bug tracker. SourceForge's hosted solution doesn't permit "
"much customization; for example, it wasn't possible to customize the life "
"cycle of issues."
msgstr ""
#: whatsnew/2.6.rst:152
msgid ""
"The infrastructure committee of the Python Software Foundation therefore "
"posted a call for issue trackers, asking volunteers to set up different "
"products and import some of the bugs and patches from SourceForge. Four "
"different trackers were examined: `Jira <http://www.atlassian.com/software/"
"jira/>`__, `Launchpad <http://www.launchpad.net>`__, `Roundup <http://"
"roundup.sourceforge.net/>`__, and `Trac <http://trac.edgewall.org/>`__. The "
"committee eventually settled on Jira and Roundup as the two candidates. "
"Jira is a commercial product that offers no-cost hosted instances to free-"
"software projects; Roundup is an open-source project that requires "
"volunteers to administer it and a server to host it."
msgstr ""
#: whatsnew/2.6.rst:166
msgid ""
"After posting a call for volunteers, a new Roundup installation was set up "
"at https://bugs.python.org. One installation of Roundup can host multiple "
"trackers, and this server now also hosts issue trackers for Jython and for "
"the Python web site. It will surely find other uses in the future. Where "
"possible, this edition of \"What's New in Python\" links to the bug/patch "
"item for each change."
msgstr ""
#: whatsnew/2.6.rst:174
msgid ""
"Hosting of the Python bug tracker is kindly provided by `Upfront Systems "
"<http://www.upfrontsystems.co.za/>`__ of Stellenbosch, South Africa. Martin "
"von Löwis put a lot of effort into importing existing bugs and patches from "
"SourceForge; his scripts for this import operation are at http://svn.python."
"org/view/tracker/importer/ and may be useful to other projects wishing to "
"move from SourceForge to Roundup."
msgstr ""
#: whatsnew/2.6.rst:185
msgid "https://bugs.python.org"
msgstr ""
#: whatsnew/2.6.rst:185
msgid "The Python bug tracker."
msgstr ""
#: whatsnew/2.6.rst:188
msgid "http://bugs.jython.org:"
msgstr ""
#: whatsnew/2.6.rst:188
msgid "The Jython bug tracker."
msgstr ""
#: whatsnew/2.6.rst:191
msgid "http://roundup.sourceforge.net/"
msgstr ""
#: whatsnew/2.6.rst:191
msgid "Roundup downloads and documentation."
msgstr ""
#: whatsnew/2.6.rst:193
msgid "http://svn.python.org/view/tracker/importer/"
msgstr ""
#: whatsnew/2.6.rst:194
msgid "Martin von Löwis's conversion scripts."
msgstr ""
#: whatsnew/2.6.rst:197
msgid "New Documentation Format: reStructuredText Using Sphinx"
msgstr ""
#: whatsnew/2.6.rst:199
msgid ""
"The Python documentation was written using LaTeX since the project started "
"around 1989. In the 1980s and early 1990s, most documentation was printed "
"out for later study, not viewed online. LaTeX was widely used because it "
"provided attractive printed output while remaining straightforward to write "
"once the basic rules of the markup were learned."
msgstr ""
#: whatsnew/2.6.rst:206
msgid ""
"Today LaTeX is still used for writing publications destined for printing, "
"but the landscape for programming tools has shifted. We no longer print out "
"reams of documentation; instead, we browse through it online and HTML has "
"become the most important format to support. Unfortunately, converting LaTeX "
"to HTML is fairly complicated and Fred L. Drake Jr., the long-time Python "
"documentation editor, spent a lot of time maintaining the conversion "
"process. Occasionally people would suggest converting the documentation "
"into SGML and later XML, but performing a good conversion is a major task "
"and no one ever committed the time required to finish the job."
msgstr ""
#: whatsnew/2.6.rst:217
msgid ""
"During the 2.6 development cycle, Georg Brandl put a lot of effort into "
"building a new toolchain for processing the documentation. The resulting "
"package is called Sphinx, and is available from http://sphinx.pocoo.org/."
msgstr ""
#: whatsnew/2.6.rst:222
msgid ""
"Sphinx concentrates on HTML output, producing attractively styled and modern "
"HTML; printed output is still supported through conversion to LaTeX. The "
"input format is reStructuredText, a markup syntax supporting custom "
"extensions and directives that is commonly used in the Python community."
msgstr ""
#: whatsnew/2.6.rst:228
msgid ""
"Sphinx is a standalone package that can be used for writing, and almost two "
"dozen other projects (`listed on the Sphinx web site <http://sphinx-doc.org/"
"examples.html>`__) have adopted Sphinx as their documentation tool."
msgstr ""
#: whatsnew/2.6.rst:236
#, fuzzy
msgid "Documenting Python"
msgstr "Portage vers Python 3.2"
#: whatsnew/2.6.rst:236
msgid "Describes how to write for Python's documentation."
msgstr ""
#: whatsnew/2.6.rst:239
msgid "Sphinx"
msgstr ""
#: whatsnew/2.6.rst:239
msgid "Documentation and code for the Sphinx toolchain."
msgstr ""
#: whatsnew/2.6.rst:241
msgid "Docutils"
msgstr ""
#: whatsnew/2.6.rst:242
msgid "The underlying reStructuredText parser and toolset."
msgstr ""
#: whatsnew/2.6.rst:250
msgid ""
"The previous version, Python 2.5, added the ':keyword:`with`' statement as "
"an optional feature, to be enabled by a ``from __future__ import "
"with_statement`` directive. In 2.6 the statement no longer needs to be "
"specially enabled; this means that :keyword:`with` is now always a keyword. "
"The rest of this section is a copy of the corresponding section from the "
"\"What's New in Python 2.5\" document; if you're familiar with the ':keyword:"
"`with`' statement from Python 2.5, you can skip this section."
msgstr ""
#: whatsnew/2.6.rst:265
msgid ""
"The ':keyword:`with`' statement is a control-flow structure whose basic "
"structure is::"
msgstr ""
#: whatsnew/2.6.rst:271
msgid ""
"The expression is evaluated, and it should result in an object that supports "
"the context management protocol (that is, has :meth:`__enter__` and :meth:"
"`__exit__` methods)."
msgstr ""
#: whatsnew/2.6.rst:312
msgid ""
"The :func:`localcontext` function in the :mod:`decimal` module makes it easy "
"to save and restore the current decimal context, which encapsulates the "
"desired precision and rounding characteristics for computations::"
msgstr ""
#: whatsnew/2.6.rst:345
msgid ""
"The context manager's :meth:`__enter__` method is called. The value "
"returned is assigned to *VAR*. If no ``as VAR`` clause is present, the "
"value is simply discarded."
msgstr ""
#: whatsnew/2.6.rst:351
msgid ""
"If *BLOCK* raises an exception, the context manager's :meth:`__exit__` "
"method is called with three arguments, the exception details (``type, value, "
"traceback``, the same values returned by :func:`sys.exc_info`, which can "
"also be ``None`` if no exception occurred). The method's return value "
"controls whether an exception is re-raised: any false value re-raises the "
"exception, and ``True`` will result in suppressing it. You'll only rarely "
"want to suppress the exception, because if you do the author of the code "
"containing the ':keyword:`with`' statement will never realize anything went "
"wrong."
msgstr ""
#: whatsnew/2.6.rst:433
msgid ""
"The :mod:`contextlib` module provides some functions and a decorator that "
"are useful when writing objects for use with the ':keyword:`with`' statement."
msgstr ""
#: whatsnew/2.6.rst:445
msgid ""
"Using this decorator, our database example from the previous section could "
"be written as::"
msgstr ""
#: whatsnew/2.6.rst:474
msgid ""
"Finally, the :func:`closing` function returns its argument so that it can be "
"bound to a variable, and calls the argument's ``.close()`` method at the end "
"of the block. ::"
msgstr ""
#: whatsnew/2.6.rst:501
msgid "PEP 366: Explicit Relative Imports From a Main Module"
msgstr ""
#: whatsnew/2.6.rst:503
msgid ""
"Python's :option:`-m` switch allows running a module as a script. When you "
"ran a module that was located inside a package, relative imports didn't work "
"correctly."
msgstr ""
#: whatsnew/2.6.rst:507
msgid ""
"The fix for Python 2.6 adds a :attr:`__package__` attribute to modules. "
"When this attribute is present, relative imports will be relative to the "
"value of this attribute instead of the :attr:`__name__` attribute."
msgstr ""
#: whatsnew/2.6.rst:512
msgid ""
"PEP 302-style importers can then set :attr:`__package__` as necessary. The :"
"mod:`runpy` module that implements the :option:`-m` switch now does this, so "
"relative imports will now work correctly in scripts running from inside a "
"package."
msgstr ""
#: whatsnew/2.6.rst:522
msgid "PEP 370: Per-user ``site-packages`` Directory"
msgstr ""
#: whatsnew/2.6.rst:524
msgid ""
"When you run Python, the module search path ``sys.path`` usually includes a "
"directory whose path ends in ``\"site-packages\"``. This directory is "
"intended to hold locally-installed packages available to all users using a "
"machine or a particular site installation."
msgstr ""
#: whatsnew/2.6.rst:529
msgid ""
"Python 2.6 introduces a convention for user-specific site directories. The "
"directory varies depending on the platform:"
msgstr ""
#: whatsnew/2.6.rst:532
msgid "Unix and Mac OS X: :file:`~/.local/`"
msgstr ""
#: whatsnew/2.6.rst:533
msgid "Windows: :file:`%APPDATA%/Python`"
msgstr ""
#: whatsnew/2.6.rst:535
msgid ""
"Within this directory, there will be version-specific subdirectories, such "
"as :file:`lib/python2.6/site-packages` on Unix/Mac OS and :file:`Python26/"
"site-packages` on Windows."
msgstr ""
#: whatsnew/2.6.rst:539
msgid ""
"If you don't like the default directory, it can be overridden by an "
"environment variable. :envvar:`PYTHONUSERBASE` sets the root directory used "
"for all Python versions supporting this feature. On Windows, the directory "
"for application-specific data can be changed by setting the :envvar:"
"`APPDATA` environment variable. You can also modify the :file:`site.py` "
"file for your Python installation."
msgstr ""
#: whatsnew/2.6.rst:546
msgid ""
"The feature can be disabled entirely by running Python with the :option:`-s` "
"option or setting the :envvar:`PYTHONNOUSERSITE` environment variable."
msgstr ""
#: whatsnew/2.6.rst:552
msgid "PEP 370 - Per-user site-packages Directory"
msgstr ""
#: whatsnew/2.6.rst:553
msgid "PEP written and implemented by Christian Heimes."
msgstr ""
#: whatsnew/2.6.rst:561
msgid "PEP 371: The ``multiprocessing`` Package"
msgstr ""
#: whatsnew/2.6.rst:563
msgid ""
"The new :mod:`multiprocessing` package lets Python programs create new "
"processes that will perform a computation and return a result to the "
"parent. The parent and child processes can communicate using queues and "
"pipes, synchronize their operations using locks and semaphores, and can "
"share simple arrays of data."
msgstr ""
#: whatsnew/2.6.rst:569
msgid ""
"The :mod:`multiprocessing` module started out as an exact emulation of the :"
"mod:`threading` module using processes instead of threads. That goal was "
"discarded along the path to Python 2.6, but the general approach of the "
"module is still similar. The fundamental class is the :class:`Process`, "
"which is passed a callable object and a collection of arguments. The :meth:"
"`start` method sets the callable running in a subprocess, after which you "
"can call the :meth:`is_alive` method to check whether the subprocess is "
"still running and the :meth:`join` method to wait for the process to exit."
msgstr ""
#: whatsnew/2.6.rst:579
msgid ""
"Here's a simple example where the subprocess will calculate a factorial. "
"The function doing the calculation is written strangely so that it takes "
"significantly longer when the input argument is a multiple of 4."
msgstr ""
#: whatsnew/2.6.rst:616
msgid ""
"A :class:`Queue` is used to communicate the result of the factorial. The :"
"class:`Queue` object is stored in a global variable. The child process will "
"use the value of the variable when the child was created; because it's a :"
"class:`Queue`, parent and child can use the object to communicate. (If the "
"parent were to change the value of the global variable, the child's value "
"would be unaffected, and vice versa.)"
msgstr ""
#: whatsnew/2.6.rst:624
msgid ""
"Two other classes, :class:`Pool` and :class:`Manager`, provide higher-level "
"interfaces. :class:`Pool` will create a fixed number of worker processes, "
"and requests can then be distributed to the workers by calling :meth:`apply` "
"or :meth:`apply_async` to add a single request, and :meth:`map` or :meth:"
"`map_async` to add a number of requests. The following code uses a :class:"
"`Pool` to spread requests across 5 worker processes and retrieve a list of "
"results::"
msgstr ""
#: whatsnew/2.6.rst:651
msgid ""
"The other high-level interface, the :class:`Manager` class, creates a "
"separate server process that can hold master copies of Python data "
"structures. Other processes can then access and modify these data "
"structures using proxy objects. The following example creates a shared "
"dictionary by calling the :meth:`dict` method; the worker processes then "
"insert values into the dictionary. (Locking is not done for you "
"automatically, which doesn't matter in this example. :class:`Manager`'s "
"methods also include :meth:`Lock`, :meth:`RLock`, and :meth:`Semaphore` to "
"create shared locks.)"
msgstr ""
#: whatsnew/2.6.rst:695
msgid "This will produce the output::"
msgstr ""
#: whatsnew/2.6.rst:706
msgid "The documentation for the :mod:`multiprocessing` module."
msgstr ""
#: whatsnew/2.6.rst:709
msgid "PEP 371 - Addition of the multiprocessing package"
msgstr ""
#: whatsnew/2.6.rst:709
msgid ""
"PEP written by Jesse Noller and Richard Oudkerk; implemented by Richard "
"Oudkerk and Jesse Noller."
msgstr ""
#: whatsnew/2.6.rst:718
msgid "PEP 3101: Advanced String Formatting"
msgstr ""
#: whatsnew/2.6.rst:720
msgid ""
"In Python 3.0, the `%` operator is supplemented by a more powerful string "
"formatting method, :meth:`format`. Support for the :meth:`str.format` "
"method has been backported to Python 2.6."
msgstr ""
#: whatsnew/2.6.rst:724
msgid ""
"In 2.6, both 8-bit and Unicode strings have a `.format()` method that treats "
"the string as a template and takes the arguments to be formatted. The "
"formatting template uses curly brackets (`{`, `}`) as special characters::"
msgstr ""
#: whatsnew/2.6.rst:737
msgid "Curly brackets can be escaped by doubling them::"
msgstr ""
#: whatsnew/2.6.rst:742
msgid ""
"Field names can be integers indicating positional arguments, such as ``{0}"
"``, ``{1}``, etc. or names of keyword arguments. You can also supply "
"compound field names that read attributes or access dictionary keys::"
msgstr ""
#: whatsnew/2.6.rst:756
msgid ""
"Note that when using dictionary-style notation such as ``[.mp4]``, you don't "
"need to put any quotation marks around the string; it will look up the value "
"using ``.mp4`` as the key. Strings beginning with a number will be "
"converted to an integer. You can't write more complicated expressions "
"inside a format string."
msgstr ""
#: whatsnew/2.6.rst:762
msgid ""
"So far we've shown how to specify which field to substitute into the "
"resulting string. The precise formatting used is also controllable by "
"adding a colon followed by a format specifier. For example::"
msgstr ""
#: whatsnew/2.6.rst:776
msgid "Format specifiers can reference other fields through nesting::"
msgstr ""
#: whatsnew/2.6.rst:786
msgid "The alignment of a field within the desired width can be specified:"
msgstr ""
#: whatsnew/2.6.rst:789
msgid "Character"
msgstr ""
#: whatsnew/2.6.rst:789
msgid "Effect"
msgstr ""
#: whatsnew/2.6.rst:791
msgid "< (default)"
msgstr ""
#: whatsnew/2.6.rst:791
msgid "Left-align"
msgstr ""
#: whatsnew/2.6.rst:792
msgid ">"
msgstr ""
#: whatsnew/2.6.rst:792
msgid "Right-align"
msgstr ""
#: whatsnew/2.6.rst:793
msgid "^"
msgstr ""
#: whatsnew/2.6.rst:793
msgid "Center"
msgstr ""
#: whatsnew/2.6.rst:794
msgid "="
msgstr ""
#: whatsnew/2.6.rst:794
msgid "(For numeric types only) Pad after the sign."
msgstr ""
#: whatsnew/2.6.rst:797
msgid ""
"Format specifiers can also include a presentation type, which controls how "
"the value is formatted. For example, floating-point numbers can be "
"formatted as a general number or in exponential notation::"
msgstr ""
#: whatsnew/2.6.rst:806
msgid ""
"A variety of presentation types are available. Consult the 2.6 "
"documentation for a :ref:`complete list <formatstrings>`; here's a sample:"
msgstr ""
#: whatsnew/2.6.rst:810
msgid "``b``"
msgstr ""
#: whatsnew/2.6.rst:810
msgid "Binary. Outputs the number in base 2."
msgstr ""
#: whatsnew/2.6.rst:811
msgid "``c``"
msgstr ""
#: whatsnew/2.6.rst:811
msgid ""
"Character. Converts the integer to the corresponding Unicode character "
"before printing."
msgstr ""
#: whatsnew/2.6.rst:813
msgid "``d``"
msgstr ""
#: whatsnew/2.6.rst:813
msgid "Decimal Integer. Outputs the number in base 10."
msgstr ""
#: whatsnew/2.6.rst:814
msgid "``o``"
msgstr ""
#: whatsnew/2.6.rst:814
msgid "Octal format. Outputs the number in base 8."
msgstr ""
#: whatsnew/2.6.rst:815
msgid "``x``"
msgstr ""
#: whatsnew/2.6.rst:815
msgid ""
"Hex format. Outputs the number in base 16, using lower-case letters for the "
"digits above 9."
msgstr ""
#: whatsnew/2.6.rst:817
msgid "``e``"
msgstr ""
#: whatsnew/2.6.rst:817
msgid ""
"Exponent notation. Prints the number in scientific notation using the letter "
"'e' to indicate the exponent."
msgstr ""
#: whatsnew/2.6.rst:819
msgid "``g``"
msgstr ""
#: whatsnew/2.6.rst:819
msgid ""
"General format. This prints the number as a fixed-point number, unless the "
"number is too large, in which case it switches to 'e' exponent notation."
msgstr ""
#: whatsnew/2.6.rst:822
msgid "``n``"
msgstr ""
#: whatsnew/2.6.rst:822
msgid ""
"Number. This is the same as 'g' (for floats) or 'd' (for integers), except "
"that it uses the current locale setting to insert the appropriate number "
"separator characters."
msgstr ""
#: whatsnew/2.6.rst:825
msgid "``%``"
msgstr ""
#: whatsnew/2.6.rst:825
msgid ""
"Percentage. Multiplies the number by 100 and displays in fixed ('f') format, "
"followed by a percent sign."
msgstr ""
#: whatsnew/2.6.rst:829
msgid ""
"Classes and types can define a :meth:`__format__` method to control how "
"they're formatted. It receives a single argument, the format specifier::"
msgstr ""
#: whatsnew/2.6.rst:838
msgid ""
"There's also a :func:`format` builtin that will format a single value. It "
"calls the type's :meth:`__format__` method with the provided specifier::"
msgstr ""
#: whatsnew/2.6.rst:849
msgid "formatstrings"
msgstr ""
#: whatsnew/2.6.rst:849
msgid "The reference documentation for format fields."
msgstr ""
#: whatsnew/2.6.rst:851
msgid "PEP 3101 - Advanced String Formatting"
msgstr ""
#: whatsnew/2.6.rst:852
msgid "PEP written by Talin. Implemented by Eric Smith."
msgstr ""
#: whatsnew/2.6.rst:859
msgid "PEP 3105: ``print`` As a Function"
msgstr ""
#: whatsnew/2.6.rst:861
msgid ""
"The ``print`` statement becomes the :func:`print` function in Python 3.0. "
"Making :func:`print` a function makes it possible to replace the function by "
"doing ``def print(...)`` or importing a new function from somewhere else."
msgstr ""
#: whatsnew/2.6.rst:865
msgid ""
"Python 2.6 has a ``__future__`` import that removes ``print`` as language "
"syntax, letting you use the functional form instead. For example::"
msgstr ""
#: whatsnew/2.6.rst:871
msgid "The signature of the new function is::"
msgstr ""
#: whatsnew/2.6.rst:876
msgid "The parameters are:"
msgstr ""
#: whatsnew/2.6.rst:878
msgid "*args*: positional arguments whose values will be printed out."
msgstr ""
#: whatsnew/2.6.rst:879
msgid "*sep*: the separator, which will be printed between arguments."
msgstr ""
#: whatsnew/2.6.rst:880
msgid ""
"*end*: the ending text, which will be printed after all of the arguments "
"have been output."
msgstr ""
#: whatsnew/2.6.rst:882
msgid "*file*: the file object to which the output will be sent."
msgstr ""
#: whatsnew/2.6.rst:886
msgid "PEP 3105 - Make print a function"
msgstr ""
#: whatsnew/2.6.rst:887
msgid "PEP written by Georg Brandl."
msgstr ""
#: whatsnew/2.6.rst:894
msgid "PEP 3110: Exception-Handling Changes"
msgstr ""
#: whatsnew/2.6.rst:896
msgid ""
"One error that Python programmers occasionally make is writing the following "
"code::"
msgstr ""
#: whatsnew/2.6.rst:904
msgid ""
"The author is probably trying to catch both :exc:`TypeError` and :exc:"
"`ValueError` exceptions, but this code actually does something different: it "
"will catch :exc:`TypeError` and bind the resulting exception object to the "
"local name ``\"ValueError\"``. The :exc:`ValueError` exception will not be "
"caught at all. The correct code specifies a tuple of exceptions::"
msgstr ""
#: whatsnew/2.6.rst:916
msgid ""
"This error happens because the use of the comma here is ambiguous: does it "
"indicate two different nodes in the parse tree, or a single node that's a "
"tuple?"
msgstr ""
#: whatsnew/2.6.rst:920
msgid ""
"Python 3.0 makes this unambiguous by replacing the comma with the word \"as"
"\". To catch an exception and store the exception object in the variable "
"``exc``, you must write::"
msgstr ""
#: whatsnew/2.6.rst:929
msgid ""
"Python 3.0 will only support the use of \"as\", and therefore interprets the "
"first example as catching two different exceptions. Python 2.6 supports "
"both the comma and \"as\", so existing code will continue to work. We "
"therefore suggest using \"as\" when writing new Python code that will only "
"be executed with 2.6."
msgstr ""
#: whatsnew/2.6.rst:937
msgid "PEP 3110 - Catching Exceptions in Python 3000"
msgstr ""
#: whatsnew/2.6.rst:938
msgid "PEP written and implemented by Collin Winter."
msgstr ""
#: whatsnew/2.6.rst:945
msgid "PEP 3112: Byte Literals"
msgstr ""
#: whatsnew/2.6.rst:947
msgid ""
"Python 3.0 adopts Unicode as the language's fundamental string type and "
"denotes 8-bit literals differently, either as ``b'string'`` or using a :"
"class:`bytes` constructor. For future compatibility, Python 2.6 adds :class:"
"`bytes` as a synonym for the :class:`str` type, and it also supports the "
"``b''`` notation."
msgstr ""
#: whatsnew/2.6.rst:954
msgid ""
"The 2.6 :class:`str` differs from 3.0's :class:`bytes` type in various ways; "
"most notably, the constructor is completely different. In 3.0, ``bytes([65, "
"66, 67])`` is 3 elements long, containing the bytes representing ``ABC``; in "
"2.6, ``bytes([65, 66, 67])`` returns the 12-byte string representing the :"
"func:`str` of the list."
msgstr ""
#: whatsnew/2.6.rst:960
msgid ""
"The primary use of :class:`bytes` in 2.6 will be to write tests of object "
"type such as ``isinstance(x, bytes)``. This will help the 2to3 converter, "
"which can't tell whether 2.x code intends strings to contain either "
"characters or 8-bit bytes; you can now use either :class:`bytes` or :class:"
"`str` to represent your intention exactly, and the resulting code will also "
"be correct in Python 3.0."
msgstr ""
#: whatsnew/2.6.rst:967
msgid ""
"There's also a ``__future__`` import that causes all string literals to "
"become Unicode strings. This means that ``\\u`` escape sequences can be "
"used to include Unicode characters::"
msgstr ""
#: whatsnew/2.6.rst:979
msgid ""
"At the C level, Python 3.0 will rename the existing 8-bit string type, "
"called :c:type:`PyStringObject` in Python 2.x, to :c:type:`PyBytesObject`. "
"Python 2.6 uses ``#define`` to support using the names :c:func:"
"`PyBytesObject`, :c:func:`PyBytes_Check`, :c:func:"
"`PyBytes_FromStringAndSize`, and all the other functions and macros used "
"with strings."
msgstr ""
#: whatsnew/2.6.rst:986
msgid ""
"Instances of the :class:`bytes` type are immutable just as strings are. A "
"new :class:`bytearray` type stores a mutable sequence of bytes::"
msgstr ""
#: whatsnew/2.6.rst:1001
msgid ""
"Byte arrays support most of the methods of string types, such as :meth:"
"`startswith`/:meth:`endswith`, :meth:`find`/:meth:`rfind`, and some of the "
"methods of lists, such as :meth:`append`, :meth:`pop`, and :meth:`reverse`."
msgstr ""
#: whatsnew/2.6.rst:1014
msgid ""
"There's also a corresponding C API, with :c:func:`PyByteArray_FromObject`, :"
"c:func:`PyByteArray_FromStringAndSize`, and various other functions."
msgstr ""
#: whatsnew/2.6.rst:1021
msgid "PEP 3112 - Bytes literals in Python 3000"
msgstr ""
#: whatsnew/2.6.rst:1022
msgid "PEP written by Jason Orendorff; backported to 2.6 by Christian Heimes."
msgstr ""
#: whatsnew/2.6.rst:1029
msgid "PEP 3116: New I/O Library"
msgstr ""
#: whatsnew/2.6.rst:1031
msgid ""
"Python's built-in file objects support a number of methods, but file-like "
"objects don't necessarily support all of them. Objects that imitate files "
"usually support :meth:`read` and :meth:`write`, but they may not support :"
"meth:`readline`, for example. Python 3.0 introduces a layered I/O library "
"in the :mod:`io` module that separates buffering and text-handling features "
"from the fundamental read and write operations."
msgstr ""
#: whatsnew/2.6.rst:1039
msgid ""
"There are three levels of abstract base classes provided by the :mod:`io` "
"module:"
msgstr ""
#: whatsnew/2.6.rst:1042
msgid ""
":class:`RawIOBase` defines raw I/O operations: :meth:`read`, :meth:"
"`readinto`, :meth:`write`, :meth:`seek`, :meth:`tell`, :meth:`truncate`, "
"and :meth:`close`. Most of the methods of this class will often map to a "
"single system call. There are also :meth:`readable`, :meth:`writable`, and :"
"meth:`seekable` methods for determining what operations a given object will "
"allow."
msgstr ""
#: whatsnew/2.6.rst:1050
msgid ""
"Python 3.0 has concrete implementations of this class for files and sockets, "
"but Python 2.6 hasn't restructured its file and socket objects in this way."
msgstr ""
#: whatsnew/2.6.rst:1056
msgid ""
":class:`BufferedIOBase` is an abstract base class that buffers data in "
"memory to reduce the number of system calls used, making I/O processing more "
"efficient. It supports all of the methods of :class:`RawIOBase`, and adds a :"
"attr:`raw` attribute holding the underlying raw object."
msgstr ""
#: whatsnew/2.6.rst:1062
msgid ""
"There are five concrete classes implementing this ABC. :class:"
"`BufferedWriter` and :class:`BufferedReader` are for objects that support "
"write-only or read-only usage that have a :meth:`seek` method for random "
"access. :class:`BufferedRandom` objects support read and write access upon "
"the same underlying stream, and :class:`BufferedRWPair` is for objects such "
"as TTYs that have both read and write operations acting upon unconnected "
"streams of data. The :class:`BytesIO` class supports reading, writing, and "
"seeking over an in-memory buffer."
msgstr ""
#: whatsnew/2.6.rst:1075
msgid ""
":class:`TextIOBase`: Provides functions for reading and writing strings "
"(remember, strings will be Unicode in Python 3.0), and supporting :term:"
"`universal newlines`. :class:`TextIOBase` defines the :meth:`readline` "
"method and supports iteration upon objects."
msgstr ""
#: whatsnew/2.6.rst:1081
msgid ""
"There are two concrete implementations. :class:`TextIOWrapper` wraps a "
"buffered I/O object, supporting all of the methods for text I/O and adding "
"a :attr:`buffer` attribute for access to the underlying object. :class:"
"`StringIO` simply buffers everything in memory without ever writing anything "
"to disk."
msgstr ""
#: whatsnew/2.6.rst:1087
msgid ""
"(In Python 2.6, :class:`io.StringIO` is implemented in pure Python, so it's "
"pretty slow. You should therefore stick with the existing :mod:`StringIO` "
"module or :mod:`cStringIO` for now. At some point Python 3.0's :mod:`io` "
"module will be rewritten into C for speed, and perhaps the C implementation "
"will be backported to the 2.x releases.)"
msgstr ""
#: whatsnew/2.6.rst:1093
msgid ""
"In Python 2.6, the underlying implementations haven't been restructured to "
"build on top of the :mod:`io` module's classes. The module is being "
"provided to make it easier to write code that's forward-compatible with 3.0, "
"and to save developers the effort of writing their own implementations of "
"buffering and text I/O."
msgstr ""
#: whatsnew/2.6.rst:1103
msgid "PEP 3116 - New I/O"
msgstr ""
#: whatsnew/2.6.rst:1102
msgid ""
"PEP written by Daniel Stutzbach, Mike Verdone, and Guido van Rossum. Code by "
"Guido van Rossum, Georg Brandl, Walter Doerwald, Jeremy Hylton, Martin von "
"Löwis, Tony Lownds, and others."
msgstr ""
#: whatsnew/2.6.rst:1111
msgid "PEP 3118: Revised Buffer Protocol"
msgstr ""
#: whatsnew/2.6.rst:1113
msgid ""
"The buffer protocol is a C-level API that lets Python types exchange "
"pointers into their internal representations. A memory-mapped file can be "
"viewed as a buffer of characters, for example, and this lets another module "
"such as :mod:`re` treat memory-mapped files as a string of characters to be "
"searched."
msgstr ""
#: whatsnew/2.6.rst:1119
msgid ""
"The primary users of the buffer protocol are numeric-processing packages "
"such as NumPy, which expose the internal representation of arrays so that "
"callers can write data directly into an array instead of going through a "
"slower API. This PEP updates the buffer protocol in light of experience "
"from NumPy development, adding a number of new features such as indicating "
"the shape of an array or locking a memory region."
msgstr ""
#: whatsnew/2.6.rst:1126
msgid ""
"The most important new C API function is ``PyObject_GetBuffer(PyObject *obj, "
"Py_buffer *view, int flags)``, which takes an object and a set of flags, and "
"fills in the ``Py_buffer`` structure with information about the object's "
"memory representation. Objects can use this operation to lock memory in "
"place while an external caller could be modifying the contents, so there's a "
"corresponding ``PyBuffer_Release(Py_buffer *view)`` to indicate that the "
"external caller is done."
msgstr ""
#: whatsnew/2.6.rst:1138
msgid ""
"The *flags* argument to :c:func:`PyObject_GetBuffer` specifies constraints "
"upon the memory returned. Some examples are:"
msgstr ""
#: whatsnew/2.6.rst:1141
msgid ":const:`PyBUF_WRITABLE` indicates that the memory must be writable."
msgstr ""
#: whatsnew/2.6.rst:1143
msgid ""
":const:`PyBUF_LOCK` requests a read-only or exclusive lock on the memory."
msgstr ""
#: whatsnew/2.6.rst:1145
msgid ""
":const:`PyBUF_C_CONTIGUOUS` and :const:`PyBUF_F_CONTIGUOUS` requests a C-"
"contiguous (last dimension varies the fastest) or Fortran-contiguous (first "
"dimension varies the fastest) array layout."
msgstr ""
#: whatsnew/2.6.rst:1149
msgid ""
"Two new argument codes for :c:func:`PyArg_ParseTuple`, ``s*`` and ``z*``, "
"return locked buffer objects for a parameter."
msgstr ""
#: whatsnew/2.6.rst:1155
msgid "PEP 3118 - Revising the buffer protocol"
msgstr ""
#: whatsnew/2.6.rst:1155
msgid ""
"PEP written by Travis Oliphant and Carl Banks; implemented by Travis "
"Oliphant."
msgstr ""
#: whatsnew/2.6.rst:1164
msgid "PEP 3119: Abstract Base Classes"
msgstr ""
#: whatsnew/2.6.rst:1166
msgid ""
"Some object-oriented languages such as Java support interfaces, declaring "
"that a class has a given set of methods or supports a given access "
"protocol. Abstract Base Classes (or ABCs) are an equivalent feature for "
"Python. The ABC support consists of an :mod:`abc` module containing a "
"metaclass called :class:`ABCMeta`, special handling of this metaclass by "
"the :func:`isinstance` and :func:`issubclass` builtins, and a collection of "
"basic ABCs that the Python developers think will be widely useful. Future "
"versions of Python will probably add more ABCs."
msgstr ""
#: whatsnew/2.6.rst:1176
msgid ""
"Let's say you have a particular class and wish to know whether it supports "
"dictionary-style access. The phrase \"dictionary-style\" is vague, however. "
"It probably means that accessing items with ``obj[1]`` works. Does it imply "
"that setting items with ``obj[2] = value`` works? Or that the object will "
"have :meth:`keys`, :meth:`values`, and :meth:`items` methods? What about "
"the iterative variants such as :meth:`iterkeys`? :meth:`copy` and :meth:"
"`update`? Iterating over the object with :func:`iter`?"
msgstr ""
#: whatsnew/2.6.rst:1184
msgid ""
"The Python 2.6 :mod:`collections` module includes a number of different ABCs "
"that represent these distinctions. :class:`Iterable` indicates that a class "
"defines :meth:`__iter__`, and :class:`Container` means the class defines a :"
"meth:`__contains__` method and therefore supports ``x in y`` expressions. "
"The basic dictionary interface of getting items, setting items, and :meth:"
"`keys`, :meth:`values`, and :meth:`items`, is defined by the :class:"
"`MutableMapping` ABC."
msgstr ""
#: whatsnew/2.6.rst:1193
msgid ""
"You can derive your own classes from a particular ABC to indicate they "
"support that ABC's interface::"
msgstr ""
#: whatsnew/2.6.rst:1202
msgid ""
"Alternatively, you could write the class without deriving from the desired "
"ABC and instead register the class by calling the ABC's :meth:`register` "
"method::"
msgstr ""
#: whatsnew/2.6.rst:1213
msgid ""
"For classes that you write, deriving from the ABC is probably clearer. The :"
"meth:`register` method is useful when you've written a new ABC that can "
"describe an existing type or class, or if you want to declare that some "
"third-party class implements an ABC. For example, if you defined a :class:"
"`PrintableType` ABC, it's legal to do::"
msgstr ""
#: whatsnew/2.6.rst:1225
msgid ""
"Classes should obey the semantics specified by an ABC, but Python can't "
"check this; it's up to the class author to understand the ABC's requirements "
"and to implement the code accordingly."
msgstr ""
#: whatsnew/2.6.rst:1229
msgid ""
"To check whether an object supports a particular interface, you can now "
"write::"
msgstr ""
#: whatsnew/2.6.rst:1236
msgid ""
"Don't feel that you must now begin writing lots of checks as in the above "
"example. Python has a strong tradition of duck-typing, where explicit type-"
"checking is never done and code simply calls methods on an object, trusting "
"that those methods will be there and raising an exception if they aren't. "
"Be judicious in checking for ABCs and only do it where it's absolutely "
"necessary."
msgstr ""
#: whatsnew/2.6.rst:1243
msgid ""
"You can write your own ABCs by using ``abc.ABCMeta`` as the metaclass in a "
"class definition::"
msgstr ""
#: whatsnew/2.6.rst:1264
msgid ""
"In the :class:`Drawable` ABC above, the :meth:`draw_doubled` method renders "
"the object at twice its size and can be implemented in terms of other "
"methods described in :class:`Drawable`. Classes implementing this ABC "
"therefore don't need to provide their own implementation of :meth:"
"`draw_doubled`, though they can do so. An implementation of :meth:`draw` is "
"necessary, though; the ABC can't provide a useful generic implementation."
msgstr ""
#: whatsnew/2.6.rst:1272
msgid ""
"You can apply the ``@abstractmethod`` decorator to methods such as :meth:"
"`draw` that must be implemented; Python will then raise an exception for "
"classes that don't define the method. Note that the exception is only raised "
"when you actually try to create an instance of a subclass lacking the "
"method::"
msgstr ""
#: whatsnew/2.6.rst:1287
msgid ""
"Abstract data attributes can be declared using the ``@abstractproperty`` "
"decorator::"
msgstr ""
#: whatsnew/2.6.rst:1297
msgid "Subclasses must then define a :meth:`readonly` property."
msgstr ""
#: whatsnew/2.6.rst:1303
msgid "PEP 3119 - Introducing Abstract Base Classes"
msgstr ""
#: whatsnew/2.6.rst:1302
msgid ""
"PEP written by Guido van Rossum and Talin. Implemented by Guido van Rossum. "
"Backported to 2.6 by Benjamin Aranguren, with Alex Martelli."
msgstr ""
#: whatsnew/2.6.rst:1311
msgid "PEP 3127: Integer Literal Support and Syntax"
msgstr ""
#: whatsnew/2.6.rst:1313
msgid ""
"Python 3.0 changes the syntax for octal (base-8) integer literals, prefixing "
"them with \"0o\" or \"0O\" instead of a leading zero, and adds support for "
"binary (base-2) integer literals, signalled by a \"0b\" or \"0B\" prefix."
msgstr ""
#: whatsnew/2.6.rst:1318
msgid ""
"Python 2.6 doesn't drop support for a leading 0 signalling an octal number, "
"but it does add support for \"0o\" and \"0b\"::"
msgstr ""
#: whatsnew/2.6.rst:1326
msgid ""
"The :func:`oct` builtin still returns numbers prefixed with a leading zero, "
"and a new :func:`bin` builtin returns the binary representation for a "
"number::"
msgstr ""
#: whatsnew/2.6.rst:1337
msgid ""
"The :func:`int` and :func:`long` builtins will now accept the \"0o\" and \"0b"
"\" prefixes when base-8 or base-2 are requested, or when the *base* argument "
"is zero (signalling that the base used should be determined from the "
"string)::"
msgstr ""
#: whatsnew/2.6.rst:1355
msgid "PEP 3127 - Integer Literal Support and Syntax"
msgstr ""
#: whatsnew/2.6.rst:1355
msgid "PEP written by Patrick Maupin; backported to 2.6 by Eric Smith."
msgstr ""
#: whatsnew/2.6.rst:1363
msgid "PEP 3129: Class Decorators"
msgstr ""
#: whatsnew/2.6.rst:1365
msgid ""
"Decorators have been extended from functions to classes. It's now legal to "
"write::"
msgstr ""
#: whatsnew/2.6.rst:1373
msgid "This is equivalent to::"
msgstr ""
#: whatsnew/2.6.rst:1382
msgid "PEP 3129 - Class Decorators"
msgstr ""
#: whatsnew/2.6.rst:1383
msgid "PEP written by Collin Winter."
msgstr ""
#: whatsnew/2.6.rst:1390
msgid "PEP 3141: A Type Hierarchy for Numbers"
msgstr ""
#: whatsnew/2.6.rst:1392
msgid ""
"Python 3.0 adds several abstract base classes for numeric types inspired by "
"Scheme's numeric tower. These classes were backported to 2.6 as the :mod:"
"`numbers` module."
msgstr ""
#: whatsnew/2.6.rst:1396
msgid ""
"The most general ABC is :class:`Number`. It defines no operations at all, "
"and only exists to allow checking if an object is a number by doing "
"``isinstance(obj, Number)``."
msgstr ""
#: whatsnew/2.6.rst:1400
msgid ""
":class:`Complex` is a subclass of :class:`Number`. Complex numbers can "
"undergo the basic operations of addition, subtraction, multiplication, "
"division, and exponentiation, and you can retrieve the real and imaginary "
"parts and obtain a number's conjugate. Python's built-in complex type is an "
"implementation of :class:`Complex`."
msgstr ""
#: whatsnew/2.6.rst:1406
msgid ""
":class:`Real` further derives from :class:`Complex`, and adds operations "
"that only work on real numbers: :func:`floor`, :func:`trunc`, rounding, "
"taking the remainder mod N, floor division, and comparisons."
msgstr ""
#: whatsnew/2.6.rst:1411
msgid ""
":class:`Rational` numbers derive from :class:`Real`, have :attr:`numerator` "
"and :attr:`denominator` properties, and can be converted to floats. Python "
"2.6 adds a simple rational-number class, :class:`Fraction`, in the :mod:"
"`fractions` module. (It's called :class:`Fraction` instead of :class:"
"`Rational` to avoid a name clash with :class:`numbers.Rational`.)"
msgstr ""
#: whatsnew/2.6.rst:1418
msgid ""
":class:`Integral` numbers derive from :class:`Rational`, and can be shifted "
"left and right with ``<<`` and ``>>``, combined using bitwise operations "
"such as ``&`` and ``|``, and can be used as array indexes and slice "
"boundaries."
msgstr ""
#: whatsnew/2.6.rst:1423
msgid ""
"In Python 3.0, the PEP slightly redefines the existing builtins :func:"
"`round`, :func:`math.floor`, :func:`math.ceil`, and adds a new one, :func:"
"`math.trunc`, that's been backported to Python 2.6. :func:`math.trunc` "
"rounds toward zero, returning the closest :class:`Integral` that's between "
"the function's argument and zero."
msgstr ""
#: whatsnew/2.6.rst:1432
msgid "PEP 3141 - A Type Hierarchy for Numbers"
msgstr ""
#: whatsnew/2.6.rst:1432
msgid "PEP written by Jeffrey Yasskin."
msgstr ""
#: whatsnew/2.6.rst:1434
msgid ""
"`Scheme's numerical tower <http://www.gnu.org/software/guile/manual/"
"html_node/Numerical-Tower.html#Numerical-Tower>`__, from the Guile manual."
msgstr ""
#: whatsnew/2.6.rst:1436
msgid ""
"`Scheme's number datatypes <http://schemers.org/Documents/Standards/R5RS/"
"HTML/r5rs-Z-H-9.html#%_sec_6.2>`__ from the R5RS Scheme specification."
msgstr ""
#: whatsnew/2.6.rst:1440
msgid "The :mod:`fractions` Module"
msgstr ""
#: whatsnew/2.6.rst:1442
msgid ""
"To fill out the hierarchy of numeric types, the :mod:`fractions` module "
"provides a rational-number class. Rational numbers store their values as a "
"numerator and denominator forming a fraction, and can exactly represent "
"numbers such as ``2/3`` that floating-point numbers can only approximate."
msgstr ""
#: whatsnew/2.6.rst:1448
msgid ""
"The :class:`Fraction` constructor takes two :class:`Integral` values that "
"will be the numerator and denominator of the resulting fraction. ::"
msgstr ""
#: whatsnew/2.6.rst:1461
msgid ""
"For converting floating-point numbers to rationals, the float type now has "
"an :meth:`as_integer_ratio()` method that returns the numerator and "
"denominator for a fraction that evaluates to the same floating-point value::"
msgstr ""
#: whatsnew/2.6.rst:1473
msgid ""
"Note that values that can only be approximated by floating-point numbers, "
"such as 1./3, are not simplified to the number being approximated; the "
"fraction attempts to match the floating-point value **exactly**."
msgstr ""
#: whatsnew/2.6.rst:1478
msgid ""
"The :mod:`fractions` module is based upon an implementation by Sjoerd "
"Mullender that was in Python's :file:`Demo/classes/` directory for a long "
"time. This implementation was significantly updated by Jeffrey Yasskin."
msgstr ""
#: whatsnew/2.6.rst:1487 whatsnew/2.7.rst:665 whatsnew/3.1.rst:118
#: whatsnew/3.2.rst:432 whatsnew/3.3.rst:778 whatsnew/3.4.rst:403
#: whatsnew/3.5.rst:690
msgid "Some smaller changes made to the core Python language are:"
msgstr ""
#: whatsnew/2.6.rst:1489
msgid ""
"Directories and zip archives containing a :file:`__main__.py` file can now "
"be executed directly by passing their name to the interpreter. The directory "
"or zip archive is automatically inserted as the first entry in sys.path. "
"(Suggestion and initial patch by Andy Chu, subsequently revised by Phillip "
"J. Eby and Nick Coghlan; :issue:`1739468`.)"
msgstr ""
#: whatsnew/2.6.rst:1496
msgid ""
"The :func:`hasattr` function was catching and ignoring all errors, under the "
"assumption that they meant a :meth:`__getattr__` method was failing somehow "
"and the return value of :func:`hasattr` would therefore be ``False``. This "
"logic shouldn't be applied to :exc:`KeyboardInterrupt` and :exc:"
"`SystemExit`, however; Python 2.6 will no longer discard such exceptions "
"when :func:`hasattr` encounters them. (Fixed by Benjamin Peterson; :issue:"
"`2196`.)"
msgstr ""
#: whatsnew/2.6.rst:1504
msgid ""
"When calling a function using the ``**`` syntax to provide keyword "
"arguments, you are no longer required to use a Python dictionary; any "
"mapping will now work::"
msgstr ""
#: whatsnew/2.6.rst:1517
#, fuzzy
msgid "(Contributed by Alexander Belopolsky; :issue:`1686487`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/2.6.rst:1519
msgid ""
"It's also become legal to provide keyword arguments after a ``*args`` "
"argument to a function call. ::"
msgstr ""
#: whatsnew/2.6.rst:1528
msgid ""
"Previously this would have been a syntax error. (Contributed by Amaury "
"Forgeot d'Arc; :issue:`3473`.)"
msgstr ""
#: whatsnew/2.6.rst:1531
msgid ""
"A new builtin, ``next(iterator, [default])`` returns the next item from the "
"specified iterator. If the *default* argument is supplied, it will be "
"returned if *iterator* has been exhausted; otherwise, the :exc:"
"`StopIteration` exception will be raised. (Backported in :issue:`2719`.)"
msgstr ""
#: whatsnew/2.6.rst:1537
msgid ""
"Tuples now have :meth:`index` and :meth:`count` methods matching the list "
"type's :meth:`index` and :meth:`count` methods::"
msgstr ""
#: whatsnew/2.6.rst:1546
msgid "(Contributed by Raymond Hettinger)"
msgstr ""
#: whatsnew/2.6.rst:1548
msgid ""
"The built-in types now have improved support for extended slicing syntax, "
"accepting various combinations of ``(start, stop, step)``. Previously, the "
"support was partial and certain corner cases wouldn't work. (Implemented by "
"Thomas Wouters.)"
msgstr ""
#: whatsnew/2.6.rst:1555
msgid ""
"Properties now have three attributes, :attr:`getter`, :attr:`setter` and :"
"attr:`deleter`, that are decorators providing useful shortcuts for adding a "
"getter, setter or deleter function to an existing property. You would use "
"them like this::"
msgstr ""
#: whatsnew/2.6.rst:1582
msgid ""
"Several methods of the built-in set types now accept multiple iterables: :"
"meth:`intersection`, :meth:`intersection_update`, :meth:`union`, :meth:"
"`update`, :meth:`difference` and :meth:`difference_update`."
msgstr ""
#: whatsnew/2.6.rst:1598
msgid ""
"Many floating-point features were added. The :func:`float` function will "
"now turn the string ``nan`` into an IEEE 754 Not A Number value, and ``"
"+inf`` and ``-inf`` into positive or negative infinity. This works on any "
"platform with IEEE 754 semantics. (Contributed by Christian Heimes; :issue:"
"`1635`.)"
msgstr ""
#: whatsnew/2.6.rst:1604
msgid ""
"Other functions in the :mod:`math` module, :func:`isinf` and :func:`isnan`, "
"return true if their floating-point argument is infinite or Not A Number. (:"
"issue:`1640`)"
msgstr ""
#: whatsnew/2.6.rst:1608
msgid ""
"Conversion functions were added to convert floating-point numbers into "
"hexadecimal strings (:issue:`3008`). These functions convert floats to and "
"from a string representation without introducing rounding errors from the "
"conversion between decimal and binary. Floats have a :meth:`hex` method "
"that returns a string representation, and the ``float.fromhex()`` method "
"converts a string back into a number::"
msgstr ""
#: whatsnew/2.6.rst:1625
msgid ""
"A numerical nicety: when creating a complex number from two floats on "
"systems that support signed zeros (-0 and +0), the :func:`complex` "
"constructor will now preserve the sign of the zero. (Fixed by Mark T. "
"Dickinson; :issue:`1507`.)"
msgstr ""
#: whatsnew/2.6.rst:1630
msgid ""
"Classes that inherit a :meth:`__hash__` method from a parent class can set "
"``__hash__ = None`` to indicate that the class isn't hashable. This will "
"make ``hash(obj)`` raise a :exc:`TypeError` and the class will not be "
"indicated as implementing the :class:`Hashable` ABC."
msgstr ""
#: whatsnew/2.6.rst:1636
msgid ""
"You should do this when you've defined a :meth:`__cmp__` or :meth:`__eq__` "
"method that compares objects by their value rather than by identity. All "
"objects have a default hash method that uses ``id(obj)`` as the hash value. "
"There's no tidy way to remove the :meth:`__hash__` method inherited from a "
"parent class, so assigning ``None`` was implemented as an override. At the "
"C level, extensions can set ``tp_hash`` to :c:func:"
"`PyObject_HashNotImplemented`. (Fixed by Nick Coghlan and Amaury Forgeot "
"d'Arc; :issue:`2235`.)"
msgstr ""
#: whatsnew/2.6.rst:1646
msgid ""
"The :exc:`GeneratorExit` exception now subclasses :exc:`BaseException` "
"instead of :exc:`Exception`. This means that an exception handler that does "
"``except Exception:`` will not inadvertently catch :exc:`GeneratorExit`. "
"(Contributed by Chad Austin; :issue:`1537`.)"
msgstr ""
#: whatsnew/2.6.rst:1652
msgid ""
"Generator objects now have a :attr:`gi_code` attribute that refers to the "
"original code object backing the generator. (Contributed by Collin Winter; :"
"issue:`1473257`.)"
msgstr ""
#: whatsnew/2.6.rst:1656
msgid ""
"The :func:`compile` built-in function now accepts keyword arguments as well "
"as positional parameters. (Contributed by Thomas Wouters; :issue:`1444529`.)"
msgstr ""
#: whatsnew/2.6.rst:1660
msgid ""
"The :func:`complex` constructor now accepts strings containing parenthesized "
"complex numbers, meaning that ``complex(repr(cplx))`` will now round-trip "
"values. For example, ``complex('(3+4j)')`` now returns the value (3+4j). (:"
"issue:`1491866`)"
msgstr ""
#: whatsnew/2.6.rst:1665
msgid ""
"The string :meth:`translate` method now accepts ``None`` as the translation "
"table parameter, which is treated as the identity transformation. This "
"makes it easier to carry out operations that only delete characters. "
"(Contributed by Bengt Richter and implemented by Raymond Hettinger; :issue:"
"`1193128`.)"
msgstr ""
#: whatsnew/2.6.rst:1671
msgid ""
"The built-in :func:`dir` function now checks for a :meth:`__dir__` method on "
"the objects it receives. This method must return a list of strings "
"containing the names of valid attributes for the object, and lets the object "
"control the value that :func:`dir` produces. Objects that have :meth:"
"`__getattr__` or :meth:`__getattribute__` methods can use this to advertise "
"pseudo-attributes they will honor. (:issue:`1591665`)"
msgstr ""
#: whatsnew/2.6.rst:1679
msgid ""
"Instance method objects have new attributes for the object and function "
"comprising the method; the new synonym for :attr:`im_self` is :attr:"
"`__self__`, and :attr:`im_func` is also available as :attr:`__func__`. The "
"old names are still supported in Python 2.6, but are gone in 3.0."
msgstr ""
#: whatsnew/2.6.rst:1684
msgid ""
"An obscure change: when you use the :func:`locals` function inside a :"
"keyword:`class` statement, the resulting dictionary no longer returns free "
"variables. (Free variables, in this case, are variables referenced in the :"
"keyword:`class` statement that aren't attributes of the class.)"
msgstr ""
#: whatsnew/2.6.rst:1695
msgid ""
"The :mod:`warnings` module has been rewritten in C. This makes it possible "
"to invoke warnings from the parser, and may also make the interpreter's "
"startup faster. (Contributed by Neal Norwitz and Brett Cannon; :issue:"
"`1631171`.)"
msgstr ""
#: whatsnew/2.6.rst:1700
msgid ""
"Type objects now have a cache of methods that can reduce the work required "
"to find the correct method implementation for a particular class; once "
"cached, the interpreter doesn't need to traverse base classes to figure out "
"the right method to call. The cache is cleared if a base class or the class "
"itself is modified, so the cache should remain correct even in the face of "
"Python's dynamic nature. (Original optimization implemented by Armin Rigo, "
"updated for Python 2.6 by Kevin Jacobs; :issue:`1700288`.)"
msgstr ""
#: whatsnew/2.6.rst:1710
msgid ""
"By default, this change is only applied to types that are included with the "
"Python core. Extension modules may not necessarily be compatible with this "
"cache, so they must explicitly add :c:macro:`Py_TPFLAGS_HAVE_VERSION_TAG` to "
"the module's ``tp_flags`` field to enable the method cache. (To be "
"compatible with the method cache, the extension module's code must not "
"directly access and modify the ``tp_dict`` member of any of the types it "
"implements. Most modules don't do this, but it's impossible for the Python "
"interpreter to determine that. See :issue:`1878` for some discussion.)"
msgstr ""
#: whatsnew/2.6.rst:1721
msgid ""
"Function calls that use keyword arguments are significantly faster by doing "
"a quick pointer comparison, usually saving the time of a full string "
"comparison. (Contributed by Raymond Hettinger, after an initial "
"implementation by Antoine Pitrou; :issue:`1819`.)"
msgstr ""
#: whatsnew/2.6.rst:1726
msgid ""
"All of the functions in the :mod:`struct` module have been rewritten in C, "
"thanks to work at the Need For Speed sprint. (Contributed by Raymond "
"Hettinger.)"
msgstr ""
#: whatsnew/2.6.rst:1730
msgid ""
"Some of the standard built-in types now set a bit in their type objects. "
"This speeds up checking whether an object is a subclass of one of these "
"types. (Contributed by Neal Norwitz.)"
msgstr ""
#: whatsnew/2.6.rst:1734
msgid ""
"Unicode strings now use faster code for detecting whitespace and line "
"breaks; this speeds up the :meth:`split` method by about 25% and :meth:"
"`splitlines` by 35%. (Contributed by Antoine Pitrou.) Memory usage is "
"reduced by using pymalloc for the Unicode string's data."
msgstr ""
#: whatsnew/2.6.rst:1740
msgid ""
"The ``with`` statement now stores the :meth:`__exit__` method on the stack, "
"producing a small speedup. (Implemented by Jeffrey Yasskin.)"
msgstr ""
#: whatsnew/2.6.rst:1743
msgid ""
"To reduce memory usage, the garbage collector will now clear internal free "
"lists when garbage-collecting the highest generation of objects. This may "
"return memory to the operating system sooner."
msgstr ""
#: whatsnew/2.6.rst:1752 whatsnew/2.7.rst:892
msgid "Interpreter Changes"
msgstr ""
#: whatsnew/2.6.rst:1754
msgid ""
"Two command-line options have been reserved for use by other Python "
"implementations. The :option:`-J` switch has been reserved for use by "
"Jython for Jython-specific options, such as switches that are passed to the "
"underlying JVM. :option:`-X` has been reserved for options specific to a "
"particular implementation of Python such as CPython, Jython, or IronPython. "
"If either option is used with Python 2.6, the interpreter will report that "
"the option isn't currently used."
msgstr ""
#: whatsnew/2.6.rst:1762
msgid ""
"Python can now be prevented from writing :file:`.pyc` or :file:`.pyo` files "
"by supplying the :option:`-B` switch to the Python interpreter, or by "
"setting the :envvar:`PYTHONDONTWRITEBYTECODE` environment variable before "
"running the interpreter. This setting is available to Python programs as "
"the ``sys.dont_write_bytecode`` variable, and Python code can change the "
"value to modify the interpreter's behaviour. (Contributed by Neal Norwitz "
"and Georg Brandl.)"
msgstr ""
#: whatsnew/2.6.rst:1770
msgid ""
"The encoding used for standard input, output, and standard error can be "
"specified by setting the :envvar:`PYTHONIOENCODING` environment variable "
"before running the interpreter. The value should be a string in the form "
"``<encoding>`` or ``<encoding>:<errorhandler>``. The *encoding* part "
"specifies the encoding's name, e.g. ``utf-8`` or ``latin-1``; the optional "
"*errorhandler* part specifies what to do with characters that can't be "
"handled by the encoding, and should be one of \"error\", \"ignore\", or "
"\"replace\". (Contributed by Martin von Löwis.)"
msgstr ""
#: whatsnew/2.6.rst:1785 whatsnew/2.7.rst:1012
msgid ""
"As in every release, Python's standard library received a number of "
"enhancements and bug fixes. Here's a partial list of the most notable "
"changes, sorted alphabetically by module name. Consult the :file:`Misc/NEWS` "
"file in the source tree for a more complete list of changes, or look through "
"the Subversion logs for all the details."
msgstr ""
#: whatsnew/2.6.rst:1791
msgid ""
"The :mod:`asyncore` and :mod:`asynchat` modules are being actively "
"maintained again, and a number of patches and bugfixes were applied. "
"(Maintained by Josiah Carlson; see :issue:`1736190` for one patch.)"
msgstr ""
#: whatsnew/2.6.rst:1796
msgid ""
"The :mod:`bsddb` module also has a new maintainer, Jesús Cea Avión, and the "
"package is now available as a standalone package. The web page for the "
"package is `www.jcea.es/programacion/pybsddb.htm <http://www.jcea.es/"
"programacion/pybsddb.htm>`__. The plan is to remove the package from the "
"standard library in Python 3.0, because its pace of releases is much more "
"frequent than Python's."
msgstr ""
#: whatsnew/2.6.rst:1804
msgid ""
"The :mod:`bsddb.dbshelve` module now uses the highest pickling protocol "
"available, instead of restricting itself to protocol 1. (Contributed by W. "
"Barnes.)"
msgstr ""
#: whatsnew/2.6.rst:1808
msgid ""
"The :mod:`cgi` module will now read variables from the query string of an "
"HTTP POST request. This makes it possible to use form actions with URLs "
"that include query strings such as \"/cgi-bin/add.py?category=1\". "
"(Contributed by Alexandre Fiori and Nubis; :issue:`1817`.)"
msgstr ""
#: whatsnew/2.6.rst:1814
msgid ""
"The :func:`parse_qs` and :func:`parse_qsl` functions have been relocated "
"from the :mod:`cgi` module to the :mod:`urlparse` module. The versions still "
"available in the :mod:`cgi` module will trigger :exc:"
"`PendingDeprecationWarning` messages in 2.6 (:issue:`600362`)."
msgstr ""
#: whatsnew/2.6.rst:1820
msgid ""
"The :mod:`cmath` module underwent extensive revision, contributed by Mark "
"Dickinson and Christian Heimes. Five new functions were added:"
msgstr ""
#: whatsnew/2.6.rst:1824
msgid ""
":func:`polar` converts a complex number to polar form, returning the modulus "
"and argument of the complex number."
msgstr ""
#: whatsnew/2.6.rst:1827
msgid ""
":func:`rect` does the opposite, turning a modulus, argument pair back into "
"the corresponding complex number."
msgstr ""
#: whatsnew/2.6.rst:1830
msgid ""
":func:`phase` returns the argument (also called the angle) of a complex "
"number."
msgstr ""
#: whatsnew/2.6.rst:1833
msgid ""
":func:`isnan` returns True if either the real or imaginary part of its "
"argument is a NaN."
msgstr ""
#: whatsnew/2.6.rst:1836
msgid ""
":func:`isinf` returns True if either the real or imaginary part of its "
"argument is infinite."
msgstr ""
#: whatsnew/2.6.rst:1839
msgid ""
"The revisions also improved the numerical soundness of the :mod:`cmath` "
"module. For all functions, the real and imaginary parts of the results are "
"accurate to within a few units of least precision (ulps) whenever possible. "
"See :issue:`1381` for the details. The branch cuts for :func:`asinh`, :func:"
"`atanh`: and :func:`atan` have also been corrected."
msgstr ""
#: whatsnew/2.6.rst:1846
msgid ""
"The tests for the module have been greatly expanded; nearly 2000 new test "
"cases exercise the algebraic functions."
msgstr ""
#: whatsnew/2.6.rst:1849
msgid ""
"On IEEE 754 platforms, the :mod:`cmath` module now handles IEEE 754 special "
"values and floating-point exceptions in a manner consistent with Annex 'G' "
"of the C99 standard."
msgstr ""
#: whatsnew/2.6.rst:1853
msgid ""
"A new data type in the :mod:`collections` module: :class:"
"`namedtuple(typename, fieldnames)` is a factory function that creates "
"subclasses of the standard tuple whose fields are accessible by name as well "
"as index. For example::"
msgstr ""
#: whatsnew/2.6.rst:1875
msgid ""
"Several places in the standard library that returned tuples have been "
"modified to return :class:`namedtuple` instances. For example, the :meth:"
"`Decimal.as_tuple` method now returns a named tuple with :attr:`sign`, :attr:"
"`digits`, and :attr:`exponent` fields."
msgstr ""
#: whatsnew/2.6.rst:1882
msgid ""
"Another change to the :mod:`collections` module is that the :class:`deque` "
"type now supports an optional *maxlen* parameter; if supplied, the deque's "
"size will be restricted to no more than *maxlen* items. Adding more items "
"to a full deque causes old items to be discarded."
msgstr ""
#: whatsnew/2.6.rst:1903
msgid ""
"The :mod:`Cookie` module's :class:`Morsel` objects now support an :attr:"
"`httponly` attribute. In some browsers. cookies with this attribute set "
"cannot be accessed or manipulated by JavaScript code. (Contributed by Arvin "
"Schnell; :issue:`1638033`.)"
msgstr ""
#: whatsnew/2.6.rst:1908
msgid ""
"A new window method in the :mod:`curses` module, :meth:`chgat`, changes the "
"display attributes for a certain number of characters on a single line. "
"(Contributed by Fabian Kreutz.)"
msgstr ""
#: whatsnew/2.6.rst:1918
msgid ""
"The :class:`Textbox` class in the :mod:`curses.textpad` module now supports "
"editing in insert mode as well as overwrite mode. Insert mode is enabled by "
"supplying a true value for the *insert_mode* parameter when creating the :"
"class:`Textbox` instance."
msgstr ""
#: whatsnew/2.6.rst:1923
msgid ""
"The :mod:`datetime` module's :meth:`strftime` methods now support a ``%f`` "
"format code that expands to the number of microseconds in the object, zero-"
"padded on the left to six places. (Contributed by Skip Montanaro; :issue:"
"`1158`.)"
msgstr ""
#: whatsnew/2.6.rst:1928
msgid ""
"The :mod:`decimal` module was updated to version 1.66 of `the General "
"Decimal Specification <http://www2.hursley.ibm.com/decimal/decarith."
"html>`__. New features include some methods for some basic mathematical "
"functions such as :meth:`exp` and :meth:`log10`::"
msgstr ""
#: whatsnew/2.6.rst:1940
msgid ""
"The :meth:`as_tuple` method of :class:`Decimal` objects now returns a named "
"tuple with :attr:`sign`, :attr:`digits`, and :attr:`exponent` fields."
msgstr ""
#: whatsnew/2.6.rst:1943
msgid ""
"(Implemented by Facundo Batista and Mark Dickinson. Named tuple support "
"added by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.6.rst:1946
msgid ""
"The :mod:`difflib` module's :class:`SequenceMatcher` class now returns named "
"tuples representing matches, with :attr:`a`, :attr:`b`, and :attr:`size` "
"attributes. (Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.6.rst:1951
msgid ""
"An optional ``timeout`` parameter, specifying a timeout measured in seconds, "
"was added to the :class:`ftplib.FTP` class constructor as well as the :meth:"
"`connect` method. (Added by Facundo Batista.) Also, the :class:`FTP` "
"class's :meth:`storbinary` and :meth:`storlines` now take an optional "
"*callback* parameter that will be called with each block of data after the "
"data has been sent. (Contributed by Phil Schwartz; :issue:`1221598`.)"
msgstr ""
#: whatsnew/2.6.rst:1959
msgid ""
"The :func:`reduce` built-in function is also available in the :mod:"
"`functools` module. In Python 3.0, the builtin has been dropped and :func:"
"`reduce` is only available from :mod:`functools`; currently there are no "
"plans to drop the builtin in the 2.x series. (Patched by Christian Heimes; :"
"issue:`1739906`.)"
msgstr ""
#: whatsnew/2.6.rst:1965
msgid ""
"When possible, the :mod:`getpass` module will now use :file:`/dev/tty` to "
"print a prompt message and read the password, falling back to standard error "
"and standard input. If the password may be echoed to the terminal, a "
"warning is printed before the prompt is displayed. (Contributed by Gregory "
"P. Smith.)"
msgstr ""
#: whatsnew/2.6.rst:1971
msgid ""
"The :func:`glob.glob` function can now return Unicode filenames if a Unicode "
"path was used and Unicode filenames are matched within the directory. (:"
"issue:`1001604`)"
msgstr ""
#: whatsnew/2.6.rst:1975
msgid ""
"A new function in the :mod:`heapq` module, ``merge(iter1, iter2, ...)``, "
"takes any number of iterables returning data in sorted order, and returns a "
"new generator that returns the contents of all the iterators, also in sorted "
"order. For example::"
msgstr ""
#: whatsnew/2.6.rst:1983
msgid ""
"Another new function, ``heappushpop(heap, item)``, pushes *item* onto "
"*heap*, then pops off and returns the smallest item. This is more efficient "
"than making a call to :func:`heappush` and then :func:`heappop`."
msgstr ""
#: whatsnew/2.6.rst:1988
msgid ""
":mod:`heapq` is now implemented to only use less-than comparison, instead of "
"the less-than-or-equal comparison it previously used. This makes :mod:"
"`heapq`'s usage of a type match the :meth:`list.sort` method. (Contributed "
"by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.6.rst:1994
msgid ""
"An optional ``timeout`` parameter, specifying a timeout measured in seconds, "
"was added to the :class:`httplib.HTTPConnection` and :class:"
"`HTTPSConnection` class constructors. (Added by Facundo Batista.)"
msgstr ""
#: whatsnew/2.6.rst:1999
msgid ""
"Most of the :mod:`inspect` module's functions, such as :func:`getmoduleinfo` "
"and :func:`getargs`, now return named tuples. In addition to behaving like "
"tuples, the elements of the return value can also be accessed as "
"attributes. (Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.6.rst:2005
msgid ""
"Some new functions in the module include :func:`isgenerator`, :func:"
"`isgeneratorfunction`, and :func:`isabstract`."
msgstr ""
#: whatsnew/2.6.rst:2009
msgid "The :mod:`itertools` module gained several new functions."
msgstr ""
#: whatsnew/2.6.rst:2011
msgid ""
"``izip_longest(iter1, iter2, ...[, fillvalue])`` makes tuples from each of "
"the elements; if some of the iterables are shorter than others, the missing "
"values are set to *fillvalue*. For example::"
msgstr ""
#: whatsnew/2.6.rst:2018
msgid ""
"``product(iter1, iter2, ..., [repeat=N])`` returns the Cartesian product of "
"the supplied iterables, a set of tuples containing every possible "
"combination of the elements returned from each iterable. ::"
msgstr ""
#: whatsnew/2.6.rst:2027
msgid ""
"The optional *repeat* keyword argument is used for taking the product of an "
"iterable or a set of iterables with themselves, repeated *N* times. With a "
"single iterable argument, *N*-tuples are returned::"
msgstr ""
#: whatsnew/2.6.rst:2036
msgid "With two iterables, *2N*-tuples are returned. ::"
msgstr ""
#: whatsnew/2.6.rst:2044
msgid ""
"``combinations(iterable, r)`` returns sub-sequences of length *r* from the "
"elements of *iterable*. ::"
msgstr ""
#: whatsnew/2.6.rst:2055
msgid ""
"``permutations(iter[, r])`` returns all the permutations of length *r* of "
"the iterable's elements. If *r* is not specified, it will default to the "
"number of elements produced by the iterable. ::"
msgstr ""
#: whatsnew/2.6.rst:2065
msgid ""
"``itertools.chain(*iterables)`` is an existing function in :mod:`itertools` "
"that gained a new constructor in Python 2.6. ``itertools.chain."
"from_iterable(iterable)`` takes a single iterable that should return other "
"iterables. :func:`chain` will then return all the elements of the first "
"iterable, then all the elements of the second, and so on. ::"
msgstr ""
#: whatsnew/2.6.rst:2075
msgid "(All contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.6.rst:2077
msgid ""
"The :mod:`logging` module's :class:`FileHandler` class and its subclasses :"
"class:`WatchedFileHandler`, :class:`RotatingFileHandler`, and :class:"
"`TimedRotatingFileHandler` now have an optional *delay* parameter to their "
"constructors. If *delay* is true, opening of the log file is deferred until "
"the first :meth:`emit` call is made. (Contributed by Vinay Sajip.)"
msgstr ""
#: whatsnew/2.6.rst:2084
msgid ""
":class:`TimedRotatingFileHandler` also has a *utc* constructor parameter. "
"If the argument is true, UTC time will be used in determining when midnight "
"occurs and in generating filenames; otherwise local time will be used."
msgstr ""
#: whatsnew/2.6.rst:2089
msgid "Several new functions were added to the :mod:`math` module:"
msgstr ""
#: whatsnew/2.6.rst:2091
msgid ""
":func:`~math.isinf` and :func:`~math.isnan` determine whether a given float "
"is a (positive or negative) infinity or a NaN (Not a Number), respectively."
msgstr ""
#: whatsnew/2.6.rst:2094
msgid ""
":func:`~math.copysign` copies the sign bit of an IEEE 754 number, returning "
"the absolute value of *x* combined with the sign bit of *y*. For example, "
"``math.copysign(1, -0.0)`` returns -1.0. (Contributed by Christian Heimes.)"
msgstr ""
#: whatsnew/2.6.rst:2099
msgid ""
":func:`~math.factorial` computes the factorial of a number. (Contributed by "
"Raymond Hettinger; :issue:`2138`.)"
msgstr ""
#: whatsnew/2.6.rst:2102
msgid ""
":func:`~math.fsum` adds up the stream of numbers from an iterable, and is "
"careful to avoid loss of precision through using partial sums. (Contributed "
"by Jean Brouwers, Raymond Hettinger, and Mark Dickinson; :issue:`2819`.)"
msgstr ""
#: whatsnew/2.6.rst:2107
msgid ""
":func:`~math.acosh`, :func:`~math.asinh` and :func:`~math.atanh` compute the "
"inverse hyperbolic functions."
msgstr ""
#: whatsnew/2.6.rst:2110
msgid ":func:`~math.log1p` returns the natural logarithm of *1+x* (base *e*)."
msgstr ""
#: whatsnew/2.6.rst:2113
msgid ""
":func:`trunc` rounds a number toward zero, returning the closest :class:"
"`Integral` that's between the function's argument and zero. Added as part of "
"the backport of `PEP 3141's type hierarchy for numbers <#pep-3141>`__."
msgstr ""
#: whatsnew/2.6.rst:2118
msgid ""
"The :mod:`math` module has been improved to give more consistent behaviour "
"across platforms, especially with respect to handling of floating-point "
"exceptions and IEEE 754 special values."
msgstr ""
#: whatsnew/2.6.rst:2122
msgid ""
"Whenever possible, the module follows the recommendations of the C99 "
"standard about 754's special values. For example, ``sqrt(-1.)`` should now "
"give a :exc:`ValueError` across almost all platforms, while "
"``sqrt(float('NaN'))`` should return a NaN on all IEEE 754 platforms. Where "
"Annex 'F' of the C99 standard recommends signaling 'divide-by-zero' or "
"'invalid', Python will raise :exc:`ValueError`. Where Annex 'F' of the C99 "
"standard recommends signaling 'overflow', Python will raise :exc:"
"`OverflowError`. (See :issue:`711019` and :issue:`1640`.)"
msgstr ""
#: whatsnew/2.6.rst:2132
msgid "(Contributed by Christian Heimes and Mark Dickinson.)"
msgstr ""
#: whatsnew/2.6.rst:2134
msgid ""
":class:`mmap` objects now have a :meth:`rfind` method that searches for a "
"substring beginning at the end of the string and searching backwards. The :"
"meth:`find` method also gained an *end* parameter giving an index at which "
"to stop searching. (Contributed by John Lenton.)"
msgstr ""
#: whatsnew/2.6.rst:2140
msgid ""
"The :mod:`operator` module gained a :func:`methodcaller` function that takes "
"a name and an optional set of arguments, returning a callable that will call "
"the named function on any arguments passed to it. For example::"
msgstr ""
#: whatsnew/2.6.rst:2150
msgid "(Contributed by Georg Brandl, after a suggestion by Gregory Petrosyan.)"
msgstr ""
#: whatsnew/2.6.rst:2152
msgid ""
"The :func:`attrgetter` function now accepts dotted names and performs the "
"corresponding attribute lookups::"
msgstr ""
#: whatsnew/2.6.rst:2162
msgid "(Contributed by Georg Brandl, after a suggestion by Barry Warsaw.)"
msgstr ""
#: whatsnew/2.6.rst:2164
msgid ""
"The :mod:`os` module now wraps several new system calls. ``fchmod(fd, "
"mode)`` and ``fchown(fd, uid, gid)`` change the mode and ownership of an "
"opened file, and ``lchmod(path, mode)`` changes the mode of a symlink. "
"(Contributed by Georg Brandl and Christian Heimes.)"
msgstr ""
#: whatsnew/2.6.rst:2170
msgid ""
":func:`chflags` and :func:`lchflags` are wrappers for the corresponding "
"system calls (where they're available), changing the flags set on a file. "
"Constants for the flag values are defined in the :mod:`stat` module; some "
"possible values include :const:`UF_IMMUTABLE` to signal the file may not be "
"changed and :const:`UF_APPEND` to indicate that data can only be appended to "
"the file. (Contributed by M. Levinson.)"
msgstr ""
#: whatsnew/2.6.rst:2178
msgid ""
"``os.closerange(low, high)`` efficiently closes all file descriptors from "
"*low* to *high*, ignoring any errors and not including *high* itself. This "
"function is now used by the :mod:`subprocess` module to make starting "
"processes faster. (Contributed by Georg Brandl; :issue:`1663329`.)"
msgstr ""
#: whatsnew/2.6.rst:2183
msgid ""
"The ``os.environ`` object's :meth:`clear` method will now unset the "
"environment variables using :func:`os.unsetenv` in addition to clearing the "
"object's keys. (Contributed by Martin Horcicka; :issue:`1181`.)"
msgstr ""
#: whatsnew/2.6.rst:2187
msgid ""
"The :func:`os.walk` function now has a ``followlinks`` parameter. If set to "
"True, it will follow symlinks pointing to directories and visit the "
"directory's contents. For backward compatibility, the parameter's default "
"value is false. Note that the function can fall into an infinite recursion "
"if there's a symlink that points to a parent directory. (:issue:`1273829`)"
msgstr ""
#: whatsnew/2.6.rst:2194
msgid ""
"In the :mod:`os.path` module, the :func:`splitext` function has been changed "
"to not split on leading period characters. This produces better results when "
"operating on Unix's dot-files. For example, ``os.path.splitext('.ipython')`` "
"now returns ``('.ipython', '')`` instead of ``('', '.ipython')``. (:issue:"
"`1115886`)"
msgstr ""
#: whatsnew/2.6.rst:2201
msgid ""
"A new function, ``os.path.relpath(path, start='.')``, returns a relative "
"path from the ``start`` path, if it's supplied, or from the current working "
"directory to the destination ``path``. (Contributed by Richard Barran; :"
"issue:`1339796`.)"
msgstr ""
#: whatsnew/2.6.rst:2206
msgid ""
"On Windows, :func:`os.path.expandvars` will now expand environment variables "
"given in the form \"%var%\", and \"~user\" will be expanded into the user's "
"home directory path. (Contributed by Josiah Carlson; :issue:`957650`.)"
msgstr ""
#: whatsnew/2.6.rst:2211
msgid ""
"The Python debugger provided by the :mod:`pdb` module gained a new command: "
"\"run\" restarts the Python program being debugged and can optionally take "
"new command-line arguments for the program. (Contributed by Rocky "
"Bernstein; :issue:`1393667`.)"
msgstr ""
#: whatsnew/2.6.rst:2216
msgid ""
"The :func:`pdb.post_mortem` function, used to begin debugging a traceback, "
"will now use the traceback returned by :func:`sys.exc_info` if no traceback "
"is supplied. (Contributed by Facundo Batista; :issue:`1106316`.)"
msgstr ""
#: whatsnew/2.6.rst:2221
msgid ""
"The :mod:`pickletools` module now has an :func:`optimize` function that "
"takes a string containing a pickle and removes some unused opcodes, "
"returning a shorter pickle that contains the same data structure. "
"(Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.6.rst:2226
msgid ""
"A :func:`get_data` function was added to the :mod:`pkgutil` module that "
"returns the contents of resource files included with an installed Python "
"package. For example::"
msgstr ""
#: whatsnew/2.6.rst:2241
msgid "(Contributed by Paul Moore; :issue:`2439`.)"
msgstr ""
#: whatsnew/2.6.rst:2243
msgid ""
"The :mod:`pyexpat` module's :class:`Parser` objects now allow setting their :"
"attr:`buffer_size` attribute to change the size of the buffer used to hold "
"character data. (Contributed by Achim Gaedke; :issue:`1137`.)"
msgstr ""
#: whatsnew/2.6.rst:2248
msgid ""
"The :mod:`Queue` module now provides queue variants that retrieve entries in "
"different orders. The :class:`PriorityQueue` class stores queued items in a "
"heap and retrieves them in priority order, and :class:`LifoQueue` retrieves "
"the most recently added entries first, meaning that it behaves like a stack. "
"(Contributed by Raymond Hettinger.)"
msgstr ""
#: whatsnew/2.6.rst:2255
msgid ""
"The :mod:`random` module's :class:`Random` objects can now be pickled on a "
"32-bit system and unpickled on a 64-bit system, and vice versa. "
"Unfortunately, this change also means that Python 2.6's :class:`Random` "
"objects can't be unpickled correctly on earlier versions of Python. "
"(Contributed by Shawn Ligocki; :issue:`1727780`.)"
msgstr ""
#: whatsnew/2.6.rst:2262
msgid ""
"The new ``triangular(low, high, mode)`` function returns random numbers "
"following a triangular distribution. The returned values are between *low* "
"and *high*, not including *high* itself, and with *mode* as the most "
"frequently occurring value in the distribution. (Contributed by Wladmir van "
"der Laan and Raymond Hettinger; :issue:`1681432`.)"
msgstr ""
#: whatsnew/2.6.rst:2269
msgid ""
"Long regular expression searches carried out by the :mod:`re` module will "
"check for signals being delivered, so time-consuming searches can now be "
"interrupted. (Contributed by Josh Hoyt and Ralf Schmitt; :issue:`846388`.)"
msgstr ""
#: whatsnew/2.6.rst:2274
msgid ""
"The regular expression module is implemented by compiling bytecodes for a "
"tiny regex-specific virtual machine. Untrusted code could create malicious "
"strings of bytecode directly and cause crashes, so Python 2.6 includes a "
"verifier for the regex bytecode. (Contributed by Guido van Rossum from work "
"for Google App Engine; :issue:`3487`.)"
msgstr ""
#: whatsnew/2.6.rst:2281
msgid ""
"The :mod:`rlcompleter` module's :meth:`Completer.complete()` method will now "
"ignore exceptions triggered while evaluating a name. (Fixed by Lorenz "
"Quack; :issue:`2250`.)"
msgstr ""
#: whatsnew/2.6.rst:2285
msgid ""
"The :mod:`sched` module's :class:`scheduler` instances now have a read-only :"
"attr:`queue` attribute that returns the contents of the scheduler's queue, "
"represented as a list of named tuples with the fields ``(time, priority, "
"action, argument)``. (Contributed by Raymond Hettinger; :issue:`1861`.)"
msgstr ""
#: whatsnew/2.6.rst:2291
msgid ""
"The :mod:`select` module now has wrapper functions for the Linux :c:func:"
"`epoll` and BSD :c:func:`kqueue` system calls. :meth:`modify` method was "
"added to the existing :class:`poll` objects; ``pollobj.modify(fd, "
"eventmask)`` takes a file descriptor or file object and an event mask, "
"modifying the recorded event mask for that file. (Contributed by Christian "
"Heimes; :issue:`1657`.)"
msgstr ""
#: whatsnew/2.6.rst:2299
msgid ""
"The :func:`shutil.copytree` function now has an optional *ignore* argument "
"that takes a callable object. This callable will receive each directory "
"path and a list of the directory's contents, and returns a list of names "
"that will be ignored, not copied."
msgstr ""
#: whatsnew/2.6.rst:2304
msgid ""
"The :mod:`shutil` module also provides an :func:`ignore_patterns` function "
"for use with this new parameter. :func:`ignore_patterns` takes an arbitrary "
"number of glob-style patterns and returns a callable that will ignore any "
"files and directories that match any of these patterns. The following "
"example copies a directory tree, but skips both :file:`.svn` directories and "
"Emacs backup files, which have names ending with '~'::"
msgstr ""
#: whatsnew/2.6.rst:2315
#, fuzzy
msgid "(Contributed by Tarek Ziadé; :issue:`2663`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/2.6.rst:2317
msgid ""
"Integrating signal handling with GUI handling event loops like those used by "
"Tkinter or GTk+ has long been a problem; most software ends up polling, "
"waking up every fraction of a second to check if any GUI events have "
"occurred. The :mod:`signal` module can now make this more efficient. Calling "
"``signal.set_wakeup_fd(fd)`` sets a file descriptor to be used; when a "
"signal is received, a byte is written to that file descriptor. There's also "
"a C-level function, :c:func:`PySignal_SetWakeupFd`, for setting the "
"descriptor."
msgstr ""
#: whatsnew/2.6.rst:2327
msgid ""
"Event loops will use this by opening a pipe to create two descriptors, one "
"for reading and one for writing. The writable descriptor will be passed to :"
"func:`set_wakeup_fd`, and the readable descriptor will be added to the list "
"of descriptors monitored by the event loop via :c:func:`select` or :c:func:"
"`poll`. On receiving a signal, a byte will be written and the main event "
"loop will be woken up, avoiding the need to poll."
msgstr ""
#: whatsnew/2.6.rst:2335
msgid "(Contributed by Adam Olsen; :issue:`1583`.)"
msgstr ""
#: whatsnew/2.6.rst:2337
msgid ""
"The :func:`siginterrupt` function is now available from Python code, and "
"allows changing whether signals can interrupt system calls or not. "
"(Contributed by Ralf Schmitt.)"
msgstr ""
#: whatsnew/2.6.rst:2341
msgid ""
"The :func:`setitimer` and :func:`getitimer` functions have also been added "
"(where they're available). :func:`setitimer` allows setting interval timers "
"that will cause a signal to be delivered to the process after a specified "
"time, measured in wall-clock time, consumed process time, or combined process"
"+system time. (Contributed by Guilherme Polo; :issue:`2240`.)"
msgstr ""
#: whatsnew/2.6.rst:2348
msgid ""
"The :mod:`smtplib` module now supports SMTP over SSL thanks to the addition "
"of the :class:`SMTP_SSL` class. This class supports an interface identical "
"to the existing :class:`SMTP` class. (Contributed by Monty Taylor.) Both "
"class constructors also have an optional ``timeout`` parameter that "
"specifies a timeout for the initial connection attempt, measured in "
"seconds. (Contributed by Facundo Batista.)"
msgstr ""
#: whatsnew/2.6.rst:2356
msgid ""
"An implementation of the LMTP protocol (:rfc:`2033`) was also added to the "
"module. LMTP is used in place of SMTP when transferring e-mail between "
"agents that don't manage a mail queue. (LMTP implemented by Leif Hedstrom; :"
"issue:`957003`.)"
msgstr ""
#: whatsnew/2.6.rst:2361
msgid ""
":meth:`SMTP.starttls` now complies with :rfc:`3207` and forgets any "
"knowledge obtained from the server not obtained from the TLS negotiation "
"itself. (Patch contributed by Bill Fenner; :issue:`829951`.)"
msgstr ""
#: whatsnew/2.6.rst:2366
msgid ""
"The :mod:`socket` module now supports TIPC (http://tipc.sourceforge.net/), a "
"high-performance non-IP-based protocol designed for use in clustered "
"environments. TIPC addresses are 4- or 5-tuples. (Contributed by Alberto "
"Bertogli; :issue:`1646`.)"
msgstr ""
#: whatsnew/2.6.rst:2371
msgid ""
"A new function, :func:`create_connection`, takes an address and connects to "
"it using an optional timeout value, returning the connected socket object. "
"This function also looks up the address's type and connects to it using IPv4 "
"or IPv6 as appropriate. Changing your code to use :func:`create_connection` "
"instead of ``socket(socket.AF_INET, ...)`` may be all that's required to "
"make your code work with IPv6."
msgstr ""
#: whatsnew/2.6.rst:2379
msgid ""
"The base classes in the :mod:`SocketServer` module now support calling a :"
"meth:`handle_timeout` method after a span of inactivity specified by the "
"server's :attr:`timeout` attribute. (Contributed by Michael Pomraning.) "
"The :meth:`serve_forever` method now takes an optional poll interval "
"measured in seconds, controlling how often the server will check for a "
"shutdown request. (Contributed by Pedro Werneck and Jeffrey Yasskin; :issue:"
"`742598`, :issue:`1193577`.)"
msgstr ""
#: whatsnew/2.6.rst:2388
msgid ""
"The :mod:`sqlite3` module, maintained by Gerhard Häring, has been updated "
"from version 2.3.2 in Python 2.5 to version 2.4.1."
msgstr ""
#: whatsnew/2.6.rst:2392
msgid ""
"The :mod:`struct` module now supports the C99 :c:type:`_Bool` type, using "
"the format character ``'?'``. (Contributed by David Remahl.)"
msgstr ""
#: whatsnew/2.6.rst:2396
msgid ""
"The :class:`Popen` objects provided by the :mod:`subprocess` module now "
"have :meth:`terminate`, :meth:`kill`, and :meth:`send_signal` methods. On "
"Windows, :meth:`send_signal` only supports the :const:`SIGTERM` signal, and "
"all these methods are aliases for the Win32 API function :c:func:"
"`TerminateProcess`. (Contributed by Christian Heimes.)"
msgstr ""
#: whatsnew/2.6.rst:2403
msgid ""
"A new variable in the :mod:`sys` module, :attr:`float_info`, is an object "
"containing information derived from the :file:`float.h` file about the "
"platform's floating-point support. Attributes of this object include :attr:"
"`mant_dig` (number of digits in the mantissa), :attr:`epsilon` (smallest "
"difference between 1.0 and the next largest value representable), and "
"several others. (Contributed by Christian Heimes; :issue:`1534`.)"
msgstr ""
#: whatsnew/2.6.rst:2411
msgid ""
"Another new variable, :attr:`dont_write_bytecode`, controls whether Python "
"writes any :file:`.pyc` or :file:`.pyo` files on importing a module. If this "
"variable is true, the compiled files are not written. The variable is "
"initially set on start-up by supplying the :option:`-B` switch to the Python "
"interpreter, or by setting the :envvar:`PYTHONDONTWRITEBYTECODE` environment "
"variable before running the interpreter. Python code can subsequently "
"change the value of this variable to control whether bytecode files are "
"written or not. (Contributed by Neal Norwitz and Georg Brandl.)"
msgstr ""
#: whatsnew/2.6.rst:2422
msgid ""
"Information about the command-line arguments supplied to the Python "
"interpreter is available by reading attributes of a named tuple available as "
"``sys.flags``. For example, the :attr:`verbose` attribute is true if Python "
"was executed in verbose mode, :attr:`debug` is true in debugging mode, etc. "
"These attributes are all read-only. (Contributed by Christian Heimes.)"
msgstr ""
#: whatsnew/2.6.rst:2430
msgid ""
"A new function, :func:`getsizeof`, takes a Python object and returns the "
"amount of memory used by the object, measured in bytes. Built-in objects "
"return correct results; third-party extensions may not, but can define a :"
"meth:`__sizeof__` method to return the object's size. (Contributed by Robert "
"Schuppenies; :issue:`2898`.)"
msgstr ""
#: whatsnew/2.6.rst:2437
msgid ""
"It's now possible to determine the current profiler and tracer functions by "
"calling :func:`sys.getprofile` and :func:`sys.gettrace`. (Contributed by "
"Georg Brandl; :issue:`1648`.)"
msgstr ""
#: whatsnew/2.6.rst:2441
msgid ""
"The :mod:`tarfile` module now supports POSIX.1-2001 (pax) tarfiles in "
"addition to the POSIX.1-1988 (ustar) and GNU tar formats that were already "
"supported. The default format is GNU tar; specify the ``format`` parameter "
"to open a file using a different format::"
msgstr ""
#: whatsnew/2.6.rst:2449
msgid ""
"The new ``encoding`` and ``errors`` parameters specify an encoding and an "
"error handling scheme for character conversions. ``'strict'``, "
"``'ignore'``, and ``'replace'`` are the three standard ways Python can "
"handle errors,; ``'utf-8'`` is a special value that replaces bad characters "
"with their UTF-8 representation. (Character conversions occur because the "
"PAX format supports Unicode filenames, defaulting to UTF-8 encoding.)"
msgstr ""
#: whatsnew/2.6.rst:2457
msgid ""
"The :meth:`TarFile.add` method now accepts an ``exclude`` argument that's a "
"function that can be used to exclude certain filenames from an archive. The "
"function must take a filename and return true if the file should be excluded "
"or false if it should be archived. The function is applied to both the name "
"initially passed to :meth:`add` and to the names of files in recursively-"
"added directories."
msgstr ""
#: whatsnew/2.6.rst:2465
msgid "(All changes contributed by Lars Gustäbel)."
msgstr ""
#: whatsnew/2.6.rst:2467
msgid ""
"An optional ``timeout`` parameter was added to the :class:`telnetlib.Telnet` "
"class constructor, specifying a timeout measured in seconds. (Added by "
"Facundo Batista.)"
msgstr ""
#: whatsnew/2.6.rst:2471
msgid ""
"The :class:`tempfile.NamedTemporaryFile` class usually deletes the temporary "
"file it created when the file is closed. This behaviour can now be changed "
"by passing ``delete=False`` to the constructor. (Contributed by Damien "
"Miller; :issue:`1537850`.)"
msgstr ""
#: whatsnew/2.6.rst:2476
msgid ""
"A new class, :class:`SpooledTemporaryFile`, behaves like a temporary file "
"but stores its data in memory until a maximum size is exceeded. On reaching "
"that limit, the contents will be written to an on-disk temporary file. "
"(Contributed by Dustin J. Mitchell.)"
msgstr ""
#: whatsnew/2.6.rst:2481
msgid ""
"The :class:`NamedTemporaryFile` and :class:`SpooledTemporaryFile` classes "
"both work as context managers, so you can write ``with tempfile."
"NamedTemporaryFile() as tmp: ...``. (Contributed by Alexander Belopolsky; :"
"issue:`2021`.)"
msgstr ""
#: whatsnew/2.6.rst:2486
msgid ""
"The :mod:`test.test_support` module gained a number of context managers "
"useful for writing tests. :func:`EnvironmentVarGuard` is a context manager "
"that temporarily changes environment variables and automatically restores "
"them to their old values."
msgstr ""
#: whatsnew/2.6.rst:2492
msgid ""
"Another context manager, :class:`TransientResource`, can surround calls to "
"resources that may or may not be available; it will catch and ignore a "
"specified list of exceptions. For example, a network test may ignore "
"certain failures when connecting to an external web site::"
msgstr ""
#: whatsnew/2.6.rst:2503
msgid ""
"Finally, :func:`check_warnings` resets the :mod:`warning` module's warning "
"filters and returns an object that will record all warning messages "
"triggered (:issue:`3781`)::"
msgstr ""
#: whatsnew/2.6.rst:2513 whatsnew/3.1.rst:413
msgid "(Contributed by Brett Cannon.)"
msgstr ""
#: whatsnew/2.6.rst:2515
msgid ""
"The :mod:`textwrap` module can now preserve existing whitespace at the "
"beginnings and ends of the newly-created lines by specifying "
"``drop_whitespace=False`` as an argument::"
msgstr ""
#: whatsnew/2.6.rst:2534
msgid "(Contributed by Dwayne Bailey; :issue:`1581073`.)"
msgstr ""
#: whatsnew/2.6.rst:2536
msgid ""
"The :mod:`threading` module API is being changed to use properties such as :"
"attr:`daemon` instead of :meth:`setDaemon` and :meth:`isDaemon` methods, and "
"some methods have been renamed to use underscores instead of camel-case; for "
"example, the :meth:`activeCount` method is renamed to :meth:`active_count`. "
"Both the 2.6 and 3.0 versions of the module support the same properties and "
"renamed methods, but don't remove the old methods. No date has been set for "
"the deprecation of the old APIs in Python 3.x; the old APIs won't be removed "
"in any 2.x version. (Carried out by several people, most notably Benjamin "
"Peterson.)"
msgstr ""
#: whatsnew/2.6.rst:2547
msgid ""
"The :mod:`threading` module's :class:`Thread` objects gained an :attr:"
"`ident` property that returns the thread's identifier, a nonzero integer. "
"(Contributed by Gregory P. Smith; :issue:`2871`.)"
msgstr ""
#: whatsnew/2.6.rst:2552
msgid ""
"The :mod:`timeit` module now accepts callables as well as strings for the "
"statement being timed and for the setup code. Two convenience functions were "
"added for creating :class:`Timer` instances: ``repeat(stmt, setup, time, "
"repeat, number)`` and ``timeit(stmt, setup, time, number)`` create an "
"instance and call the corresponding method. (Contributed by Erik Demaine; :"
"issue:`1533909`.)"
msgstr ""
#: whatsnew/2.6.rst:2561
msgid ""
"The :mod:`Tkinter` module now accepts lists and tuples for options, "
"separating the elements by spaces before passing the resulting value to Tcl/"
"Tk. (Contributed by Guilherme Polo; :issue:`2906`.)"
msgstr ""
#: whatsnew/2.6.rst:2566
msgid ""
"The :mod:`turtle` module for turtle graphics was greatly enhanced by Gregor "
"Lingl. New features in the module include:"
msgstr ""
#: whatsnew/2.6.rst:2569
msgid "Better animation of turtle movement and rotation."
msgstr ""
#: whatsnew/2.6.rst:2570
msgid ""
"Control over turtle movement using the new :meth:`delay`, :meth:`tracer`, "
"and :meth:`speed` methods."
msgstr ""
#: whatsnew/2.6.rst:2572
msgid ""
"The ability to set new shapes for the turtle, and to define a new coordinate "
"system."
msgstr ""
#: whatsnew/2.6.rst:2574
msgid "Turtles now have an :meth:`undo()` method that can roll back actions."
msgstr ""
#: whatsnew/2.6.rst:2575
msgid ""
"Simple support for reacting to input events such as mouse and keyboard "
"activity, making it possible to write simple games."
msgstr ""
#: whatsnew/2.6.rst:2577
msgid ""
"A :file:`turtle.cfg` file can be used to customize the starting appearance "
"of the turtle's screen."
msgstr ""
#: whatsnew/2.6.rst:2579
msgid ""
"The module's docstrings can be replaced by new docstrings that have been "
"translated into another language."
msgstr ""
#: whatsnew/2.6.rst:2582
msgid "(:issue:`1513695`)"
msgstr ""
#: whatsnew/2.6.rst:2584
msgid ""
"An optional ``timeout`` parameter was added to the :func:`urllib.urlopen` "
"function and the :class:`urllib.ftpwrapper` class constructor, as well as "
"the :func:`urllib2.urlopen` function. The parameter specifies a timeout "
"measured in seconds. For example::"
msgstr ""
#: whatsnew/2.6.rst:2597
msgid "(Added by Facundo Batista.)"
msgstr ""
#: whatsnew/2.6.rst:2599
msgid ""
"The Unicode database provided by the :mod:`unicodedata` module has been "
"updated to version 5.1.0. (Updated by Martin von Löwis; :issue:`3811`.)"
msgstr ""
#: whatsnew/2.6.rst:2603
msgid ""
"The :mod:`warnings` module's :func:`formatwarning` and :func:`showwarning` "
"gained an optional *line* argument that can be used to supply the line of "
"source code. (Added as part of :issue:`1631171`, which re-implemented part "
"of the :mod:`warnings` module in C code.)"
msgstr ""
#: whatsnew/2.6.rst:2608
msgid ""
"A new function, :func:`catch_warnings`, is a context manager intended for "
"testing purposes that lets you temporarily modify the warning filters and "
"then restore their original values (:issue:`3781`)."
msgstr ""
#: whatsnew/2.6.rst:2612
msgid ""
"The XML-RPC :class:`SimpleXMLRPCServer` and :class:`DocXMLRPCServer` classes "
"can now be prevented from immediately opening and binding to their socket by "
"passing True as the ``bind_and_activate`` constructor parameter. This can "
"be used to modify the instance's :attr:`allow_reuse_address` attribute "
"before calling the :meth:`server_bind` and :meth:`server_activate` methods "
"to open the socket and begin listening for connections. (Contributed by "
"Peter Parente; :issue:`1599845`.)"
msgstr ""
#: whatsnew/2.6.rst:2621
msgid ""
":class:`SimpleXMLRPCServer` also has a :attr:`_send_traceback_header` "
"attribute; if true, the exception and formatted traceback are returned as "
"HTTP headers \"X-Exception\" and \"X-Traceback\". This feature is for "
"debugging purposes only and should not be used on production servers because "
"the tracebacks might reveal passwords or other sensitive information. "
"(Contributed by Alan McIntyre as part of his project for Google's Summer of "
"Code 2007.)"
msgstr ""
#: whatsnew/2.6.rst:2629
msgid ""
"The :mod:`xmlrpclib` module no longer automatically converts :class:"
"`datetime.date` and :class:`datetime.time` to the :class:`xmlrpclib."
"DateTime` type; the conversion semantics were not necessarily correct for "
"all applications. Code using :mod:`xmlrpclib` should convert :class:`date` "
"and :class:`time` instances. (:issue:`1330538`) The code can also handle "
"dates before 1900 (contributed by Ralf Schmitt; :issue:`2014`) and 64-bit "
"integers represented by using ``<i8>`` in XML-RPC responses (contributed by "
"Riku Lindblad; :issue:`2985`)."
msgstr ""
#: whatsnew/2.6.rst:2639
msgid ""
"The :mod:`zipfile` module's :class:`ZipFile` class now has :meth:`extract` "
"and :meth:`extractall` methods that will unpack a single file or all the "
"files in the archive to the current directory, or to a specified directory::"
msgstr ""
#: whatsnew/2.6.rst:2653
msgid "(Contributed by Alan McIntyre; :issue:`467924`.)"
msgstr ""
#: whatsnew/2.6.rst:2655
msgid ""
"The :meth:`open`, :meth:`read` and :meth:`extract` methods can now take "
"either a filename or a :class:`ZipInfo` object. This is useful when an "
"archive accidentally contains a duplicated filename. (Contributed by Graham "
"Horler; :issue:`1775025`.)"
msgstr ""
#: whatsnew/2.6.rst:2660
msgid ""
"Finally, :mod:`zipfile` now supports using Unicode filenames for archived "
"files. (Contributed by Alexey Borzenkov; :issue:`1734346`.)"
msgstr ""
#: whatsnew/2.6.rst:2667
msgid "The :mod:`ast` module"
msgstr ""
#: whatsnew/2.6.rst:2669
msgid ""
"The :mod:`ast` module provides an Abstract Syntax Tree representation of "
"Python code, and Armin Ronacher contributed a set of helper functions that "
"perform a variety of common tasks. These will be useful for HTML templating "
"packages, code analyzers, and similar tools that process Python code."
msgstr ""
#: whatsnew/2.6.rst:2676
msgid ""
"The :func:`parse` function takes an expression and returns an AST. The :func:"
"`dump` function outputs a representation of a tree, suitable for debugging::"
msgstr ""
#: whatsnew/2.6.rst:2690
msgid "This outputs a deeply nested tree::"
msgstr ""
#: whatsnew/2.6.rst:2723
msgid ""
"The :func:`literal_eval` method takes a string or an AST representing a "
"literal expression, parses and evaluates it, and returns the resulting "
"value. A literal expression is a Python expression containing only strings, "
"numbers, dictionaries, etc. but no statements or function calls. If you "
"need to evaluate an expression but cannot accept the security risk of using "
"an :func:`eval` call, :func:`literal_eval` will handle it safely::"
msgstr ""
#: whatsnew/2.6.rst:2739
msgid ""
"The module also includes :class:`NodeVisitor` and :class:`NodeTransformer` "
"classes for traversing and modifying an AST, and functions for common "
"transformations such as changing line numbers."
msgstr ""
#: whatsnew/2.6.rst:2747
msgid "The :mod:`future_builtins` module"
msgstr ""
#: whatsnew/2.6.rst:2749
msgid ""
"Python 3.0 makes many changes to the repertoire of built-in functions, and "
"most of the changes can't be introduced in the Python 2.x series because "
"they would break compatibility. The :mod:`future_builtins` module provides "
"versions of these built-in functions that can be imported when writing 3.0-"
"compatible code."
msgstr ""
#: whatsnew/2.6.rst:2756
msgid "The functions in this module currently include:"
msgstr ""
#: whatsnew/2.6.rst:2758
msgid ""
"``ascii(obj)``: equivalent to :func:`repr`. In Python 3.0, :func:`repr` "
"will return a Unicode string, while :func:`ascii` will return a pure ASCII "
"bytestring."
msgstr ""
#: whatsnew/2.6.rst:2762
msgid ""
"``filter(predicate, iterable)``, ``map(func, iterable1, ...)``: the 3.0 "
"versions return iterators, unlike the 2.x builtins which return lists."
msgstr ""
#: whatsnew/2.6.rst:2766
msgid ""
"``hex(value)``, ``oct(value)``: instead of calling the :meth:`__hex__` or :"
"meth:`__oct__` methods, these versions will call the :meth:`__index__` "
"method and convert the result to hexadecimal or octal. :func:`oct` will use "
"the new ``0o`` notation for its result."
msgstr ""
#: whatsnew/2.6.rst:2775
msgid "The :mod:`json` module: JavaScript Object Notation"
msgstr ""
#: whatsnew/2.6.rst:2777
msgid ""
"The new :mod:`json` module supports the encoding and decoding of Python "
"types in JSON (Javascript Object Notation). JSON is a lightweight "
"interchange format often used in web applications. For more information "
"about JSON, see http://www.json.org."
msgstr ""
#: whatsnew/2.6.rst:2782
msgid ""
":mod:`json` comes with support for decoding and encoding most built-in "
"Python types. The following example encodes and decodes a dictionary::"
msgstr ""
#: whatsnew/2.6.rst:2793
msgid ""
"It's also possible to write your own decoders and encoders to support more "
"types. Pretty-printing of the JSON strings is also supported."
msgstr ""
#: whatsnew/2.6.rst:2796
msgid ":mod:`json` (originally called simplejson) was written by Bob Ippolito."
msgstr ""
#: whatsnew/2.6.rst:2803
msgid "The :mod:`plistlib` module: A Property-List Parser"
msgstr ""
#: whatsnew/2.6.rst:2805
msgid ""
"The ``.plist`` format is commonly used on Mac OS X to store basic data types "
"(numbers, strings, lists, and dictionaries) by serializing them into an XML-"
"based format. It resembles the XML-RPC serialization of data types."
msgstr ""
#: whatsnew/2.6.rst:2810
msgid ""
"Despite being primarily used on Mac OS X, the format has nothing Mac-"
"specific about it and the Python implementation works on any platform that "
"Python supports, so the :mod:`plistlib` module has been promoted to the "
"standard library."
msgstr ""
#: whatsnew/2.6.rst:2815
msgid "Using the module is simple::"
msgstr ""
#: whatsnew/2.6.rst:2842
msgid "ctypes Enhancements"
msgstr ""
#: whatsnew/2.6.rst:2844
msgid ""
"Thomas Heller continued to maintain and enhance the :mod:`ctypes` module."
msgstr ""
#: whatsnew/2.6.rst:2847
msgid ""
":mod:`ctypes` now supports a :class:`c_bool` datatype that represents the "
"C99 ``bool`` type. (Contributed by David Remahl; :issue:`1649190`.)"
msgstr ""
#: whatsnew/2.6.rst:2851
msgid ""
"The :mod:`ctypes` string, buffer and array types have improved support for "
"extended slicing syntax, where various combinations of ``(start, stop, "
"step)`` are supplied. (Implemented by Thomas Wouters.)"
msgstr ""
#: whatsnew/2.6.rst:2858
msgid ""
"All :mod:`ctypes` data types now support :meth:`from_buffer` and :meth:"
"`from_buffer_copy` methods that create a ctypes instance based on a provided "
"buffer object. :meth:`from_buffer_copy` copies the contents of the object, "
"while :meth:`from_buffer` will share the same memory area."
msgstr ""
#: whatsnew/2.6.rst:2865
msgid ""
"A new calling convention tells :mod:`ctypes` to clear the ``errno`` or Win32 "
"LastError variables at the outset of each wrapped call. (Implemented by "
"Thomas Heller; :issue:`1798`.)"
msgstr ""
#: whatsnew/2.6.rst:2869
msgid ""
"You can now retrieve the Unix ``errno`` variable after a function call. "
"When creating a wrapped function, you can supply ``use_errno=True`` as a "
"keyword parameter to the :func:`DLL` function and then call the module-level "
"methods :meth:`set_errno` and :meth:`get_errno` to set and retrieve the "
"error value."
msgstr ""
#: whatsnew/2.6.rst:2875
msgid ""
"The Win32 LastError variable is similarly supported by the :func:`DLL`, :"
"func:`OleDLL`, and :func:`WinDLL` functions. You supply "
"``use_last_error=True`` as a keyword parameter and then call the module-"
"level methods :meth:`set_last_error` and :meth:`get_last_error`."
msgstr ""
#: whatsnew/2.6.rst:2881
msgid ""
"The :func:`byref` function, used to retrieve a pointer to a ctypes instance, "
"now has an optional *offset* parameter that is a byte count that will be "
"added to the returned pointer."
msgstr ""
#: whatsnew/2.6.rst:2888
msgid "Improved SSL Support"
msgstr ""
#: whatsnew/2.6.rst:2890
msgid ""
"Bill Janssen made extensive improvements to Python 2.6's support for the "
"Secure Sockets Layer by adding a new module, :mod:`ssl`, that's built atop "
"the `OpenSSL <http://www.openssl.org/>`__ library. This new module provides "
"more control over the protocol negotiated, the X.509 certificates used, and "
"has better support for writing SSL servers (as opposed to clients) in "
"Python. The existing SSL support in the :mod:`socket` module hasn't been "
"removed and continues to work, though it will be removed in Python 3.0."
msgstr ""
#: whatsnew/2.6.rst:2899
msgid ""
"To use the new module, you must first create a TCP connection in the usual "
"way and then pass it to the :func:`ssl.wrap_socket` function. It's possible "
"to specify whether a certificate is required, and to obtain certificate info "
"by calling the :meth:`getpeercert` method."
msgstr ""
#: whatsnew/2.6.rst:2906
msgid "The documentation for the :mod:`ssl` module."
msgstr ""
#: whatsnew/2.6.rst:2911
msgid "Deprecations and Removals"
msgstr ""
#: whatsnew/2.6.rst:2913 whatsnew/2.6.rst:3241
msgid ""
"String exceptions have been removed. Attempting to use them raises a :exc:"
"`TypeError`."
msgstr ""
#: whatsnew/2.6.rst:2916
msgid ""
"Changes to the :class:`Exception` interface as dictated by :pep:`352` "
"continue to be made. For 2.6, the :attr:`message` attribute is being "
"deprecated in favor of the :attr:`args` attribute."
msgstr ""
#: whatsnew/2.6.rst:2921
msgid ""
"(3.0-warning mode) Python 3.0 will feature a reorganized standard library "
"that will drop many outdated modules and rename others. Python 2.6 running "
"in 3.0-warning mode will warn about these modules when they are imported."
msgstr ""
#: whatsnew/2.6.rst:2926
msgid ""
"The list of deprecated modules is: :mod:`audiodev`, :mod:`bgenlocations`, :"
"mod:`buildtools`, :mod:`bundlebuilder`, :mod:`Canvas`, :mod:`compiler`, :mod:"
"`dircache`, :mod:`dl`, :mod:`fpformat`, :mod:`gensuitemodule`, :mod:"
"`ihooks`, :mod:`imageop`, :mod:`imgfile`, :mod:`linuxaudiodev`, :mod:"
"`mhlib`, :mod:`mimetools`, :mod:`multifile`, :mod:`new`, :mod:`pure`, :mod:"
"`statvfs`, :mod:`sunaudiodev`, :mod:`test.testall`, and :mod:`toaiff`."
msgstr ""
#: whatsnew/2.6.rst:2951
msgid "The :mod:`gopherlib` module has been removed."
msgstr ""
#: whatsnew/2.6.rst:2953
msgid ""
"The :mod:`MimeWriter` module and :mod:`mimify` module have been deprecated; "
"use the :mod:`email` package instead."
msgstr ""
#: whatsnew/2.6.rst:2957
msgid ""
"The :mod:`md5` module has been deprecated; use the :mod:`hashlib` module "
"instead."
msgstr ""
#: whatsnew/2.6.rst:2960
msgid ""
"The :mod:`posixfile` module has been deprecated; :func:`fcntl.lockf` "
"provides better locking."
msgstr ""
#: whatsnew/2.6.rst:2963
msgid ""
"The :mod:`popen2` module has been deprecated; use the :mod:`subprocess` "
"module."
msgstr ""
#: whatsnew/2.6.rst:2966
msgid "The :mod:`rgbimg` module has been removed."
msgstr ""
#: whatsnew/2.6.rst:2968
msgid ""
"The :mod:`sets` module has been deprecated; it's better to use the built-in :"
"class:`set` and :class:`frozenset` types."
msgstr ""
#: whatsnew/2.6.rst:2971
msgid ""
"The :mod:`sha` module has been deprecated; use the :mod:`hashlib` module "
"instead."
msgstr ""
#: whatsnew/2.6.rst:2983
msgid ""
"Python now must be compiled with C89 compilers (after 19 years!). This "
"means that the Python source tree has dropped its own implementations of :c:"
"func:`memmove` and :c:func:`strerror`, which are in the C89 standard library."
msgstr ""
#: whatsnew/2.6.rst:2988
msgid ""
"Python 2.6 can be built with Microsoft Visual Studio 2008 (version 9.0), and "
"this is the new default compiler. See the :file:`PCbuild` directory for the "
"build files. (Implemented by Christian Heimes.)"
msgstr ""
#: whatsnew/2.6.rst:2993
msgid ""
"On Mac OS X, Python 2.6 can be compiled as a 4-way universal build. The :"
"program:`configure` script can take a :option:`--with-universal-archs=[32-"
"bit|64-bit|all]` switch, controlling whether the binaries are built for 32-"
"bit architectures (x86, PowerPC), 64-bit (x86-64 and PPC-64), or both. "
"(Contributed by Ronald Oussoren.)"
msgstr ""
#: whatsnew/2.6.rst:3000
msgid ""
"The BerkeleyDB module now has a C API object, available as ``bsddb.db."
"api``. This object can be used by other C extensions that wish to use the :"
"mod:`bsddb` module for their own purposes. (Contributed by Duncan Grisby.)"
msgstr ""
#: whatsnew/2.6.rst:3005
msgid ""
"The new buffer interface, previously described in `the PEP 3118 section "
"<#pep-3118-revised-buffer-protocol>`__, adds :c:func:`PyObject_GetBuffer` "
"and :c:func:`PyBuffer_Release`, as well as a few other functions."
msgstr ""
#: whatsnew/2.6.rst:3010
msgid ""
"Python's use of the C stdio library is now thread-safe, or at least as "
"thread-safe as the underlying library is. A long-standing potential bug "
"occurred if one thread closed a file object while another thread was reading "
"from or writing to the object. In 2.6 file objects have a reference count, "
"manipulated by the :c:func:`PyFile_IncUseCount` and :c:func:"
"`PyFile_DecUseCount` functions. File objects can't be closed unless the "
"reference count is zero. :c:func:`PyFile_IncUseCount` should be called "
"while the GIL is still held, before carrying out an I/O operation using the "
"``FILE *`` pointer, and :c:func:`PyFile_DecUseCount` should be called "
"immediately after the GIL is re-acquired. (Contributed by Antoine Pitrou and "
"Gregory P. Smith.)"
msgstr ""
#: whatsnew/2.6.rst:3023
msgid ""
"Importing modules simultaneously in two different threads no longer "
"deadlocks; it will now raise an :exc:`ImportError`. A new API function, :c:"
"func:`PyImport_ImportModuleNoBlock`, will look for a module in ``sys."
"modules`` first, then try to import it after acquiring an import lock. If "
"the import lock is held by another thread, an :exc:`ImportError` is raised. "
"(Contributed by Christian Heimes.)"
msgstr ""
#: whatsnew/2.6.rst:3031
msgid ""
"Several functions return information about the platform's floating-point "
"support. :c:func:`PyFloat_GetMax` returns the maximum representable "
"floating point value, and :c:func:`PyFloat_GetMin` returns the minimum "
"positive value. :c:func:`PyFloat_GetInfo` returns an object containing more "
"information from the :file:`float.h` file, such as ``\"mant_dig\"`` (number "
"of digits in the mantissa), ``\"epsilon\"`` (smallest difference between 1.0 "
"and the next largest value representable), and several others. (Contributed "
"by Christian Heimes; :issue:`1534`.)"
msgstr ""
#: whatsnew/2.6.rst:3042
msgid ""
"C functions and methods that use :c:func:`PyComplex_AsCComplex` will now "
"accept arguments that have a :meth:`__complex__` method. In particular, the "
"functions in the :mod:`cmath` module will now accept objects with this "
"method. This is a backport of a Python 3.0 change. (Contributed by Mark "
"Dickinson; :issue:`1675423`.)"
msgstr ""
#: whatsnew/2.6.rst:3049
msgid ""
"Python's C API now includes two functions for case-insensitive string "
"comparisons, ``PyOS_stricmp(char*, char*)`` and ``PyOS_strnicmp(char*, "
"char*, Py_ssize_t)``. (Contributed by Christian Heimes; :issue:`1635`.)"
msgstr ""
#: whatsnew/2.6.rst:3054
msgid ""
"Many C extensions define their own little macro for adding integers and "
"strings to the module's dictionary in the ``init*`` function. Python 2.6 "
"finally defines standard macros for adding values to a module, :c:macro:"
"`PyModule_AddStringMacro` and :c:macro:`PyModule_AddIntMacro()`. "
"(Contributed by Christian Heimes.)"
msgstr ""
#: whatsnew/2.6.rst:3061
msgid ""
"Some macros were renamed in both 3.0 and 2.6 to make it clearer that they "
"are macros, not functions. :c:macro:`Py_Size()` became :c:macro:"
"`Py_SIZE()`, :c:macro:`Py_Type()` became :c:macro:`Py_TYPE()`, and :c:macro:"
"`Py_Refcnt()` became :c:macro:`Py_REFCNT()`. The mixed-case macros are still "
"available in Python 2.6 for backward compatibility. (:issue:`1629`)"
msgstr ""
#: whatsnew/2.6.rst:3070
msgid ""
"Distutils now places C extensions it builds in a different directory when "
"running on a debug version of Python. (Contributed by Collin Winter; :issue:"
"`1530959`.)"
msgstr ""
#: whatsnew/2.6.rst:3074
msgid ""
"Several basic data types, such as integers and strings, maintain internal "
"free lists of objects that can be re-used. The data structures for these "
"free lists now follow a naming convention: the variable is always named "
"``free_list``, the counter is always named ``numfree``, and a macro "
"``Py<typename>_MAXFREELIST`` is always defined."
msgstr ""
#: whatsnew/2.6.rst:3081
msgid ""
"A new Makefile target, \"make patchcheck\", prepares the Python source tree "
"for making a patch: it fixes trailing whitespace in all modified ``.py`` "
"files, checks whether the documentation has been changed, and reports "
"whether the :file:`Misc/ACKS` and :file:`Misc/NEWS` files have been updated. "
"(Contributed by Brett Cannon.)"
msgstr ""
#: whatsnew/2.6.rst:3088
msgid ""
"Another new target, \"make profile-opt\", compiles a Python binary using "
"GCC's profile-guided optimization. It compiles Python with profiling "
"enabled, runs the test suite to obtain a set of profiling results, and then "
"compiles using these results for optimization. (Contributed by Gregory P. "
"Smith.)"
msgstr ""
#: whatsnew/2.6.rst:3097 whatsnew/2.7.rst:2299
msgid "Port-Specific Changes: Windows"
msgstr ""
#: whatsnew/2.6.rst:3099
msgid ""
"The support for Windows 95, 98, ME and NT4 has been dropped. Python 2.6 "
"requires at least Windows 2000 SP4."
msgstr ""
#: whatsnew/2.6.rst:3102
msgid ""
"The new default compiler on Windows is Visual Studio 2008 (version 9.0). The "
"build directories for Visual Studio 2003 (version 7.1) and 2005 (version "
"8.0) were moved into the PC/ directory. The new :file:`PCbuild` directory "
"supports cross compilation for X64, debug builds and Profile Guided "
"Optimization (PGO). PGO builds are roughly 10% faster than normal builds. "
"(Contributed by Christian Heimes with help from Amaury Forgeot d'Arc and "
"Martin von Löwis.)"
msgstr ""
#: whatsnew/2.6.rst:3110
msgid ""
"The :mod:`msvcrt` module now supports both the normal and wide char variants "
"of the console I/O API. The :func:`getwch` function reads a keypress and "
"returns a Unicode value, as does the :func:`getwche` function. The :func:"
"`putwch` function takes a Unicode character and writes it to the console. "
"(Contributed by Christian Heimes.)"
msgstr ""
#: whatsnew/2.6.rst:3117
msgid ""
":func:`os.path.expandvars` will now expand environment variables in the form "
"\"%var%\", and \"~user\" will be expanded into the user's home directory "
"path. (Contributed by Josiah Carlson; :issue:`957650`.)"
msgstr ""
#: whatsnew/2.6.rst:3121
msgid ""
"The :mod:`socket` module's socket objects now have an :meth:`ioctl` method "
"that provides a limited interface to the :c:func:`WSAIoctl` system interface."
msgstr ""
#: whatsnew/2.6.rst:3125
msgid ""
"The :mod:`_winreg` module now has a function, :func:"
"`ExpandEnvironmentStrings`, that expands environment variable references "
"such as ``%NAME%`` in an input string. The handle objects provided by this "
"module now support the context protocol, so they can be used in :keyword:"
"`with` statements. (Contributed by Christian Heimes.)"
msgstr ""
#: whatsnew/2.6.rst:3132
msgid ""
":mod:`_winreg` also has better support for x64 systems, exposing the :func:"
"`DisableReflectionKey`, :func:`EnableReflectionKey`, and :func:"
"`QueryReflectionKey` functions, which enable and disable registry reflection "
"for 32-bit processes running on 64-bit systems. (:issue:`1753245`)"
msgstr ""
#: whatsnew/2.6.rst:3138
msgid ""
"The :mod:`msilib` module's :class:`Record` object gained :meth:`GetInteger` "
"and :meth:`GetString` methods that return field values as an integer or a "
"string. (Contributed by Floris Bruynooghe; :issue:`2125`.)"
msgstr ""
#: whatsnew/2.6.rst:3146 whatsnew/2.7.rst:2337
msgid "Port-Specific Changes: Mac OS X"
msgstr ""
#: whatsnew/2.6.rst:3148
msgid ""
"When compiling a framework build of Python, you can now specify the "
"framework name to be used by providing the :option:`--with-framework-name=` "
"option to the :program:`configure` script."
msgstr ""
#: whatsnew/2.6.rst:3153
msgid ""
"The :mod:`macfs` module has been removed. This in turn required the :func:"
"`macostools.touched` function to be removed because it depended on the :mod:"
"`macfs` module. (:issue:`1490190`)"
msgstr ""
#: whatsnew/2.6.rst:3157
msgid ""
"Many other Mac OS modules have been deprecated and will removed in Python "
"3.0: :mod:`_builtinSuites`, :mod:`aepack`, :mod:`aetools`, :mod:`aetypes`, :"
"mod:`applesingle`, :mod:`appletrawmain`, :mod:`appletrunner`, :mod:"
"`argvemulator`, :mod:`Audio_mac`, :mod:`autoGIL`, :mod:`Carbon`, :mod:"
"`cfmfile`, :mod:`CodeWarrior`, :mod:`ColorPicker`, :mod:`EasyDialogs`, :mod:"
"`Explorer`, :mod:`Finder`, :mod:`FrameWork`, :mod:`findertools`, :mod:`ic`, :"
"mod:`icglue`, :mod:`icopen`, :mod:`macerrors`, :mod:`MacOS`, :mod:`macfs`, :"
"mod:`macostools`, :mod:`macresource`, :mod:`MiniAEFrame`, :mod:`Nav`, :mod:"
"`Netscape`, :mod:`OSATerminology`, :mod:`pimp`, :mod:`PixMapWrapper`, :mod:"
"`StdSuites`, :mod:`SystemEvents`, :mod:`Terminal`, and :mod:"
"`terminalcommand`."
msgstr ""
#: whatsnew/2.6.rst:3200
msgid "Port-Specific Changes: IRIX"
msgstr ""
#: whatsnew/2.6.rst:3202
msgid ""
"A number of old IRIX-specific modules were deprecated and will be removed in "
"Python 3.0: :mod:`al` and :mod:`AL`, :mod:`cd`, :mod:`cddb`, :mod:"
"`cdplayer`, :mod:`CL` and :mod:`cl`, :mod:`DEVICE`, :mod:`ERRNO`, :mod:"
"`FILE`, :mod:`FL` and :mod:`fl`, :mod:`flp`, :mod:`fm`, :mod:`GET`, :mod:"
"`GLWS`, :mod:`GL` and :mod:`gl`, :mod:`IN`, :mod:`IOCTL`, :mod:`jpeg`, :mod:"
"`panelparser`, :mod:`readcd`, :mod:`SV` and :mod:`sv`, :mod:`torgb`, :mod:"
"`videoreader`, and :mod:`WAIT`."
msgstr ""
#: whatsnew/2.6.rst:3232
#, fuzzy
msgid "Porting to Python 2.6"
msgstr "Portage vers Python 3.2"
#: whatsnew/2.6.rst:3234 whatsnew/2.7.rst:2399 whatsnew/3.1.rst:523
#: whatsnew/3.2.rst:2568
msgid ""
"This section lists previously described changes and other bugfixes that may "
"require changes to your code:"
msgstr ""
#: whatsnew/2.6.rst:3237
msgid ""
"Classes that aren't supposed to be hashable should set ``__hash__ = None`` "
"in their definitions to indicate the fact."
msgstr ""
#: whatsnew/2.6.rst:3244
msgid ""
"The :meth:`__init__` method of :class:`collections.deque` now clears any "
"existing contents of the deque before adding elements from the iterable. "
"This change makes the behavior match ``list.__init__()``."
msgstr ""
#: whatsnew/2.6.rst:3249
msgid ""
":meth:`object.__init__` previously accepted arbitrary arguments and keyword "
"arguments, ignoring them. In Python 2.6, this is no longer allowed and will "
"result in a :exc:`TypeError`. This will affect :meth:`__init__` methods "
"that end up calling the corresponding method on :class:`object` (perhaps "
"through using :func:`super`). See :issue:`1683368` for discussion."
msgstr ""
#: whatsnew/2.6.rst:3256
msgid ""
"The :class:`Decimal` constructor now accepts leading and trailing whitespace "
"when passed a string. Previously it would raise an :exc:`InvalidOperation` "
"exception. On the other hand, the :meth:`create_decimal` method of :class:"
"`Context` objects now explicitly disallows extra whitespace, raising a :exc:"
"`ConversionSyntax` exception."
msgstr ""
#: whatsnew/2.6.rst:3263
msgid ""
"Due to an implementation accident, if you passed a file path to the built-"
"in :func:`__import__` function, it would actually import the specified "
"file. This was never intended to work, however, and the implementation now "
"explicitly checks for this case and raises an :exc:`ImportError`."
msgstr ""
#: whatsnew/2.6.rst:3269
msgid ""
"C API: the :c:func:`PyImport_Import` and :c:func:`PyImport_ImportModule` "
"functions now default to absolute imports, not relative imports. This will "
"affect C extensions that import other modules."
msgstr ""
#: whatsnew/2.6.rst:3273
msgid ""
"C API: extension data types that shouldn't be hashable should define their "
"``tp_hash`` slot to :c:func:`PyObject_HashNotImplemented`."
msgstr ""
#: whatsnew/2.6.rst:3277
msgid ""
"The :mod:`socket` module exception :exc:`socket.error` now inherits from :"
"exc:`IOError`. Previously it wasn't a subclass of :exc:`StandardError` but "
"now it is, through :exc:`IOError`. (Implemented by Gregory P. Smith; :issue:"
"`1706815`.)"
msgstr ""
#: whatsnew/2.6.rst:3282
msgid ""
"The :mod:`xmlrpclib` module no longer automatically converts :class:"
"`datetime.date` and :class:`datetime.time` to the :class:`xmlrpclib."
"DateTime` type; the conversion semantics were not necessarily correct for "
"all applications. Code using :mod:`xmlrpclib` should convert :class:`date` "
"and :class:`time` instances. (:issue:`1330538`)"
msgstr ""
#: whatsnew/2.6.rst:3289
msgid ""
"(3.0-warning mode) The :class:`Exception` class now warns when accessed "
"using slicing or index access; having :class:`Exception` behave like a tuple "
"is being phased out."
msgstr ""
#: whatsnew/2.6.rst:3293
msgid ""
"(3.0-warning mode) inequality comparisons between two dictionaries or two "
"objects that don't implement comparison methods are reported as warnings. "
"``dict1 == dict2`` still works, but ``dict1 < dict2`` is being phased out."
msgstr ""
#: whatsnew/2.6.rst:3298
msgid ""
"Comparisons between cells, which are an implementation detail of Python's "
"scoping rules, also cause warnings because such comparisons are forbidden "
"entirely in 3.0."
msgstr ""
#: whatsnew/2.6.rst:3310
msgid ""
"The author would like to thank the following people for offering "
"suggestions, corrections and assistance with various drafts of this article: "
"Georg Brandl, Steve Brown, Nick Coghlan, Ralph Corderoy, Jim Jewett, Kent "
"Johnson, Chris Lambacher, Martin Michlmayr, Antoine Pitrou, Brian Warner."
msgstr ""
#: whatsnew/2.7.rst:3
#, fuzzy
msgid "What's New in Python 2.7"
msgstr "Nouveautés de Python 2.0"
#: whatsnew/2.7.rst:52
msgid ""
"This article explains the new features in Python 2.7. Python 2.7 was "
"released on July 3, 2010."
msgstr ""
#: whatsnew/2.7.rst:55
msgid ""
"Numeric handling has been improved in many ways, for both floating-point "
"numbers and for the :class:`~decimal.Decimal` class. There are some useful "
"additions to the standard library, such as a greatly enhanced :mod:"
"`unittest` module, the :mod:`argparse` module for parsing command-line "
"options, convenient :class:`~collections.OrderedDict` and :class:"
"`~collections.Counter` classes in the :mod:`collections` module, and many "
"other improvements."
msgstr ""
#: whatsnew/2.7.rst:63
msgid ""
"Python 2.7 is planned to be the last of the 2.x releases, so we worked on "
"making it a good release for the long term. To help with porting to Python "
"3, several new features from the Python 3.x series have been included in 2.7."
msgstr ""
#: whatsnew/2.7.rst:68
msgid ""
"This article doesn't attempt to provide a complete specification of the new "
"features, but instead provides a convenient overview. For full details, you "
"should refer to the documentation for Python 2.7 at https://docs.python.org. "
"If you want to understand the rationale for the design and implementation, "
"refer to the PEP for a particular new feature or the issue on https://bugs."
"python.org in which a change was discussed. Whenever possible, \"What's New "
"in Python\" links to the bug/patch item for each change."
msgstr ""
#: whatsnew/2.7.rst:80
msgid "The Future for Python 2.x"
msgstr ""
#: whatsnew/2.7.rst:82
msgid ""
"Python 2.7 is the last major release in the 2.x series, as the Python "
"maintainers have shifted the focus of their new feature development efforts "
"to the Python 3.x series. This means that while Python 2 continues to "
"receive bug fixes, and to be updated to build correctly on new hardware and "
"versions of supported operated systems, there will be no new full feature "
"releases for the language or standard library."
msgstr ""
#: whatsnew/2.7.rst:89
msgid ""
"However, while there is a large common subset between Python 2.7 and Python "
"3, and many of the changes involved in migrating to that common subset, or "
"directly to Python 3, can be safely automated, some other changes (notably "
"those associated with Unicode handling) may require careful consideration, "
"and preferably robust automated regression test suites, to migrate "
"effectively."
msgstr ""
#: whatsnew/2.7.rst:96
msgid ""
"This means that Python 2.7 will remain in place for a long time, providing a "
"stable and supported base platform for production systems that have not yet "
"been ported to Python 3. The full expected lifecycle of the Python 2.7 "
"series is detailed in :pep:`373`."
msgstr ""
#: whatsnew/2.7.rst:101
msgid "Some key consequences of the long-term significance of 2.7 are:"
msgstr ""
#: whatsnew/2.7.rst:103
msgid ""
"As noted above, the 2.7 release has a much longer period of maintenance when "
"compared to earlier 2.x versions. Python 2.7 is currently expected to remain "
"supported by the core development team (receiving security updates and other "
"bug fixes) until at least 2020 (10 years after its initial release, compared "
"to the more typical support period of 18-24 months)."
msgstr ""
#: whatsnew/2.7.rst:109
msgid ""
"As the Python 2.7 standard library ages, making effective use of the Python "
"Package Index (either directly or via a redistributor) becomes more "
"important for Python 2 users. In addition to a wide variety of third party "
"packages for various tasks, the available packages include backports of new "
"modules and features from the Python 3 standard library that are compatible "
"with Python 2, as well as various tools and libraries that can make it "
"easier to migrate to Python 3. The `Python Packaging User Guide <https://"
"packaging.python.org>`__ provides guidance on downloading and installing "
"software from the Python Package Index."
msgstr ""
#: whatsnew/2.7.rst:119
msgid ""
"While the preferred approach to enhancing Python 2 is now the publication of "
"new packages on the Python Package Index, this approach doesn't necessarily "
"work in all cases, especially those related to network security. In "
"exceptional cases that cannot be handled adequately by publishing new or "
"updated packages on PyPI, the Python Enhancement Proposal process may be "
"used to make the case for adding new features directly to the Python 2 "
"standard library. Any such additions, and the maintenance releases where "
"they were added, will be noted in the :ref:`py27-maintenance-enhancements` "
"section below."
msgstr ""
#: whatsnew/2.7.rst:129
msgid ""
"For projects wishing to migrate from Python 2 to Python 3, or for library "
"and framework developers wishing to support users on both Python 2 and "
"Python 3, there are a variety of tools and guides available to help decide "
"on a suitable approach and manage some of the technical details involved. "
"The recommended starting point is the :ref:`pyporting-howto` HOWTO guide."
msgstr ""
#: whatsnew/2.7.rst:137
msgid "Changes to the Handling of Deprecation Warnings"
msgstr ""
#: whatsnew/2.7.rst:139
msgid ""
"For Python 2.7, a policy decision was made to silence warnings only of "
"interest to developers by default. :exc:`DeprecationWarning` and its "
"descendants are now ignored unless otherwise requested, preventing users "
"from seeing warnings triggered by an application. This change was also made "
"in the branch that became Python 3.2. (Discussed on stdlib-sig and carried "
"out in :issue:`7319`.)"
msgstr ""
#: whatsnew/2.7.rst:146
msgid ""
"In previous releases, :exc:`DeprecationWarning` messages were enabled by "
"default, providing Python developers with a clear indication of where their "
"code may break in a future major version of Python."
msgstr ""
#: whatsnew/2.7.rst:151
msgid ""
"However, there are increasingly many users of Python-based applications who "
"are not directly involved in the development of those applications. :exc:"
"`DeprecationWarning` messages are irrelevant to such users, making them "
"worry about an application that's actually working correctly and burdening "
"application developers with responding to these concerns."
msgstr ""
#: whatsnew/2.7.rst:158
msgid ""
"You can re-enable display of :exc:`DeprecationWarning` messages by running "
"Python with the :option:`-Wdefault <-W>` (short form: :option:`-Wd <-W>`) "
"switch, or by setting the :envvar:`PYTHONWARNINGS` environment variable to ``"
"\"default\"`` (or ``\"d\"``) before running Python. Python code can also re-"
"enable them by calling ``warnings.simplefilter('default')``."
msgstr ""
#: whatsnew/2.7.rst:165
msgid ""
"The ``unittest`` module also automatically reenables deprecation warnings "
"when running tests."
msgstr ""
#: whatsnew/2.7.rst:170
msgid "Python 3.1 Features"
msgstr ""
#: whatsnew/2.7.rst:172
msgid ""
"Much as Python 2.6 incorporated features from Python 3.0, version 2.7 "
"incorporates some of the new features in Python 3.1. The 2.x series "
"continues to provide tools for migrating to the 3.x series."
msgstr ""
#: whatsnew/2.7.rst:177
msgid "A partial list of 3.1 features that were backported to 2.7:"
msgstr ""
#: whatsnew/2.7.rst:179
msgid "The syntax for set literals (``{1,2,3}`` is a mutable set)."
msgstr ""
#: whatsnew/2.7.rst:180
msgid "Dictionary and set comprehensions (``{i: i*2 for i in range(3)}``)."
msgstr ""
#: whatsnew/2.7.rst:181
msgid "Multiple context managers in a single :keyword:`with` statement."
msgstr ""
#: whatsnew/2.7.rst:182
msgid "A new version of the :mod:`io` library, rewritten in C for performance."
msgstr ""
#: whatsnew/2.7.rst:183
msgid "The ordered-dictionary type described in :ref:`pep-0372`."
msgstr ""
#: whatsnew/2.7.rst:184
msgid "The new ``\",\"`` format specifier described in :ref:`pep-0378`."
msgstr ""
#: whatsnew/2.7.rst:185
msgid "The :class:`memoryview` object."
msgstr ""
#: whatsnew/2.7.rst:186
msgid ""
"A small subset of the :mod:`importlib` module, `described below <#importlib-"
"section>`__."
msgstr ""
#: whatsnew/2.7.rst:188
msgid ""
"The :func:`repr` of a float ``x`` is shorter in many cases: it's now based "
"on the shortest decimal string that's guaranteed to round back to ``x``. As "
"in previous versions of Python, it's guaranteed that ``float(repr(x))`` "
"recovers ``x``."
msgstr ""
#: whatsnew/2.7.rst:192
msgid ""
"Float-to-string and string-to-float conversions are correctly rounded. The :"
"func:`round` function is also now correctly rounded."
msgstr ""
#: whatsnew/2.7.rst:194
msgid ""
"The :c:type:`PyCapsule` type, used to provide a C API for extension modules."
msgstr ""
#: whatsnew/2.7.rst:195
msgid "The :c:func:`PyLong_AsLongAndOverflow` C API function."
msgstr ""
#: whatsnew/2.7.rst:197
msgid "Other new Python3-mode warnings include:"
msgstr ""
#: whatsnew/2.7.rst:199
msgid ""
":func:`operator.isCallable` and :func:`operator.sequenceIncludes`, which are "
"not supported in 3.x, now trigger warnings."
msgstr ""
#: whatsnew/2.7.rst:201
msgid ""
"The :option:`-3` switch now automatically enables the :option:`-Qwarn <-Q>` "
"switch that causes warnings about using classic division with integers and "
"long integers."
msgstr ""
#: whatsnew/2.7.rst:214
msgid "PEP 372: Adding an Ordered Dictionary to collections"
msgstr ""
#: whatsnew/2.7.rst:216
msgid ""
"Regular Python dictionaries iterate over key/value pairs in arbitrary order. "
"Over the years, a number of authors have written alternative implementations "
"that remember the order that the keys were originally inserted. Based on "
"the experiences from those implementations, 2.7 introduces a new :class:"
"`~collections.OrderedDict` class in the :mod:`collections` module."
msgstr ""
#: whatsnew/2.7.rst:222
msgid ""
"The :class:`~collections.OrderedDict` API provides the same interface as "
"regular dictionaries but iterates over keys and values in a guaranteed order "
"depending on when a key was first inserted::"
msgstr ""
#: whatsnew/2.7.rst:233
msgid ""
"If a new entry overwrites an existing entry, the original insertion position "
"is left unchanged::"
msgstr ""
#: whatsnew/2.7.rst:240
msgid "Deleting an entry and reinserting it will move it to the end::"
msgstr ""
#: whatsnew/2.7.rst:247
msgid ""
"The :meth:`~collections.OrderedDict.popitem` method has an optional *last* "
"argument that defaults to True. If *last* is True, the most recently added "
"key is returned and removed; if it's False, the oldest key is selected::"
msgstr ""
#: whatsnew/2.7.rst:262
msgid ""
"Comparing two ordered dictionaries checks both the keys and values, and "
"requires that the insertion order was the same::"
msgstr ""
#: whatsnew/2.7.rst:278
msgid ""
"Comparing an :class:`~collections.OrderedDict` with a regular dictionary "
"ignores the insertion order and just compares the keys and values."
msgstr ""
#: whatsnew/2.7.rst:281
msgid ""
"How does the :class:`~collections.OrderedDict` work? It maintains a doubly-"
"linked list of keys, appending new keys to the list as they're inserted. A "
"secondary dictionary maps keys to their corresponding list node, so deletion "
"doesn't have to traverse the entire linked list and therefore remains O(1)."
msgstr ""
#: whatsnew/2.7.rst:287
msgid ""
"The standard library now supports use of ordered dictionaries in several "
"modules."
msgstr ""
#: whatsnew/2.7.rst:290
msgid ""
"The :mod:`ConfigParser` module uses them by default, meaning that "
"configuration files can now be read, modified, and then written back in "
"their original order."
msgstr ""
#: whatsnew/2.7.rst:294
msgid ""
"The :meth:`~collections.somenamedtuple._asdict()` method for :func:"
"`collections.namedtuple` now returns an ordered dictionary with the values "
"appearing in the same order as the underlying tuple indices."
msgstr ""
#: whatsnew/2.7.rst:298
msgid ""
"The :mod:`json` module's :class:`~json.JSONDecoder` class constructor was "
"extended with an *object_pairs_hook* parameter to allow :class:`OrderedDict` "
"instances to be built by the decoder. Support was also added for third-party "
"tools like `PyYAML <http://pyyaml.org/>`_."
msgstr ""
#: whatsnew/2.7.rst:307
msgid "PEP 372 - Adding an ordered dictionary to collections"
msgstr ""
#: whatsnew/2.7.rst:307
msgid ""
"PEP written by Armin Ronacher and Raymond Hettinger; implemented by Raymond "
"Hettinger."
msgstr ""
#: whatsnew/2.7.rst:313 whatsnew/3.1.rst:84
msgid "PEP 378: Format Specifier for Thousands Separator"
msgstr ""
#: whatsnew/2.7.rst:315
msgid ""
"To make program output more readable, it can be useful to add separators to "
"large numbers, rendering them as 18,446,744,073,709,551,616 instead of "
"18446744073709551616."
msgstr ""
#: whatsnew/2.7.rst:319
msgid ""
"The fully general solution for doing this is the :mod:`locale` module, which "
"can use different separators (\",\" in North America, \".\" in Europe) and "
"different grouping sizes, but :mod:`locale` is complicated to use and "
"unsuitable for multi-threaded applications where different threads are "
"producing output for different locales."
msgstr ""
#: whatsnew/2.7.rst:325
msgid ""
"Therefore, a simple comma-grouping mechanism has been added to the mini-"
"language used by the :meth:`str.format` method. When formatting a floating-"
"point number, simply include a comma between the width and the precision::"
msgstr ""
#: whatsnew/2.7.rst:333
msgid "When formatting an integer, include the comma after the width:"
msgstr ""
#: whatsnew/2.7.rst:338
msgid ""
"This mechanism is not adaptable at all; commas are always used as the "
"separator and the grouping is always into three-digit groups. The comma-"
"formatting mechanism isn't as general as the :mod:`locale` module, but it's "
"easier to use."
msgstr ""
#: whatsnew/2.7.rst:345 whatsnew/3.1.rst:111
msgid "PEP 378 - Format Specifier for Thousands Separator"
msgstr ""
#: whatsnew/2.7.rst:346
msgid "PEP written by Raymond Hettinger; implemented by Eric Smith."
msgstr ""
#: whatsnew/2.7.rst:349
msgid "PEP 389: The argparse Module for Parsing Command Lines"
msgstr ""
#: whatsnew/2.7.rst:351
msgid ""
"The :mod:`argparse` module for parsing command-line arguments was added as a "
"more powerful replacement for the :mod:`optparse` module."
msgstr ""
#: whatsnew/2.7.rst:355
msgid ""
"This means Python now supports three different modules for parsing command-"
"line arguments: :mod:`getopt`, :mod:`optparse`, and :mod:`argparse`. The :"
"mod:`getopt` module closely resembles the C library's :c:func:`getopt` "
"function, so it remains useful if you're writing a Python prototype that "
"will eventually be rewritten in C. :mod:`optparse` becomes redundant, but "
"there are no plans to remove it because there are many scripts still using "
"it, and there's no automated way to update these scripts. (Making the :mod:"
"`argparse` API consistent with :mod:`optparse`'s interface was discussed but "
"rejected as too messy and difficult.)"
msgstr ""
#: whatsnew/2.7.rst:366
msgid ""
"In short, if you're writing a new script and don't need to worry about "
"compatibility with earlier versions of Python, use :mod:`argparse` instead "
"of :mod:`optparse`."
msgstr ""
#: whatsnew/2.7.rst:370
msgid "Here's an example::"
msgstr ""
#: whatsnew/2.7.rst:393
msgid ""
"Unless you override it, :option:`-h` and :option:`--help` switches are "
"automatically added, and produce neatly formatted output::"
msgstr ""
#: whatsnew/2.7.rst:410
msgid ""
"As with :mod:`optparse`, the command-line switches and arguments are "
"returned as an object with attributes named by the *dest* parameters::"
msgstr ""
#: whatsnew/2.7.rst:425
msgid ""
":mod:`argparse` has much fancier validation than :mod:`optparse`; you can "
"specify an exact number of arguments as an integer, 0 or more arguments by "
"passing ``'*'``, 1 or more by passing ``'+'``, or an optional argument with "
"``'?'``. A top-level parser can contain sub-parsers to define subcommands "
"that have different sets of switches, as in ``svn commit``, ``svn "
"checkout``, etc. You can specify an argument's type as :class:`~argparse."
"FileType`, which will automatically open files for you and understands that "
"``'-'`` means standard input or output."
msgstr ""
#: whatsnew/2.7.rst:438
msgid "argparse documentation"
msgstr ""
#: whatsnew/2.7.rst:438
msgid "The documentation page of the argparse module."
msgstr ""
#: whatsnew/2.7.rst:442
msgid "upgrading-optparse-code"
msgstr ""
#: whatsnew/2.7.rst:441
msgid ""
"Part of the Python documentation, describing how to convert code that uses :"
"mod:`optparse`."
msgstr ""
#: whatsnew/2.7.rst:444
msgid "PEP 389 - argparse - New Command Line Parsing Module"
msgstr ""
#: whatsnew/2.7.rst:445
msgid "PEP written and implemented by Steven Bethard."
msgstr ""
#: whatsnew/2.7.rst:448
msgid "PEP 391: Dictionary-Based Configuration For Logging"
msgstr ""
#: whatsnew/2.7.rst:450
msgid ""
"The :mod:`logging` module is very flexible; applications can define a tree "
"of logging subsystems, and each logger in this tree can filter out certain "
"messages, format them differently, and direct messages to a varying number "
"of handlers."
msgstr ""
#: whatsnew/2.7.rst:455
msgid ""
"All this flexibility can require a lot of configuration. You can write "
"Python statements to create objects and set their properties, but a complex "
"set-up requires verbose but boring code. :mod:`logging` also supports a :"
"func:`~logging.fileConfig` function that parses a file, but the file format "
"doesn't support configuring filters, and it's messier to generate "
"programmatically."
msgstr ""
#: whatsnew/2.7.rst:462
msgid ""
"Python 2.7 adds a :func:`~logging.dictConfig` function that uses a "
"dictionary to configure logging. There are many ways to produce a "
"dictionary from different sources: construct one with code; parse a file "
"containing JSON; or use a YAML parsing library if one is installed. For "
"more information see :ref:`logging-config-api`."
msgstr ""
#: whatsnew/2.7.rst:468
msgid ""
"The following example configures two loggers, the root logger and a logger "
"named \"network\". Messages sent to the root logger will be sent to the "
"system log using the syslog protocol, and messages to the \"network\" logger "
"will be written to a :file:`network.log` file that will be rotated once the "
"log reaches 1MB."
msgstr ""
#: whatsnew/2.7.rst:518
msgid ""
"Three smaller enhancements to the :mod:`logging` module, all implemented by "
"Vinay Sajip, are:"
msgstr ""
#: whatsnew/2.7.rst:523
msgid ""
"The :class:`~logging.handlers.SysLogHandler` class now supports syslogging "
"over TCP. The constructor has a *socktype* parameter giving the type of "
"socket to use, either :const:`socket.SOCK_DGRAM` for UDP or :const:`socket."
"SOCK_STREAM` for TCP. The default protocol remains UDP."
msgstr ""
#: whatsnew/2.7.rst:529
msgid ""
":class:`~logging.Logger` instances gained a :meth:`~logging.Logger.getChild` "
"method that retrieves a descendant logger using a relative path. For "
"example, once you retrieve a logger by doing ``log = getLogger('app')``, "
"calling ``log.getChild('network.listen')`` is equivalent to ``getLogger('app."
"network.listen')``."
msgstr ""
#: whatsnew/2.7.rst:535
msgid ""
"The :class:`~logging.LoggerAdapter` class gained a :meth:`~logging."
"LoggerAdapter.isEnabledFor` method that takes a *level* and returns whether "
"the underlying logger would process a message of that level of importance."
msgstr ""
#: whatsnew/2.7.rst:544
msgid "PEP 391 - Dictionary-Based Configuration For Logging"
msgstr ""
#: whatsnew/2.7.rst:545
msgid "PEP written and implemented by Vinay Sajip."
msgstr ""
#: whatsnew/2.7.rst:548
msgid "PEP 3106: Dictionary Views"
msgstr ""
#: whatsnew/2.7.rst:550
msgid ""
"The dictionary methods :meth:`~dict.keys`, :meth:`~dict.values`, and :meth:"
"`~dict.items` are different in Python 3.x. They return an object called a :"
"dfn:`view` instead of a fully materialized list."
msgstr ""
#: whatsnew/2.7.rst:554
msgid ""
"It's not possible to change the return values of :meth:`~dict.keys`, :meth:"
"`~dict.values`, and :meth:`~dict.items` in Python 2.7 because too much code "
"would break. Instead the 3.x versions were added under the new names :meth:"
"`~dict.viewkeys`, :meth:`~dict.viewvalues`, and :meth:`~dict.viewitems`."
msgstr ""
#: whatsnew/2.7.rst:568
msgid ""
"Views can be iterated over, but the key and item views also behave like "
"sets. The ``&`` operator performs intersection, and ``|`` performs a union::"
msgstr ""
#: whatsnew/2.7.rst:579
msgid ""
"The view keeps track of the dictionary and its contents change as the "
"dictionary is modified::"
msgstr ""
#: whatsnew/2.7.rst:589
msgid ""
"However, note that you can't add or remove keys while you're iterating over "
"the view::"
msgstr ""
#: whatsnew/2.7.rst:599
msgid ""
"You can use the view methods in Python 2.x code, and the 2to3 converter will "
"change them to the standard :meth:`~dict.keys`, :meth:`~dict.values`, and :"
"meth:`~dict.items` methods."
msgstr ""
#: whatsnew/2.7.rst:606
msgid "PEP 3106 - Revamping dict.keys(), .values() and .items()"
msgstr ""
#: whatsnew/2.7.rst:606
msgid ""
"PEP written by Guido van Rossum. Backported to 2.7 by Alexandre Vassalotti; :"
"issue:`1967`."
msgstr ""
#: whatsnew/2.7.rst:611
msgid "PEP 3137: The memoryview Object"
msgstr ""
#: whatsnew/2.7.rst:613
msgid ""
"The :class:`memoryview` object provides a view of another object's memory "
"content that matches the :class:`bytes` type's interface."
msgstr ""
#: whatsnew/2.7.rst:628
msgid ""
"The content of the view can be converted to a string of bytes or a list of "
"integers:"
msgstr ""
#: whatsnew/2.7.rst:637
msgid ""
":class:`memoryview` objects allow modifying the underlying object if it's a "
"mutable object."
msgstr ""
#: whatsnew/2.7.rst:657
msgid "PEP 3137 - Immutable Bytes and Mutable Buffer"
msgstr ""
#: whatsnew/2.7.rst:656
msgid ""
"PEP written by Guido van Rossum. Implemented by Travis Oliphant, Antoine "
"Pitrou and others. Backported to 2.7 by Antoine Pitrou; :issue:`2396`."
msgstr ""
#: whatsnew/2.7.rst:667
msgid ""
"The syntax for set literals has been backported from Python 3.x. Curly "
"brackets are used to surround the contents of the resulting mutable set; set "
"literals are distinguished from dictionaries by not containing colons and "
"values. ``{}`` continues to represent an empty dictionary; use ``set()`` for "
"an empty set."
msgstr ""
#: whatsnew/2.7.rst:681
msgid "Backported by Alexandre Vassalotti; :issue:`2335`."
msgstr ""
#: whatsnew/2.7.rst:683
msgid ""
"Dictionary and set comprehensions are another feature backported from 3.x, "
"generalizing list/generator comprehensions to use the literal syntax for "
"sets and dictionaries."
msgstr ""
#: whatsnew/2.7.rst:692
msgid "Backported by Alexandre Vassalotti; :issue:`2333`."
msgstr ""
#: whatsnew/2.7.rst:694
msgid ""
"The :keyword:`with` statement can now use multiple context managers in one "
"statement. Context managers are processed from left to right and each one "
"is treated as beginning a new :keyword:`with` statement. This means that::"
msgstr ""
#: whatsnew/2.7.rst:702
msgid "is equivalent to::"
msgstr ""
#: whatsnew/2.7.rst:708
msgid ""
"The :func:`contextlib.nested` function provides a very similar function, so "
"it's no longer necessary and has been deprecated."
msgstr ""
#: whatsnew/2.7.rst:711
msgid ""
"(Proposed in https://codereview.appspot.com/53094; implemented by Georg "
"Brandl.)"
msgstr ""
#: whatsnew/2.7.rst:714
msgid ""
"Conversions between floating-point numbers and strings are now correctly "
"rounded on most platforms. These conversions occur in many different "
"places: :func:`str` on floats and complex numbers; the :class:`float` and :"
"class:`complex` constructors; numeric formatting; serializing and "
"deserializing floats and complex numbers using the :mod:`marshal`, :mod:"
"`pickle` and :mod:`json` modules; parsing of float and imaginary literals in "
"Python code; and :class:`~decimal.Decimal`-to-float conversion."
msgstr ""
#: whatsnew/2.7.rst:726
msgid ""
"Related to this, the :func:`repr` of a floating-point number *x* now returns "
"a result based on the shortest decimal string that's guaranteed to round "
"back to *x* under correct rounding (with round-half-to-even rounding mode). "
"Previously it gave a string based on rounding x to 17 decimal digits."
msgstr ""
#: whatsnew/2.7.rst:734
msgid ""
"The rounding library responsible for this improvement works on Windows and "
"on Unix platforms using the gcc, icc, or suncc compilers. There may be a "
"small number of platforms where correct operation of this code cannot be "
"guaranteed, so the code is not used on such systems. You can find out which "
"code is being used by checking :data:`sys.float_repr_style`, which will be "
"``short`` if the new code is in use and ``legacy`` if it isn't."
msgstr ""
#: whatsnew/2.7.rst:742
msgid ""
"Implemented by Eric Smith and Mark Dickinson, using David Gay's :file:`dtoa."
"c` library; :issue:`7117`."
msgstr ""
#: whatsnew/2.7.rst:745
msgid ""
"Conversions from long integers and regular integers to floating point now "
"round differently, returning the floating-point number closest to the "
"number. This doesn't matter for small integers that can be converted "
"exactly, but for large numbers that will unavoidably lose precision, Python "
"2.7 now approximates more closely. For example, Python 2.6 computed the "
"following::"
msgstr ""
#: whatsnew/2.7.rst:758
msgid ""
"Python 2.7's floating-point result is larger, but much closer to the true "
"value::"
msgstr ""
#: whatsnew/2.7.rst:767
msgid "(Implemented by Mark Dickinson; :issue:`3166`.)"
msgstr ""
#: whatsnew/2.7.rst:769
msgid ""
"Integer division is also more accurate in its rounding behaviours. (Also "
"implemented by Mark Dickinson; :issue:`1811`.)"
msgstr ""
#: whatsnew/2.7.rst:772
msgid ""
"Implicit coercion for complex numbers has been removed; the interpreter will "
"no longer ever attempt to call a :meth:`__coerce__` method on complex "
"objects. (Removed by Meador Inge and Mark Dickinson; :issue:`5211`.)"
msgstr ""
#: whatsnew/2.7.rst:776
msgid ""
"The :meth:`str.format` method now supports automatic numbering of the "
"replacement fields. This makes using :meth:`str.format` more closely "
"resemble using ``%s`` formatting::"
msgstr ""
#: whatsnew/2.7.rst:785
msgid ""
"The auto-numbering takes the fields from left to right, so the first ``{...}"
"`` specifier will use the first argument to :meth:`str.format`, the next "
"specifier will use the next argument, and so on. You can't mix auto-"
"numbering and explicit numbering -- either number all of your specifier "
"fields or none of them -- but you can mix auto-numbering and named fields, "
"as in the second example above. (Contributed by Eric Smith; :issue:`5237`.)"
msgstr ""
#: whatsnew/2.7.rst:792
msgid ""
"Complex numbers now correctly support usage with :func:`format`, and default "
"to being right-aligned. Specifying a precision or comma-separation applies "
"to both the real and imaginary parts of the number, but a specified field "
"width and alignment is applied to the whole of the resulting ``1.5+3j`` "
"output. (Contributed by Eric Smith; :issue:`1588` and :issue:`7988`.)"
msgstr ""
#: whatsnew/2.7.rst:799
msgid ""
"The 'F' format code now always formats its output using uppercase "
"characters, so it will now produce 'INF' and 'NAN'. (Contributed by Eric "
"Smith; :issue:`3382`.)"
msgstr ""
#: whatsnew/2.7.rst:803
msgid ""
"A low-level change: the :meth:`object.__format__` method now triggers a :exc:"
"`PendingDeprecationWarning` if it's passed a format string, because the :"
"meth:`__format__` method for :class:`object` converts the object to a string "
"representation and formats that. Previously the method silently applied the "
"format string to the string representation, but that could hide mistakes in "
"Python code. If you're supplying formatting information such as an "
"alignment or precision, presumably you're expecting the formatting to be "
"applied in some object-specific way. (Fixed by Eric Smith; :issue:`7994`.)"
msgstr ""
#: whatsnew/2.7.rst:813
msgid ""
"The :func:`int` and :func:`long` types gained a ``bit_length`` method that "
"returns the number of bits necessary to represent its argument in binary::"
msgstr ""
#: whatsnew/2.7.rst:828
msgid "(Contributed by Fredrik Johansson and Victor Stinner; :issue:`3439`.)"
msgstr ""
#: whatsnew/2.7.rst:830
msgid ""
"The :keyword:`import` statement will no longer try an absolute import if a "
"relative import (e.g. ``from .os import sep``) fails. This fixes a bug, but "
"could possibly break certain :keyword:`import` statements that were only "
"working by accident. (Fixed by Meador Inge; :issue:`7902`.)"
msgstr ""
#: whatsnew/2.7.rst:836
msgid ""
"It's now possible for a subclass of the built-in :class:`unicode` type to "
"override the :meth:`__unicode__` method. (Implemented by Victor Stinner; :"
"issue:`1583863`.)"
msgstr ""
#: whatsnew/2.7.rst:840
msgid ""
"The :class:`bytearray` type's :meth:`~bytearray.translate` method now "
"accepts ``None`` as its first argument. (Fixed by Georg Brandl; :issue:"
"`4759`.)"
msgstr ""
#: whatsnew/2.7.rst:846
msgid ""
"When using ``@classmethod`` and ``@staticmethod`` to wrap methods as class "
"or static methods, the wrapper object now exposes the wrapped function as "
"their :attr:`__func__` attribute. (Contributed by Amaury Forgeot d'Arc, "
"after a suggestion by George Sakkis; :issue:`5982`.)"
msgstr ""
#: whatsnew/2.7.rst:852 whatsnew/2.7.rst:2424
msgid ""
"When a restricted set of attributes were set using ``__slots__``, deleting "
"an unset attribute would not raise :exc:`AttributeError` as you would "
"expect. Fixed by Benjamin Peterson; :issue:`7604`.)"
msgstr ""
#: whatsnew/2.7.rst:856
msgid ""
"Two new encodings are now supported: \"cp720\", used primarily for Arabic "
"text; and \"cp858\", a variant of CP 850 that adds the euro symbol. (CP720 "
"contributed by Alexander Belchenko and Amaury Forgeot d'Arc in :issue:"
"`1616979`; CP858 contributed by Tim Hatch in :issue:`8016`.)"
msgstr ""
#: whatsnew/2.7.rst:862
msgid ""
"The :class:`file` object will now set the :attr:`filename` attribute on the :"
"exc:`IOError` exception when trying to open a directory on POSIX platforms "
"(noted by Jan Kaliszewski; :issue:`4764`), and now explicitly checks for and "
"forbids writing to read-only file objects instead of trusting the C library "
"to catch and report the error (fixed by Stefan Krah; :issue:`5677`)."
msgstr ""
#: whatsnew/2.7.rst:869
msgid ""
"The Python tokenizer now translates line endings itself, so the :func:"
"`compile` built-in function now accepts code using any line-ending "
"convention. Additionally, it no longer requires that the code end in a "
"newline."
msgstr ""
#: whatsnew/2.7.rst:874
msgid ""
"Extra parentheses in function definitions are illegal in Python 3.x, meaning "
"that you get a syntax error from ``def f((x)): pass``. In Python3-warning "
"mode, Python 2.7 will now warn about this odd usage. (Noted by James "
"Lingard; :issue:`7362`.)"
msgstr ""
#: whatsnew/2.7.rst:879
msgid ""
"It's now possible to create weak references to old-style class objects. New-"
"style classes were always weak-referenceable. (Fixed by Antoine Pitrou; :"
"issue:`8268`.)"
msgstr ""
#: whatsnew/2.7.rst:883
msgid ""
"When a module object is garbage-collected, the module's dictionary is now "
"only cleared if no one else is holding a reference to the dictionary (:issue:"
"`7140`)."
msgstr ""
#: whatsnew/2.7.rst:894
msgid ""
"A new environment variable, :envvar:`PYTHONWARNINGS`, allows controlling "
"warnings. It should be set to a string containing warning settings, "
"equivalent to those used with the :option:`-W` switch, separated by commas. "
"(Contributed by Brian Curtin; :issue:`7301`.)"
msgstr ""
#: whatsnew/2.7.rst:900
msgid ""
"For example, the following setting will print warnings every time they "
"occur, but turn warnings from the :mod:`Cookie` module into an error. (The "
"exact syntax for setting an environment variable varies across operating "
"systems and shells.)"
msgstr ""
#: whatsnew/2.7.rst:915
msgid "Several performance enhancements have been added:"
msgstr ""
#: whatsnew/2.7.rst:917
msgid ""
"A new opcode was added to perform the initial setup for :keyword:`with` "
"statements, looking up the :meth:`__enter__` and :meth:`__exit__` methods. "
"(Contributed by Benjamin Peterson.)"
msgstr ""
#: whatsnew/2.7.rst:921
msgid ""
"The garbage collector now performs better for one common usage pattern: when "
"many objects are being allocated without deallocating any of them. This "
"would previously take quadratic time for garbage collection, but now the "
"number of full garbage collections is reduced as the number of objects on "
"the heap grows. The new logic only performs a full garbage collection pass "
"when the middle generation has been collected 10 times and when the number "
"of survivor objects from the middle generation exceeds 10% of the number of "
"objects in the oldest generation. (Suggested by Martin von Löwis and "
"implemented by Antoine Pitrou; :issue:`4074`.)"
msgstr ""
#: whatsnew/2.7.rst:932
msgid ""
"The garbage collector tries to avoid tracking simple containers which can't "
"be part of a cycle. In Python 2.7, this is now true for tuples and dicts "
"containing atomic types (such as ints, strings, etc.). Transitively, a dict "
"containing tuples of atomic types won't be tracked either. This helps reduce "
"the cost of each garbage collection by decreasing the number of objects to "
"be considered and traversed by the collector. (Contributed by Antoine "
"Pitrou; :issue:`4688`.)"
msgstr ""
#: whatsnew/2.7.rst:941
msgid ""
"Long integers are now stored internally either in base 2**15 or in base "
"2**30, the base being determined at build time. Previously, they were "
"always stored in base 2**15. Using base 2**30 gives significant performance "
"improvements on 64-bit machines, but benchmark results on 32-bit machines "
"have been mixed. Therefore, the default is to use base 2**30 on 64-bit "
"machines and base 2**15 on 32-bit machines; on Unix, there's a new configure "
"option :option:`--enable-big-digits` that can be used to override this "
"default."
msgstr ""
#: whatsnew/2.7.rst:950
msgid ""
"Apart from the performance improvements this change should be invisible to "
"end users, with one exception: for testing and debugging purposes there's a "
"new structseq :data:`sys.long_info` that provides information about the "
"internal format, giving the number of bits per digit and the size in bytes "
"of the C type used to store each digit::"
msgstr ""
#: whatsnew/2.7.rst:961 whatsnew/3.1.rst:496
#, fuzzy
msgid "(Contributed by Mark Dickinson; :issue:`4258`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/2.7.rst:963
msgid ""
"Another set of changes made long objects a few bytes smaller: 2 bytes "
"smaller on 32-bit systems and 6 bytes on 64-bit. (Contributed by Mark "
"Dickinson; :issue:`5260`.)"
msgstr ""
#: whatsnew/2.7.rst:967
msgid ""
"The division algorithm for long integers has been made faster by tightening "
"the inner loop, doing shifts instead of multiplications, and fixing an "
"unnecessary extra iteration. Various benchmarks show speedups of between 50% "
"and 150% for long integer divisions and modulo operations. (Contributed by "
"Mark Dickinson; :issue:`5512`.) Bitwise operations are also significantly "
"faster (initial patch by Gregory Smith; :issue:`1087418`)."
msgstr ""
#: whatsnew/2.7.rst:976
msgid ""
"The implementation of ``%`` checks for the left-side operand being a Python "
"string and special-cases it; this results in a 1-3% performance increase for "
"applications that frequently use ``%`` with strings, such as templating "
"libraries. (Implemented by Collin Winter; :issue:`5176`.)"
msgstr ""
#: whatsnew/2.7.rst:982
msgid ""
"List comprehensions with an ``if`` condition are compiled into faster "
"bytecode. (Patch by Antoine Pitrou, back-ported to 2.7 by Jeffrey Yasskin; :"
"issue:`4715`.)"
msgstr ""
#: whatsnew/2.7.rst:986
msgid ""
"Converting an integer or long integer to a decimal string was made faster by "
"special-casing base 10 instead of using a generalized conversion function "
"that supports arbitrary bases. (Patch by Gawain Bolton; :issue:`6713`.)"
msgstr ""
#: whatsnew/2.7.rst:991
msgid ""
"The :meth:`split`, :meth:`replace`, :meth:`rindex`, :meth:`rpartition`, and :"
"meth:`rsplit` methods of string-like types (strings, Unicode strings, and :"
"class:`bytearray` objects) now use a fast reverse-search algorithm instead "
"of a character-by-character scan. This is sometimes faster by a factor of "
"10. (Added by Florent Xicluna; :issue:`7462` and :issue:`7622`.)"
msgstr ""
#: whatsnew/2.7.rst:998
msgid ""
"The :mod:`pickle` and :mod:`cPickle` modules now automatically intern the "
"strings used for attribute names, reducing memory usage of the objects "
"resulting from unpickling. (Contributed by Jake McGuire; :issue:`5084`.)"
msgstr ""
#: whatsnew/2.7.rst:1003
msgid ""
"The :mod:`cPickle` module now special-cases dictionaries, nearly halving the "
"time required to pickle them. (Contributed by Collin Winter; :issue:`5670`.)"
msgstr ""
#: whatsnew/2.7.rst:1018
msgid ""
"The :mod:`bdb` module's base debugging class :class:`~bdb.Bdb` gained a "
"feature for skipping modules. The constructor now takes an iterable "
"containing glob-style patterns such as ``django.*``; the debugger will not "
"step into stack frames from a module that matches one of these patterns. "
"(Contributed by Maru Newby after a suggestion by Senthil Kumaran; :issue:"
"`5142`.)"
msgstr ""
#: whatsnew/2.7.rst:1026
msgid ""
"The :mod:`binascii` module now supports the buffer API, so it can be used "
"with :class:`memoryview` instances and other similar buffer objects. "
"(Backported from 3.x by Florent Xicluna; :issue:`7703`.)"
msgstr ""
#: whatsnew/2.7.rst:1030
msgid ""
"Updated module: the :mod:`bsddb` module has been updated from 4.7.2devel9 to "
"version 4.8.4 of `the pybsddb package <http://www.jcea.es/programacion/"
"pybsddb.htm>`__. The new version features better Python 3.x compatibility, "
"various bug fixes, and adds several new BerkeleyDB flags and methods. "
"(Updated by Jesús Cea Avión; :issue:`8156`. The pybsddb changelog can be "
"read at http://hg.jcea.es/pybsddb/file/tip/ChangeLog.)"
msgstr ""
#: whatsnew/2.7.rst:1038
msgid ""
"The :mod:`bz2` module's :class:`~bz2.BZ2File` now supports the context "
"management protocol, so you can write ``with bz2.BZ2File(...) as f:``. "
"(Contributed by Hagen Fürstenau; :issue:`3860`.)"
msgstr ""
#: whatsnew/2.7.rst:1042
msgid ""
"New class: the :class:`~collections.Counter` class in the :mod:`collections` "
"module is useful for tallying data. :class:`~collections.Counter` instances "
"behave mostly like dictionaries but return zero for missing keys instead of "
"raising a :exc:`KeyError`:"
msgstr ""
#: whatsnew/2.7.rst:1064
msgid ""
"There are three additional :class:`~collections.Counter` methods. :meth:"
"`~collections.Counter.most_common` returns the N most common elements and "
"their counts. :meth:`~collections.Counter.elements` returns an iterator "
"over the contained elements, repeating each element as many times as its "
"count. :meth:`~collections.Counter.subtract` takes an iterable and subtracts "
"one for each element instead of adding; if the argument is a dictionary or "
"another :class:`Counter`, the counts are subtracted. ::"
msgstr ""
#: whatsnew/2.7.rst:1087
msgid "Contributed by Raymond Hettinger; :issue:`1696199`."
msgstr ""
#: whatsnew/2.7.rst:1091
msgid ""
"New class: :class:`~collections.OrderedDict` is described in the earlier "
"section :ref:`pep-0372`."
msgstr ""
#: whatsnew/2.7.rst:1094
msgid ""
"New method: The :class:`~collections.deque` data type now has a :meth:"
"`~collections.deque.count` method that returns the number of contained "
"elements equal to the supplied argument *x*, and a :meth:`~collections.deque."
"reverse` method that reverses the elements of the deque in-place. :class:"
"`~collections.deque` also exposes its maximum length as the read-only :attr:"
"`~collections.deque.maxlen` attribute. (Both features added by Raymond "
"Hettinger.)"
msgstr ""
#: whatsnew/2.7.rst:1102
msgid ""
"The :class:`~collections.namedtuple` class now has an optional *rename* "
"parameter. If *rename* is true, field names that are invalid because they've "
"been repeated or aren't legal Python identifiers will be renamed to legal "
"names that are derived from the field's position within the list of fields:"
msgstr ""
#: whatsnew/2.7.rst:1113
msgid "(Added by Raymond Hettinger; :issue:`1818`.)"
msgstr ""
#: whatsnew/2.7.rst:1115
msgid ""
"Finally, the :class:`~collections.Mapping` abstract base class now returns :"
"const:`NotImplemented` if a mapping is compared to another type that isn't "
"a :class:`Mapping`. (Fixed by Daniel Stutzbach; :issue:`8729`.)"
msgstr ""
#: whatsnew/2.7.rst:1120
msgid ""
"Constructors for the parsing classes in the :mod:`ConfigParser` module now "
"take an *allow_no_value* parameter, defaulting to false; if true, options "
"without values will be allowed. For example::"
msgstr ""
#: whatsnew/2.7.rst:1142
msgid "(Contributed by Mats Kindahl; :issue:`7005`.)"
msgstr ""
#: whatsnew/2.7.rst:1144
msgid ""
"Deprecated function: :func:`contextlib.nested`, which allows handling more "
"than one context manager with a single :keyword:`with` statement, has been "
"deprecated, because the :keyword:`with` statement now supports multiple "
"context managers."
msgstr ""
#: whatsnew/2.7.rst:1149
msgid ""
"The :mod:`cookielib` module now ignores cookies that have an invalid version "
"field, one that doesn't contain an integer value. (Fixed by John J. Lee; :"
"issue:`3924`.)"
msgstr ""
#: whatsnew/2.7.rst:1153
msgid ""
"The :mod:`copy` module's :func:`~copy.deepcopy` function will now correctly "
"copy bound instance methods. (Implemented by Robert Collins; :issue:`1515`.)"
msgstr ""
#: whatsnew/2.7.rst:1157
msgid ""
"The :mod:`ctypes` module now always converts ``None`` to a C NULL pointer "
"for arguments declared as pointers. (Changed by Thomas Heller; :issue:"
"`4606`.) The underlying `libffi library <http://sourceware.org/libffi/>`__ "
"has been updated to version 3.0.9, containing various fixes for different "
"platforms. (Updated by Matthias Klose; :issue:`8142`.)"
msgstr ""
#: whatsnew/2.7.rst:1164
msgid ""
"New method: the :mod:`datetime` module's :class:`~datetime.timedelta` class "
"gained a :meth:`~datetime.timedelta.total_seconds` method that returns the "
"number of seconds in the duration. (Contributed by Brian Quinlan; :issue:"
"`5788`.)"
msgstr ""
#: whatsnew/2.7.rst:1168
msgid ""
"New method: the :class:`~decimal.Decimal` class gained a :meth:`~decimal."
"Decimal.from_float` class method that performs an exact conversion of a "
"floating-point number to a :class:`~decimal.Decimal`. This exact conversion "
"strives for the closest decimal approximation to the floating-point "
"representation's value; the resulting decimal value will therefore still "
"include the inaccuracy, if any. For example, ``Decimal.from_float(0.1)`` "
"returns "
"``Decimal('0.1000000000000000055511151231257827021181583404541015625')``. "
"(Implemented by Raymond Hettinger; :issue:`4796`.)"
msgstr ""
#: whatsnew/2.7.rst:1179
msgid ""
"Comparing instances of :class:`~decimal.Decimal` with floating-point numbers "
"now produces sensible results based on the numeric values of the operands. "
"Previously such comparisons would fall back to Python's default rules for "
"comparing objects, which produced arbitrary results based on their type. "
"Note that you still cannot combine :class:`Decimal` and floating-point in "
"other operations such as addition, since you should be explicitly choosing "
"how to convert between float and :class:`~decimal.Decimal`. (Fixed by Mark "
"Dickinson; :issue:`2531`.)"
msgstr ""
#: whatsnew/2.7.rst:1188
msgid ""
"The constructor for :class:`~decimal.Decimal` now accepts floating-point "
"numbers (added by Raymond Hettinger; :issue:`8257`) and non-European Unicode "
"characters such as Arabic-Indic digits (contributed by Mark Dickinson; :"
"issue:`6595`)."
msgstr ""
#: whatsnew/2.7.rst:1193
msgid ""
"Most of the methods of the :class:`~decimal.Context` class now accept "
"integers as well as :class:`~decimal.Decimal` instances; the only exceptions "
"are the :meth:`~decimal.Context.canonical` and :meth:`~decimal.Context."
"is_canonical` methods. (Patch by Juan José Conti; :issue:`7633`.)"
msgstr ""
#: whatsnew/2.7.rst:1198
msgid ""
"When using :class:`~decimal.Decimal` instances with a string's :meth:`~str."
"format` method, the default alignment was previously left-alignment. This "
"has been changed to right-alignment, which is more sensible for numeric "
"types. (Changed by Mark Dickinson; :issue:`6857`.)"
msgstr ""
#: whatsnew/2.7.rst:1203
msgid ""
"Comparisons involving a signaling NaN value (or ``sNAN``) now signal :const:"
"`InvalidOperation` instead of silently returning a true or false value "
"depending on the comparison operator. Quiet NaN values (or ``NaN``) are now "
"hashable. (Fixed by Mark Dickinson; :issue:`7279`.)"
msgstr ""
#: whatsnew/2.7.rst:1209
msgid ""
"The :mod:`difflib` module now produces output that is more compatible with "
"modern :command:`diff`/:command:`patch` tools through one small change, "
"using a tab character instead of spaces as a separator in the header giving "
"the filename. (Fixed by Anatoly Techtonik; :issue:`7585`.)"
msgstr ""
#: whatsnew/2.7.rst:1215
msgid ""
"The Distutils ``sdist`` command now always regenerates the :file:`MANIFEST` "
"file, since even if the :file:`MANIFEST.in` or :file:`setup.py` files "
"haven't been modified, the user might have created some new files that "
"should be included. (Fixed by Tarek Ziadé; :issue:`8688`.)"
msgstr ""
#: whatsnew/2.7.rst:1221
msgid ""
"The :mod:`doctest` module's :const:`IGNORE_EXCEPTION_DETAIL` flag will now "
"ignore the name of the module containing the exception being tested. (Patch "
"by Lennart Regebro; :issue:`7490`.)"
msgstr ""
#: whatsnew/2.7.rst:1225
msgid ""
"The :mod:`email` module's :class:`~email.message.Message` class will now "
"accept a Unicode-valued payload, automatically converting the payload to the "
"encoding specified by :attr:`output_charset`. (Added by R. David Murray; :"
"issue:`1368247`.)"
msgstr ""
#: whatsnew/2.7.rst:1230
msgid ""
"The :class:`~fractions.Fraction` class now accepts a single float or :class:"
"`~decimal.Decimal` instance, or two rational numbers, as arguments to its "
"constructor. (Implemented by Mark Dickinson; rationals added in :issue:"
"`5812`, and float/decimal in :issue:`8294`.)"
msgstr ""
#: whatsnew/2.7.rst:1236
msgid ""
"Ordering comparisons (``<``, ``<=``, ``>``, ``>=``) between fractions and "
"complex numbers now raise a :exc:`TypeError`. This fixes an oversight, "
"making the :class:`~fractions.Fraction` match the other numeric types."
msgstr ""
#: whatsnew/2.7.rst:1243
msgid ""
"New class: :class:`~ftplib.FTP_TLS` in the :mod:`ftplib` module provides "
"secure FTP connections using TLS encapsulation of authentication as well as "
"subsequent control and data transfers. (Contributed by Giampaolo Rodola; :"
"issue:`2054`.)"
msgstr ""
#: whatsnew/2.7.rst:1249
msgid ""
"The :meth:`~ftplib.FTP.storbinary` method for binary uploads can now restart "
"uploads thanks to an added *rest* parameter (patch by Pablo Mouzo; :issue:"
"`6845`.)"
msgstr ""
#: whatsnew/2.7.rst:1253
msgid ""
"New class decorator: :func:`~functools.total_ordering` in the :mod:"
"`functools` module takes a class that defines an :meth:`__eq__` method and "
"one of :meth:`__lt__`, :meth:`__le__`, :meth:`__gt__`, or :meth:`__ge__`, "
"and generates the missing comparison methods. Since the :meth:`__cmp__` "
"method is being deprecated in Python 3.x, this decorator makes it easier to "
"define ordered classes. (Added by Raymond Hettinger; :issue:`5479`.)"
msgstr ""
#: whatsnew/2.7.rst:1261
msgid ""
"New function: :func:`~functools.cmp_to_key` will take an old-style "
"comparison function that expects two arguments and return a new callable "
"that can be used as the *key* parameter to functions such as :func:"
"`sorted`, :func:`min` and :func:`max`, etc. The primary intended use is to "
"help with making code compatible with Python 3.x. (Added by Raymond "
"Hettinger.)"
msgstr ""
#: whatsnew/2.7.rst:1268
msgid ""
"New function: the :mod:`gc` module's :func:`~gc.is_tracked` returns true if "
"a given instance is tracked by the garbage collector, false otherwise. "
"(Contributed by Antoine Pitrou; :issue:`4688`.)"
msgstr ""
#: whatsnew/2.7.rst:1272
msgid ""
"The :mod:`gzip` module's :class:`~gzip.GzipFile` now supports the context "
"management protocol, so you can write ``with gzip.GzipFile(...) as f:`` "
"(contributed by Hagen Fürstenau; :issue:`3860`), and it now implements the :"
"class:`io.BufferedIOBase` ABC, so you can wrap it with :class:`io."
"BufferedReader` for faster processing (contributed by Nir Aides; :issue:"
"`7471`). It's also now possible to override the modification time recorded "
"in a gzipped file by providing an optional timestamp to the constructor. "
"(Contributed by Jacques Frechet; :issue:`4272`.)"
msgstr ""
#: whatsnew/2.7.rst:1282
msgid ""
"Files in gzip format can be padded with trailing zero bytes; the :mod:`gzip` "
"module will now consume these trailing bytes. (Fixed by Tadek Pietraszek "
"and Brian Curtin; :issue:`2846`.)"
msgstr ""
#: whatsnew/2.7.rst:1286
msgid ""
"New attribute: the :mod:`hashlib` module now has an :attr:`~hashlib.hashlib."
"algorithms` attribute containing a tuple naming the supported algorithms. In "
"Python 2.7, ``hashlib.algorithms`` contains ``('md5', 'sha1', 'sha224', "
"'sha256', 'sha384', 'sha512')``. (Contributed by Carl Chenet; :issue:`7418`.)"
msgstr ""
#: whatsnew/2.7.rst:1292
msgid ""
"The default :class:`~httplib.HTTPResponse` class used by the :mod:`httplib` "
"module now supports buffering, resulting in much faster reading of HTTP "
"responses. (Contributed by Kristján Valur Jónsson; :issue:`4879`.)"
msgstr ""
#: whatsnew/2.7.rst:1296
msgid ""
"The :class:`~httplib.HTTPConnection` and :class:`~httplib.HTTPSConnection` "
"classes now support a *source_address* parameter, a ``(host, port)`` 2-tuple "
"giving the source address that will be used for the connection. (Contributed "
"by Eldon Ziegler; :issue:`3972`.)"
msgstr ""
#: whatsnew/2.7.rst:1301
msgid ""
"The :mod:`ihooks` module now supports relative imports. Note that :mod:"
"`ihooks` is an older module for customizing imports, superseded by the :mod:"
"`imputil` module added in Python 2.0. (Relative import support added by Neil "
"Schemenauer.)"
msgstr ""
#: whatsnew/2.7.rst:1308
msgid ""
"The :mod:`imaplib` module now supports IPv6 addresses. (Contributed by Derek "
"Morr; :issue:`1655`.)"
msgstr ""
#: whatsnew/2.7.rst:1311
msgid ""
"New function: the :mod:`inspect` module's :func:`~inspect.getcallargs` takes "
"a callable and its positional and keyword arguments, and figures out which "
"of the callable's parameters will receive each argument, returning a "
"dictionary mapping argument names to their values. For example::"
msgstr ""
#: whatsnew/2.7.rst:1328
msgid "Contributed by George Sakkis; :issue:`3135`."
msgstr ""
#: whatsnew/2.7.rst:1330
msgid ""
"Updated module: The :mod:`io` library has been upgraded to the version "
"shipped with Python 3.1. For 3.1, the I/O library was entirely rewritten in "
"C and is 2 to 20 times faster depending on the task being performed. The "
"original Python version was renamed to the :mod:`_pyio` module."
msgstr ""
#: whatsnew/2.7.rst:1335
msgid ""
"One minor resulting change: the :class:`io.TextIOBase` class now has an :"
"attr:`errors` attribute giving the error setting used for encoding and "
"decoding errors (one of ``'strict'``, ``'replace'``, ``'ignore'``)."
msgstr ""
#: whatsnew/2.7.rst:1340
msgid ""
"The :class:`io.FileIO` class now raises an :exc:`OSError` when passed an "
"invalid file descriptor. (Implemented by Benjamin Peterson; :issue:"
"`4991`.) The :meth:`~io.IOBase.truncate` method now preserves the file "
"position; previously it would change the file position to the end of the new "
"file. (Fixed by Pascal Chambon; :issue:`6939`.)"
msgstr ""
#: whatsnew/2.7.rst:1346
msgid ""
"New function: ``itertools.compress(data, selectors)`` takes two iterators. "
"Elements of *data* are returned if the corresponding value in *selectors* is "
"true::"
msgstr ""
#: whatsnew/2.7.rst:1355
msgid ""
"New function: ``itertools.combinations_with_replacement(iter, r)`` returns "
"all the possible *r*-length combinations of elements from the iterable "
"*iter*. Unlike :func:`~itertools.combinations`, individual elements can be "
"repeated in the generated combinations::"
msgstr ""
#: whatsnew/2.7.rst:1364
msgid ""
"Note that elements are treated as unique depending on their position in the "
"input, not their actual values."
msgstr ""
#: whatsnew/2.7.rst:1367
msgid ""
"The :func:`itertools.count` function now has a *step* argument that allows "
"incrementing by values other than 1. :func:`~itertools.count` also now "
"allows keyword arguments, and using non-integer values such as floats or :"
"class:`~decimal.Decimal` instances. (Implemented by Raymond Hettinger; :"
"issue:`5032`.)"
msgstr ""
#: whatsnew/2.7.rst:1373
msgid ""
":func:`itertools.combinations` and :func:`itertools.product` previously "
"raised :exc:`ValueError` for values of *r* larger than the input iterable. "
"This was deemed a specification error, so they now return an empty "
"iterator. (Fixed by Raymond Hettinger; :issue:`4816`.)"
msgstr ""
#: whatsnew/2.7.rst:1378
msgid ""
"Updated module: The :mod:`json` module was upgraded to version 2.0.9 of the "
"simplejson package, which includes a C extension that makes encoding and "
"decoding faster. (Contributed by Bob Ippolito; :issue:`4136`.)"
msgstr ""
#: whatsnew/2.7.rst:1383
msgid ""
"To support the new :class:`collections.OrderedDict` type, :func:`json.load` "
"now has an optional *object_pairs_hook* parameter that will be called with "
"any object literal that decodes to a list of pairs. (Contributed by Raymond "
"Hettinger; :issue:`5381`.)"
msgstr ""
#: whatsnew/2.7.rst:1388
msgid ""
"The :mod:`mailbox` module's :class:`~mailbox.Maildir` class now records the "
"timestamp on the directories it reads, and only re-reads them if the "
"modification time has subsequently changed. This improves performance by "
"avoiding unneeded directory scans. (Fixed by A.M. Kuchling and Antoine "
"Pitrou; :issue:`1607951`, :issue:`6896`.)"
msgstr ""
#: whatsnew/2.7.rst:1394
msgid ""
"New functions: the :mod:`math` module gained :func:`~math.erf` and :func:"
"`~math.erfc` for the error function and the complementary error function, :"
"func:`~math.expm1` which computes ``e**x - 1`` with more precision than "
"using :func:`~math.exp` and subtracting 1, :func:`~math.gamma` for the Gamma "
"function, and :func:`~math.lgamma` for the natural log of the Gamma "
"function. (Contributed by Mark Dickinson and nirinA raseliarison; :issue:"
"`3366`.)"
msgstr ""
#: whatsnew/2.7.rst:1402
msgid ""
"The :mod:`multiprocessing` module's :class:`Manager*` classes can now be "
"passed a callable that will be called whenever a subprocess is started, "
"along with a set of arguments that will be passed to the callable. "
"(Contributed by lekma; :issue:`5585`.)"
msgstr ""
#: whatsnew/2.7.rst:1408
msgid ""
"The :class:`~multiprocessing.Pool` class, which controls a pool of worker "
"processes, now has an optional *maxtasksperchild* parameter. Worker "
"processes will perform the specified number of tasks and then exit, causing "
"the :class:`~multiprocessing.Pool` to start a new worker. This is useful if "
"tasks may leak memory or other resources, or if some tasks will cause the "
"worker to become very large. (Contributed by Charles Cazabon; :issue:`6963`.)"
msgstr ""
#: whatsnew/2.7.rst:1416
msgid ""
"The :mod:`nntplib` module now supports IPv6 addresses. (Contributed by Derek "
"Morr; :issue:`1664`.)"
msgstr ""
#: whatsnew/2.7.rst:1419
msgid ""
"New functions: the :mod:`os` module wraps the following POSIX system calls: :"
"func:`~os.getresgid` and :func:`~os.getresuid`, which return the real, "
"effective, and saved GIDs and UIDs; :func:`~os.setresgid` and :func:`~os."
"setresuid`, which set real, effective, and saved GIDs and UIDs to new "
"values; :func:`~os.initgroups`, which initialize the group access list for "
"the current process. (GID/UID functions contributed by Travis H.; :issue:"
"`6508`. Support for initgroups added by Jean-Paul Calderone; :issue:`7333`.)"
msgstr ""
#: whatsnew/2.7.rst:1429
msgid ""
"The :func:`os.fork` function now re-initializes the import lock in the child "
"process; this fixes problems on Solaris when :func:`~os.fork` is called from "
"a thread. (Fixed by Zsolt Cserna; :issue:`7242`.)"
msgstr ""
#: whatsnew/2.7.rst:1433
msgid ""
"In the :mod:`os.path` module, the :func:`~os.path.normpath` and :func:`~os."
"path.abspath` functions now preserve Unicode; if their input path is a "
"Unicode string, the return value is also a Unicode string. (:meth:`~os.path."
"normpath` fixed by Matt Giuca in :issue:`5827`; :meth:`~os.path.abspath` "
"fixed by Ezio Melotti in :issue:`3426`.)"
msgstr ""
#: whatsnew/2.7.rst:1439
msgid ""
"The :mod:`pydoc` module now has help for the various symbols that Python "
"uses. You can now do ``help('<<')`` or ``help('@')``, for example. "
"(Contributed by David Laban; :issue:`4739`.)"
msgstr ""
#: whatsnew/2.7.rst:1443
msgid ""
"The :mod:`re` module's :func:`~re.split`, :func:`~re.sub`, and :func:`~re."
"subn` now accept an optional *flags* argument, for consistency with the "
"other functions in the module. (Added by Gregory P. Smith.)"
msgstr ""
#: whatsnew/2.7.rst:1447
msgid ""
"New function: :func:`~runpy.run_path` in the :mod:`runpy` module will "
"execute the code at a provided *path* argument. *path* can be the path of a "
"Python source file (:file:`example.py`), a compiled bytecode file (:file:"
"`example.pyc`), a directory (:file:`./package/`), or a zip archive (:file:"
"`example.zip`). If a directory or zip path is provided, it will be added to "
"the front of ``sys.path`` and the module :mod:`__main__` will be imported. "
"It's expected that the directory or zip contains a :file:`__main__.py`; if "
"it doesn't, some other :file:`__main__.py` might be imported from a location "
"later in ``sys.path``. This makes more of the machinery of :mod:`runpy` "
"available to scripts that want to mimic the way Python's command line "
"processes an explicit path name. (Added by Nick Coghlan; :issue:`6816`.)"
msgstr ""
#: whatsnew/2.7.rst:1461
msgid ""
"New function: in the :mod:`shutil` module, :func:`~shutil.make_archive` "
"takes a filename, archive type (zip or tar-format), and a directory path, "
"and creates an archive containing the directory's contents. (Added by Tarek "
"Ziadé.)"
msgstr ""
#: whatsnew/2.7.rst:1466
msgid ""
":mod:`shutil`'s :func:`~shutil.copyfile` and :func:`~shutil.copytree` "
"functions now raise a :exc:`~shutil.SpecialFileError` exception when asked "
"to copy a named pipe. Previously the code would treat named pipes like a "
"regular file by opening them for reading, and this would block "
"indefinitely. (Fixed by Antoine Pitrou; :issue:`3002`.)"
msgstr ""
#: whatsnew/2.7.rst:1472
msgid ""
"The :mod:`signal` module no longer re-installs the signal handler unless "
"this is truly necessary, which fixes a bug that could make it impossible to "
"catch the EINTR signal robustly. (Fixed by Charles-Francois Natali; :issue:"
"`8354`.)"
msgstr ""
#: whatsnew/2.7.rst:1477
msgid ""
"New functions: in the :mod:`site` module, three new functions return various "
"site- and user-specific paths. :func:`~site.getsitepackages` returns a list "
"containing all global site-packages directories, :func:`~site."
"getusersitepackages` returns the path of the user's site-packages directory, "
"and :func:`~site.getuserbase` returns the value of the :envvar:`USER_BASE` "
"environment variable, giving the path to a directory that can be used to "
"store data. (Contributed by Tarek Ziadé; :issue:`6693`.)"
msgstr ""
#: whatsnew/2.7.rst:1488
msgid ""
"The :mod:`site` module now reports exceptions occurring when the :mod:"
"`sitecustomize` module is imported, and will no longer catch and swallow "
"the :exc:`KeyboardInterrupt` exception. (Fixed by Victor Stinner; :issue:"
"`3137`.)"
msgstr ""
#: whatsnew/2.7.rst:1493
msgid ""
"The :func:`~socket.create_connection` function gained a *source_address* "
"parameter, a ``(host, port)`` 2-tuple giving the source address that will be "
"used for the connection. (Contributed by Eldon Ziegler; :issue:`3972`.)"
msgstr ""
#: whatsnew/2.7.rst:1498
msgid ""
"The :meth:`~socket.socket.recv_into` and :meth:`~socket.socket."
"recvfrom_into` methods will now write into objects that support the buffer "
"API, most usefully the :class:`bytearray` and :class:`memoryview` objects. "
"(Implemented by Antoine Pitrou; :issue:`8104`.)"
msgstr ""
#: whatsnew/2.7.rst:1503
msgid ""
"The :mod:`SocketServer` module's :class:`~SocketServer.TCPServer` class now "
"supports socket timeouts and disabling the Nagle algorithm. The :attr:"
"`~SocketServer.TCPServer.disable_nagle_algorithm` class attribute defaults "
"to False; if overridden to be True, new request connections will have the "
"TCP_NODELAY option set to prevent buffering many small sends into a single "
"TCP packet. The :attr:`~SocketServer.BaseServer.timeout` class attribute can "
"hold a timeout in seconds that will be applied to the request socket; if no "
"request is received within that time, :meth:`~SocketServer.BaseServer."
"handle_timeout` will be called and :meth:`~SocketServer.BaseServer."
"handle_request` will return. (Contributed by Kristján Valur Jónsson; :issue:"
"`6192` and :issue:`6267`.)"
msgstr ""
#: whatsnew/2.7.rst:1515
msgid ""
"Updated module: the :mod:`sqlite3` module has been updated to version 2.6.0 "
"of the `pysqlite package <http://code.google.com/p/pysqlite/>`__. Version "
"2.6.0 includes a number of bugfixes, and adds the ability to load SQLite "
"extensions from shared libraries. Call the ``enable_load_extension(True)`` "
"method to enable extensions, and then call :meth:`~sqlite3.Connection."
"load_extension` to load a particular shared library. (Updated by Gerhard "
"Häring.)"
msgstr ""
#: whatsnew/2.7.rst:1522
msgid ""
"The :mod:`ssl` module's :class:`~ssl.SSLSocket` objects now support the "
"buffer API, which fixed a test suite failure (fix by Antoine Pitrou; :issue:"
"`7133`) and automatically set OpenSSL's :c:macro:`SSL_MODE_AUTO_RETRY`, "
"which will prevent an error code being returned from :meth:`recv` operations "
"that trigger an SSL renegotiation (fix by Antoine Pitrou; :issue:`8222`)."
msgstr ""
#: whatsnew/2.7.rst:1529
msgid ""
"The :func:`ssl.wrap_socket` constructor function now takes a *ciphers* "
"argument that's a string listing the encryption algorithms to be allowed; "
"the format of the string is described `in the OpenSSL documentation <http://"
"www.openssl.org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT>`__. (Added by "
"Antoine Pitrou; :issue:`8322`.)"
msgstr ""
#: whatsnew/2.7.rst:1536
msgid ""
"Another change makes the extension load all of OpenSSL's ciphers and digest "
"algorithms so that they're all available. Some SSL certificates couldn't be "
"verified, reporting an \"unknown algorithm\" error. (Reported by Beda "
"Kosata, and fixed by Antoine Pitrou; :issue:`8484`.)"
msgstr ""
#: whatsnew/2.7.rst:1542
msgid ""
"The version of OpenSSL being used is now available as the module attributes :"
"data:`ssl.OPENSSL_VERSION` (a string), :data:`ssl.OPENSSL_VERSION_INFO` (a 5-"
"tuple), and :data:`ssl.OPENSSL_VERSION_NUMBER` (an integer). (Added by "
"Antoine Pitrou; :issue:`8321`.)"
msgstr ""
#: whatsnew/2.7.rst:1548
msgid ""
"The :mod:`struct` module will no longer silently ignore overflow errors when "
"a value is too large for a particular integer format code (one of "
"``bBhHiIlLqQ``); it now always raises a :exc:`struct.error` exception. "
"(Changed by Mark Dickinson; :issue:`1523`.) The :func:`~struct.pack` "
"function will also attempt to use :meth:`__index__` to convert and pack non-"
"integers before trying the :meth:`__int__` method or reporting an error. "
"(Changed by Mark Dickinson; :issue:`8300`.)"
msgstr ""
#: whatsnew/2.7.rst:1557
msgid ""
"New function: the :mod:`subprocess` module's :func:`~subprocess."
"check_output` runs a command with a specified set of arguments and returns "
"the command's output as a string when the command runs without error, or "
"raises a :exc:`~subprocess.CalledProcessError` exception otherwise."
msgstr ""
#: whatsnew/2.7.rst:1572
msgid "(Contributed by Gregory P. Smith.)"
msgstr ""
#: whatsnew/2.7.rst:1574
msgid ""
"The :mod:`subprocess` module will now retry its internal system calls on "
"receiving an :const:`EINTR` signal. (Reported by several people; final "
"patch by Gregory P. Smith in :issue:`1068268`.)"
msgstr ""
#: whatsnew/2.7.rst:1578
msgid ""
"New function: :func:`~symtable.Symbol.is_declared_global` in the :mod:"
"`symtable` module returns true for variables that are explicitly declared to "
"be global, false for ones that are implicitly global. (Contributed by Jeremy "
"Hylton.)"
msgstr ""
#: whatsnew/2.7.rst:1583 whatsnew/2.7.rst:2458
msgid ""
"The :mod:`syslog` module will now use the value of ``sys.argv[0]`` as the "
"identifier instead of the previous default value of ``'python'``. (Changed "
"by Sean Reifschneider; :issue:`8451`.)"
msgstr ""
#: whatsnew/2.7.rst:1587
msgid ""
"The ``sys.version_info`` value is now a named tuple, with attributes named :"
"attr:`major`, :attr:`minor`, :attr:`micro`, :attr:`releaselevel`, and :attr:"
"`serial`. (Contributed by Ross Light; :issue:`4285`.)"
msgstr ""
#: whatsnew/2.7.rst:1592
msgid ""
":func:`sys.getwindowsversion` also returns a named tuple, with attributes "
"named :attr:`major`, :attr:`minor`, :attr:`build`, :attr:`platform`, :attr:"
"`service_pack`, :attr:`service_pack_major`, :attr:`service_pack_minor`, :"
"attr:`suite_mask`, and :attr:`product_type`. (Contributed by Brian Curtin; :"
"issue:`7766`.)"
msgstr ""
#: whatsnew/2.7.rst:1598 whatsnew/2.7.rst:2462
msgid ""
"The :mod:`tarfile` module's default error handling has changed, to no longer "
"suppress fatal errors. The default error level was previously 0, which "
"meant that errors would only result in a message being written to the debug "
"log, but because the debug log is not activated by default, these errors go "
"unnoticed. The default error level is now 1, which raises an exception if "
"there's an error. (Changed by Lars Gustäbel; :issue:`7357`.)"
msgstr ""
#: whatsnew/2.7.rst:1606
msgid ""
":mod:`tarfile` now supports filtering the :class:`~tarfile.TarInfo` objects "
"being added to a tar file. When you call :meth:`~tarfile.TarFile.add`, you "
"may supply an optional *filter* argument that's a callable. The *filter* "
"callable will be passed the :class:`~tarfile.TarInfo` for every file being "
"added, and can modify and return it. If the callable returns ``None``, the "
"file will be excluded from the resulting archive. This is more powerful "
"than the existing *exclude* argument, which has therefore been deprecated. "
"(Added by Lars Gustäbel; :issue:`6856`.) The :class:`~tarfile.TarFile` class "
"also now supports the context management protocol. (Added by Lars Gustäbel; :"
"issue:`7232`.)"
msgstr ""
#: whatsnew/2.7.rst:1618
msgid ""
"The :meth:`~threading.Event.wait` method of the :class:`threading.Event` "
"class now returns the internal flag on exit. This means the method will "
"usually return true because :meth:`~threading.Event.wait` is supposed to "
"block until the internal flag becomes true. The return value will only be "
"false if a timeout was provided and the operation timed out. (Contributed by "
"Tim Lesher; :issue:`1674032`.)"
msgstr ""
#: whatsnew/2.7.rst:1625
msgid ""
"The Unicode database provided by the :mod:`unicodedata` module is now used "
"internally to determine which characters are numeric, whitespace, or "
"represent line breaks. The database also includes information from the :"
"file:`Unihan.txt` data file (patch by Anders Chrigström and Amaury Forgeot "
"d'Arc; :issue:`1571184`) and has been updated to version 5.2.0 (updated by "
"Florent Xicluna; :issue:`8024`)."
msgstr ""
#: whatsnew/2.7.rst:1633 whatsnew/2.7.rst:2470
msgid ""
"The :mod:`urlparse` module's :func:`~urlparse.urlsplit` now handles unknown "
"URL schemes in a fashion compliant with :rfc:`3986`: if the URL is of the "
"form ``\"<something>://...\"``, the text before the ``://`` is treated as "
"the scheme, even if it's a made-up scheme that the module doesn't know "
"about. This change may break code that worked around the old behaviour. "
"For example, Python 2.6.4 or 2.5 will return the following:"
msgstr ""
#: whatsnew/2.7.rst:1645 whatsnew/2.7.rst:2482
msgid "Python 2.7 (and Python 2.6.5) will return:"
msgstr ""
#: whatsnew/2.7.rst:1651 whatsnew/2.7.rst:2488
msgid ""
"(Python 2.7 actually produces slightly different output, since it returns a "
"named tuple instead of a standard tuple.)"
msgstr ""
#: whatsnew/2.7.rst:1654
msgid ""
"The :mod:`urlparse` module also supports IPv6 literal addresses as defined "
"by :rfc:`2732` (contributed by Senthil Kumaran; :issue:`2987`). ::"
msgstr ""
#: whatsnew/2.7.rst:1661
msgid ""
"New class: the :class:`~weakref.WeakSet` class in the :mod:`weakref` module "
"is a set that only holds weak references to its elements; elements will be "
"removed once there are no references pointing to them. (Originally "
"implemented in Python 3.x by Raymond Hettinger, and backported to 2.7 by "
"Michael Foord.)"
msgstr ""
#: whatsnew/2.7.rst:1667
msgid ""
"The ElementTree library, :mod:`xml.etree`, no longer escapes ampersands and "
"angle brackets when outputting an XML processing instruction (which looks "
"like ``<?xml-stylesheet href=\"#style1\"?>``) or comment (which looks like "
"``<!-- comment -->``). (Patch by Neil Muller; :issue:`2746`.)"
msgstr ""
#: whatsnew/2.7.rst:1673
msgid ""
"The XML-RPC client and server, provided by the :mod:`xmlrpclib` and :mod:"
"`SimpleXMLRPCServer` modules, have improved performance by supporting "
"HTTP/1.1 keep-alive and by optionally using gzip encoding to compress the "
"XML being exchanged. The gzip compression is controlled by the :attr:"
"`encode_threshold` attribute of :class:`SimpleXMLRPCRequestHandler`, which "
"contains a size in bytes; responses larger than this will be compressed. "
"(Contributed by Kristján Valur Jónsson; :issue:`6267`.)"
msgstr ""
#: whatsnew/2.7.rst:1682
msgid ""
"The :mod:`zipfile` module's :class:`~zipfile.ZipFile` now supports the "
"context management protocol, so you can write ``with zipfile.ZipFile(...) as "
"f:``. (Contributed by Brian Curtin; :issue:`5511`.)"
msgstr ""
#: whatsnew/2.7.rst:1686
msgid ""
":mod:`zipfile` now also supports archiving empty directories and extracts "
"them correctly. (Fixed by Kuba Wieczorek; :issue:`4710`.) Reading files out "
"of an archive is faster, and interleaving :meth:`~zipfile.ZipFile.read` and :"
"meth:`~zipfile.ZipFile.readline` now works correctly. (Contributed by Nir "
"Aides; :issue:`7610`.)"
msgstr ""
#: whatsnew/2.7.rst:1692
msgid ""
"The :func:`~zipfile.is_zipfile` function now accepts a file object, in "
"addition to the path names accepted in earlier versions. (Contributed by "
"Gabriel Genellina; :issue:`4756`.)"
msgstr ""
#: whatsnew/2.7.rst:1696
msgid ""
"The :meth:`~zipfile.ZipFile.writestr` method now has an optional "
"*compress_type* parameter that lets you override the default compression "
"method specified in the :class:`~zipfile.ZipFile` constructor. (Contributed "
"by Ronald Oussoren; :issue:`6003`.)"
msgstr ""
#: whatsnew/2.7.rst:1709
msgid "New module: importlib"
msgstr ""
#: whatsnew/2.7.rst:1711
msgid ""
"Python 3.1 includes the :mod:`importlib` package, a re-implementation of the "
"logic underlying Python's :keyword:`import` statement. :mod:`importlib` is "
"useful for implementors of Python interpreters and to users who wish to "
"write new importers that can participate in the import process. Python 2.7 "
"doesn't contain the complete :mod:`importlib` package, but instead has a "
"tiny subset that contains a single function, :func:`~importlib."
"import_module`."
msgstr ""
#: whatsnew/2.7.rst:1719
msgid ""
"``import_module(name, package=None)`` imports a module. *name* is a string "
"containing the module or package's name. It's possible to do relative "
"imports by providing a string that begins with a ``.`` character, such as "
"``..utils.errors``. For relative imports, the *package* argument must be "
"provided and is the name of the package that will be used as the anchor for "
"the relative import. :func:`~importlib.import_module` both inserts the "
"imported module into ``sys.modules`` and returns the module object."
msgstr ""
#: whatsnew/2.7.rst:1728
msgid "Here are some examples::"
msgstr ""
#: whatsnew/2.7.rst:1739
msgid ""
":mod:`importlib` was implemented by Brett Cannon and introduced in Python "
"3.1."
msgstr ""
#: whatsnew/2.7.rst:1744
msgid "New module: sysconfig"
msgstr ""
#: whatsnew/2.7.rst:1746
msgid ""
"The :mod:`sysconfig` module has been pulled out of the Distutils package, "
"becoming a new top-level module in its own right. :mod:`sysconfig` provides "
"functions for getting information about Python's build process: compiler "
"switches, installation paths, the platform name, and whether Python is "
"running from its source directory."
msgstr ""
#: whatsnew/2.7.rst:1753
msgid "Some of the functions in the module are:"
msgstr ""
#: whatsnew/2.7.rst:1755
msgid ""
":func:`~sysconfig.get_config_var` returns variables from Python's Makefile "
"and the :file:`pyconfig.h` file."
msgstr ""
#: whatsnew/2.7.rst:1757
msgid ""
":func:`~sysconfig.get_config_vars` returns a dictionary containing all of "
"the configuration variables."
msgstr ""
#: whatsnew/2.7.rst:1759
msgid ""
":func:`~sysconfig.get_path` returns the configured path for a particular "
"type of module: the standard library, site-specific modules, platform-"
"specific modules, etc."
msgstr ""
#: whatsnew/2.7.rst:1762
msgid ""
":func:`~sysconfig.is_python_build` returns true if you're running a binary "
"from a Python source tree, and false otherwise."
msgstr ""
#: whatsnew/2.7.rst:1765
msgid ""
"Consult the :mod:`sysconfig` documentation for more details and for a "
"complete list of functions."
msgstr ""
#: whatsnew/2.7.rst:1768
msgid ""
"The Distutils package and :mod:`sysconfig` are now maintained by Tarek "
"Ziadé, who has also started a Distutils2 package (source repository at "
"https://hg.python.org/distutils2/) for developing a next-generation version "
"of Distutils."
msgstr ""
#: whatsnew/2.7.rst:1775
msgid "ttk: Themed Widgets for Tk"
msgstr ""
#: whatsnew/2.7.rst:1777
msgid ""
"Tcl/Tk 8.5 includes a set of themed widgets that re-implement basic Tk "
"widgets but have a more customizable appearance and can therefore more "
"closely resemble the native platform's widgets. This widget set was "
"originally called Tile, but was renamed to Ttk (for \"themed Tk\") on being "
"added to Tcl/Tck release 8.5."
msgstr ""
#: whatsnew/2.7.rst:1783
msgid ""
"To learn more, read the :mod:`ttk` module documentation. You may also wish "
"to read the Tcl/Tk manual page describing the Ttk theme engine, available at "
"http://www.tcl.tk/man/tcl8.5/TkCmd/ttk_intro.htm. Some screenshots of the "
"Python/Ttk code in use are at http://code.google.com/p/python-ttk/wiki/"
"Screenshots."
msgstr ""
#: whatsnew/2.7.rst:1790
msgid ""
"The :mod:`ttk` module was written by Guilherme Polo and added in :issue:"
"`2983`. An alternate version called ``Tile.py``, written by Martin Franklin "
"and maintained by Kevin Walzer, was proposed for inclusion in :issue:`2618`, "
"but the authors argued that Guilherme Polo's work was more comprehensive."
msgstr ""
#: whatsnew/2.7.rst:1800
msgid "Updated module: unittest"
msgstr ""
#: whatsnew/2.7.rst:1802
msgid ""
"The :mod:`unittest` module was greatly enhanced; many new features were "
"added. Most of these features were implemented by Michael Foord, unless "
"otherwise noted. The enhanced version of the module is downloadable "
"separately for use with Python versions 2.4 to 2.6, packaged as the :mod:"
"`unittest2` package, from https://pypi.python.org/pypi/unittest2."
msgstr ""
#: whatsnew/2.7.rst:1809
msgid ""
"When used from the command line, the module can automatically discover "
"tests. It's not as fancy as `py.test <http://pytest.org>`__ or `nose "
"<http://code.google.com/p/python-nose/>`__, but provides a simple way to run "
"tests kept within a set of package directories. For example, the following "
"command will search the :file:`test/` subdirectory for any importable test "
"files named ``test*.py``::"
msgstr ""
#: whatsnew/2.7.rst:1818
msgid ""
"Consult the :mod:`unittest` module documentation for more details. "
"(Developed in :issue:`6001`.)"
msgstr ""
#: whatsnew/2.7.rst:1821
msgid "The :func:`~unittest.main` function supports some other new options:"
msgstr ""
#: whatsnew/2.7.rst:1823
msgid ""
":option:`-b` or :option:`--buffer` will buffer the standard output and "
"standard error streams during each test. If the test passes, any resulting "
"output will be discarded; on failure, the buffered output will be displayed."
msgstr ""
#: whatsnew/2.7.rst:1828
msgid ""
":option:`-c` or :option:`--catch` will cause the control-C interrupt to be "
"handled more gracefully. Instead of interrupting the test process "
"immediately, the currently running test will be completed and then the "
"partial results up to the interruption will be reported. If you're "
"impatient, a second press of control-C will cause an immediate interruption."
msgstr ""
#: whatsnew/2.7.rst:1835
msgid ""
"This control-C handler tries to avoid causing problems when the code being "
"tested or the tests being run have defined a signal handler of their own, by "
"noticing that a signal handler was already set and calling it. If this "
"doesn't work for you, there's a :func:`~unittest.removeHandler` decorator "
"that can be used to mark tests that should have the control-C handling "
"disabled."
msgstr ""
#: whatsnew/2.7.rst:1842
msgid ""
":option:`-f` or :option:`--failfast` makes test execution stop immediately "
"when a test fails instead of continuing to execute further tests. "
"(Suggested by Cliff Dyer and implemented by Michael Foord; :issue:`8074`.)"
msgstr ""
#: whatsnew/2.7.rst:1847
msgid ""
"The progress messages now show 'x' for expected failures and 'u' for "
"unexpected successes when run in verbose mode. (Contributed by Benjamin "
"Peterson.)"
msgstr ""
#: whatsnew/2.7.rst:1851
msgid ""
"Test cases can raise the :exc:`~unittest.SkipTest` exception to skip a test "
"(:issue:`1034053`)."
msgstr ""
#: whatsnew/2.7.rst:1854
msgid ""
"The error messages for :meth:`~unittest.TestCase.assertEqual`, :meth:"
"`~unittest.TestCase.assertTrue`, and :meth:`~unittest.TestCase.assertFalse` "
"failures now provide more information. If you set the :attr:`~unittest."
"TestCase.longMessage` attribute of your :class:`~unittest.TestCase` classes "
"to True, both the standard error message and any additional message you "
"provide will be printed for failures. (Added by Michael Foord; :issue:"
"`5663`.)"
msgstr ""
#: whatsnew/2.7.rst:1861
msgid ""
"The :meth:`~unittest.TestCase.assertRaises` method now returns a context "
"handler when called without providing a callable object to run. For "
"example, you can write this::"
msgstr ""
#: whatsnew/2.7.rst:1868
msgid "(Implemented by Antoine Pitrou; :issue:`4444`.)"
msgstr ""
#: whatsnew/2.7.rst:1872
msgid ""
"Module- and class-level setup and teardown fixtures are now supported. "
"Modules can contain :func:`~unittest.setUpModule` and :func:`~unittest."
"tearDownModule` functions. Classes can have :meth:`~unittest.TestCase."
"setUpClass` and :meth:`~unittest.TestCase.tearDownClass` methods that must "
"be defined as class methods (using ``@classmethod`` or equivalent). These "
"functions and methods are invoked when the test runner switches to a test "
"case in a different module or class."
msgstr ""
#: whatsnew/2.7.rst:1880
msgid ""
"The methods :meth:`~unittest.TestCase.addCleanup` and :meth:`~unittest."
"TestCase.doCleanups` were added. :meth:`~unittest.TestCase.addCleanup` lets "
"you add cleanup functions that will be called unconditionally (after :meth:"
"`~unittest.TestCase.setUp` if :meth:`~unittest.TestCase.setUp` fails, "
"otherwise after :meth:`~unittest.TestCase.tearDown`). This allows for much "
"simpler resource allocation and deallocation during tests (:issue:`5679`)."
msgstr ""
#: whatsnew/2.7.rst:1888
msgid ""
"A number of new methods were added that provide more specialized tests. "
"Many of these methods were written by Google engineers for use in their test "
"suites; Gregory P. Smith, Michael Foord, and GvR worked on merging them into "
"Python's version of :mod:`unittest`."
msgstr ""
#: whatsnew/2.7.rst:1893
msgid ""
":meth:`~unittest.TestCase.assertIsNone` and :meth:`~unittest.TestCase."
"assertIsNotNone` take one expression and verify that the result is or is not "
"``None``."
msgstr ""
#: whatsnew/2.7.rst:1896
msgid ""
":meth:`~unittest.TestCase.assertIs` and :meth:`~unittest.TestCase."
"assertIsNot` take two values and check whether the two values evaluate to "
"the same object or not. (Added by Michael Foord; :issue:`2578`.)"
msgstr ""
#: whatsnew/2.7.rst:1900
msgid ""
":meth:`~unittest.TestCase.assertIsInstance` and :meth:`~unittest.TestCase."
"assertNotIsInstance` check whether the resulting object is an instance of a "
"particular class, or of one of a tuple of classes. (Added by Georg Brandl; :"
"issue:`7031`.)"
msgstr ""
#: whatsnew/2.7.rst:1905
msgid ""
":meth:`~unittest.TestCase.assertGreater`, :meth:`~unittest.TestCase."
"assertGreaterEqual`, :meth:`~unittest.TestCase.assertLess`, and :meth:"
"`~unittest.TestCase.assertLessEqual` compare two quantities."
msgstr ""
#: whatsnew/2.7.rst:1909
msgid ""
":meth:`~unittest.TestCase.assertMultiLineEqual` compares two strings, and if "
"they're not equal, displays a helpful comparison that highlights the "
"differences in the two strings. This comparison is now used by default when "
"Unicode strings are compared with :meth:`~unittest.TestCase.assertEqual`."
msgstr ""
#: whatsnew/2.7.rst:1914
msgid ""
":meth:`~unittest.TestCase.assertRegexpMatches` and :meth:`~unittest.TestCase."
"assertNotRegexpMatches` checks whether the first argument is a string "
"matching or not matching the regular expression provided as the second "
"argument (:issue:`8038`)."
msgstr ""
#: whatsnew/2.7.rst:1919
msgid ""
":meth:`~unittest.TestCase.assertRaisesRegexp` checks whether a particular "
"exception is raised, and then also checks that the string representation of "
"the exception matches the provided regular expression."
msgstr ""
#: whatsnew/2.7.rst:1923
msgid ""
":meth:`~unittest.TestCase.assertIn` and :meth:`~unittest.TestCase."
"assertNotIn` tests whether *first* is or is not in *second*."
msgstr ""
#: whatsnew/2.7.rst:1926
msgid ""
":meth:`~unittest.TestCase.assertItemsEqual` tests whether two provided "
"sequences contain the same elements."
msgstr ""
#: whatsnew/2.7.rst:1929
msgid ""
":meth:`~unittest.TestCase.assertSetEqual` compares whether two sets are "
"equal, and only reports the differences between the sets in case of error."
msgstr ""
#: whatsnew/2.7.rst:1932
msgid ""
"Similarly, :meth:`~unittest.TestCase.assertListEqual` and :meth:`~unittest."
"TestCase.assertTupleEqual` compare the specified types and explain any "
"differences without necessarily printing their full values; these methods "
"are now used by default when comparing lists and tuples using :meth:"
"`~unittest.TestCase.assertEqual`. More generally, :meth:`~unittest.TestCase."
"assertSequenceEqual` compares two sequences and can optionally check whether "
"both sequences are of a particular type."
msgstr ""
#: whatsnew/2.7.rst:1940
msgid ""
":meth:`~unittest.TestCase.assertDictEqual` compares two dictionaries and "
"reports the differences; it's now used by default when you compare two "
"dictionaries using :meth:`~unittest.TestCase.assertEqual`. :meth:`~unittest."
"TestCase.assertDictContainsSubset` checks whether all of the key/value pairs "
"in *first* are found in *second*."
msgstr ""
#: whatsnew/2.7.rst:1945
msgid ""
":meth:`~unittest.TestCase.assertAlmostEqual` and :meth:`~unittest.TestCase."
"assertNotAlmostEqual` test whether *first* and *second* are approximately "
"equal. This method can either round their difference to an optionally-"
"specified number of *places* (the default is 7) and compare it to zero, or "
"require the difference to be smaller than a supplied *delta* value."
msgstr ""
#: whatsnew/2.7.rst:1951
msgid ""
":meth:`~unittest.TestLoader.loadTestsFromName` properly honors the :attr:"
"`~unittest.TestLoader.suiteClass` attribute of the :class:`~unittest."
"TestLoader`. (Fixed by Mark Roddy; :issue:`6866`.)"
msgstr ""
#: whatsnew/2.7.rst:1955
msgid ""
"A new hook lets you extend the :meth:`~unittest.TestCase.assertEqual` method "
"to handle new data types. The :meth:`~unittest.TestCase."
"addTypeEqualityFunc` method takes a type object and a function. The function "
"will be used when both of the objects being compared are of the specified "
"type. This function should compare the two objects and raise an exception "
"if they don't match; it's a good idea for the function to provide additional "
"information about why the two objects aren't matching, much as the new "
"sequence comparison methods do."
msgstr ""
#: whatsnew/2.7.rst:1964
msgid ""
":func:`unittest.main` now takes an optional ``exit`` argument. If False, :"
"func:`~unittest.main` doesn't call :func:`sys.exit`, allowing :func:"
"`~unittest.main` to be used from the interactive interpreter. (Contributed "
"by J. Pablo Fernández; :issue:`3379`.)"
msgstr ""
#: whatsnew/2.7.rst:1969
msgid ""
":class:`~unittest.TestResult` has new :meth:`~unittest.TestResult."
"startTestRun` and :meth:`~unittest.TestResult.stopTestRun` methods that are "
"called immediately before and after a test run. (Contributed by Robert "
"Collins; :issue:`5728`.)"
msgstr ""
#: whatsnew/2.7.rst:1973
msgid ""
"With all these changes, the :file:`unittest.py` was becoming awkwardly "
"large, so the module was turned into a package and the code split into "
"several files (by Benjamin Peterson). This doesn't affect how the module is "
"imported or used."
msgstr ""
#: whatsnew/2.7.rst:1981
msgid "http://www.voidspace.org.uk/python/articles/unittest2.shtml"
msgstr ""
#: whatsnew/2.7.rst:1981
msgid ""
"Describes the new features, how to use them, and the rationale for various "
"design decisions. (By Michael Foord.)"
msgstr ""
#: whatsnew/2.7.rst:1987
msgid "Updated module: ElementTree 1.3"
msgstr ""
#: whatsnew/2.7.rst:1989
msgid ""
"The version of the ElementTree library included with Python was updated to "
"version 1.3. Some of the new features are:"
msgstr ""
#: whatsnew/2.7.rst:1992
msgid ""
"The various parsing functions now take a *parser* keyword argument giving "
"an :class:`~xml.etree.ElementTree.XMLParser` instance that will be used. "
"This makes it possible to override the file's internal encoding::"
msgstr ""
#: whatsnew/2.7.rst:1999
msgid ""
"Errors in parsing XML now raise a :exc:`ParseError` exception, whose "
"instances have a :attr:`position` attribute containing a (*line*, *column*) "
"tuple giving the location of the problem."
msgstr ""
#: whatsnew/2.7.rst:2003
msgid ""
"ElementTree's code for converting trees to a string has been significantly "
"reworked, making it roughly twice as fast in many cases. The :meth:"
"`ElementTree.write() <xml.etree.ElementTree.ElementTree.write>` and :meth:"
"`Element.write` methods now have a *method* parameter that can be \"xml"
"\" (the default), \"html\", or \"text\". HTML mode will output empty "
"elements as ``<empty></empty>`` instead of ``<empty/>``, and text mode will "
"skip over elements and only output the text chunks. If you set the :attr:"
"`tag` attribute of an element to ``None`` but leave its children in place, "
"the element will be omitted when the tree is written out, so you don't need "
"to do more extensive rearrangement to remove a single element."
msgstr ""
#: whatsnew/2.7.rst:2015
msgid ""
"Namespace handling has also been improved. All ``xmlns:<whatever>`` "
"declarations are now output on the root element, not scattered throughout "
"the resulting XML. You can set the default namespace for a tree by setting "
"the :attr:`default_namespace` attribute and can register new prefixes with :"
"meth:`~xml.etree.ElementTree.register_namespace`. In XML mode, you can use "
"the true/false *xml_declaration* parameter to suppress the XML declaration."
msgstr ""
#: whatsnew/2.7.rst:2023
msgid ""
"New :class:`~xml.etree.ElementTree.Element` method: :meth:`~xml.etree."
"ElementTree.Element.extend` appends the items from a sequence to the "
"element's children. Elements themselves behave like sequences, so it's easy "
"to move children from one element to another::"
msgstr ""
#: whatsnew/2.7.rst:2040
msgid ""
"New :class:`Element` method: :meth:`~xml.etree.ElementTree.Element.iter` "
"yields the children of the element as a generator. It's also possible to "
"write ``for child in elem:`` to loop over an element's children. The "
"existing method :meth:`getiterator` is now deprecated, as is :meth:"
"`getchildren` which constructs and returns a list of children."
msgstr ""
#: whatsnew/2.7.rst:2047
msgid ""
"New :class:`Element` method: :meth:`~xml.etree.ElementTree.Element.itertext` "
"yields all chunks of text that are descendants of the element. For example::"
msgstr ""
#: whatsnew/2.7.rst:2058
msgid ""
"Deprecated: using an element as a Boolean (i.e., ``if elem:``) would return "
"true if the element had any children, or false if there were no children. "
"This behaviour is confusing -- ``None`` is false, but so is a childless "
"element? -- so it will now trigger a :exc:`FutureWarning`. In your code, "
"you should be explicit: write ``len(elem) != 0`` if you're interested in the "
"number of children, or ``elem is not None``."
msgstr ""
#: whatsnew/2.7.rst:2066
msgid ""
"Fredrik Lundh develops ElementTree and produced the 1.3 version; you can "
"read his article describing 1.3 at http://effbot.org/zone/elementtree-13-"
"intro.htm. Florent Xicluna updated the version included with Python, after "
"discussions on python-dev and in :issue:`6472`.)"
msgstr ""
#: whatsnew/2.7.rst:2080
msgid ""
"The latest release of the GNU Debugger, GDB 7, can be `scripted using Python "
"<http://sourceware.org/gdb/current/onlinedocs/gdb/Python.html>`__. When you "
"begin debugging an executable program P, GDB will look for a file named ``P-"
"gdb.py`` and automatically read it. Dave Malcolm contributed a :file:"
"`python-gdb.py` that adds a number of commands useful when debugging Python "
"itself. For example, ``py-up`` and ``py-down`` go up or down one Python "
"stack frame, which usually corresponds to several C stack frames. ``py-"
"print`` prints the value of a Python variable, and ``py-bt`` prints the "
"Python stack trace. (Added as a result of :issue:`8032`.)"
msgstr ""
#: whatsnew/2.7.rst:2092
msgid ""
"If you use the :file:`.gdbinit` file provided with Python, the \"pyo\" macro "
"in the 2.7 version now works correctly when the thread being debugged "
"doesn't hold the GIL; the macro now acquires it before printing. "
"(Contributed by Victor Stinner; :issue:`3632`.)"
msgstr ""
#: whatsnew/2.7.rst:2097
msgid ""
":c:func:`Py_AddPendingCall` is now thread-safe, letting any worker thread "
"submit notifications to the main Python thread. This is particularly useful "
"for asynchronous IO operations. (Contributed by Kristján Valur Jónsson; :"
"issue:`4293`.)"
msgstr ""
#: whatsnew/2.7.rst:2102
msgid ""
"New function: :c:func:`PyCode_NewEmpty` creates an empty code object; only "
"the filename, function name, and first line number are required. This is "
"useful for extension modules that are attempting to construct a more useful "
"traceback stack. Previously such extensions needed to call :c:func:"
"`PyCode_New`, which had many more arguments. (Added by Jeffrey Yasskin.)"
msgstr ""
#: whatsnew/2.7.rst:2109
msgid ""
"New function: :c:func:`PyErr_NewExceptionWithDoc` creates a new exception "
"class, just as the existing :c:func:`PyErr_NewException` does, but takes an "
"extra ``char *`` argument containing the docstring for the new exception "
"class. (Added by 'lekma' on the Python bug tracker; :issue:`7033`.)"
msgstr ""
#: whatsnew/2.7.rst:2115
msgid ""
"New function: :c:func:`PyFrame_GetLineNumber` takes a frame object and "
"returns the line number that the frame is currently executing. Previously "
"code would need to get the index of the bytecode instruction currently "
"executing, and then look up the line number corresponding to that address. "
"(Added by Jeffrey Yasskin.)"
msgstr ""
#: whatsnew/2.7.rst:2121
msgid ""
"New functions: :c:func:`PyLong_AsLongAndOverflow` and :c:func:"
"`PyLong_AsLongLongAndOverflow` approximates a Python long integer as a C :c:"
"type:`long` or :c:type:`long long`. If the number is too large to fit into "
"the output type, an *overflow* flag is set and returned to the caller. "
"(Contributed by Case Van Horsen; :issue:`7528` and :issue:`7767`.)"
msgstr ""
#: whatsnew/2.7.rst:2128
msgid ""
"New function: stemming from the rewrite of string-to-float conversion, a "
"new :c:func:`PyOS_string_to_double` function was added. The old :c:func:"
"`PyOS_ascii_strtod` and :c:func:`PyOS_ascii_atof` functions are now "
"deprecated."
msgstr ""
#: whatsnew/2.7.rst:2133
msgid ""
"New function: :c:func:`PySys_SetArgvEx` sets the value of ``sys.argv`` and "
"can optionally update ``sys.path`` to include the directory containing the "
"script named by ``sys.argv[0]`` depending on the value of an *updatepath* "
"parameter."
msgstr ""
#: whatsnew/2.7.rst:2138
msgid ""
"This function was added to close a security hole for applications that embed "
"Python. The old function, :c:func:`PySys_SetArgv`, would always update "
"``sys.path``, and sometimes it would add the current directory. This meant "
"that, if you ran an application embedding Python in a directory controlled "
"by someone else, attackers could put a Trojan-horse module in the directory "
"(say, a file named :file:`os.py`) that your application would then import "
"and run."
msgstr ""
#: whatsnew/2.7.rst:2146
msgid ""
"If you maintain a C/C++ application that embeds Python, check whether you're "
"calling :c:func:`PySys_SetArgv` and carefully consider whether the "
"application should be using :c:func:`PySys_SetArgvEx` with *updatepath* set "
"to false."
msgstr ""
#: whatsnew/2.7.rst:2151
msgid ""
"Security issue reported as `CVE-2008-5983 <http://cve.mitre.org/cgi-bin/"
"cvename.cgi?name=CVE-2008-5983>`_; discussed in :issue:`5753`, and fixed by "
"Antoine Pitrou."
msgstr ""
#: whatsnew/2.7.rst:2155
msgid ""
"New macros: the Python header files now define the following macros: :c:"
"macro:`Py_ISALNUM`, :c:macro:`Py_ISALPHA`, :c:macro:`Py_ISDIGIT`, :c:macro:"
"`Py_ISLOWER`, :c:macro:`Py_ISSPACE`, :c:macro:`Py_ISUPPER`, :c:macro:"
"`Py_ISXDIGIT`, :c:macro:`Py_TOLOWER`, and :c:macro:`Py_TOUPPER`. All of "
"these functions are analogous to the C standard macros for classifying "
"characters, but ignore the current locale setting, because in several places "
"Python needs to analyze characters in a locale-independent way. (Added by "
"Eric Smith; :issue:`5793`.)"
msgstr ""
#: whatsnew/2.7.rst:2173
msgid ""
"Removed function: :c:macro:`PyEval_CallObject` is now only available as a "
"macro. A function version was being kept around to preserve ABI linking "
"compatibility, but that was in 1997; it can certainly be deleted by now. "
"(Removed by Antoine Pitrou; :issue:`8276`.)"
msgstr ""
#: whatsnew/2.7.rst:2178
msgid ""
"New format codes: the :c:func:`PyFormat_FromString`, :c:func:"
"`PyFormat_FromStringV`, and :c:func:`PyErr_Format` functions now accept ``"
"%lld`` and ``%llu`` format codes for displaying C's :c:type:`long long` "
"types. (Contributed by Mark Dickinson; :issue:`7228`.)"
msgstr ""
#: whatsnew/2.7.rst:2184
msgid ""
"The complicated interaction between threads and process forking has been "
"changed. Previously, the child process created by :func:`os.fork` might "
"fail because the child is created with only a single thread running, the "
"thread performing the :func:`os.fork`. If other threads were holding a lock, "
"such as Python's import lock, when the fork was performed, the lock would "
"still be marked as \"held\" in the new process. But in the child process "
"nothing would ever release the lock, since the other threads weren't "
"replicated, and the child process would no longer be able to perform imports."
msgstr ""
#: whatsnew/2.7.rst:2194
msgid ""
"Python 2.7 acquires the import lock before performing an :func:`os.fork`, "
"and will also clean up any locks created using the :mod:`threading` module. "
"C extension modules that have internal locks, or that call :c:func:`fork()` "
"themselves, will not benefit from this clean-up."
msgstr ""
#: whatsnew/2.7.rst:2200
msgid "(Fixed by Thomas Wouters; :issue:`1590864`.)"
msgstr ""
#: whatsnew/2.7.rst:2202
msgid ""
"The :c:func:`Py_Finalize` function now calls the internal :func:`threading."
"_shutdown` function; this prevents some exceptions from being raised when an "
"interpreter shuts down. (Patch by Adam Olsen; :issue:`1722344`.)"
msgstr ""
#: whatsnew/2.7.rst:2207
msgid ""
"When using the :c:type:`PyMemberDef` structure to define attributes of a "
"type, Python will no longer let you try to delete or set a :const:"
"`T_STRING_INPLACE` attribute."
msgstr ""
#: whatsnew/2.7.rst:2213
msgid ""
"Global symbols defined by the :mod:`ctypes` module are now prefixed with "
"``Py``, or with ``_ctypes``. (Implemented by Thomas Heller; :issue:`3102`.)"
msgstr ""
#: whatsnew/2.7.rst:2217
msgid ""
"New configure option: the :option:`--with-system-expat` switch allows "
"building the :mod:`pyexpat` module to use the system Expat library. "
"(Contributed by Arfrever Frehtes Taifersar Arahesis; :issue:`7609`.)"
msgstr ""
#: whatsnew/2.7.rst:2221
msgid ""
"New configure option: the :option:`--with-valgrind` option will now disable "
"the pymalloc allocator, which is difficult for the Valgrind memory-error "
"detector to analyze correctly. Valgrind will therefore be better at "
"detecting memory leaks and overruns. (Contributed by James Henstridge; :"
"issue:`2422`.)"
msgstr ""
#: whatsnew/2.7.rst:2228
msgid ""
"New configure option: you can now supply an empty string to :option:`--with-"
"dbmliborder=` in order to disable all of the various DBM modules. (Added by "
"Arfrever Frehtes Taifersar Arahesis; :issue:`6491`.)"
msgstr ""
#: whatsnew/2.7.rst:2233
msgid ""
"The :program:`configure` script now checks for floating-point rounding bugs "
"on certain 32-bit Intel chips and defines a :c:macro:`X87_DOUBLE_ROUNDING` "
"preprocessor definition. No code currently uses this definition, but it's "
"available if anyone wishes to use it. (Added by Mark Dickinson; :issue:"
"`2937`.)"
msgstr ""
#: whatsnew/2.7.rst:2239
msgid ""
":program:`configure` also now sets a :envvar:`LDCXXSHARED` Makefile variable "
"for supporting C++ linking. (Contributed by Arfrever Frehtes Taifersar "
"Arahesis; :issue:`1222585`.)"
msgstr ""
#: whatsnew/2.7.rst:2243
msgid ""
"The build process now creates the necessary files for pkg-config support. "
"(Contributed by Clinton Roy; :issue:`3585`.)"
msgstr ""
#: whatsnew/2.7.rst:2246
msgid ""
"The build process now supports Subversion 1.7. (Contributed by Arfrever "
"Frehtes Taifersar Arahesis; :issue:`6094`.)"
msgstr ""
#: whatsnew/2.7.rst:2253
msgid "Capsules"
msgstr "Capsules"
#: whatsnew/2.7.rst:2255
msgid ""
"Python 3.1 adds a new C datatype, :c:type:`PyCapsule`, for providing a C API "
"to an extension module. A capsule is essentially the holder of a C ``void "
"*`` pointer, and is made available as a module attribute; for example, the :"
"mod:`socket` module's API is exposed as ``socket.CAPI``, and :mod:"
"`unicodedata` exposes ``ucnhash_CAPI``. Other extensions can import the "
"module, access its dictionary to get the capsule object, and then get the "
"``void *`` pointer, which will usually point to an array of pointers to the "
"module's various API functions."
msgstr ""
#: whatsnew/2.7.rst:2264
msgid ""
"There is an existing data type already used for this, :c:type:`PyCObject`, "
"but it doesn't provide type safety. Evil code written in pure Python could "
"cause a segmentation fault by taking a :c:type:`PyCObject` from module A and "
"somehow substituting it for the :c:type:`PyCObject` in module B. Capsules "
"know their own name, and getting the pointer requires providing the name::"
msgstr ""
#: whatsnew/2.7.rst:2280
msgid ""
"You are assured that ``vtable`` points to whatever you're expecting. If a "
"different capsule was passed in, :c:func:`PyCapsule_IsValid` would detect "
"the mismatched name and return false. Refer to :ref:`using-capsules` for "
"more information on using these objects."
msgstr ""
#: whatsnew/2.7.rst:2285
msgid ""
"Python 2.7 now uses capsules internally to provide various extension-module "
"APIs, but the :c:func:`PyCObject_AsVoidPtr` was modified to handle capsules, "
"preserving compile-time compatibility with the :c:type:`CObject` interface. "
"Use of :c:func:`PyCObject_AsVoidPtr` will signal a :exc:"
"`PendingDeprecationWarning`, which is silent by default."
msgstr ""
#: whatsnew/2.7.rst:2292
msgid ""
"Implemented in Python 3.1 and backported to 2.7 by Larry Hastings; discussed "
"in :issue:`5630`."
msgstr ""
#: whatsnew/2.7.rst:2301
msgid ""
"The :mod:`msvcrt` module now contains some constants from the :file:"
"`crtassem.h` header file: :data:`CRT_ASSEMBLY_VERSION`, :data:"
"`VC_ASSEMBLY_PUBLICKEYTOKEN`, and :data:`LIBRARIES_ASSEMBLY_NAME_PREFIX`. "
"(Contributed by David Cournapeau; :issue:`4365`.)"
msgstr ""
#: whatsnew/2.7.rst:2308
msgid ""
"The :mod:`_winreg` module for accessing the registry now implements the :"
"func:`~_winreg.CreateKeyEx` and :func:`~_winreg.DeleteKeyEx` functions, "
"extended versions of previously-supported functions that take several extra "
"arguments. The :func:`~_winreg.DisableReflectionKey`, :func:`~_winreg."
"EnableReflectionKey`, and :func:`~_winreg.QueryReflectionKey` were also "
"tested and documented. (Implemented by Brian Curtin: :issue:`7347`.)"
msgstr ""
#: whatsnew/2.7.rst:2316
msgid ""
"The new :c:func:`_beginthreadex` API is used to start threads, and the "
"native thread-local storage functions are now used. (Contributed by Kristján "
"Valur Jónsson; :issue:`3582`.)"
msgstr ""
#: whatsnew/2.7.rst:2320
msgid ""
"The :func:`os.kill` function now works on Windows. The signal value can be "
"the constants :const:`CTRL_C_EVENT`, :const:`CTRL_BREAK_EVENT`, or any "
"integer. The first two constants will send :kbd:`Control-C` and :kbd:"
"`Control-Break` keystroke events to subprocesses; any other value will use "
"the :c:func:`TerminateProcess` API. (Contributed by Miki Tebeka; :issue:"
"`1220212`.)"
msgstr ""
#: whatsnew/2.7.rst:2327
msgid ""
"The :func:`os.listdir` function now correctly fails for an empty path. "
"(Fixed by Hirokazu Yamamoto; :issue:`5913`.)"
msgstr ""
#: whatsnew/2.7.rst:2330
msgid ""
"The :mod:`mimelib` module will now read the MIME database from the Windows "
"registry when initializing. (Patch by Gabriel Genellina; :issue:`4969`.)"
msgstr ""
#: whatsnew/2.7.rst:2339
msgid ""
"The path ``/Library/Python/2.7/site-packages`` is now appended to ``sys."
"path``, in order to share added packages between the system installation and "
"a user-installed copy of the same version. (Changed by Ronald Oussoren; :"
"issue:`4865`.)"
msgstr ""
#: whatsnew/2.7.rst:2345
msgid "Port-Specific Changes: FreeBSD"
msgstr ""
#: whatsnew/2.7.rst:2347
msgid ""
"FreeBSD 7.1's :const:`SO_SETFIB` constant, used with :func:`~socket."
"getsockopt`/:func:`~socket.setsockopt` to select an alternate routing table, "
"is now available in the :mod:`socket` module. (Added by Kyle VanderBeek; :"
"issue:`8235`.)"
msgstr ""
#: whatsnew/2.7.rst:2355
msgid ""
"Two benchmark scripts, :file:`iobench` and :file:`ccbench`, were added to "
"the :file:`Tools` directory. :file:`iobench` measures the speed of the "
"built-in file I/O objects returned by :func:`open` while performing various "
"operations, and :file:`ccbench` is a concurrency benchmark that tries to "
"measure computing throughput, thread switching latency, and IO processing "
"bandwidth when performing several tasks using a varying number of threads."
msgstr ""
#: whatsnew/2.7.rst:2363
msgid ""
"The :file:`Tools/i18n/msgfmt.py` script now understands plural forms in :"
"file:`.po` files. (Fixed by Martin von Löwis; :issue:`5464`.)"
msgstr ""
#: whatsnew/2.7.rst:2367
msgid ""
"When importing a module from a :file:`.pyc` or :file:`.pyo` file with an "
"existing :file:`.py` counterpart, the :attr:`co_filename` attributes of the "
"resulting code objects are overwritten when the original filename is "
"obsolete. This can happen if the file has been renamed, moved, or is "
"accessed through different paths. (Patch by Ziga Seilnacht and Jean-Paul "
"Calderone; :issue:`1180193`.)"
msgstr ""
#: whatsnew/2.7.rst:2374
msgid ""
"The :file:`regrtest.py` script now takes a :option:`--randseed=` switch that "
"takes an integer that will be used as the random seed for the :option:`-r` "
"option that executes tests in random order. The :option:`-r` option also "
"reports the seed that was used (Added by Collin Winter.)"
msgstr ""
#: whatsnew/2.7.rst:2380
msgid ""
"Another :file:`regrtest.py` switch is :option:`-j`, which takes an integer "
"specifying how many tests run in parallel. This allows reducing the total "
"runtime on multi-core machines. This option is compatible with several other "
"options, including the :option:`-R` switch which is known to produce long "
"runtimes. (Added by Antoine Pitrou, :issue:`6152`.) This can also be used "
"with a new :option:`-F` switch that runs selected tests in a loop until they "
"fail. (Added by Antoine Pitrou; :issue:`7312`.)"
msgstr ""
#: whatsnew/2.7.rst:2389
msgid ""
"When executed as a script, the :file:`py_compile.py` module now accepts "
"``'-'`` as an argument, which will read standard input for the list of "
"filenames to be compiled. (Contributed by Piotr Ożarowski; :issue:`8233`.)"
msgstr ""
#: whatsnew/2.7.rst:2397
#, fuzzy
msgid "Porting to Python 2.7"
msgstr "Portage vers Python 3.2"
#: whatsnew/2.7.rst:2402
msgid ""
"The :func:`range` function processes its arguments more consistently; it "
"will now call :meth:`__int__` on non-float, non-integer arguments that are "
"supplied to it. (Fixed by Alexander Belopolsky; :issue:`1533`.)"
msgstr ""
#: whatsnew/2.7.rst:2407
msgid ""
"The string :meth:`format` method changed the default precision used for "
"floating-point and complex numbers from 6 decimal places to 12, which "
"matches the precision used by :func:`str`. (Changed by Eric Smith; :issue:"
"`5920`.)"
msgstr ""
#: whatsnew/2.7.rst:2412
msgid ""
"Because of an optimization for the :keyword:`with` statement, the special "
"methods :meth:`__enter__` and :meth:`__exit__` must belong to the object's "
"type, and cannot be directly attached to the object's instance. This "
"affects new-style classes (derived from :class:`object`) and C extension "
"types. (:issue:`6101`.)"
msgstr ""
#: whatsnew/2.7.rst:2418
msgid ""
"Due to a bug in Python 2.6, the *exc_value* parameter to :meth:`__exit__` "
"methods was often the string representation of the exception, not an "
"instance. This was fixed in 2.7, so *exc_value* will be an instance as "
"expected. (Fixed by Florent Xicluna; :issue:`7853`.)"
msgstr ""
#: whatsnew/2.7.rst:2428
msgid "In the standard library:"
msgstr ""
#: whatsnew/2.7.rst:2430
msgid ""
"Operations with :class:`~datetime.datetime` instances that resulted in a "
"year falling outside the supported range didn't always raise :exc:"
"`OverflowError`. Such errors are now checked more carefully and will now "
"raise the exception. (Reported by Mark Leander, patch by Anand B. Pillai and "
"Alexander Belopolsky; :issue:`7150`.)"
msgstr ""
#: whatsnew/2.7.rst:2436
msgid ""
"When using :class:`~decimal.Decimal` instances with a string's :meth:"
"`format` method, the default alignment was previously left-alignment. This "
"has been changed to right-alignment, which might change the output of your "
"programs. (Changed by Mark Dickinson; :issue:`6857`.)"
msgstr ""
#: whatsnew/2.7.rst:2442
msgid ""
"Comparisons involving a signaling NaN value (or ``sNAN``) now signal :const:"
"`~decimal.InvalidOperation` instead of silently returning a true or false "
"value depending on the comparison operator. Quiet NaN values (or ``NaN``) "
"are now hashable. (Fixed by Mark Dickinson; :issue:`7279`.)"
msgstr ""
#: whatsnew/2.7.rst:2448
msgid ""
"The ElementTree library, :mod:`xml.etree`, no longer escapes ampersands and "
"angle brackets when outputting an XML processing instruction (which looks "
"like `<?xml-stylesheet href=\"#style1\"?>`) or comment (which looks like "
"`<!-- comment -->`). (Patch by Neil Muller; :issue:`2746`.)"
msgstr ""
#: whatsnew/2.7.rst:2454
msgid ""
"The :meth:`~StringIO.StringIO.readline` method of :class:`~StringIO."
"StringIO` objects now does nothing when a negative length is requested, as "
"other file-like objects do. (:issue:`7348`)."
msgstr ""
#: whatsnew/2.7.rst:2491
msgid "For C extensions:"
msgstr ""
#: whatsnew/2.7.rst:2493
msgid ""
"C extensions that use integer format codes with the ``PyArg_Parse*`` family "
"of functions will now raise a :exc:`TypeError` exception instead of "
"triggering a :exc:`DeprecationWarning` (:issue:`5080`)."
msgstr ""
#: whatsnew/2.7.rst:2497
msgid ""
"Use the new :c:func:`PyOS_string_to_double` function instead of the old :c:"
"func:`PyOS_ascii_strtod` and :c:func:`PyOS_ascii_atof` functions, which are "
"now deprecated."
msgstr ""
#: whatsnew/2.7.rst:2501
msgid "For applications that embed Python:"
msgstr ""
#: whatsnew/2.7.rst:2503
msgid ""
"The :c:func:`PySys_SetArgvEx` function was added, letting applications close "
"a security hole when the existing :c:func:`PySys_SetArgv` function was "
"used. Check whether you're calling :c:func:`PySys_SetArgv` and carefully "
"consider whether the application should be using :c:func:`PySys_SetArgvEx` "
"with *updatepath* set to false."
msgstr ""
#: whatsnew/2.7.rst:2516
msgid "New Features Added to Python 2.7 Maintenance Releases"
msgstr ""
#: whatsnew/2.7.rst:2518
msgid ""
"New features may be added to Python 2.7 maintenance releases when the "
"situation genuinely calls for it. Any such additions must go through the "
"Python Enhancement Proposal process, and make a compelling case for why they "
"can't be adequately addressed by either adding the new feature solely to "
"Python 3, or else by publishing it on the Python Package Index."
msgstr ""
#: whatsnew/2.7.rst:2524
msgid ""
"In addition to the specific proposals listed below, there is a general "
"exemption allowing new ``-3`` warnings to be added in any Python 2.7 "
"maintenance release."
msgstr ""
#: whatsnew/2.7.rst:2530
msgid "PEP 434: IDLE Enhancement Exception for All Branches"
msgstr ""
#: whatsnew/2.7.rst:2532
msgid ""
":pep:`434` describes a general exemption for changes made to the IDLE "
"development environment shipped along with Python. This exemption makes it "
"possible for the IDLE developers to provide a more consistent user "
"experience across all supported versions of Python 2 and 3."
msgstr ""
#: whatsnew/2.7.rst:2537
msgid ""
"For details of any IDLE changes, refer to the NEWS file for the specific "
"release."
msgstr ""
#: whatsnew/2.7.rst:2542
msgid "PEP 466: Network Security Enhancements for Python 2.7"
msgstr ""
#: whatsnew/2.7.rst:2544
msgid ""
":pep:`466` describes a number of network security enhancement proposals that "
"have been approved for inclusion in Python 2.7 maintenance releases, with "
"the first of those changes appearing in the Python 2.7.7 release."
msgstr ""
#: whatsnew/2.7.rst:2548
msgid ":pep:`466` related features added in Python 2.7.7:"
msgstr ""
#: whatsnew/2.7.rst:2550
msgid ""
":func:`hmac.compare_digest` was backported from Python 3 to make a timing "
"attack resistant comparison operation available to Python 2 applications. "
"(Contributed by Alex Gaynor; :issue:`21306`.)"
msgstr ""
#: whatsnew/2.7.rst:2554
msgid ""
"OpenSSL 1.0.1g was upgraded in the official Windows installers published on "
"python.org. (Contributed by Zachary Ware; :issue:`21462`.)"
msgstr ""
#: whatsnew/2.7.rst:2557
msgid ":pep:`466` related features added in Python 2.7.8:"
msgstr ""
#: whatsnew/2.7.rst:2559
msgid ""
":func:`hashlib.pbkdf2_hmac` was backported from Python 3 to make a hashing "
"algorithm suitable for secure password storage broadly available to Python 2 "
"applications. (Contributed by Alex Gaynor; :issue:`21304`.)"
msgstr ""
#: whatsnew/2.7.rst:2563
msgid ""
"OpenSSL 1.0.1h was upgraded for the official Windows installers published on "
"python.org. (contributed by Zachary Ware in :issue:`21671` for CVE-2014-0224)"
msgstr ""
#: whatsnew/2.7.rst:2566
msgid ":pep:`466` related features added in Python 2.7.9:"
msgstr ""
#: whatsnew/2.7.rst:2568
msgid ""
"Most of Python 3.4's :mod:`ssl` module was backported. This means :mod:`ssl` "
"now supports Server Name Indication, TLS1.x settings, access to the platform "
"certificate store, the :class:`~ssl.SSLContext` class, and other features. "
"(Contributed by Alex Gaynor and David Reid; :issue:`21308`.)"
msgstr ""
#: whatsnew/2.7.rst:2573
msgid ""
":func:`os.urandom` was changed to cache a file descriptor to ``/dev/"
"urandom`` instead of reopening ``/dev/urandom`` on every call. (Contributed "
"by Alex Gaynor; :issue:`21305`.)"
msgstr ""
#: whatsnew/2.7.rst:2585
msgid ""
"The author would like to thank the following people for offering "
"suggestions, corrections and assistance with various drafts of this article: "
"Nick Coghlan, Philip Jenvey, Ryan Lovett, R. David Murray, Hugh Secker-"
"Walker."
msgstr ""
#: whatsnew/3.0.rst:3
#, fuzzy
msgid "What's New In Python 3.0"
msgstr "Nouveautés de Python 2.0"
#: whatsnew/3.0.rst:7
msgid "Guido van Rossum"
msgstr "Guido van Rossum"
#: whatsnew/3.0.rst:54
msgid ""
"This article explains the new features in Python 3.0, compared to 2.6. "
"Python 3.0, also known as \"Python 3000\" or \"Py3K\", is the first ever "
"*intentionally backwards incompatible* Python release. There are more "
"changes than in a typical release, and more that are important for all "
"Python users. Nevertheless, after digesting the changes, you'll find that "
"Python really hasn't changed all that much -- by and large, we're mostly "
"fixing well-known annoyances and warts, and removing a lot of old cruft."
msgstr ""
#: whatsnew/3.0.rst:63
msgid ""
"This article doesn't attempt to provide a complete specification of all new "
"features, but instead tries to give a convenient overview. For full details, "
"you should refer to the documentation for Python 3.0, and/or the many PEPs "
"referenced in the text. If you want to understand the complete "
"implementation and design rationale for a particular feature, PEPs usually "
"have more details than the regular documentation; but note that PEPs usually "
"are not kept up-to-date once a feature has been fully implemented."
msgstr ""
#: whatsnew/3.0.rst:72
msgid ""
"Due to time constraints this document is not as complete as it should have "
"been. As always for a new release, the ``Misc/NEWS`` file in the source "
"distribution contains a wealth of detailed information about every small "
"thing that was changed."
msgstr ""
#: whatsnew/3.0.rst:89
msgid "Common Stumbling Blocks"
msgstr ""
#: whatsnew/3.0.rst:91
msgid ""
"This section lists those few changes that are most likely to trip you up if "
"you're used to Python 2.5."
msgstr ""
#: whatsnew/3.0.rst:95
msgid "Print Is A Function"
msgstr ""
#: whatsnew/3.0.rst:97
msgid ""
"The ``print`` statement has been replaced with a :func:`print` function, "
"with keyword arguments to replace most of the special syntax of the old "
"``print`` statement (:pep:`3105`). Examples::"
msgstr ""
#: whatsnew/3.0.rst:116
msgid "You can also customize the separator between items, e.g.::"
msgstr ""
#: whatsnew/3.0.rst:120
msgid "which produces::"
msgstr ""
#: whatsnew/3.0.rst:124
msgid "Note:"
msgstr ""
#: whatsnew/3.0.rst:126
msgid ""
"The :func:`print` function doesn't support the \"softspace\" feature of the "
"old ``print`` statement. For example, in Python 2.x, ``print \"A\\n\", \"B"
"\"`` would write ``\"A\\nB\\n\"``; but in Python 3.0, ``print(\"A\\n\", \"B"
"\")`` writes ``\"A\\n B\\n\"``."
msgstr ""
#: whatsnew/3.0.rst:131
msgid ""
"Initially, you'll be finding yourself typing the old ``print x`` a lot in "
"interactive mode. Time to retrain your fingers to type ``print(x)`` instead!"
msgstr ""
#: whatsnew/3.0.rst:135
msgid ""
"When using the ``2to3`` source-to-source conversion tool, all ``print`` "
"statements are automatically converted to :func:`print` function calls, so "
"this is mostly a non-issue for larger projects."
msgstr ""
#: whatsnew/3.0.rst:141
msgid "Views And Iterators Instead Of Lists"
msgstr ""
#: whatsnew/3.0.rst:143
msgid "Some well-known APIs no longer return lists:"
msgstr ""
#: whatsnew/3.0.rst:145
msgid ""
":class:`dict` methods :meth:`dict.keys`, :meth:`dict.items` and :meth:`dict."
"values` return \"views\" instead of lists. For example, this no longer "
"works: ``k = d.keys(); k.sort()``. Use ``k = sorted(d)`` instead (this "
"works in Python 2.5 too and is just as efficient)."
msgstr ""
#: whatsnew/3.0.rst:151
msgid ""
"Also, the :meth:`dict.iterkeys`, :meth:`dict.iteritems` and :meth:`dict."
"itervalues` methods are no longer supported."
msgstr ""
#: whatsnew/3.0.rst:154
msgid ""
":func:`map` and :func:`filter` return iterators. If you really need a list "
"and the input sequences are all of equal length, a quick fix is to wrap :"
"func:`map` in :func:`list`, e.g. ``list(map(...))``, but a better fix is "
"often to use a list comprehension (especially when the original code uses :"
"keyword:`lambda`), or rewriting the code so it doesn't need a list at all. "
"Particularly tricky is :func:`map` invoked for the side effects of the "
"function; the correct transformation is to use a regular :keyword:`for` loop "
"(since creating a list would just be wasteful)."
msgstr ""
#: whatsnew/3.0.rst:165
msgid ""
"If the input sequences are not of equal length, :func:`map` will stop at the "
"termination of the shortest of the sequences. For full compatibility with :"
"func:`map` from Python 2.x, also wrap the sequences in :func:`itertools."
"zip_longest`, e.g. ``map(func, *sequences)`` becomes ``list(map(func, "
"itertools.zip_longest(*sequences)))``."
msgstr ""
#: whatsnew/3.0.rst:171
msgid ""
":func:`range` now behaves like :func:`xrange` used to behave, except it "
"works with values of arbitrary size. The latter no longer exists."
msgstr ""
#: whatsnew/3.0.rst:175
msgid ":func:`zip` now returns an iterator."
msgstr ""
#: whatsnew/3.0.rst:178
msgid "Ordering Comparisons"
msgstr ""
#: whatsnew/3.0.rst:180
msgid "Python 3.0 has simplified the rules for ordering comparisons:"
msgstr ""
#: whatsnew/3.0.rst:182
msgid ""
"The ordering comparison operators (``<``, ``<=``, ``>=``, ``>``) raise a "
"TypeError exception when the operands don't have a meaningful natural "
"ordering. Thus, expressions like ``1 < ''``, ``0 > None`` or ``len <= len`` "
"are no longer valid, and e.g. ``None < None`` raises :exc:`TypeError` "
"instead of returning ``False``. A corollary is that sorting a heterogeneous "
"list no longer makes sense -- all the elements must be comparable to each "
"other. Note that this does not apply to the ``==`` and ``!=`` operators: "
"objects of different incomparable types always compare unequal to each other."
msgstr ""
#: whatsnew/3.0.rst:193
msgid ""
":meth:`builtin.sorted` and :meth:`list.sort` no longer accept the *cmp* "
"argument providing a comparison function. Use the *key* argument instead. N."
"B. the *key* and *reverse* arguments are now \"keyword-only\"."
msgstr ""
#: whatsnew/3.0.rst:198
msgid ""
"The :func:`cmp` function should be treated as gone, and the :meth:`__cmp__` "
"special method is no longer supported. Use :meth:`__lt__` for sorting, :"
"meth:`__eq__` with :meth:`__hash__`, and other rich comparisons as needed. "
"(If you really need the :func:`cmp` functionality, you could use the "
"expression ``(a > b) - (a < b)`` as the equivalent for ``cmp(a, b)``.)"
msgstr ""
#: whatsnew/3.0.rst:205
msgid "Integers"
msgstr ""
#: whatsnew/3.0.rst:207
msgid ""
":pep:`0237`: Essentially, :class:`long` renamed to :class:`int`. That is, "
"there is only one built-in integral type, named :class:`int`; but it behaves "
"mostly like the old :class:`long` type."
msgstr ""
#: whatsnew/3.0.rst:211
msgid ""
":pep:`0238`: An expression like ``1/2`` returns a float. Use ``1//2`` to "
"get the truncating behavior. (The latter syntax has existed for years, at "
"least since Python 2.2.)"
msgstr ""
#: whatsnew/3.0.rst:215
msgid ""
"The :data:`sys.maxint` constant was removed, since there is no longer a "
"limit to the value of integers. However, :data:`sys.maxsize` can be used as "
"an integer larger than any practical list or string index. It conforms to "
"the implementation's \"natural\" integer size and is typically the same as :"
"data:`sys.maxint` in previous releases on the same platform (assuming the "
"same build options)."
msgstr ""
#: whatsnew/3.0.rst:222
msgid ""
"The :func:`repr` of a long integer doesn't include the trailing ``L`` "
"anymore, so code that unconditionally strips that character will chop off "
"the last digit instead. (Use :func:`str` instead.)"
msgstr ""
#: whatsnew/3.0.rst:226
msgid ""
"Octal literals are no longer of the form ``0720``; use ``0o720`` instead."
msgstr ""
#: whatsnew/3.0.rst:230
msgid "Text Vs. Data Instead Of Unicode Vs. 8-bit"
msgstr ""
#: whatsnew/3.0.rst:232
msgid ""
"Everything you thought you knew about binary data and Unicode has changed."
msgstr ""
#: whatsnew/3.0.rst:235
msgid ""
"Python 3.0 uses the concepts of *text* and (binary) *data* instead of "
"Unicode strings and 8-bit strings. All text is Unicode; however *encoded* "
"Unicode is represented as binary data. The type used to hold text is :class:"
"`str`, the type used to hold data is :class:`bytes`. The biggest difference "
"with the 2.x situation is that any attempt to mix text and data in Python "
"3.0 raises :exc:`TypeError`, whereas if you were to mix Unicode and 8-bit "
"strings in Python 2.x, it would work if the 8-bit string happened to contain "
"only 7-bit (ASCII) bytes, but you would get :exc:`UnicodeDecodeError` if it "
"contained non-ASCII values. This value-specific behavior has caused "
"numerous sad faces over the years."
msgstr ""
#: whatsnew/3.0.rst:248
msgid ""
"As a consequence of this change in philosophy, pretty much all code that "
"uses Unicode, encodings or binary data most likely has to change. The "
"change is for the better, as in the 2.x world there were numerous bugs "
"having to do with mixing encoded and unencoded text. To be prepared in "
"Python 2.x, start using :class:`unicode` for all unencoded text, and :class:"
"`str` for binary or encoded data only. Then the ``2to3`` tool will do most "
"of the work for you."
msgstr ""
#: whatsnew/3.0.rst:256
msgid ""
"You can no longer use ``u\"...\"`` literals for Unicode text. However, you "
"must use ``b\"...\"`` literals for binary data."
msgstr ""
#: whatsnew/3.0.rst:259
msgid ""
"As the :class:`str` and :class:`bytes` types cannot be mixed, you must "
"always explicitly convert between them. Use :meth:`str.encode` to go from :"
"class:`str` to :class:`bytes`, and :meth:`bytes.decode` to go from :class:"
"`bytes` to :class:`str`. You can also use ``bytes(s, encoding=...)`` and "
"``str(b, encoding=...)``, respectively."
msgstr ""
#: whatsnew/3.0.rst:266
msgid ""
"Like :class:`str`, the :class:`bytes` type is immutable. There is a "
"separate *mutable* type to hold buffered binary data, :class:`bytearray`. "
"Nearly all APIs that accept :class:`bytes` also accept :class:`bytearray`. "
"The mutable API is based on :class:`collections.MutableSequence`."
msgstr ""
#: whatsnew/3.0.rst:272
msgid ""
"All backslashes in raw string literals are interpreted literally. This means "
"that ``'\\U'`` and ``'\\u'`` escapes in raw strings are not treated "
"specially. For example, ``r'\\u20ac'`` is a string of 6 characters in "
"Python 3.0, whereas in 2.6, ``ur'\\u20ac'`` was the single \"euro\" "
"character. (Of course, this change only affects raw string literals; the "
"euro character is ``'\\u20ac'`` in Python 3.0.)"
msgstr ""
#: whatsnew/3.0.rst:279
msgid ""
"The built-in :class:`basestring` abstract type was removed. Use :class:"
"`str` instead. The :class:`str` and :class:`bytes` types don't have "
"functionality enough in common to warrant a shared base class. The ``2to3`` "
"tool (see below) replaces every occurrence of :class:`basestring` with :"
"class:`str`."
msgstr ""
#: whatsnew/3.0.rst:285
msgid ""
"Files opened as text files (still the default mode for :func:`open`) always "
"use an encoding to map between strings (in memory) and bytes (on disk). "
"Binary files (opened with a ``b`` in the mode argument) always use bytes in "
"memory. This means that if a file is opened using an incorrect mode or "
"encoding, I/O will likely fail loudly, instead of silently producing "
"incorrect data. It also means that even Unix users will have to specify the "
"correct mode (text or binary) when opening a file. There is a platform-"
"dependent default encoding, which on Unixy platforms can be set with the "
"``LANG`` environment variable (and sometimes also with some other platform-"
"specific locale-related environment variables). In many cases, but not all, "
"the system default is UTF-8; you should never count on this default. Any "
"application reading or writing more than pure ASCII text should probably "
"have a way to override the encoding. There is no longer any need for using "
"the encoding-aware streams in the :mod:`codecs` module."
msgstr ""
#: whatsnew/3.0.rst:302
msgid ""
"The initial values of :data:`sys.stdin`, :data:`sys.stdout` and :data:`sys."
"stderr` are now unicode-only text files (i.e., they are instances of :class:"
"`io.TextIOBase`). To read and write bytes data with these streams, you need "
"to use their :data:`io.TextIOBase.buffer` attribute."
msgstr ""
#: whatsnew/3.0.rst:308
msgid ""
"Filenames are passed to and returned from APIs as (Unicode) strings. This "
"can present platform-specific problems because on some platforms filenames "
"are arbitrary byte strings. (On the other hand, on Windows filenames are "
"natively stored as Unicode.) As a work-around, most APIs (e.g. :func:`open` "
"and many functions in the :mod:`os` module) that take filenames accept :"
"class:`bytes` objects as well as strings, and a few APIs have a way to ask "
"for a :class:`bytes` return value. Thus, :func:`os.listdir` returns a list "
"of :class:`bytes` instances if the argument is a :class:`bytes` instance, "
"and :func:`os.getcwdb` returns the current working directory as a :class:"
"`bytes` instance. Note that when :func:`os.listdir` returns a list of "
"strings, filenames that cannot be decoded properly are omitted rather than "
"raising :exc:`UnicodeError`."
msgstr ""
#: whatsnew/3.0.rst:323
msgid ""
"Some system APIs like :data:`os.environ` and :data:`sys.argv` can also "
"present problems when the bytes made available by the system is not "
"interpretable using the default encoding. Setting the ``LANG`` variable and "
"rerunning the program is probably the best approach."
msgstr ""
#: whatsnew/3.0.rst:328
msgid ""
":pep:`3138`: The :func:`repr` of a string no longer escapes non-ASCII "
"characters. It still escapes control characters and code points with non-"
"printable status in the Unicode standard, however."
msgstr ""
#: whatsnew/3.0.rst:332
msgid ":pep:`3120`: The default source encoding is now UTF-8."
msgstr ""
#: whatsnew/3.0.rst:334
msgid ""
":pep:`3131`: Non-ASCII letters are now allowed in identifiers. (However, the "
"standard library remains ASCII-only with the exception of contributor names "
"in comments.)"
msgstr ""
#: whatsnew/3.0.rst:338
msgid ""
"The :mod:`StringIO` and :mod:`cStringIO` modules are gone. Instead, import "
"the :mod:`io` module and use :class:`io.StringIO` or :class:`io.BytesIO` for "
"text and data respectively."
msgstr ""
#: whatsnew/3.0.rst:342
msgid "See also the :ref:`unicode-howto`, which was updated for Python 3.0."
msgstr ""
#: whatsnew/3.0.rst:346
msgid "Overview Of Syntax Changes"
msgstr ""
#: whatsnew/3.0.rst:348
msgid ""
"This section gives a brief overview of every *syntactic* change in Python "
"3.0."
msgstr ""
#: whatsnew/3.0.rst:352
msgid "New Syntax"
msgstr ""
#: whatsnew/3.0.rst:354
msgid ""
":pep:`3107`: Function argument and return value annotations. This provides "
"a standardized way of annotating a function's parameters and return value. "
"There are no semantics attached to such annotations except that they can be "
"introspected at runtime using the :attr:`__annotations__` attribute. The "
"intent is to encourage experimentation through metaclasses, decorators or "
"frameworks."
msgstr ""
#: whatsnew/3.0.rst:361
msgid ""
":pep:`3102`: Keyword-only arguments. Named parameters occurring after "
"``*args`` in the parameter list *must* be specified using keyword syntax in "
"the call. You can also use a bare ``*`` in the parameter list to indicate "
"that you don't accept a variable-length argument list, but you do have "
"keyword-only arguments."
msgstr ""
#: whatsnew/3.0.rst:367
msgid ""
"Keyword arguments are allowed after the list of base classes in a class "
"definition. This is used by the new convention for specifying a metaclass "
"(see next section), but can be used for other purposes as well, as long as "
"the metaclass supports it."
msgstr ""
#: whatsnew/3.0.rst:372
msgid ""
":pep:`3104`: :keyword:`nonlocal` statement. Using ``nonlocal x`` you can "
"now assign directly to a variable in an outer (but non-global) scope. :"
"keyword:`nonlocal` is a new reserved word."
msgstr ""
#: whatsnew/3.0.rst:376
msgid ""
":pep:`3132`: Extended Iterable Unpacking. You can now write things like "
"``a, b, *rest = some_sequence``. And even ``*rest, a = stuff``. The "
"``rest`` object is always a (possibly empty) list; the right-hand side may "
"be any iterable. Example::"
msgstr ""
#: whatsnew/3.0.rst:383
msgid "This sets *a* to ``0``, *b* to ``4``, and *rest* to ``[1, 2, 3]``."
msgstr ""
#: whatsnew/3.0.rst:385
msgid ""
"Dictionary comprehensions: ``{k: v for k, v in stuff}`` means the same thing "
"as ``dict(stuff)`` but is more flexible. (This is :pep:`0274` "
"vindicated. :-)"
msgstr ""
#: whatsnew/3.0.rst:389
msgid ""
"Set literals, e.g. ``{1, 2}``. Note that ``{}`` is an empty dictionary; use "
"``set()`` for an empty set. Set comprehensions are also supported; e.g., "
"``{x for x in stuff}`` means the same thing as ``set(stuff)`` but is more "
"flexible."
msgstr ""
#: whatsnew/3.0.rst:394
msgid ""
"New octal literals, e.g. ``0o720`` (already in 2.6). The old octal literals "
"(``0720``) are gone."
msgstr ""
#: whatsnew/3.0.rst:397
msgid ""
"New binary literals, e.g. ``0b1010`` (already in 2.6), and there is a new "
"corresponding built-in function, :func:`bin`."
msgstr ""
#: whatsnew/3.0.rst:400
msgid ""
"Bytes literals are introduced with a leading ``b`` or ``B``, and there is a "
"new corresponding built-in function, :func:`bytes`."
msgstr ""
#: whatsnew/3.0.rst:404
msgid "Changed Syntax"
msgstr ""
#: whatsnew/3.0.rst:406
msgid ""
":pep:`3109` and :pep:`3134`: new :keyword:`raise` statement syntax: :samp:"
"`raise [{expr} [from {expr}]]`. See below."
msgstr ""
#: whatsnew/3.0.rst:409
msgid ""
":keyword:`as` and :keyword:`with` are now reserved words. (Since 2.6, "
"actually.)"
msgstr ""
#: whatsnew/3.0.rst:412
msgid ""
"``True``, ``False``, and ``None`` are reserved words. (2.6 partially "
"enforced the restrictions on ``None`` already.)"
msgstr ""
#: whatsnew/3.0.rst:415
msgid ""
"Change from :keyword:`except` *exc*, *var* to :keyword:`except` *exc* :"
"keyword:`as` *var*. See :pep:`3110`."
msgstr ""
#: whatsnew/3.0.rst:418
msgid ":pep:`3115`: New Metaclass Syntax. Instead of::"
msgstr ""
#: whatsnew/3.0.rst:424
msgid "you must now use::"
msgstr ""
#: whatsnew/3.0.rst:429
msgid ""
"The module-global :data:`__metaclass__` variable is no longer supported. "
"(It was a crutch to make it easier to default to new-style classes without "
"deriving every class from :class:`object`.)"
msgstr ""
#: whatsnew/3.0.rst:434
msgid ""
"List comprehensions no longer support the syntactic form :samp:`[... for "
"{var} in {item1}, {item2}, ...]`. Use :samp:`[... for {var} in ({item1}, "
"{item2}, ...)]` instead. Also note that list comprehensions have different "
"semantics: they are closer to syntactic sugar for a generator expression "
"inside a :func:`list` constructor, and in particular the loop control "
"variables are no longer leaked into the surrounding scope."
msgstr ""
#: whatsnew/3.0.rst:442
msgid ""
"The *ellipsis* (``...``) can be used as an atomic expression anywhere. "
"(Previously it was only allowed in slices.) Also, it *must* now be spelled "
"as ``...``. (Previously it could also be spelled as ``. . .``, by a mere "
"accident of the grammar.)"
msgstr ""
#: whatsnew/3.0.rst:448
msgid "Removed Syntax"
msgstr ""
#: whatsnew/3.0.rst:450
msgid ""
":pep:`3113`: Tuple parameter unpacking removed. You can no longer write "
"``def foo(a, (b, c)): ...``. Use ``def foo(a, b_c): b, c = b_c`` instead."
msgstr ""
#: whatsnew/3.0.rst:454
msgid "Removed backticks (use :func:`repr` instead)."
msgstr ""
#: whatsnew/3.0.rst:456
msgid "Removed ``<>`` (use ``!=`` instead)."
msgstr ""
#: whatsnew/3.0.rst:458
msgid ""
"Removed keyword: :func:`exec` is no longer a keyword; it remains as a "
"function. (Fortunately the function syntax was also accepted in 2.x.) Also "
"note that :func:`exec` no longer takes a stream argument; instead of "
"``exec(f)`` you can use ``exec(f.read())``."
msgstr ""
#: whatsnew/3.0.rst:463
msgid "Integer literals no longer support a trailing ``l`` or ``L``."
msgstr ""
#: whatsnew/3.0.rst:465
msgid "String literals no longer support a leading ``u`` or ``U``."
msgstr ""
#: whatsnew/3.0.rst:467
msgid ""
"The :keyword:`from` *module* :keyword:`import` ``*`` syntax is only allowed "
"at the module level, no longer inside functions."
msgstr ""
#: whatsnew/3.0.rst:470
msgid ""
"The only acceptable syntax for relative imports is :samp:`from .[{module}] "
"import {name}`. All :keyword:`import` forms not starting with ``.`` are "
"interpreted as absolute imports. (:pep:`0328`)"
msgstr ""
#: whatsnew/3.0.rst:474
msgid "Classic classes are gone."
msgstr ""
#: whatsnew/3.0.rst:478
msgid "Changes Already Present In Python 2.6"
msgstr ""
#: whatsnew/3.0.rst:480
msgid ""
"Since many users presumably make the jump straight from Python 2.5 to Python "
"3.0, this section reminds the reader of new features that were originally "
"designed for Python 3.0 but that were back-ported to Python 2.6. The "
"corresponding sections in :ref:`whats-new-in-2.6` should be consulted for "
"longer descriptions."
msgstr ""
#: whatsnew/3.0.rst:486
msgid ""
":ref:`pep-0343`. The :keyword:`with` statement is now a standard feature "
"and no longer needs to be imported from the :mod:`__future__`. Also check "
"out :ref:`new-26-context-managers` and :ref:`new-module-contextlib`."
msgstr ""
#: whatsnew/3.0.rst:491
msgid ""
":ref:`pep-0366`. This enhances the usefulness of the :option:`-m` option "
"when the referenced module lives in a package."
msgstr ""
#: whatsnew/3.0.rst:494
msgid ":ref:`pep-0370`."
msgstr ""
#: whatsnew/3.0.rst:496
msgid ":ref:`pep-0371`."
msgstr ""
#: whatsnew/3.0.rst:498
msgid ""
":ref:`pep-3101`. Note: the 2.6 description mentions the :meth:`format` "
"method for both 8-bit and Unicode strings. In 3.0, only the :class:`str` "
"type (text strings with Unicode support) supports this method; the :class:"
"`bytes` type does not. The plan is to eventually make this the only API for "
"string formatting, and to start deprecating the ``%`` operator in Python 3.1."
msgstr ""
#: whatsnew/3.0.rst:505
msgid ""
":ref:`pep-3105`. This is now a standard feature and no longer needs to be "
"imported from :mod:`__future__`. More details were given above."
msgstr ""
#: whatsnew/3.0.rst:508
msgid ""
":ref:`pep-3110`. The :keyword:`except` *exc* :keyword:`as` *var* syntax is "
"now standard and :keyword:`except` *exc*, *var* is no longer supported. (Of "
"course, the :keyword:`as` *var* part is still optional.)"
msgstr ""
#: whatsnew/3.0.rst:513
msgid ""
":ref:`pep-3112`. The ``b\"...\"`` string literal notation (and its variants "
"like ``b'...'``, ``b\"\"\"...\"\"\"``, and ``br\"...\"``) now produces a "
"literal of type :class:`bytes`."
msgstr ""
#: whatsnew/3.0.rst:517
msgid ""
":ref:`pep-3116`. The :mod:`io` module is now the standard way of doing file "
"I/O. The built-in :func:`open` function is now an alias for :func:`io.open` "
"and has additional keyword arguments *encoding*, *errors*, *newline* and "
"*closefd*. Also note that an invalid *mode* argument now raises :exc:"
"`ValueError`, not :exc:`IOError`. The binary file object underlying a text "
"file object can be accessed as :attr:`f.buffer` (but beware that the text "
"object maintains a buffer of itself in order to speed up the encoding and "
"decoding operations)."
msgstr ""
#: whatsnew/3.0.rst:527
msgid ""
":ref:`pep-3118`. The old builtin :func:`buffer` is now really gone; the new "
"builtin :func:`memoryview` provides (mostly) similar functionality."
msgstr ""
#: whatsnew/3.0.rst:531
msgid ""
":ref:`pep-3119`. The :mod:`abc` module and the ABCs defined in the :mod:"
"`collections` module plays a somewhat more prominent role in the language "
"now, and built-in collection types like :class:`dict` and :class:`list` "
"conform to the :class:`collections.MutableMapping` and :class:`collections."
"MutableSequence` ABCs, respectively."
msgstr ""
#: whatsnew/3.0.rst:537
msgid ""
":ref:`pep-3127`. As mentioned above, the new octal literal notation is the "
"only one supported, and binary literals have been added."
msgstr ""
#: whatsnew/3.0.rst:541
msgid ":ref:`pep-3129`."
msgstr ""
#: whatsnew/3.0.rst:543
msgid ""
":ref:`pep-3141`. The :mod:`numbers` module is another new use of ABCs, "
"defining Python's \"numeric tower\". Also note the new :mod:`fractions` "
"module which implements :class:`numbers.Rational`."
msgstr ""
#: whatsnew/3.0.rst:549
msgid "Library Changes"
msgstr ""
#: whatsnew/3.0.rst:551
msgid ""
"Due to time constraints, this document does not exhaustively cover the very "
"extensive changes to the standard library. :pep:`3108` is the reference for "
"the major changes to the library. Here's a capsule review:"
msgstr ""
#: whatsnew/3.0.rst:556
msgid ""
"Many old modules were removed. Some, like :mod:`gopherlib` (no longer used) "
"and :mod:`md5` (replaced by :mod:`hashlib`), were already deprecated by :pep:"
"`0004`. Others were removed as a result of the removal of support for "
"various platforms such as Irix, BeOS and Mac OS 9 (see :pep:`0011`). Some "
"modules were also selected for removal in Python 3.0 due to lack of use or "
"because a better replacement exists. See :pep:`3108` for an exhaustive list."
msgstr ""
#: whatsnew/3.0.rst:564
msgid ""
"The :mod:`bsddb3` package was removed because its presence in the core "
"standard library has proved over time to be a particular burden for the core "
"developers due to testing instability and Berkeley DB's release schedule. "
"However, the package is alive and well, externally maintained at http://www."
"jcea.es/programacion/pybsddb.htm."
msgstr ""
#: whatsnew/3.0.rst:570
msgid ""
"Some modules were renamed because their old name disobeyed :pep:`0008`, or "
"for various other reasons. Here's the list:"
msgstr ""
#: whatsnew/3.0.rst:574 whatsnew/3.2.rst:1778
msgid "Old Name"
msgstr ""
#: whatsnew/3.0.rst:574
msgid "New Name"
msgstr ""
#: whatsnew/3.0.rst:576
msgid "_winreg"
msgstr ""
#: whatsnew/3.0.rst:576
msgid "winreg"
msgstr ""
#: whatsnew/3.0.rst:577
msgid "ConfigParser"
msgstr ""
#: whatsnew/3.0.rst:577 whatsnew/3.2.rst:2092 whatsnew/3.5.rst:946
msgid "configparser"
msgstr ""
#: whatsnew/3.0.rst:578
msgid "copy_reg"
msgstr ""
#: whatsnew/3.0.rst:578
msgid "copyreg"
msgstr ""
#: whatsnew/3.0.rst:579
msgid "Queue"
msgstr ""
#: whatsnew/3.0.rst:579
msgid "queue"
msgstr ""
#: whatsnew/3.0.rst:580
msgid "SocketServer"
msgstr ""
#: whatsnew/3.0.rst:580 whatsnew/3.3.rst:1905
msgid "socketserver"
msgstr ""
#: whatsnew/3.0.rst:581
msgid "markupbase"
msgstr ""
#: whatsnew/3.0.rst:581
msgid "_markupbase"
msgstr ""
#: whatsnew/3.0.rst:582
msgid "repr"
msgstr ""
#: whatsnew/3.0.rst:582 whatsnew/3.2.rst:1121
msgid "reprlib"
msgstr ""
#: whatsnew/3.0.rst:583
msgid "test.test_support"
msgstr ""
#: whatsnew/3.0.rst:583
msgid "test.support"
msgstr ""
#: whatsnew/3.0.rst:586
msgid ""
"A common pattern in Python 2.x is to have one version of a module "
"implemented in pure Python, with an optional accelerated version implemented "
"as a C extension; for example, :mod:`pickle` and :mod:`cPickle`. This "
"places the burden of importing the accelerated version and falling back on "
"the pure Python version on each user of these modules. In Python 3.0, the "
"accelerated versions are considered implementation details of the pure "
"Python versions. Users should always import the standard version, which "
"attempts to import the accelerated version and falls back to the pure Python "
"version. The :mod:`pickle` / :mod:`cPickle` pair received this treatment. "
"The :mod:`profile` module is on the list for 3.1. The :mod:`StringIO` "
"module has been turned into a class in the :mod:`io` module."
msgstr ""
#: whatsnew/3.0.rst:600
msgid ""
"Some related modules have been grouped into packages, and usually the "
"submodule names have been simplified. The resulting new packages are:"
msgstr ""
#: whatsnew/3.0.rst:604
msgid ""
":mod:`dbm` (:mod:`anydbm`, :mod:`dbhash`, :mod:`dbm`, :mod:`dumbdbm`, :mod:"
"`gdbm`, :mod:`whichdb`)."
msgstr ""
#: whatsnew/3.0.rst:607
msgid ":mod:`html` (:mod:`HTMLParser`, :mod:`htmlentitydefs`)."
msgstr ""
#: whatsnew/3.0.rst:609
msgid ""
":mod:`http` (:mod:`httplib`, :mod:`BaseHTTPServer`, :mod:`CGIHTTPServer`, :"
"mod:`SimpleHTTPServer`, :mod:`Cookie`, :mod:`cookielib`)."
msgstr ""
#: whatsnew/3.0.rst:613
msgid ""
":mod:`tkinter` (all :mod:`Tkinter`-related modules except :mod:`turtle`). "
"The target audience of :mod:`turtle` doesn't really care about :mod:"
"`tkinter`. Also note that as of Python 2.6, the functionality of :mod:"
"`turtle` has been greatly enhanced."
msgstr ""
#: whatsnew/3.0.rst:618
msgid ""
":mod:`urllib` (:mod:`urllib`, :mod:`urllib2`, :mod:`urlparse`, :mod:"
"`robotparse`)."
msgstr ""
#: whatsnew/3.0.rst:621
msgid ""
":mod:`xmlrpc` (:mod:`xmlrpclib`, :mod:`DocXMLRPCServer`, :mod:"
"`SimpleXMLRPCServer`)."
msgstr ""
#: whatsnew/3.0.rst:624
msgid ""
"Some other changes to standard library modules, not covered by :pep:`3108`:"
msgstr ""
#: whatsnew/3.0.rst:627
msgid "Killed :mod:`sets`. Use the built-in :func:`set` class."
msgstr ""
#: whatsnew/3.0.rst:629
msgid ""
"Cleanup of the :mod:`sys` module: removed :func:`sys.exitfunc`, :func:`sys."
"exc_clear`, :data:`sys.exc_type`, :data:`sys.exc_value`, :data:`sys."
"exc_traceback`. (Note that :data:`sys.last_type` etc. remain.)"
msgstr ""
#: whatsnew/3.0.rst:634
msgid ""
"Cleanup of the :class:`array.array` type: the :meth:`read` and :meth:`write` "
"methods are gone; use :meth:`fromfile` and :meth:`tofile` instead. Also, "
"the ``'c'`` typecode for array is gone -- use either ``'b'`` for bytes or "
"``'u'`` for Unicode characters."
msgstr ""
#: whatsnew/3.0.rst:640
msgid ""
"Cleanup of the :mod:`operator` module: removed :func:`sequenceIncludes` and :"
"func:`isCallable`."
msgstr ""
#: whatsnew/3.0.rst:643
msgid ""
"Cleanup of the :mod:`thread` module: :func:`acquire_lock` and :func:"
"`release_lock` are gone; use :func:`acquire` and :func:`release` instead."
msgstr ""
#: whatsnew/3.0.rst:647
msgid "Cleanup of the :mod:`random` module: removed the :func:`jumpahead` API."
msgstr ""
#: whatsnew/3.0.rst:649
msgid "The :mod:`new` module is gone."
msgstr ""
#: whatsnew/3.0.rst:651
msgid ""
"The functions :func:`os.tmpnam`, :func:`os.tempnam` and :func:`os.tmpfile` "
"have been removed in favor of the :mod:`tempfile` module."
msgstr ""
#: whatsnew/3.0.rst:655
msgid ""
"The :mod:`tokenize` module has been changed to work with bytes. The main "
"entry point is now :func:`tokenize.tokenize`, instead of generate_tokens."
msgstr ""
#: whatsnew/3.0.rst:659
msgid ""
":data:`string.letters` and its friends (:data:`string.lowercase` and :data:"
"`string.uppercase`) are gone. Use :data:`string.ascii_letters` etc. "
"instead. (The reason for the removal is that :data:`string.letters` and "
"friends had locale-specific behavior, which is a bad idea for such "
"attractively-named global \"constants\".)"
msgstr ""
#: whatsnew/3.0.rst:666
msgid ""
"Renamed module :mod:`__builtin__` to :mod:`builtins` (removing the "
"underscores, adding an 's'). The :data:`__builtins__` variable found in "
"most global namespaces is unchanged. To modify a builtin, you should use :"
"mod:`builtins`, not :data:`__builtins__`!"
msgstr ""
#: whatsnew/3.0.rst:673
msgid ":pep:`3101`: A New Approach To String Formatting"
msgstr ""
#: whatsnew/3.0.rst:675
msgid ""
"A new system for built-in string formatting operations replaces the ``%`` "
"string formatting operator. (However, the ``%`` operator is still "
"supported; it will be deprecated in Python 3.1 and removed from the "
"language at some later time.) Read :pep:`3101` for the full scoop."
msgstr ""
#: whatsnew/3.0.rst:683
msgid "Changes To Exceptions"
msgstr ""
#: whatsnew/3.0.rst:685
msgid ""
"The APIs for raising and catching exception have been cleaned up and new "
"powerful features added:"
msgstr ""
#: whatsnew/3.0.rst:688
msgid ""
":pep:`0352`: All exceptions must be derived (directly or indirectly) from :"
"exc:`BaseException`. This is the root of the exception hierarchy. This is "
"not new as a recommendation, but the *requirement* to inherit from :exc:"
"`BaseException` is new. (Python 2.6 still allowed classic classes to be "
"raised, and placed no restriction on what you can catch.) As a consequence, "
"string exceptions are finally truly and utterly dead."
msgstr ""
#: whatsnew/3.0.rst:696
msgid ""
"Almost all exceptions should actually derive from :exc:`Exception`; :exc:"
"`BaseException` should only be used as a base class for exceptions that "
"should only be handled at the top level, such as :exc:`SystemExit` or :exc:"
"`KeyboardInterrupt`. The recommended idiom for handling all exceptions "
"except for this latter category is to use :keyword:`except` :exc:`Exception`."
msgstr ""
#: whatsnew/3.0.rst:703
msgid ":exc:`StandardError` was removed."
msgstr ""
#: whatsnew/3.0.rst:705
msgid ""
"Exceptions no longer behave as sequences. Use the :attr:`args` attribute "
"instead."
msgstr ""
#: whatsnew/3.0.rst:708
msgid ""
":pep:`3109`: Raising exceptions. You must now use :samp:`raise {Exception}"
"({args})` instead of :samp:`raise {Exception}, {args}`. Additionally, you "
"can no longer explicitly specify a traceback; instead, if you *have* to do "
"this, you can assign directly to the :attr:`__traceback__` attribute (see "
"below)."
msgstr ""
#: whatsnew/3.0.rst:714
msgid ""
":pep:`3110`: Catching exceptions. You must now use :samp:`except "
"{SomeException} as {variable}` instead of :samp:`except {SomeException}, "
"{variable}`. Moreover, the *variable* is explicitly deleted when the :"
"keyword:`except` block is left."
msgstr ""
#: whatsnew/3.0.rst:720
msgid ""
":pep:`3134`: Exception chaining. There are two cases: implicit chaining and "
"explicit chaining. Implicit chaining happens when an exception is raised in "
"an :keyword:`except` or :keyword:`finally` handler block. This usually "
"happens due to a bug in the handler block; we call this a *secondary* "
"exception. In this case, the original exception (that was being handled) is "
"saved as the :attr:`__context__` attribute of the secondary exception. "
"Explicit chaining is invoked with this syntax::"
msgstr ""
#: whatsnew/3.0.rst:731
msgid ""
"(where *primary_exception* is any expression that produces an exception "
"object, probably an exception that was previously caught). In this case, the "
"primary exception is stored on the :attr:`__cause__` attribute of the "
"secondary exception. The traceback printed when an unhandled exception "
"occurs walks the chain of :attr:`__cause__` and :attr:`__context__` "
"attributes and prints a separate traceback for each component of the chain, "
"with the primary exception at the top. (Java users may recognize this "
"behavior.)"
msgstr ""
#: whatsnew/3.0.rst:740
msgid ""
":pep:`3134`: Exception objects now store their traceback as the :attr:"
"`__traceback__` attribute. This means that an exception object now contains "
"all the information pertaining to an exception, and there are fewer reasons "
"to use :func:`sys.exc_info` (though the latter is not removed)."
msgstr ""
#: whatsnew/3.0.rst:746
msgid ""
"A few exception messages are improved when Windows fails to load an "
"extension module. For example, ``error code 193`` is now ``%1 is not a "
"valid Win32 application``. Strings now deal with non-English locales."
msgstr ""
#: whatsnew/3.0.rst:753
msgid "Miscellaneous Other Changes"
msgstr ""
#: whatsnew/3.0.rst:756
msgid "Operators And Special Methods"
msgstr ""
#: whatsnew/3.0.rst:758
msgid ""
"``!=`` now returns the opposite of ``==``, unless ``==`` returns :data:"
"`NotImplemented`."
msgstr ""
#: whatsnew/3.0.rst:761
msgid ""
"The concept of \"unbound methods\" has been removed from the language. When "
"referencing a method as a class attribute, you now get a plain function "
"object."
msgstr ""
#: whatsnew/3.0.rst:765
msgid ""
":meth:`__getslice__`, :meth:`__setslice__` and :meth:`__delslice__` were "
"killed. The syntax ``a[i:j]`` now translates to ``a.__getitem__(slice(i, "
"j))`` (or :meth:`__setitem__` or :meth:`__delitem__`, when used as an "
"assignment or deletion target, respectively)."
msgstr ""
#: whatsnew/3.0.rst:771
msgid ""
":pep:`3114`: the standard :meth:`next` method has been renamed to :meth:"
"`~iterator.__next__`."
msgstr ""
#: whatsnew/3.0.rst:774
msgid ""
"The :meth:`__oct__` and :meth:`__hex__` special methods are removed -- :func:"
"`oct` and :func:`hex` use :meth:`__index__` now to convert the argument to "
"an integer."
msgstr ""
#: whatsnew/3.0.rst:778
msgid "Removed support for :attr:`__members__` and :attr:`__methods__`."
msgstr ""
#: whatsnew/3.0.rst:780
msgid ""
"The function attributes named :attr:`func_X` have been renamed to use the :"
"data:`__X__` form, freeing up these names in the function attribute "
"namespace for user-defined attributes. To wit, :attr:`func_closure`, :attr:"
"`func_code`, :attr:`func_defaults`, :attr:`func_dict`, :attr:`func_doc`, :"
"attr:`func_globals`, :attr:`func_name` were renamed to :attr:`__closure__`, :"
"attr:`__code__`, :attr:`__defaults__`, :attr:`__dict__`, :attr:`__doc__`, :"
"attr:`__globals__`, :attr:`__name__`, respectively."
msgstr ""
#: whatsnew/3.0.rst:790
msgid ":meth:`__nonzero__` is now :meth:`__bool__`."
msgstr ""
#: whatsnew/3.0.rst:793
msgid "Builtins"
msgstr ""
#: whatsnew/3.0.rst:795
msgid ""
":pep:`3135`: New :func:`super`. You can now invoke :func:`super` without "
"arguments and (assuming this is in a regular instance method defined inside "
"a :keyword:`class` statement) the right class and instance will "
"automatically be chosen. With arguments, the behavior of :func:`super` is "
"unchanged."
msgstr ""
#: whatsnew/3.0.rst:801
msgid ""
":pep:`3111`: :func:`raw_input` was renamed to :func:`input`. That is, the "
"new :func:`input` function reads a line from :data:`sys.stdin` and returns "
"it with the trailing newline stripped. It raises :exc:`EOFError` if the "
"input is terminated prematurely. To get the old behavior of :func:`input`, "
"use ``eval(input())``."
msgstr ""
#: whatsnew/3.0.rst:807
msgid ""
"A new built-in function :func:`next` was added to call the :meth:`~iterator."
"__next__` method on an object."
msgstr ""
#: whatsnew/3.0.rst:810
msgid ""
"The :func:`round` function rounding strategy and return type have changed. "
"Exact halfway cases are now rounded to the nearest even result instead of "
"away from zero. (For example, ``round(2.5)`` now returns ``2`` rather than "
"``3``.) ``round(x[, n])`` now delegates to ``x.__round__([n])`` instead of "
"always returning a float. It generally returns an integer when called with "
"a single argument and a value of the same type as ``x`` when called with two "
"arguments."
msgstr ""
#: whatsnew/3.0.rst:819
msgid "Moved :func:`intern` to :func:`sys.intern`."
msgstr ""
#: whatsnew/3.0.rst:821
msgid ""
"Removed: :func:`apply`. Instead of ``apply(f, args)`` use ``f(*args)``."
msgstr ""
#: whatsnew/3.0.rst:824
msgid ""
"Removed :func:`callable`. Instead of ``callable(f)`` you can use "
"``isinstance(f, collections.Callable)``. The :func:`operator.isCallable` "
"function is also gone."
msgstr ""
#: whatsnew/3.0.rst:828
msgid ""
"Removed :func:`coerce`. This function no longer serves a purpose now that "
"classic classes are gone."
msgstr ""
#: whatsnew/3.0.rst:831
msgid ""
"Removed :func:`execfile`. Instead of ``execfile(fn)`` use ``exec(open(fn)."
"read())``."
msgstr ""
#: whatsnew/3.0.rst:834
msgid ""
"Removed the :class:`file` type. Use :func:`open`. There are now several "
"different kinds of streams that open can return in the :mod:`io` module."
msgstr ""
#: whatsnew/3.0.rst:837
msgid ""
"Removed :func:`reduce`. Use :func:`functools.reduce` if you really need it; "
"however, 99 percent of the time an explicit :keyword:`for` loop is more "
"readable."
msgstr ""
#: whatsnew/3.0.rst:841
msgid "Removed :func:`reload`. Use :func:`imp.reload`."
msgstr ""
#: whatsnew/3.0.rst:843
msgid ""
"Removed. :meth:`dict.has_key` -- use the :keyword:`in` operator instead."
msgstr ""
#: whatsnew/3.0.rst:852
msgid ""
"Due to time constraints, here is a *very* incomplete list of changes to the "
"C API."
msgstr ""
#: whatsnew/3.0.rst:855
msgid ""
"Support for several platforms was dropped, including but not limited to Mac "
"OS 9, BeOS, RISCOS, Irix, and Tru64."
msgstr ""
#: whatsnew/3.0.rst:858
msgid ":pep:`3118`: New Buffer API."
msgstr ""
#: whatsnew/3.0.rst:860
msgid ":pep:`3121`: Extension Module Initialization & Finalization."
msgstr ""
#: whatsnew/3.0.rst:862
msgid ":pep:`3123`: Making :c:macro:`PyObject_HEAD` conform to standard C."
msgstr ""
#: whatsnew/3.0.rst:864
msgid "No more C API support for restricted execution."
msgstr ""
#: whatsnew/3.0.rst:866
msgid ""
":c:func:`PyNumber_Coerce`, :c:func:`PyNumber_CoerceEx`, :c:func:"
"`PyMember_Get`, and :c:func:`PyMember_Set` C APIs are removed."
msgstr ""
#: whatsnew/3.0.rst:869
msgid ""
"New C API :c:func:`PyImport_ImportModuleNoBlock`, works like :c:func:"
"`PyImport_ImportModule` but won't block on the import lock (returning an "
"error instead)."
msgstr ""
#: whatsnew/3.0.rst:873
msgid ""
"Renamed the boolean conversion C-level slot and method: ``nb_nonzero`` is "
"now ``nb_bool``."
msgstr ""
#: whatsnew/3.0.rst:876
msgid ""
"Removed :c:macro:`METH_OLDARGS` and :c:macro:`WITH_CYCLE_GC` from the C API."
msgstr ""
#: whatsnew/3.0.rst:882
msgid "Performance"
msgstr ""
#: whatsnew/3.0.rst:884
msgid ""
"The net result of the 3.0 generalizations is that Python 3.0 runs the "
"pystone benchmark around 10% slower than Python 2.5. Most likely the "
"biggest cause is the removal of special-casing for small integers. There's "
"room for improvement, but it will happen after 3.0 is released!"
msgstr ""
#: whatsnew/3.0.rst:894
#, fuzzy
msgid "Porting To Python 3.0"
msgstr "Portage vers Python 3.2"
#: whatsnew/3.0.rst:896
msgid ""
"For porting existing Python 2.5 or 2.6 source code to Python 3.0, the best "
"strategy is the following:"
msgstr ""
#: whatsnew/3.0.rst:899
msgid "(Prerequisite:) Start with excellent test coverage."
msgstr ""
#: whatsnew/3.0.rst:901
msgid ""
"Port to Python 2.6. This should be no more work than the average port from "
"Python 2.x to Python 2.(x+1). Make sure all your tests pass."
msgstr ""
#: whatsnew/3.0.rst:905
msgid ""
"(Still using 2.6:) Turn on the :option:`-3` command line switch. This "
"enables warnings about features that will be removed (or change) in 3.0. "
"Run your test suite again, and fix code that you get warnings about until "
"there are no warnings left, and all your tests still pass."
msgstr ""
#: whatsnew/3.0.rst:911
msgid ""
"Run the ``2to3`` source-to-source translator over your source code tree. "
"(See :ref:`2to3-reference` for more on this tool.) Run the result of the "
"translation under Python 3.0. Manually fix up any remaining issues, fixing "
"problems until all tests pass again."
msgstr ""
#: whatsnew/3.0.rst:916
msgid ""
"It is not recommended to try to write source code that runs unchanged under "
"both Python 2.6 and 3.0; you'd have to use a very contorted coding style, e."
"g. avoiding ``print`` statements, metaclasses, and much more. If you are "
"maintaining a library that needs to support both Python 2.6 and Python 3.0, "
"the best approach is to modify step 3 above by editing the 2.6 version of "
"the source code and running the ``2to3`` translator again, rather than "
"editing the 3.0 version of the source code."
msgstr ""
#: whatsnew/3.0.rst:925
msgid ""
"For porting C extensions to Python 3.0, please see :ref:`cporting-howto`."
msgstr ""
#: whatsnew/3.1.rst:3
#, fuzzy
msgid "What's New In Python 3.1"
msgstr "Nouveautés de Python 2.0"
#: whatsnew/3.1.rst:5 whatsnew/3.2.rst:5
msgid "Raymond Hettinger"
msgstr ""
#: whatsnew/3.1.rst:49
msgid "This article explains the new features in Python 3.1, compared to 3.0."
msgstr ""
#: whatsnew/3.1.rst:53
msgid "PEP 372: Ordered Dictionaries"
msgstr ""
#: whatsnew/3.1.rst:55
msgid ""
"Regular Python dictionaries iterate over key/value pairs in arbitrary order. "
"Over the years, a number of authors have written alternative implementations "
"that remember the order that the keys were originally inserted. Based on "
"the experiences from those implementations, a new :class:`collections."
"OrderedDict` class has been introduced."
msgstr ""
#: whatsnew/3.1.rst:61
msgid ""
"The OrderedDict API is substantially the same as regular dictionaries but "
"will iterate over keys and values in a guaranteed order depending on when a "
"key was first inserted. If a new entry overwrites an existing entry, the "
"original insertion position is left unchanged. Deleting an entry and "
"reinserting it will move it to the end."
msgstr ""
#: whatsnew/3.1.rst:67
msgid ""
"The standard library now supports use of ordered dictionaries in several "
"modules. The :mod:`configparser` module uses them by default. This lets "
"configuration files be read, modified, and then written back in their "
"original order. The *_asdict()* method for :func:`collections.namedtuple` "
"now returns an ordered dictionary with the values appearing in the same "
"order as the underlying tuple indicies. The :mod:`json` module is being "
"built-out with an *object_pairs_hook* to allow OrderedDicts to be built by "
"the decoder. Support was also added for third-party tools like `PyYAML "
"<http://pyyaml.org/>`_."
msgstr ""
#: whatsnew/3.1.rst:79
msgid "PEP 372 - Ordered Dictionaries"
msgstr ""
#: whatsnew/3.1.rst:79
msgid ""
"PEP written by Armin Ronacher and Raymond Hettinger. Implementation written "
"by Raymond Hettinger."
msgstr ""
#: whatsnew/3.1.rst:86
msgid ""
"The built-in :func:`format` function and the :meth:`str.format` method use a "
"mini-language that now includes a simple, non-locale aware way to format a "
"number with a thousands separator. That provides a way to humanize a "
"program's output, improving its professional appearance and readability::"
msgstr ""
#: whatsnew/3.1.rst:100
msgid ""
"The supported types are :class:`int`, :class:`float`, :class:`complex` and :"
"class:`decimal.Decimal`."
msgstr ""
#: whatsnew/3.1.rst:103
msgid ""
"Discussions are underway about how to specify alternative separators like "
"dots, spaces, apostrophes, or underscores. Locale-aware applications should "
"use the existing *n* format specifier which already has some support for "
"thousands separators."
msgstr ""
#: whatsnew/3.1.rst:111
msgid ""
"PEP written by Raymond Hettinger and implemented by Eric Smith and Mark "
"Dickinson."
msgstr ""
#: whatsnew/3.1.rst:120
msgid ""
"Directories and zip archives containing a :file:`__main__.py` file can now "
"be executed directly by passing their name to the interpreter. The directory/"
"zipfile is automatically inserted as the first entry in sys.path. "
"(Suggestion and initial patch by Andy Chu; revised patch by Phillip J. Eby "
"and Nick Coghlan; :issue:`1739468`.)"
msgstr ""
#: whatsnew/3.1.rst:126
msgid ""
"The :func:`int` type gained a ``bit_length`` method that returns the number "
"of bits necessary to represent its argument in binary::"
msgstr ""
#: whatsnew/3.1.rst:140
msgid ""
"(Contributed by Fredrik Johansson, Victor Stinner, Raymond Hettinger, and "
"Mark Dickinson; :issue:`3439`.)"
msgstr ""
#: whatsnew/3.1.rst:143
msgid ""
"The fields in :func:`format` strings can now be automatically numbered::"
msgstr ""
#: whatsnew/3.1.rst:149
msgid ""
"Formerly, the string would have required numbered fields such as: ``'Sir {0} "
"of {1}'``."
msgstr ""
#: whatsnew/3.1.rst:152
#, fuzzy
msgid "(Contributed by Eric Smith; :issue:`5237`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:154
msgid ""
"The :func:`string.maketrans` function is deprecated and is replaced by new "
"static methods, :meth:`bytes.maketrans` and :meth:`bytearray.maketrans`. "
"This change solves the confusion around which types were supported by the :"
"mod:`string` module. Now, :class:`str`, :class:`bytes`, and :class:"
"`bytearray` each have their own **maketrans** and **translate** methods with "
"intermediate translation tables of the appropriate type."
msgstr ""
#: whatsnew/3.1.rst:161 whatsnew/3.2.rst:2638
#, fuzzy
msgid "(Contributed by Georg Brandl; :issue:`5675`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:163
msgid ""
"The syntax of the :keyword:`with` statement now allows multiple context "
"managers in a single statement::"
msgstr ""
#: whatsnew/3.1.rst:171
msgid ""
"With the new syntax, the :func:`contextlib.nested` function is no longer "
"needed and is now deprecated."
msgstr ""
#: whatsnew/3.1.rst:174 whatsnew/3.2.rst:2651
msgid ""
"(Contributed by Georg Brandl and Mattias Brändström; `appspot issue 53094 "
"<https://codereview.appspot.com/53094>`_.)"
msgstr ""
#: whatsnew/3.1.rst:177
msgid ""
"``round(x, n)`` now returns an integer if *x* is an integer. Previously it "
"returned a float::"
msgstr ""
#: whatsnew/3.1.rst:183
#, fuzzy
msgid "(Contributed by Mark Dickinson; :issue:`4707`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:185
msgid ""
"Python now uses David Gay's algorithm for finding the shortest floating "
"point representation that doesn't change its value. This should help "
"mitigate some of the confusion surrounding binary floating point numbers."
msgstr ""
#: whatsnew/3.1.rst:190
msgid ""
"The significance is easily seen with a number like ``1.1`` which does not "
"have an exact equivalent in binary floating point. Since there is no exact "
"equivalent, an expression like ``float('1.1')`` evaluates to the nearest "
"representable value which is ``0x1.199999999999ap+0`` in hex or "
"``1.100000000000000088817841970012523233890533447265625`` in decimal. That "
"nearest value was and still is used in subsequent floating point "
"calculations."
msgstr ""
#: whatsnew/3.1.rst:198
msgid ""
"What is new is how the number gets displayed. Formerly, Python used a "
"simple approach. The value of ``repr(1.1)`` was computed as ``format(1.1, "
"'.17g')`` which evaluated to ``'1.1000000000000001'``. The advantage of "
"using 17 digits was that it relied on IEEE-754 guarantees to assure that "
"``eval(repr(1.1))`` would round-trip exactly to its original value. The "
"disadvantage is that many people found the output to be confusing (mistaking "
"intrinsic limitations of binary floating point representation as being a "
"problem with Python itself)."
msgstr ""
#: whatsnew/3.1.rst:207
msgid ""
"The new algorithm for ``repr(1.1)`` is smarter and returns ``'1.1'``. "
"Effectively, it searches all equivalent string representations (ones that "
"get stored with the same underlying float value) and returns the shortest "
"representation."
msgstr ""
#: whatsnew/3.1.rst:212
msgid ""
"The new algorithm tends to emit cleaner representations when possible, but "
"it does not change the underlying values. So, it is still the case that "
"``1.1 + 2.2 != 3.3`` even though the representations may suggest otherwise."
msgstr ""
#: whatsnew/3.1.rst:216
msgid ""
"The new algorithm depends on certain features in the underlying floating "
"point implementation. If the required features are not found, the old "
"algorithm will continue to be used. Also, the text pickle protocols assure "
"cross-platform portability by using the old algorithm."
msgstr ""
#: whatsnew/3.1.rst:221
#, fuzzy
msgid "(Contributed by Eric Smith and Mark Dickinson; :issue:`1580`)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:226
msgid ""
"Added a :class:`collections.Counter` class to support convenient counting of "
"unique items in a sequence or iterable::"
msgstr ""
#: whatsnew/3.1.rst:232
#, fuzzy
msgid "(Contributed by Raymond Hettinger; :issue:`1696199`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:234
msgid ""
"Added a new module, :mod:`tkinter.ttk` for access to the Tk themed widget "
"set. The basic idea of ttk is to separate, to the extent possible, the code "
"implementing a widget's behavior from the code implementing its appearance."
msgstr ""
#: whatsnew/3.1.rst:238
#, fuzzy
msgid "(Contributed by Guilherme Polo; :issue:`2983`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:240
msgid ""
"The :class:`gzip.GzipFile` and :class:`bz2.BZ2File` classes now support the "
"context management protocol::"
msgstr ""
#: whatsnew/3.1.rst:247 whatsnew/3.2.rst:2290
#, fuzzy
msgid "(Contributed by Antoine Pitrou.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:249
msgid ""
"The :mod:`decimal` module now supports methods for creating a decimal object "
"from a binary :class:`float`. The conversion is exact but can sometimes be "
"surprising::"
msgstr ""
#: whatsnew/3.1.rst:256
msgid ""
"The long decimal result shows the actual binary fraction being stored for "
"*1.1*. The fraction has many digits because *1.1* cannot be exactly "
"represented in binary."
msgstr ""
#: whatsnew/3.1.rst:260
msgid "(Contributed by Raymond Hettinger and Mark Dickinson.)"
msgstr ""
#: whatsnew/3.1.rst:262
msgid ""
"The :mod:`itertools` module grew two new functions. The :func:`itertools."
"combinations_with_replacement` function is one of four for generating "
"combinatorics including permutations and Cartesian products. The :func:"
"`itertools.compress` function mimics its namesake from APL. Also, the "
"existing :func:`itertools.count` function now has an optional *step* "
"argument and can accept any type of counting sequence including :class:"
"`fractions.Fraction` and :class:`decimal.Decimal`::"
msgstr ""
#: whatsnew/3.1.rst:283
msgid ""
":func:`collections.namedtuple` now supports a keyword argument *rename* "
"which lets invalid fieldnames be automatically converted to positional names "
"in the form _0, _1, etc. This is useful when the field names are being "
"created by an external source such as a CSV header, SQL field list, or user "
"input::"
msgstr ""
#: whatsnew/3.1.rst:300
#, fuzzy
msgid "(Contributed by Raymond Hettinger; :issue:`1818`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:302
msgid ""
"The :func:`re.sub`, :func:`re.subn` and :func:`re.split` functions now "
"accept a flags parameter."
msgstr ""
#: whatsnew/3.1.rst:305
msgid "(Contributed by Gregory Smith.)"
msgstr ""
#: whatsnew/3.1.rst:307
msgid ""
"The :mod:`logging` module now implements a simple :class:`logging."
"NullHandler` class for applications that are not using logging but are "
"calling library code that does. Setting-up a null handler will suppress "
"spurious warnings such as \"No handlers could be found for logger foo\"::"
msgstr ""
#: whatsnew/3.1.rst:315
#, fuzzy
msgid "(Contributed by Vinay Sajip; :issue:`4384`)."
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:317
msgid ""
"The :mod:`runpy` module which supports the ``-m`` command line switch now "
"supports the execution of packages by looking for and executing a "
"``__main__`` submodule when a package name is supplied."
msgstr ""
#: whatsnew/3.1.rst:321
#, fuzzy
msgid "(Contributed by Andi Vajda; :issue:`4195`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:323
msgid ""
"The :mod:`pdb` module can now access and display source code loaded via :mod:"
"`zipimport` (or any other conformant :pep:`302` loader)."
msgstr ""
#: whatsnew/3.1.rst:326
#, fuzzy
msgid "(Contributed by Alexander Belopolsky; :issue:`4201`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:328
msgid ":class:`functools.partial` objects can now be pickled."
msgstr ""
#: whatsnew/3.1.rst:330
msgid ""
"(Suggested by Antoine Pitrou and Jesse Noller. Implemented by Jack "
"Diederich; :issue:`5228`.)"
msgstr ""
#: whatsnew/3.1.rst:333
msgid ""
"Add :mod:`pydoc` help topics for symbols so that ``help('@')`` works as "
"expected in the interactive environment."
msgstr ""
#: whatsnew/3.1.rst:336
#, fuzzy
msgid "(Contributed by David Laban; :issue:`4739`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:338
msgid ""
"The :mod:`unittest` module now supports skipping individual tests or classes "
"of tests. And it supports marking a test as an expected failure, a test that "
"is known to be broken, but shouldn't be counted as a failure on a "
"TestResult::"
msgstr ""
#: whatsnew/3.1.rst:353
msgid ""
"Also, tests for exceptions have been builtout to work with context managers "
"using the :keyword:`with` statement::"
msgstr ""
#: whatsnew/3.1.rst:360
msgid ""
"In addition, several new assertion methods were added including :func:"
"`assertSetEqual`, :func:`assertDictEqual`, :func:"
"`assertDictContainsSubset`, :func:`assertListEqual`, :func:"
"`assertTupleEqual`, :func:`assertSequenceEqual`, :func:"
"`assertRaisesRegexp`, :func:`assertIsNone`, and :func:`assertIsNotNone`."
msgstr ""
#: whatsnew/3.1.rst:367
#, fuzzy
msgid "(Contributed by Benjamin Peterson and Antoine Pitrou.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:369
msgid ""
"The :mod:`io` module has three new constants for the :meth:`seek` method :"
"data:`SEEK_SET`, :data:`SEEK_CUR`, and :data:`SEEK_END`."
msgstr ""
#: whatsnew/3.1.rst:372
msgid "The :attr:`sys.version_info` tuple is now a named tuple::"
msgstr ""
#: whatsnew/3.1.rst:377
#, fuzzy
msgid "(Contributed by Ross Light; :issue:`4285`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:379
msgid "The :mod:`nntplib` and :mod:`imaplib` modules now support IPv6."
msgstr ""
#: whatsnew/3.1.rst:381
#, fuzzy
msgid "(Contributed by Derek Morr; :issue:`1655` and :issue:`1664`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:383
msgid ""
"The :mod:`pickle` module has been adapted for better interoperability with "
"Python 2.x when used with protocol 2 or lower. The reorganization of the "
"standard library changed the formal reference for many objects. For "
"example, ``__builtin__.set`` in Python 2 is called ``builtins.set`` in "
"Python 3. This change confounded efforts to share data between different "
"versions of Python. But now when protocol 2 or lower is selected, the "
"pickler will automatically use the old Python 2 names for both loading and "
"dumping. This remapping is turned-on by default but can be disabled with the "
"*fix_imports* option::"
msgstr ""
#: whatsnew/3.1.rst:399
msgid ""
"An unfortunate but unavoidable side-effect of this change is that protocol 2 "
"pickles produced by Python 3.1 won't be readable with Python 3.0. The latest "
"pickle protocol, protocol 3, should be used when migrating data between "
"Python 3.x implementations, as it doesn't attempt to remain compatible with "
"Python 2.x."
msgstr ""
#: whatsnew/3.1.rst:405
#, fuzzy
msgid ""
"(Contributed by Alexandre Vassalotti and Antoine Pitrou, :issue:`6137`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:407
msgid ""
"A new module, :mod:`importlib` was added. It provides a complete, portable, "
"pure Python reference implementation of the :keyword:`import` statement and "
"its counterpart, the :func:`__import__` function. It represents a "
"substantial step forward in documenting and defining the actions that take "
"place during imports."
msgstr ""
#: whatsnew/3.1.rst:418 whatsnew/3.3.rst:2150
msgid "Major performance enhancements have been added:"
msgstr ""
#: whatsnew/3.1.rst:420
msgid ""
"The new I/O library (as defined in :pep:`3116`) was mostly written in Python "
"and quickly proved to be a problematic bottleneck in Python 3.0. In Python "
"3.1, the I/O library has been entirely rewritten in C and is 2 to 20 times "
"faster depending on the task at hand. The pure Python version is still "
"available for experimentation purposes through the ``_pyio`` module."
msgstr ""
#: whatsnew/3.1.rst:427
#, fuzzy
msgid "(Contributed by Amaury Forgeot d'Arc and Antoine Pitrou.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:429
msgid ""
"Added a heuristic so that tuples and dicts containing only untrackable "
"objects are not tracked by the garbage collector. This can reduce the size "
"of collections and therefore the garbage collection overhead on long-running "
"programs, depending on their particular use of datatypes."
msgstr ""
#: whatsnew/3.1.rst:434
#, fuzzy
msgid "(Contributed by Antoine Pitrou, :issue:`4688`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:436
msgid ""
"Enabling a configure option named ``--with-computed-gotos`` on compilers "
"that support it (notably: gcc, SunPro, icc), the bytecode evaluation loop is "
"compiled with a new dispatch mechanism which gives speedups of up to 20%, "
"depending on the system, the compiler, and the benchmark."
msgstr ""
#: whatsnew/3.1.rst:442
#, fuzzy
msgid ""
"(Contributed by Antoine Pitrou along with a number of other participants, :"
"issue:`4753`)."
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:445
msgid ""
"The decoding of UTF-8, UTF-16 and LATIN-1 is now two to four times faster."
msgstr ""
#: whatsnew/3.1.rst:448
#, fuzzy
msgid ""
"(Contributed by Antoine Pitrou and Amaury Forgeot d'Arc, :issue:`4868`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:450
msgid ""
"The :mod:`json` module now has a C extension to substantially improve its "
"performance. In addition, the API was modified so that json works only "
"with :class:`str`, not with :class:`bytes`. That change makes the module "
"closely match the `JSON specification <http://json.org/>`_ which is defined "
"in terms of Unicode."
msgstr ""
#: whatsnew/3.1.rst:456
msgid ""
"(Contributed by Bob Ippolito and converted to Py3.1 by Antoine Pitrou and "
"Benjamin Peterson; :issue:`4136`.)"
msgstr ""
#: whatsnew/3.1.rst:459
msgid ""
"Unpickling now interns the attribute names of pickled objects. This saves "
"memory and allows pickles to be smaller."
msgstr ""
#: whatsnew/3.1.rst:462
#, fuzzy
msgid "(Contributed by Jake McGuire and Antoine Pitrou; :issue:`5084`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:465 whatsnew/3.2.rst:2456 ../../../Misc/NEWS:486
#: ../../../Misc/NEWS:817 ../../../Misc/NEWS:1324 ../../../Misc/NEWS:3335
#: ../../../Misc/NEWS:4053 ../../../Misc/NEWS:4255 ../../../Misc/NEWS:4657
#: ../../../Misc/NEWS:5542 ../../../Misc/NEWS:5803 ../../../Misc/NEWS:7410
msgid "IDLE"
msgstr "IDLE"
#: whatsnew/3.1.rst:467
msgid ""
"IDLE's format menu now provides an option to strip trailing whitespace from "
"a source file."
msgstr ""
#: whatsnew/3.1.rst:470
#, fuzzy
msgid "(Contributed by Roger D. Serwy; :issue:`5150`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:477
msgid ""
"Integers are now stored internally either in base 2**15 or in base 2**30, "
"the base being determined at build time. Previously, they were always "
"stored in base 2**15. Using base 2**30 gives significant performance "
"improvements on 64-bit machines, but benchmark results on 32-bit machines "
"have been mixed. Therefore, the default is to use base 2**30 on 64-bit "
"machines and base 2**15 on 32-bit machines; on Unix, there's a new configure "
"option ``--enable-big-digits`` that can be used to override this default."
msgstr ""
#: whatsnew/3.1.rst:486
msgid ""
"Apart from the performance improvements this change should be invisible to "
"end users, with one exception: for testing and debugging purposes there's a "
"new :attr:`sys.int_info` that provides information about the internal "
"format, giving the number of bits per digit and the size in bytes of the C "
"type used to store each digit::"
msgstr ""
#: whatsnew/3.1.rst:498
msgid ""
"The :c:func:`PyLong_AsUnsignedLongLong()` function now handles a negative "
"*pylong* by raising :exc:`OverflowError` instead of :exc:`TypeError`."
msgstr ""
#: whatsnew/3.1.rst:501
#, fuzzy
msgid "(Contributed by Mark Dickinson and Lisandro Dalcrin; :issue:`5175`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:503
msgid ""
"Deprecated :c:func:`PyNumber_Int`. Use :c:func:`PyNumber_Long` instead."
msgstr ""
#: whatsnew/3.1.rst:505
#, fuzzy
msgid "(Contributed by Mark Dickinson; :issue:`4910`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:507
msgid ""
"Added a new :c:func:`PyOS_string_to_double` function to replace the "
"deprecated functions :c:func:`PyOS_ascii_strtod` and :c:func:"
"`PyOS_ascii_atof`."
msgstr ""
#: whatsnew/3.1.rst:510
#, fuzzy
msgid "(Contributed by Mark Dickinson; :issue:`5914`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:512
msgid ""
"Added :c:type:`PyCapsule` as a replacement for the :c:type:`PyCObject` API. "
"The principal difference is that the new type has a well defined interface "
"for passing typing safety information and a less complicated signature for "
"calling a destructor. The old type had a problematic API and is now "
"deprecated."
msgstr ""
#: whatsnew/3.1.rst:518
#, fuzzy
msgid "(Contributed by Larry Hastings; :issue:`5630`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.1.rst:521
#, fuzzy
msgid "Porting to Python 3.1"
msgstr "Portage vers Python 3.2"
#: whatsnew/3.1.rst:526
msgid ""
"The new floating point string representations can break existing doctests. "
"For example::"
msgstr ""
#: whatsnew/3.1.rst:549
msgid ""
"The automatic name remapping in the pickle module for protocol 2 or lower "
"can make Python 3.1 pickles unreadable in Python 3.0. One solution is to "
"use protocol 3. Another solution is to set the *fix_imports* option to "
"**False**. See the discussion above for more details."
msgstr ""
#: whatsnew/3.2.rst:3
#, fuzzy
msgid "What's New In Python 3.2"
msgstr "Nouveautés de Python 2.0"
#: whatsnew/3.2.rst:51
msgid ""
"This article explains the new features in Python 3.2 as compared to 3.1. It "
"focuses on a few highlights and gives a few examples. For full details, see "
"the `Misc/NEWS <https://hg.python.org/cpython/file/3.2/Misc/NEWS>`_ file."
msgstr ""
#: whatsnew/3.2.rst:57
msgid ":pep:`392` - Python 3.2 Release Schedule"
msgstr ""
#: whatsnew/3.2.rst:61
msgid "PEP 384: Defining a Stable ABI"
msgstr ""
#: whatsnew/3.2.rst:63
msgid ""
"In the past, extension modules built for one Python version were often not "
"usable with other Python versions. Particularly on Windows, every feature "
"release of Python required rebuilding all extension modules that one wanted "
"to use. This requirement was the result of the free access to Python "
"interpreter internals that extension modules could use."
msgstr ""
#: whatsnew/3.2.rst:69
msgid ""
"With Python 3.2, an alternative approach becomes available: extension "
"modules which restrict themselves to a limited API (by defining "
"Py_LIMITED_API) cannot use many of the internals, but are constrained to a "
"set of API functions that are promised to be stable for several releases. As "
"a consequence, extension modules built for 3.2 in that mode will also work "
"with 3.3, 3.4, and so on. Extension modules that make use of details of "
"memory structures can still be built, but will need to be recompiled for "
"every feature release."
msgstr ""
#: whatsnew/3.2.rst:80
msgid "PEP 384 - Defining a Stable ABI"
msgstr ""
#: whatsnew/3.2.rst:81
msgid "PEP written by Martin von Löwis."
msgstr ""
#: whatsnew/3.2.rst:85
msgid "PEP 389: Argparse Command Line Parsing Module"
msgstr ""
#: whatsnew/3.2.rst:87
msgid ""
"A new module for command line parsing, :mod:`argparse`, was introduced to "
"overcome the limitations of :mod:`optparse` which did not provide support "
"for positional arguments (not just options), subcommands, required options "
"and other common patterns of specifying and validating options."
msgstr ""
#: whatsnew/3.2.rst:92
msgid ""
"This module has already had widespread success in the community as a third-"
"party module. Being more fully featured than its predecessor, the :mod:"
"`argparse` module is now the preferred module for command-line processing. "
"The older module is still being kept available because of the substantial "
"amount of legacy code that depends on it."
msgstr ""
#: whatsnew/3.2.rst:98
msgid ""
"Here's an annotated example parser showing features like limiting results to "
"a set of choices, specifying a *metavar* in the help screen, validating that "
"one or more positional arguments is present, and making a required option::"
msgstr ""
#: whatsnew/3.2.rst:117
msgid "Example of calling the parser on a command string::"
msgstr ""
#: whatsnew/3.2.rst:128
msgid "Example of the parser's automatically generated help::"
msgstr ""
#: whatsnew/3.2.rst:147
msgid ""
"An especially nice :mod:`argparse` feature is the ability to define "
"subparsers, each with their own argument patterns and help displays::"
msgstr ""
#: whatsnew/3.2.rst:171
msgid "PEP 389 - New Command Line Parsing Module"
msgstr ""
#: whatsnew/3.2.rst:171
msgid "PEP written by Steven Bethard."
msgstr ""
#: whatsnew/3.2.rst:173
msgid ""
":ref:`upgrading-optparse-code` for details on the differences from :mod:"
"`optparse`."
msgstr ""
#: whatsnew/3.2.rst:177
msgid "PEP 391: Dictionary Based Configuration for Logging"
msgstr ""
#: whatsnew/3.2.rst:179
msgid ""
"The :mod:`logging` module provided two kinds of configuration, one style "
"with function calls for each option or another style driven by an external "
"file saved in a :mod:`ConfigParser` format. Those options did not provide "
"the flexibility to create configurations from JSON or YAML files, nor did "
"they support incremental configuration, which is needed for specifying "
"logger options from a command line."
msgstr ""
#: whatsnew/3.2.rst:186
msgid ""
"To support a more flexible style, the module now offers :func:`logging."
"config.dictConfig` for specifying logging configuration with plain Python "
"dictionaries. The configuration options include formatters, handlers, "
"filters, and loggers. Here's a working example of a configuration "
"dictionary::"
msgstr ""
#: whatsnew/3.2.rst:210
msgid ""
"If that dictionary is stored in a file called :file:`conf.json`, it can be "
"loaded and called with code like this::"
msgstr ""
#: whatsnew/3.2.rst:224
msgid "PEP 391 - Dictionary Based Configuration for Logging"
msgstr ""
#: whatsnew/3.2.rst:225
msgid "PEP written by Vinay Sajip."
msgstr ""
#: whatsnew/3.2.rst:229
msgid "PEP 3148: The ``concurrent.futures`` module"
msgstr ""
#: whatsnew/3.2.rst:231
msgid ""
"Code for creating and managing concurrency is being collected in a new top-"
"level namespace, *concurrent*. Its first member is a *futures* package "
"which provides a uniform high-level interface for managing threads and "
"processes."
msgstr ""
#: whatsnew/3.2.rst:235
msgid ""
"The design for :mod:`concurrent.futures` was inspired by the *java.util."
"concurrent* package. In that model, a running call and its result are "
"represented by a :class:`~concurrent.futures.Future` object that abstracts "
"features common to threads, processes, and remote procedure calls. That "
"object supports status checks (running or done), timeouts, cancellations, "
"adding callbacks, and access to results or exceptions."
msgstr ""
#: whatsnew/3.2.rst:242
msgid ""
"The primary offering of the new module is a pair of executor classes for "
"launching and managing calls. The goal of the executors is to make it "
"easier to use existing tools for making parallel calls. They save the effort "
"needed to setup a pool of resources, launch the calls, create a results "
"queue, add time-out handling, and limit the total number of threads, "
"processes, or remote procedure calls."
msgstr ""
#: whatsnew/3.2.rst:249
msgid ""
"Ideally, each application should share a single executor across multiple "
"components so that process and thread limits can be centrally managed. This "
"solves the design challenge that arises when each component has its own "
"competing strategy for resource management."
msgstr ""
#: whatsnew/3.2.rst:254
msgid ""
"Both classes share a common interface with three methods: :meth:`~concurrent."
"futures.Executor.submit` for scheduling a callable and returning a :class:"
"`~concurrent.futures.Future` object; :meth:`~concurrent.futures.Executor."
"map` for scheduling many asynchronous calls at a time, and :meth:"
"`~concurrent.futures.Executor.shutdown` for freeing resources. The class is "
"a :term:`context manager` and can be used in a :keyword:`with` statement to "
"assure that resources are automatically released when currently pending "
"futures are done executing."
msgstr ""
#: whatsnew/3.2.rst:263
msgid ""
"A simple of example of :class:`~concurrent.futures.ThreadPoolExecutor` is a "
"launch of four parallel threads for copying files::"
msgstr ""
#: whatsnew/3.2.rst:276
msgid "PEP 3148 - Futures -- Execute Computations Asynchronously"
msgstr ""
#: whatsnew/3.2.rst:276
msgid "PEP written by Brian Quinlan."
msgstr ""
#: whatsnew/3.2.rst:278
msgid ""
":ref:`Code for Threaded Parallel URL reads<threadpoolexecutor-example>`, an "
"example using threads to fetch multiple web pages in parallel."
msgstr ""
#: whatsnew/3.2.rst:281
msgid ""
":ref:`Code for computing prime numbers in parallel<processpoolexecutor-"
"example>`, an example demonstrating :class:`~concurrent.futures."
"ProcessPoolExecutor`."
msgstr ""
#: whatsnew/3.2.rst:287
msgid "PEP 3147: PYC Repository Directories"
msgstr ""
#: whatsnew/3.2.rst:289
msgid ""
"Python's scheme for caching bytecode in *.pyc* files did not work well in "
"environments with multiple Python interpreters. If one interpreter "
"encountered a cached file created by another interpreter, it would recompile "
"the source and overwrite the cached file, thus losing the benefits of "
"caching."
msgstr ""
#: whatsnew/3.2.rst:294
msgid ""
"The issue of \"pyc fights\" has become more pronounced as it has become "
"commonplace for Linux distributions to ship with multiple versions of "
"Python. These conflicts also arise with CPython alternatives such as Unladen "
"Swallow."
msgstr ""
#: whatsnew/3.2.rst:298
msgid ""
"To solve this problem, Python's import machinery has been extended to use "
"distinct filenames for each interpreter. Instead of Python 3.2 and Python "
"3.3 and Unladen Swallow each competing for a file called \"mymodule.pyc\", "
"they will now look for \"mymodule.cpython-32.pyc\", \"mymodule.cpython-33.pyc"
"\", and \"mymodule.unladen10.pyc\". And to prevent all of these new files "
"from cluttering source directories, the *pyc* files are now collected in a "
"\"__pycache__\" directory stored under the package directory."
msgstr ""
#: whatsnew/3.2.rst:306
msgid ""
"Aside from the filenames and target directories, the new scheme has a few "
"aspects that are visible to the programmer:"
msgstr ""
#: whatsnew/3.2.rst:309
msgid ""
"Imported modules now have a :attr:`__cached__` attribute which stores the "
"name of the actual file that was imported:"
msgstr ""
#: whatsnew/3.2.rst:316
msgid ""
"The tag that is unique to each interpreter is accessible from the :mod:`imp` "
"module:"
msgstr ""
#: whatsnew/3.2.rst:323
msgid ""
"Scripts that try to deduce source filename from the imported file now need "
"to be smarter. It is no longer sufficient to simply strip the \"c\" from a "
"\".pyc\" filename. Instead, use the new functions in the :mod:`imp` module:"
msgstr ""
#: whatsnew/3.2.rst:332
msgid ""
"The :mod:`py_compile` and :mod:`compileall` modules have been updated to "
"reflect the new naming convention and target directory. The command-line "
"invocation of *compileall* has new options: ``-i`` for specifying a list of "
"files and directories to compile and ``-b`` which causes bytecode files to "
"be written to their legacy location rather than *__pycache__*."
msgstr ""
#: whatsnew/3.2.rst:339
msgid ""
"The :mod:`importlib.abc` module has been updated with new :term:`abstract "
"base classes <abstract base class>` for loading bytecode files. The "
"obsolete ABCs, :class:`~importlib.abc.PyLoader` and :class:`~importlib.abc."
"PyPycLoader`, have been deprecated (instructions on how to stay Python 3.1 "
"compatible are included with the documentation)."
msgstr ""
#: whatsnew/3.2.rst:347
msgid "PEP 3147 - PYC Repository Directories"
msgstr ""
#: whatsnew/3.2.rst:348 whatsnew/3.2.rst:379
msgid "PEP written by Barry Warsaw."
msgstr ""
#: whatsnew/3.2.rst:352
msgid "PEP 3149: ABI Version Tagged .so Files"
msgstr ""
#: whatsnew/3.2.rst:354
msgid ""
"The PYC repository directory allows multiple bytecode cache files to be co-"
"located. This PEP implements a similar mechanism for shared object files by "
"giving them a common directory and distinct names for each version."
msgstr ""
#: whatsnew/3.2.rst:358
msgid ""
"The common directory is \"pyshared\" and the file names are made distinct by "
"identifying the Python implementation (such as CPython, PyPy, Jython, etc.), "
"the major and minor version numbers, and optional build flags (such as \"d\" "
"for debug, \"m\" for pymalloc, \"u\" for wide-unicode). For an arbitrary "
"package \"foo\", you may see these files when the distribution package is "
"installed::"
msgstr ""
#: whatsnew/3.2.rst:367
msgid ""
"In Python itself, the tags are accessible from functions in the :mod:"
"`sysconfig` module::"
msgstr ""
#: whatsnew/3.2.rst:378
msgid "PEP 3149 - ABI Version Tagged .so Files"
msgstr ""
#: whatsnew/3.2.rst:383
msgid "PEP 3333: Python Web Server Gateway Interface v1.0.1"
msgstr ""
#: whatsnew/3.2.rst:385
msgid ""
"This informational PEP clarifies how bytes/text issues are to be handled by "
"the WSGI protocol. The challenge is that string handling in Python 3 is "
"most conveniently handled with the :class:`str` type even though the HTTP "
"protocol is itself bytes oriented."
msgstr ""
#: whatsnew/3.2.rst:390
msgid ""
"The PEP differentiates so-called *native strings* that are used for request/"
"response headers and metadata versus *byte strings* which are used for the "
"bodies of requests and responses."
msgstr ""
#: whatsnew/3.2.rst:394
msgid ""
"The *native strings* are always of type :class:`str` but are restricted to "
"code points between *U+0000* through *U+00FF* which are translatable to "
"bytes using *Latin-1* encoding. These strings are used for the keys and "
"values in the environment dictionary and for response headers and statuses "
"in the :func:`start_response` function. They must follow :rfc:`2616` with "
"respect to encoding. That is, they must either be *ISO-8859-1* characters or "
"use :rfc:`2047` MIME encoding."
msgstr ""
#: whatsnew/3.2.rst:402
msgid ""
"For developers porting WSGI applications from Python 2, here are the salient "
"points:"
msgstr ""
#: whatsnew/3.2.rst:405
msgid ""
"If the app already used strings for headers in Python 2, no change is needed."
msgstr ""
#: whatsnew/3.2.rst:407
msgid ""
"If instead, the app encoded output headers or decoded input headers, then "
"the headers will need to be re-encoded to Latin-1. For example, an output "
"header encoded in utf-8 was using ``h.encode('utf-8')`` now needs to convert "
"from bytes to native strings using ``h.encode('utf-8').decode('latin-1')``."
msgstr ""
#: whatsnew/3.2.rst:412
msgid ""
"Values yielded by an application or sent using the :meth:`write` method must "
"be byte strings. The :func:`start_response` function and environ must use "
"native strings. The two cannot be mixed."
msgstr ""
#: whatsnew/3.2.rst:416
msgid ""
"For server implementers writing CGI-to-WSGI pathways or other CGI-style "
"protocols, the users must to be able access the environment using native "
"strings even though the underlying platform may have a different "
"convention. To bridge this gap, the :mod:`wsgiref` module has a new "
"function, :func:`wsgiref.handlers.read_environ` for transcoding CGI "
"variables from :attr:`os.environ` into native strings and returning a new "
"dictionary."
msgstr ""
#: whatsnew/3.2.rst:425
msgid "PEP 3333 - Python Web Server Gateway Interface v1.0.1"
msgstr ""
#: whatsnew/3.2.rst:426
msgid "PEP written by Phillip Eby."
msgstr ""
#: whatsnew/3.2.rst:434
msgid ""
"String formatting for :func:`format` and :meth:`str.format` gained new "
"capabilities for the format character **#**. Previously, for integers in "
"binary, octal, or hexadecimal, it caused the output to be prefixed with "
"'0b', '0o', or '0x' respectively. Now it can also handle floats, complex, "
"and Decimal, causing the output to always have a decimal point even when no "
"digits follow it."
msgstr ""
#: whatsnew/3.2.rst:446
msgid ""
"(Suggested by Mark Dickinson and implemented by Eric Smith in :issue:`7094`.)"
msgstr ""
#: whatsnew/3.2.rst:448
msgid ""
"There is also a new :meth:`str.format_map` method that extends the "
"capabilities of the existing :meth:`str.format` method by accepting "
"arbitrary :term:`mapping` objects. This new method makes it possible to use "
"string formatting with any of Python's many dictionary-like objects such as :"
"class:`~collections.defaultdict`, :class:`~shelve.Shelf`, :class:"
"`~configparser.ConfigParser`, or :mod:`dbm`. It is also useful with custom :"
"class:`dict` subclasses that normalize keys before look-up or that supply a :"
"meth:`__missing__` method for unknown keys::"
msgstr ""
#: whatsnew/3.2.rst:475
msgid ""
"(Suggested by Raymond Hettinger and implemented by Eric Smith in :issue:"
"`6081`.)"
msgstr ""
#: whatsnew/3.2.rst:478
msgid ""
"The interpreter can now be started with a quiet option, ``-q``, to prevent "
"the copyright and version information from being displayed in the "
"interactive mode. The option can be introspected using the :attr:`sys."
"flags` attribute::"
msgstr ""
#: whatsnew/3.2.rst:488
#, fuzzy
msgid "(Contributed by Marcin Wojdyr in :issue:`1772833`)."
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:490
msgid ""
"The :func:`hasattr` function works by calling :func:`getattr` and detecting "
"whether an exception is raised. This technique allows it to detect methods "
"created dynamically by :meth:`__getattr__` or :meth:`__getattribute__` which "
"would otherwise be absent from the class dictionary. Formerly, *hasattr* "
"would catch any exception, possibly masking genuine errors. Now, *hasattr* "
"has been tightened to only catch :exc:`AttributeError` and let other "
"exceptions pass through::"
msgstr ""
#: whatsnew/3.2.rst:509
msgid ""
"(Discovered by Yury Selivanov and fixed by Benjamin Peterson; :issue:`9666`.)"
msgstr ""
#: whatsnew/3.2.rst:511
msgid ""
"The :func:`str` of a float or complex number is now the same as its :func:"
"`repr`. Previously, the :func:`str` form was shorter but that just caused "
"confusion and is no longer needed now that the shortest possible :func:"
"`repr` is displayed by default:"
msgstr ""
#: whatsnew/3.2.rst:522
msgid "(Proposed and implemented by Mark Dickinson; :issue:`9337`.)"
msgstr ""
#: whatsnew/3.2.rst:524
msgid ""
":class:`memoryview` objects now have a :meth:`~memoryview.release()` method "
"and they also now support the context management protocol. This allows "
"timely release of any resources that were acquired when requesting a buffer "
"from the original object."
msgstr ""
#: whatsnew/3.2.rst:533
#, fuzzy
msgid "(Added by Antoine Pitrou; :issue:`9757`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:535
msgid ""
"Previously it was illegal to delete a name from the local namespace if it "
"occurs as a free variable in a nested block::"
msgstr ""
#: whatsnew/3.2.rst:544
msgid ""
"This is now allowed. Remember that the target of an :keyword:`except` "
"clause is cleared, so this code which used to work with Python 2.6, raised "
"a :exc:`SyntaxError` with Python 3.1 and now works again::"
msgstr ""
#: whatsnew/3.2.rst:557
msgid "(See :issue:`4617`.)"
msgstr ""
#: whatsnew/3.2.rst:559
msgid ""
"The internal :c:type:`structsequence` tool now creates subclasses of tuple. "
"This means that C structures like those returned by :func:`os.stat`, :func:"
"`time.gmtime`, and :attr:`sys.version_info` now work like a :term:`named "
"tuple` and now work with functions and methods that expect a tuple as an "
"argument. This is a big step forward in making the C structures as flexible "
"as their pure Python counterparts:"
msgstr ""
#: whatsnew/3.2.rst:571
msgid ""
"(Suggested by Arfrever Frehtes Taifersar Arahesis and implemented by "
"Benjamin Peterson in :issue:`8413`.)"
msgstr ""
#: whatsnew/3.2.rst:574
msgid ""
"Warnings are now easier to control using the :envvar:`PYTHONWARNINGS` "
"environment variable as an alternative to using ``-W`` at the command line::"
msgstr ""
#: whatsnew/3.2.rst:579
msgid ""
"(Suggested by Barry Warsaw and implemented by Philip Jenvey in :issue:"
"`7301`.)"
msgstr ""
#: whatsnew/3.2.rst:581
msgid ""
"A new warning category, :exc:`ResourceWarning`, has been added. It is "
"emitted when potential issues with resource consumption or cleanup are "
"detected. It is silenced by default in normal release builds but can be "
"enabled through the means provided by the :mod:`warnings` module, or on the "
"command line."
msgstr ""
#: whatsnew/3.2.rst:587
msgid ""
"A :exc:`ResourceWarning` is issued at interpreter shutdown if the :data:`gc."
"garbage` list isn't empty, and if :attr:`gc.DEBUG_UNCOLLECTABLE` is set, all "
"uncollectable objects are printed. This is meant to make the programmer "
"aware that their code contains object finalization issues."
msgstr ""
#: whatsnew/3.2.rst:592
msgid ""
"A :exc:`ResourceWarning` is also issued when a :term:`file object` is "
"destroyed without having been explicitly closed. While the deallocator for "
"such object ensures it closes the underlying operating system resource "
"(usually, a file descriptor), the delay in deallocating the object could "
"produce various issues, especially under Windows. Here is an example of "
"enabling the warning from the command line::"
msgstr ""
#: whatsnew/3.2.rst:604
msgid ""
"(Added by Antoine Pitrou and Georg Brandl in :issue:`10093` and :issue:"
"`477863`.)"
msgstr ""
#: whatsnew/3.2.rst:606
msgid ""
":class:`range` objects now support *index* and *count* methods. This is part "
"of an effort to make more objects fully implement the :class:`collections."
"Sequence` :term:`abstract base class`. As a result, the language will have "
"a more uniform API. In addition, :class:`range` objects now support slicing "
"and negative indices, even with values larger than :attr:`sys.maxsize`. "
"This makes *range* more interoperable with lists::"
msgstr ""
#: whatsnew/3.2.rst:622
msgid ""
"(Contributed by Daniel Stutzbach in :issue:`9213`, by Alexander Belopolsky "
"in :issue:`2690`, and by Nick Coghlan in :issue:`10889`.)"
msgstr ""
#: whatsnew/3.2.rst:625
msgid ""
"The :func:`callable` builtin function from Py2.x was resurrected. It "
"provides a concise, readable alternative to using an :term:`abstract base "
"class` in an expression like ``isinstance(x, collections.Callable)``:"
msgstr ""
#: whatsnew/3.2.rst:634
msgid "(See :issue:`10518`.)"
msgstr ""
#: whatsnew/3.2.rst:636
msgid ""
"Python's import mechanism can now load modules installed in directories with "
"non-ASCII characters in the path name. This solved an aggravating problem "
"with home directories for users with non-ASCII characters in their usernames."
msgstr ""
#: whatsnew/3.2.rst:640
msgid "(Required extensive work by Victor Stinner in :issue:`9425`.)"
msgstr ""
#: whatsnew/3.2.rst:646
msgid ""
"Python's standard library has undergone significant maintenance efforts and "
"quality improvements."
msgstr ""
#: whatsnew/3.2.rst:649
msgid ""
"The biggest news for Python 3.2 is that the :mod:`email` package, :mod:"
"`mailbox` module, and :mod:`nntplib` modules now work correctly with the "
"bytes/text model in Python 3. For the first time, there is correct handling "
"of messages with mixed encodings."
msgstr ""
#: whatsnew/3.2.rst:654
msgid ""
"Throughout the standard library, there has been more careful attention to "
"encodings and text versus bytes issues. In particular, interactions with "
"the operating system are now better able to exchange non-ASCII data using "
"the Windows MBCS encoding, locale-aware encodings, or UTF-8."
msgstr ""
#: whatsnew/3.2.rst:659
msgid ""
"Another significant win is the addition of substantially better support for "
"*SSL* connections and security certificates."
msgstr ""
#: whatsnew/3.2.rst:662
msgid ""
"In addition, more classes now implement a :term:`context manager` to support "
"convenient and reliable resource clean-up using a :keyword:`with` statement."
msgstr ""
#: whatsnew/3.2.rst:666 whatsnew/3.3.rst:1191 whatsnew/3.4.rst:793
#: whatsnew/3.5.rst:1052
msgid "email"
msgstr ""
#: whatsnew/3.2.rst:668
msgid ""
"The usability of the :mod:`email` package in Python 3 has been mostly fixed "
"by the extensive efforts of R. David Murray. The problem was that emails "
"are typically read and stored in the form of :class:`bytes` rather than :"
"class:`str` text, and they may contain multiple encodings within a single "
"email. So, the email package had to be extended to parse and generate email "
"messages in bytes format."
msgstr ""
#: whatsnew/3.2.rst:675
msgid ""
"New functions :func:`~email.message_from_bytes` and :func:`~email."
"message_from_binary_file`, and new classes :class:`~email.parser."
"BytesFeedParser` and :class:`~email.parser.BytesParser` allow binary message "
"data to be parsed into model objects."
msgstr ""
#: whatsnew/3.2.rst:680
msgid ""
"Given bytes input to the model, :meth:`~email.message.Message.get_payload` "
"will by default decode a message body that has a :mailheader:`Content-"
"Transfer-Encoding` of *8bit* using the charset specified in the MIME headers "
"and return the resulting string."
msgstr ""
#: whatsnew/3.2.rst:685
msgid ""
"Given bytes input to the model, :class:`~email.generator.Generator` will "
"convert message bodies that have a :mailheader:`Content-Transfer-Encoding` "
"of *8bit* to instead have a *7bit* :mailheader:`Content-Transfer-Encoding`."
msgstr ""
#: whatsnew/3.2.rst:689
msgid ""
"Headers with unencoded non-ASCII bytes are deemed to be :rfc:`2047`\\ -"
"encoded using the *unknown-8bit* character set."
msgstr ""
#: whatsnew/3.2.rst:692
msgid ""
"A new class :class:`~email.generator.BytesGenerator` produces bytes as "
"output, preserving any unchanged non-ASCII data that was present in the "
"input used to build the model, including message bodies with a :mailheader:"
"`Content-Transfer-Encoding` of *8bit*."
msgstr ""
#: whatsnew/3.2.rst:697
msgid ""
"The :mod:`smtplib` :class:`~smtplib.SMTP` class now accepts a byte string "
"for the *msg* argument to the :meth:`~smtplib.SMTP.sendmail` method, and a "
"new method, :meth:`~smtplib.SMTP.send_message` accepts a :class:`~email."
"message.Message` object and can optionally obtain the *from_addr* and "
"*to_addrs* addresses directly from the object."
msgstr ""
#: whatsnew/3.2.rst:703
msgid ""
"(Proposed and implemented by R. David Murray, :issue:`4661` and :issue:"
"`10321`.)"
msgstr ""
#: whatsnew/3.2.rst:706
msgid "elementtree"
msgstr ""
#: whatsnew/3.2.rst:708
msgid ""
"The :mod:`xml.etree.ElementTree` package and its :mod:`xml.etree."
"cElementTree` counterpart have been updated to version 1.3."
msgstr ""
#: whatsnew/3.2.rst:711
msgid "Several new and useful functions and methods have been added:"
msgstr ""
#: whatsnew/3.2.rst:713
msgid ""
":func:`xml.etree.ElementTree.fromstringlist` which builds an XML document "
"from a sequence of fragments"
msgstr ""
#: whatsnew/3.2.rst:715
msgid ""
":func:`xml.etree.ElementTree.register_namespace` for registering a global "
"namespace prefix"
msgstr ""
#: whatsnew/3.2.rst:717
msgid ""
":func:`xml.etree.ElementTree.tostringlist` for string representation "
"including all sublists"
msgstr ""
#: whatsnew/3.2.rst:719
msgid ""
":meth:`xml.etree.ElementTree.Element.extend` for appending a sequence of "
"zero or more elements"
msgstr ""
#: whatsnew/3.2.rst:721
msgid ""
":meth:`xml.etree.ElementTree.Element.iterfind` searches an element and "
"subelements"
msgstr ""
#: whatsnew/3.2.rst:723
msgid ""
":meth:`xml.etree.ElementTree.Element.itertext` creates a text iterator over "
"an element and its subelements"
msgstr ""
#: whatsnew/3.2.rst:725
msgid ""
":meth:`xml.etree.ElementTree.TreeBuilder.end` closes the current element"
msgstr ""
#: whatsnew/3.2.rst:726
msgid ""
":meth:`xml.etree.ElementTree.TreeBuilder.doctype` handles a doctype "
"declaration"
msgstr ""
#: whatsnew/3.2.rst:729
msgid "Two methods have been deprecated:"
msgstr ""
#: whatsnew/3.2.rst:731
msgid ":meth:`xml.etree.ElementTree.getchildren` use ``list(elem)`` instead."
msgstr ""
#: whatsnew/3.2.rst:732
msgid ":meth:`xml.etree.ElementTree.getiterator` use ``Element.iter`` instead."
msgstr ""
#: whatsnew/3.2.rst:734
msgid ""
"For details of the update, see `Introducing ElementTree <http://effbot.org/"
"zone/elementtree-13-intro.htm>`_ on Fredrik Lundh's website."
msgstr ""
#: whatsnew/3.2.rst:737
#, fuzzy
msgid "(Contributed by Florent Xicluna and Fredrik Lundh, :issue:`6472`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:740 whatsnew/3.3.rst:1387 whatsnew/3.4.rst:851
#: whatsnew/3.5.rst:1104
msgid "functools"
msgstr ""
#: whatsnew/3.2.rst:742
msgid ""
"The :mod:`functools` module includes a new decorator for caching function "
"calls. :func:`functools.lru_cache` can save repeated queries to an external "
"resource whenever the results are expected to be the same."
msgstr ""
#: whatsnew/3.2.rst:746
msgid ""
"For example, adding a caching decorator to a database query function can "
"save database accesses for popular searches:"
msgstr ""
#: whatsnew/3.2.rst:759
msgid ""
"To help with choosing an effective cache size, the wrapped function is "
"instrumented for tracking cache statistics:"
msgstr ""
#: whatsnew/3.2.rst:765
msgid ""
"If the phonelist table gets updated, the outdated contents of the cache can "
"be cleared with:"
msgstr ""
#: whatsnew/3.2.rst:770
msgid ""
"(Contributed by Raymond Hettinger and incorporating design ideas from Jim "
"Baker, Miki Tebeka, and Nick Coghlan; see `recipe 498245 <http://code."
"activestate.com/recipes/498245>`_\\, `recipe 577479 <http://code.activestate."
"com/recipes/577479>`_\\, :issue:`10586`, and :issue:`10593`.)"
msgstr ""
#: whatsnew/3.2.rst:776
msgid ""
"The :func:`functools.wraps` decorator now adds a :attr:`__wrapped__` "
"attribute pointing to the original callable function. This allows wrapped "
"functions to be introspected. It also copies :attr:`__annotations__` if "
"defined. And now it also gracefully skips over missing attributes such as :"
"attr:`__doc__` which might not be defined for the wrapped callable."
msgstr ""
#: whatsnew/3.2.rst:782
msgid ""
"In the above example, the cache can be removed by recovering the original "
"function:"
msgstr ""
#: whatsnew/3.2.rst:787
msgid ""
"(By Nick Coghlan and Terrence Cole; :issue:`9567`, :issue:`3445`, and :issue:"
"`8814`.)"
msgstr ""
#: whatsnew/3.2.rst:790
msgid ""
"To help write classes with rich comparison methods, a new decorator :func:"
"`functools.total_ordering` will use existing equality and inequality methods "
"to fill in the remaining methods."
msgstr ""
#: whatsnew/3.2.rst:794
msgid ""
"For example, supplying *__eq__* and *__lt__* will enable :func:`~functools."
"total_ordering` to fill-in *__le__*, *__gt__* and *__ge__*::"
msgstr ""
#: whatsnew/3.2.rst:806
msgid ""
"With the *total_ordering* decorator, the remaining comparison methods are "
"filled in automatically."
msgstr ""
#: whatsnew/3.2.rst:811
msgid ""
"To aid in porting programs from Python 2, the :func:`functools.cmp_to_key` "
"function converts an old-style comparison function to modern :term:`key "
"function`:"
msgstr ""
#: whatsnew/3.2.rst:818
msgid ""
"For sorting examples and a brief sorting tutorial, see the `Sorting HowTo "
"<https://wiki.python.org/moin/HowTo/Sorting/>`_ tutorial."
msgstr ""
#: whatsnew/3.2.rst:824 whatsnew/3.3.rst:1491
msgid "itertools"
msgstr ""
#: whatsnew/3.2.rst:826
msgid ""
"The :mod:`itertools` module has a new :func:`~itertools.accumulate` function "
"modeled on APL's *scan* operator and Numpy's *accumulate* function:"
msgstr ""
#: whatsnew/3.2.rst:837
msgid ""
"For an example using :func:`~itertools.accumulate`, see the :ref:`examples "
"for the random module <random-examples>`."
msgstr ""
#: whatsnew/3.2.rst:840
msgid ""
"(Contributed by Raymond Hettinger and incorporating design suggestions from "
"Mark Dickinson.)"
msgstr ""
#: whatsnew/3.2.rst:844 whatsnew/3.3.rst:1017 whatsnew/3.4.rst:662
#: whatsnew/3.5.rst:857
msgid "collections"
msgstr ""
#: whatsnew/3.2.rst:846
msgid ""
"The :class:`collections.Counter` class now has two forms of in-place "
"subtraction, the existing *-=* operator for `saturating subtraction <http://"
"en.wikipedia.org/wiki/Saturation_arithmetic>`_ and the new :meth:"
"`~collections.Counter.subtract` method for regular subtraction. The former "
"is suitable for `multisets <http://en.wikipedia.org/wiki/Multiset>`_ which "
"only have positive counts, and the latter is more suitable for use cases "
"that allow negative counts:"
msgstr ""
#: whatsnew/3.2.rst:866
msgid ""
"The :class:`collections.OrderedDict` class has a new method :meth:"
"`~collections.OrderedDict.move_to_end` which takes an existing key and moves "
"it to either the first or last position in the ordered sequence."
msgstr ""
#: whatsnew/3.2.rst:870
msgid ""
"The default is to move an item to the last position. This is equivalent of "
"renewing an entry with ``od[k] = od.pop(k)``."
msgstr ""
#: whatsnew/3.2.rst:873
msgid ""
"A fast move-to-end operation is useful for resequencing entries. For "
"example, an ordered dictionary can be used to track order of access by aging "
"entries from the oldest to the most recently accessed."
msgstr ""
#: whatsnew/3.2.rst:886
msgid ""
"The :class:`collections.deque` class grew two new methods :meth:"
"`~collections.deque.count` and :meth:`~collections.deque.reverse` that make "
"them more substitutable for :class:`list` objects:"
msgstr ""
#: whatsnew/3.2.rst:900 whatsnew/3.3.rst:2033 whatsnew/3.4.rst:1595
#: whatsnew/3.5.rst:1864
msgid "threading"
msgstr ""
#: whatsnew/3.2.rst:902
msgid ""
"The :mod:`threading` module has a new :class:`~threading.Barrier` "
"synchronization class for making multiple threads wait until all of them "
"have reached a common barrier point. Barriers are useful for making sure "
"that a task with multiple preconditions does not run until all of the "
"predecessor tasks are complete."
msgstr ""
#: whatsnew/3.2.rst:908
msgid ""
"Barriers can work with an arbitrary number of threads. This is a "
"generalization of a `Rendezvous <http://en.wikipedia.org/wiki/"
"Synchronous_rendezvous>`_ which is defined for only two threads."
msgstr ""
#: whatsnew/3.2.rst:912
msgid ""
"Implemented as a two-phase cyclic barrier, :class:`~threading.Barrier` "
"objects are suitable for use in loops. The separate *filling* and "
"*draining* phases assure that all threads get released (drained) before any "
"one of them can loop back and re-enter the barrier. The barrier fully "
"resets after each cycle."
msgstr ""
#: whatsnew/3.2.rst:917
msgid "Example of using barriers::"
msgstr ""
#: whatsnew/3.2.rst:931
msgid ""
"In this example, the barrier enforces a rule that votes cannot be counted at "
"any polling site until all polls are closed. Notice how a solution with a "
"barrier is similar to one with :meth:`threading.Thread.join`, but the "
"threads stay alive and continue to do work (summarizing ballots) after the "
"barrier point is crossed."
msgstr ""
#: whatsnew/3.2.rst:937
msgid ""
"If any of the predecessor tasks can hang or be delayed, a barrier can be "
"created with an optional *timeout* parameter. Then if the timeout period "
"elapses before all the predecessor tasks reach the barrier point, all "
"waiting threads are released and a :exc:`~threading.BrokenBarrierError` "
"exception is raised::"
msgstr ""
#: whatsnew/3.2.rst:953
msgid ""
"In this example, the barrier enforces a more robust rule. If some election "
"sites do not finish before midnight, the barrier times-out and the ballots "
"are sealed and deposited in a queue for later handling."
msgstr ""
#: whatsnew/3.2.rst:957
msgid ""
"See `Barrier Synchronization Patterns <http://parlab.eecs.berkeley.edu/wiki/"
"_media/patterns/paraplop_g1_3.pdf>`_ for more examples of how barriers can "
"be used in parallel computing. Also, there is a simple but thorough "
"explanation of barriers in `The Little Book of Semaphores <http://"
"greenteapress.com/semaphores/downey08semaphores.pdf>`_, *section 3.6*."
msgstr ""
#: whatsnew/3.2.rst:963
msgid ""
"(Contributed by Kristján Valur Jónsson with an API review by Jeffrey Yasskin "
"in :issue:`8777`.)"
msgstr ""
#: whatsnew/3.2.rst:967
msgid "datetime and time"
msgstr ""
#: whatsnew/3.2.rst:969
msgid ""
"The :mod:`datetime` module has a new type :class:`~datetime.timezone` that "
"implements the :class:`~datetime.tzinfo` interface by returning a fixed UTC "
"offset and timezone name. This makes it easier to create timezone-aware "
"datetime objects::"
msgstr ""
#: whatsnew/3.2.rst:982
msgid ""
"Also, :class:`~datetime.timedelta` objects can now be multiplied by :class:"
"`float` and divided by :class:`float` and :class:`int` objects. And :class:"
"`~datetime.timedelta` objects can now divide one another."
msgstr ""
#: whatsnew/3.2.rst:986
msgid ""
"The :meth:`datetime.date.strftime` method is no longer restricted to years "
"after 1900. The new supported year range is from 1000 to 9999 inclusive."
msgstr ""
#: whatsnew/3.2.rst:989
msgid ""
"Whenever a two-digit year is used in a time tuple, the interpretation has "
"been governed by :attr:`time.accept2dyear`. The default is *True* which "
"means that for a two-digit year, the century is guessed according to the "
"POSIX rules governing the ``%y`` strptime format."
msgstr ""
#: whatsnew/3.2.rst:994
msgid ""
"Starting with Py3.2, use of the century guessing heuristic will emit a :exc:"
"`DeprecationWarning`. Instead, it is recommended that :attr:`time."
"accept2dyear` be set to *False* so that large date ranges can be used "
"without guesswork::"
msgstr ""
#: whatsnew/3.2.rst:1013
msgid ""
"Several functions now have significantly expanded date ranges. When :attr:"
"`time.accept2dyear` is false, the :func:`time.asctime` function will accept "
"any year that fits in a C int, while the :func:`time.mktime` and :func:`time."
"strftime` functions will accept the full range supported by the "
"corresponding operating system functions."
msgstr ""
#: whatsnew/3.2.rst:1019
msgid ""
"(Contributed by Alexander Belopolsky and Victor Stinner in :issue:"
"`1289118`, :issue:`5094`, :issue:`6641`, :issue:`2706`, :issue:`1777412`, :"
"issue:`8013`, and :issue:`10827`.)"
msgstr ""
#: whatsnew/3.2.rst:1026 whatsnew/3.3.rst:1511 whatsnew/3.5.rst:1402
msgid "math"
msgstr ""
#: whatsnew/3.2.rst:1028
msgid ""
"The :mod:`math` module has been updated with six new functions inspired by "
"the C99 standard."
msgstr ""
#: whatsnew/3.2.rst:1031
msgid ""
"The :func:`~math.isfinite` function provides a reliable and fast way to "
"detect special values. It returns *True* for regular numbers and *False* "
"for *Nan* or *Infinity*:"
msgstr ""
#: whatsnew/3.2.rst:1038
msgid ""
"The :func:`~math.expm1` function computes ``e**x-1`` for small values of *x* "
"without incurring the loss of precision that usually accompanies the "
"subtraction of nearly equal quantities:"
msgstr ""
#: whatsnew/3.2.rst:1045
msgid ""
"The :func:`~math.erf` function computes a probability integral or `Gaussian "
"error function <http://en.wikipedia.org/wiki/Error_function>`_. The "
"complementary error function, :func:`~math.erfc`, is ``1 - erf(x)``:"
msgstr ""
#: whatsnew/3.2.rst:1056
msgid ""
"The :func:`~math.gamma` function is a continuous extension of the factorial "
"function. See http://en.wikipedia.org/wiki/Gamma_function for details. "
"Because the function is related to factorials, it grows large even for small "
"values of *x*, so there is also a :func:`~math.lgamma` function for "
"computing the natural logarithm of the gamma function:"
msgstr ""
#: whatsnew/3.2.rst:1067
msgid "(Contributed by Mark Dickinson.)"
msgstr ""
#: whatsnew/3.2.rst:1070 whatsnew/3.3.rst:910 whatsnew/3.4.rst:593
msgid "abc"
msgstr ""
#: whatsnew/3.2.rst:1072
msgid ""
"The :mod:`abc` module now supports :func:`~abc.abstractclassmethod` and :"
"func:`~abc.abstractstaticmethod`."
msgstr ""
#: whatsnew/3.2.rst:1075
msgid ""
"These tools make it possible to define an :term:`abstract base class` that "
"requires a particular :func:`classmethod` or :func:`staticmethod` to be "
"implemented::"
msgstr ""
#: whatsnew/3.2.rst:1087
msgid "(Patch submitted by Daniel Urban; :issue:`5867`.)"
msgstr ""
#: whatsnew/3.2.rst:1090 whatsnew/3.3.rst:1475 whatsnew/3.5.rst:1282
msgid "io"
msgstr ""
#: whatsnew/3.2.rst:1092
msgid ""
"The :class:`io.BytesIO` has a new method, :meth:`~io.BytesIO.getbuffer`, "
"which provides functionality similar to :func:`memoryview`. It creates an "
"editable view of the data without making a copy. The buffer's random access "
"and support for slice notation are well-suited to in-place editing::"
msgstr ""
#: whatsnew/3.2.rst:1118
#, fuzzy
msgid "(Contributed by Antoine Pitrou in :issue:`5506`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1123
msgid ""
"When writing a :meth:`__repr__` method for a custom container, it is easy to "
"forget to handle the case where a member refers back to the container "
"itself. Python's builtin objects such as :class:`list` and :class:`set` "
"handle self-reference by displaying \"...\" in the recursive part of the "
"representation string."
msgstr ""
#: whatsnew/3.2.rst:1129
msgid ""
"To help write such :meth:`__repr__` methods, the :mod:`reprlib` module has a "
"new decorator, :func:`~reprlib.recursive_repr`, for detecting recursive "
"calls to :meth:`__repr__` and substituting a placeholder string instead::"
msgstr ""
#: whatsnew/3.2.rst:1144
#, fuzzy
msgid "(Contributed by Raymond Hettinger in :issue:`9826` and :issue:`9840`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1147 whatsnew/3.3.rst:1498 whatsnew/3.4.rst:1073
#: whatsnew/3.5.rst:1364
msgid "logging"
msgstr ""
#: whatsnew/3.2.rst:1149
msgid ""
"In addition to dictionary-based configuration described above, the :mod:"
"`logging` package has many other improvements."
msgstr ""
#: whatsnew/3.2.rst:1152
msgid ""
"The logging documentation has been augmented by a :ref:`basic tutorial "
"<logging-basic-tutorial>`\\, an :ref:`advanced tutorial <logging-advanced-"
"tutorial>`\\, and a :ref:`cookbook <logging-cookbook>` of logging recipes. "
"These documents are the fastest way to learn about logging."
msgstr ""
#: whatsnew/3.2.rst:1157
msgid ""
"The :func:`logging.basicConfig` set-up function gained a *style* argument to "
"support three different types of string formatting. It defaults to \"%\" "
"for traditional %-formatting, can be set to \"{\" for the new :meth:`str."
"format` style, or can be set to \"$\" for the shell-style formatting "
"provided by :class:`string.Template`. The following three configurations "
"are equivalent::"
msgstr ""
#: whatsnew/3.2.rst:1168
msgid ""
"If no configuration is set-up before a logging event occurs, there is now a "
"default configuration using a :class:`~logging.StreamHandler` directed to :"
"attr:`sys.stderr` for events of ``WARNING`` level or higher. Formerly, an "
"event occurring before a configuration was set-up would either raise an "
"exception or silently drop the event depending on the value of :attr:"
"`logging.raiseExceptions`. The new default handler is stored in :attr:"
"`logging.lastResort`."
msgstr ""
#: whatsnew/3.2.rst:1176
msgid ""
"The use of filters has been simplified. Instead of creating a :class:"
"`~logging.Filter` object, the predicate can be any Python callable that "
"returns *True* or *False*."
msgstr ""
#: whatsnew/3.2.rst:1180
msgid ""
"There were a number of other improvements that add flexibility and simplify "
"configuration. See the module documentation for a full listing of changes "
"in Python 3.2."
msgstr ""
#: whatsnew/3.2.rst:1185 whatsnew/3.5.rst:995
msgid "csv"
msgstr ""
#: whatsnew/3.2.rst:1187
msgid ""
"The :mod:`csv` module now supports a new dialect, :class:`~csv."
"unix_dialect`, which applies quoting for all fields and a traditional Unix "
"style with ``'\\n'`` as the line terminator. The registered dialect name is "
"``unix``."
msgstr ""
#: whatsnew/3.2.rst:1191
msgid ""
"The :class:`csv.DictWriter` has a new method, :meth:`~csv.DictWriter."
"writeheader` for writing-out an initial row to document the field names::"
msgstr ""
#: whatsnew/3.2.rst:1205
msgid ""
"(New dialect suggested by Jay Talbot in :issue:`5975`, and the new method "
"suggested by Ed Abraham in :issue:`1537721`.)"
msgstr ""
#: whatsnew/3.2.rst:1209 whatsnew/3.3.rst:1036 whatsnew/3.4.rst:680
#: whatsnew/3.5.rst:976
msgid "contextlib"
msgstr ""
#: whatsnew/3.2.rst:1211
msgid ""
"There is a new and slightly mind-blowing tool :class:`~contextlib."
"ContextDecorator` that is helpful for creating a :term:`context manager` "
"that does double duty as a function decorator."
msgstr ""
#: whatsnew/3.2.rst:1215
msgid ""
"As a convenience, this new functionality is used by :func:`~contextlib."
"contextmanager` so that no extra effort is needed to support both roles."
msgstr ""
#: whatsnew/3.2.rst:1219
msgid ""
"The basic idea is that both context managers and function decorators can be "
"used for pre-action and post-action wrappers. Context managers wrap a group "
"of statements using a :keyword:`with` statement, and function decorators "
"wrap a group of statements enclosed in a function. So, occasionally there "
"is a need to write a pre-action or post-action wrapper that can be used in "
"either role."
msgstr ""
#: whatsnew/3.2.rst:1225
msgid ""
"For example, it is sometimes useful to wrap functions or groups of "
"statements with a logger that can track the time of entry and time of exit. "
"Rather than writing both a function decorator and a context manager for the "
"task, the :func:`~contextlib.contextmanager` provides both capabilities in a "
"single definition::"
msgstr ""
#: whatsnew/3.2.rst:1242
msgid "Formerly, this would have only been usable as a context manager::"
msgstr ""
#: whatsnew/3.2.rst:1248
msgid "Now, it can be used as a decorator as well::"
msgstr ""
#: whatsnew/3.2.rst:1255
msgid ""
"Trying to fulfill two roles at once places some limitations on the "
"technique. Context managers normally have the flexibility to return an "
"argument usable by a :keyword:`with` statement, but there is no parallel for "
"function decorators."
msgstr ""
#: whatsnew/3.2.rst:1259
msgid ""
"In the above example, there is not a clean way for the "
"*track_entry_and_exit* context manager to return a logging instance for use "
"in the body of enclosed statements."
msgstr ""
#: whatsnew/3.2.rst:1263
#, fuzzy
msgid "(Contributed by Michael Foord in :issue:`9110`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1266
msgid "decimal and fractions"
msgstr ""
#: whatsnew/3.2.rst:1268
msgid ""
"Mark Dickinson crafted an elegant and efficient scheme for assuring that "
"different numeric datatypes will have the same hash value whenever their "
"actual values are equal (:issue:`8188`)::"
msgstr ""
#: whatsnew/3.2.rst:1275
msgid ""
"Some of the hashing details are exposed through a new attribute, :attr:`sys."
"hash_info`, which describes the bit width of the hash value, the prime "
"modulus, the hash values for *infinity* and *nan*, and the multiplier used "
"for the imaginary part of a number:"
msgstr ""
#: whatsnew/3.2.rst:1283
msgid ""
"An early decision to limit the inter-operability of various numeric types "
"has been relaxed. It is still unsupported (and ill-advised) to have "
"implicit mixing in arithmetic expressions such as ``Decimal('1.1') + "
"float('1.1')`` because the latter loses information in the process of "
"constructing the binary float. However, since existing floating point value "
"can be converted losslessly to either a decimal or rational representation, "
"it makes sense to add them to the constructor and to support mixed-type "
"comparisons."
msgstr ""
#: whatsnew/3.2.rst:1291
msgid ""
"The :class:`decimal.Decimal` constructor now accepts :class:`float` objects "
"directly so there in no longer a need to use the :meth:`~decimal.Decimal."
"from_float` method (:issue:`8257`)."
msgstr ""
#: whatsnew/3.2.rst:1295
msgid ""
"Mixed type comparisons are now fully supported so that :class:`~decimal."
"Decimal` objects can be directly compared with :class:`float` and :class:"
"`fractions.Fraction` (:issue:`2531` and :issue:`8188`)."
msgstr ""
#: whatsnew/3.2.rst:1299
msgid ""
"Similar changes were made to :class:`fractions.Fraction` so that the :meth:"
"`~fractions.Fraction.from_float()` and :meth:`~fractions.Fraction."
"from_decimal` methods are no longer needed (:issue:`8294`):"
msgstr ""
#: whatsnew/3.2.rst:1308
msgid ""
"Another useful change for the :mod:`decimal` module is that the :attr:"
"`Context.clamp` attribute is now public. This is useful in creating "
"contexts that correspond to the decimal interchange formats specified in "
"IEEE 754 (see :issue:`8540`)."
msgstr ""
#: whatsnew/3.2.rst:1313
msgid "(Contributed by Mark Dickinson and Raymond Hettinger.)"
msgstr ""
#: whatsnew/3.2.rst:1316
msgid "ftp"
msgstr ""
#: whatsnew/3.2.rst:1318
msgid ""
"The :class:`ftplib.FTP` class now supports the context management protocol "
"to unconditionally consume :exc:`socket.error` exceptions and to close the "
"FTP connection when done::"
msgstr ""
#: whatsnew/3.2.rst:1333
msgid ""
"Other file-like objects such as :class:`mmap.mmap` and :func:`fileinput."
"input` also grew auto-closing context managers::"
msgstr ""
#: whatsnew/3.2.rst:1340
msgid ""
"(Contributed by Tarek Ziadé and Giampaolo Rodolà in :issue:`4972`, and by "
"Georg Brandl in :issue:`8046` and :issue:`1286`.)"
msgstr ""
#: whatsnew/3.2.rst:1343
msgid ""
"The :class:`~ftplib.FTP_TLS` class now accepts a *context* parameter, which "
"is a :class:`ssl.SSLContext` object allowing bundling SSL configuration "
"options, certificates and private keys into a single (potentially long-"
"lived) structure."
msgstr ""
#: whatsnew/3.2.rst:1347
#, fuzzy
msgid "(Contributed by Giampaolo Rodolà; :issue:`8806`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1350
msgid "popen"
msgstr ""
#: whatsnew/3.2.rst:1352
msgid ""
"The :func:`os.popen` and :func:`subprocess.Popen` functions now support :"
"keyword:`with` statements for auto-closing of the file descriptors."
msgstr ""
#: whatsnew/3.2.rst:1355
#, fuzzy
msgid ""
"(Contributed by Antoine Pitrou and Brian Curtin in :issue:`7461` and :issue:"
"`10554`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1359 whatsnew/3.3.rst:1768 whatsnew/3.4.rst:1338
msgid "select"
msgstr ""
#: whatsnew/3.2.rst:1361
msgid ""
"The :mod:`select` module now exposes a new, constant attribute, :attr:"
"`~select.PIPE_BUF`, which gives the minimum number of bytes which are "
"guaranteed not to block when :func:`select.select` says a pipe is ready for "
"writing."
msgstr ""
#: whatsnew/3.2.rst:1370
msgid "(Available on Unix systems. Patch by Sébastien Sablé in :issue:`9862`)"
msgstr ""
#: whatsnew/3.2.rst:1373
msgid "gzip and zipfile"
msgstr ""
#: whatsnew/3.2.rst:1375
msgid ""
":class:`gzip.GzipFile` now implements the :class:`io.BufferedIOBase` :term:"
"`abstract base class` (except for ``truncate()``). It also has a :meth:"
"`~gzip.GzipFile.peek` method and supports unseekable as well as zero-padded "
"file objects."
msgstr ""
#: whatsnew/3.2.rst:1380
msgid ""
"The :mod:`gzip` module also gains the :func:`~gzip.compress` and :func:"
"`~gzip.decompress` functions for easier in-memory compression and "
"decompression. Keep in mind that text needs to be encoded as :class:`bytes` "
"before compressing and decompressing:"
msgstr ""
#: whatsnew/3.2.rst:1396
msgid ""
"(Contributed by Anand B. Pillai in :issue:`3488`; and by Antoine Pitrou, Nir "
"Aides and Brian Curtin in :issue:`9962`, :issue:`1675951`, :issue:`7471` "
"and :issue:`2846`.)"
msgstr ""
#: whatsnew/3.2.rst:1400
msgid ""
"Also, the :class:`zipfile.ZipExtFile` class was reworked internally to "
"represent files stored inside an archive. The new implementation is "
"significantly faster and can be wrapped in an :class:`io.BufferedReader` "
"object for more speedups. It also solves an issue where interleaved calls "
"to *read* and *readline* gave the wrong results."
msgstr ""
#: whatsnew/3.2.rst:1406
msgid "(Patch submitted by Nir Aides in :issue:`7610`.)"
msgstr ""
#: whatsnew/3.2.rst:1409 whatsnew/3.3.rst:2010 whatsnew/3.4.rst:1573
#: whatsnew/3.5.rst:1844
msgid "tarfile"
msgstr ""
#: whatsnew/3.2.rst:1411
msgid ""
"The :class:`~tarfile.TarFile` class can now be used as a context manager. "
"In addition, its :meth:`~tarfile.TarFile.add` method has a new option, "
"*filter*, that controls which files are added to the archive and allows the "
"file metadata to be edited."
msgstr ""
#: whatsnew/3.2.rst:1416
msgid ""
"The new *filter* option replaces the older, less flexible *exclude* "
"parameter which is now deprecated. If specified, the optional *filter* "
"parameter needs to be a :term:`keyword argument`. The user-supplied filter "
"function accepts a :class:`~tarfile.TarInfo` object and returns an updated :"
"class:`~tarfile.TarInfo` object, or if it wants the file to be excluded, the "
"function can return *None*::"
msgstr ""
#: whatsnew/3.2.rst:1440
msgid ""
"(Proposed by Tarek Ziadé and implemented by Lars Gustäbel in :issue:`6856`.)"
msgstr ""
#: whatsnew/3.2.rst:1443 whatsnew/3.4.rst:901
msgid "hashlib"
msgstr ""
#: whatsnew/3.2.rst:1445
msgid ""
"The :mod:`hashlib` module has two new constant attributes listing the "
"hashing algorithms guaranteed to be present in all implementations and those "
"available on the current implementation::"
msgstr ""
#: whatsnew/3.2.rst:1460
msgid "(Suggested by Carl Chenet in :issue:`7418`.)"
msgstr ""
#: whatsnew/3.2.rst:1463
msgid "ast"
msgstr ""
#: whatsnew/3.2.rst:1465
msgid ""
"The :mod:`ast` module has a wonderful a general-purpose tool for safely "
"evaluating expression strings using the Python literal syntax. The :func:"
"`ast.literal_eval` function serves as a secure alternative to the builtin :"
"func:`eval` function which is easily abused. Python 3.2 adds :class:`bytes` "
"and :class:`set` literals to the list of supported types: strings, bytes, "
"numbers, tuples, lists, dicts, sets, booleans, and None."
msgstr ""
#: whatsnew/3.2.rst:1486
msgid "(Implemented by Benjamin Peterson and Georg Brandl.)"
msgstr ""
#: whatsnew/3.2.rst:1489 whatsnew/3.3.rst:1574 whatsnew/3.4.rst:1171
#: whatsnew/3.5.rst:1436
msgid "os"
msgstr ""
#: whatsnew/3.2.rst:1491
msgid ""
"Different operating systems use various encodings for filenames and "
"environment variables. The :mod:`os` module provides two new functions, :"
"func:`~os.fsencode` and :func:`~os.fsdecode`, for encoding and decoding "
"filenames:"
msgstr ""
#: whatsnew/3.2.rst:1500
msgid ""
"Some operating systems allow direct access to encoded bytes in the "
"environment. If so, the :attr:`os.supports_bytes_environ` constant will be "
"true."
msgstr ""
#: whatsnew/3.2.rst:1504
msgid ""
"For direct access to encoded environment variables (if available), use the "
"new :func:`os.getenvb` function or use :data:`os.environb` which is a bytes "
"version of :data:`os.environ`."
msgstr ""
#: whatsnew/3.2.rst:1508
#, fuzzy
msgid "(Contributed by Victor Stinner.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1511 whatsnew/3.3.rst:1785 whatsnew/3.4.rst:1360
#: whatsnew/3.5.rst:1595
msgid "shutil"
msgstr ""
#: whatsnew/3.2.rst:1513
msgid "The :func:`shutil.copytree` function has two new options:"
msgstr ""
#: whatsnew/3.2.rst:1515
msgid ""
"*ignore_dangling_symlinks*: when ``symlinks=False`` so that the function "
"copies a file pointed to by a symlink, not the symlink itself. This option "
"will silence the error raised if the file doesn't exist."
msgstr ""
#: whatsnew/3.2.rst:1519
msgid ""
"*copy_function*: is a callable that will be used to copy files. :func:"
"`shutil.copy2` is used by default."
msgstr ""
#: whatsnew/3.2.rst:1522 whatsnew/3.2.rst:1560
msgid "(Contributed by Tarek Ziadé.)"
msgstr ""
#: whatsnew/3.2.rst:1524
msgid ""
"In addition, the :mod:`shutil` module now supports :ref:`archiving "
"operations <archiving-operations>` for zipfiles, uncompressed tarfiles, "
"gzipped tarfiles, and bzipped tarfiles. And there are functions for "
"registering additional archiving file formats (such as xz compressed "
"tarfiles or custom formats)."
msgstr ""
#: whatsnew/3.2.rst:1529
msgid ""
"The principal functions are :func:`~shutil.make_archive` and :func:`~shutil."
"unpack_archive`. By default, both operate on the current directory (which "
"can be set by :func:`os.chdir`) and on any sub-directories. The archive "
"filename needs to be specified with a full pathname. The archiving step is "
"non-destructive (the original files are left unchanged)."
msgstr ""
#: whatsnew/3.2.rst:1563 whatsnew/3.3.rst:1915 whatsnew/3.4.rst:1409
#: whatsnew/3.5.rst:1783
msgid "sqlite3"
msgstr ""
#: whatsnew/3.2.rst:1565
msgid ""
"The :mod:`sqlite3` module was updated to pysqlite version 2.6.0. It has two "
"new capabilities."
msgstr ""
#: whatsnew/3.2.rst:1567
msgid ""
"The :attr:`sqlite3.Connection.in_transit` attribute is true if there is an "
"active transaction for uncommitted changes."
msgstr ""
#: whatsnew/3.2.rst:1570
msgid ""
"The :meth:`sqlite3.Connection.enable_load_extension` and :meth:`sqlite3."
"Connection.load_extension` methods allows you to load SQLite extensions from "
"\".so\" files. One well-known extension is the fulltext-search extension "
"distributed with SQLite."
msgstr ""
#: whatsnew/3.2.rst:1575
msgid "(Contributed by R. David Murray and Shashwat Anand; :issue:`8845`.)"
msgstr ""
#: whatsnew/3.2.rst:1578 whatsnew/3.3.rst:1429 whatsnew/3.4.rst:938
msgid "html"
msgstr ""
#: whatsnew/3.2.rst:1580
msgid ""
"A new :mod:`html` module was introduced with only a single function, :func:"
"`~html.escape`, which is used for escaping reserved characters from HTML "
"markup:"
msgstr ""
#: whatsnew/3.2.rst:1589 whatsnew/3.3.rst:1874 whatsnew/3.4.rst:1389
#: whatsnew/3.5.rst:1679
msgid "socket"
msgstr ""
#: whatsnew/3.2.rst:1591
msgid "The :mod:`socket` module has two new improvements."
msgstr ""
#: whatsnew/3.2.rst:1593
msgid ""
"Socket objects now have a :meth:`~socket.socket.detach()` method which puts "
"the socket into closed state without actually closing the underlying file "
"descriptor. The latter can then be reused for other purposes. (Added by "
"Antoine Pitrou; :issue:`8524`.)"
msgstr ""
#: whatsnew/3.2.rst:1598
msgid ""
":func:`socket.create_connection` now supports the context management "
"protocol to unconditionally consume :exc:`socket.error` exceptions and to "
"close the socket when done. (Contributed by Giampaolo Rodolà; :issue:`9794`.)"
msgstr ""
#: whatsnew/3.2.rst:1604 whatsnew/3.3.rst:1924 whatsnew/3.4.rst:1418
#: whatsnew/3.5.rst:1702
msgid "ssl"
msgstr ""
#: whatsnew/3.2.rst:1606
msgid ""
"The :mod:`ssl` module added a number of features to satisfy common "
"requirements for secure (encrypted, authenticated) internet connections:"
msgstr ""
#: whatsnew/3.2.rst:1609
msgid ""
"A new class, :class:`~ssl.SSLContext`, serves as a container for persistent "
"SSL data, such as protocol settings, certificates, private keys, and various "
"other options. It includes a :meth:`~ssl.SSLContext.wrap_socket` for "
"creating an SSL socket from an SSL context."
msgstr ""
#: whatsnew/3.2.rst:1614
msgid ""
"A new function, :func:`ssl.match_hostname`, supports server identity "
"verification for higher-level protocols by implementing the rules of HTTPS "
"(from :rfc:`2818`) which are also suitable for other protocols."
msgstr ""
#: whatsnew/3.2.rst:1618
msgid ""
"The :func:`ssl.wrap_socket` constructor function now takes a *ciphers* "
"argument. The *ciphers* string lists the allowed encryption algorithms "
"using the format described in the `OpenSSL documentation <http://www.openssl."
"org/docs/apps/ciphers.html#CIPHER_LIST_FORMAT>`__."
msgstr ""
#: whatsnew/3.2.rst:1623
msgid ""
"When linked against recent versions of OpenSSL, the :mod:`ssl` module now "
"supports the Server Name Indication extension to the TLS protocol, allowing "
"multiple \"virtual hosts\" using different certificates on a single IP port. "
"This extension is only supported in client mode, and is activated by passing "
"the *server_hostname* argument to :meth:`ssl.SSLContext.wrap_socket`."
msgstr ""
#: whatsnew/3.2.rst:1629
msgid ""
"Various options have been added to the :mod:`ssl` module, such as :data:"
"`~ssl.OP_NO_SSLv2` which disables the insecure and obsolete SSLv2 protocol."
msgstr ""
#: whatsnew/3.2.rst:1633
msgid ""
"The extension now loads all the OpenSSL ciphers and digest algorithms. If "
"some SSL certificates cannot be verified, they are reported as an \"unknown "
"algorithm\" error."
msgstr ""
#: whatsnew/3.2.rst:1637
msgid ""
"The version of OpenSSL being used is now accessible using the module "
"attributes :data:`ssl.OPENSSL_VERSION` (a string), :data:`ssl."
"OPENSSL_VERSION_INFO` (a 5-tuple), and :data:`ssl.OPENSSL_VERSION_NUMBER` "
"(an integer)."
msgstr ""
#: whatsnew/3.2.rst:1642
msgid ""
"(Contributed by Antoine Pitrou in :issue:`8850`, :issue:`1589`, :issue:"
"`8322`, :issue:`5639`, :issue:`4870`, :issue:`8484`, and :issue:`8321`.)"
msgstr ""
#: whatsnew/3.2.rst:1646
msgid "nntp"
msgstr ""
#: whatsnew/3.2.rst:1648
msgid ""
"The :mod:`nntplib` module has a revamped implementation with better bytes "
"and text semantics as well as more practical APIs. These improvements break "
"compatibility with the nntplib version in Python 3.1, which was partly "
"dysfunctional in itself."
msgstr ""
#: whatsnew/3.2.rst:1653
msgid ""
"Support for secure connections through both implicit (using :class:`nntplib."
"NNTP_SSL`) and explicit (using :meth:`nntplib.NNTP.starttls`) TLS has also "
"been added."
msgstr ""
#: whatsnew/3.2.rst:1657
#, fuzzy
msgid ""
"(Contributed by Antoine Pitrou in :issue:`9360` and Andrew Vant in :issue:"
"`1926`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1660
msgid "certificates"
msgstr ""
#: whatsnew/3.2.rst:1662
msgid ""
":class:`http.client.HTTPSConnection`, :class:`urllib.request.HTTPSHandler` "
"and :func:`urllib.request.urlopen` now take optional arguments to allow for "
"server certificate checking against a set of Certificate Authorities, as "
"recommended in public uses of HTTPS."
msgstr ""
#: whatsnew/3.2.rst:1667
#, fuzzy
msgid "(Added by Antoine Pitrou, :issue:`9003`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1670 whatsnew/3.3.rst:1449 whatsnew/3.5.rst:1189
msgid "imaplib"
msgstr ""
#: whatsnew/3.2.rst:1672
msgid ""
"Support for explicit TLS on standard IMAP4 connections has been added "
"through the new :mod:`imaplib.IMAP4.starttls` method."
msgstr ""
#: whatsnew/3.2.rst:1675
#, fuzzy
msgid "(Contributed by Lorenzo M. Catucci and Antoine Pitrou, :issue:`4471`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1678 whatsnew/3.5.rst:1157
msgid "http.client"
msgstr ""
#: whatsnew/3.2.rst:1680
msgid ""
"There were a number of small API improvements in the :mod:`http.client` "
"module. The old-style HTTP 0.9 simple responses are no longer supported and "
"the *strict* parameter is deprecated in all classes."
msgstr ""
#: whatsnew/3.2.rst:1684
msgid ""
"The :class:`~http.client.HTTPConnection` and :class:`~http.client."
"HTTPSConnection` classes now have a *source_address* parameter for a (host, "
"port) tuple indicating where the HTTP connection is made from."
msgstr ""
#: whatsnew/3.2.rst:1689
msgid ""
"Support for certificate checking and HTTPS virtual hosts were added to :"
"class:`~http.client.HTTPSConnection`."
msgstr ""
#: whatsnew/3.2.rst:1692
msgid ""
"The :meth:`~http.client.HTTPConnection.request` method on connection objects "
"allowed an optional *body* argument so that a :term:`file object` could be "
"used to supply the content of the request. Conveniently, the *body* "
"argument now also accepts an :term:`iterable` object so long as it includes "
"an explicit ``Content-Length`` header. This extended interface is much more "
"flexible than before."
msgstr ""
#: whatsnew/3.2.rst:1699
msgid ""
"To establish an HTTPS connection through a proxy server, there is a new :"
"meth:`~http.client.HTTPConnection.set_tunnel` method that sets the host and "
"port for HTTP Connect tunneling."
msgstr ""
#: whatsnew/3.2.rst:1703
msgid ""
"To match the behavior of :mod:`http.server`, the HTTP client library now "
"also encodes headers with ISO-8859-1 (Latin-1) encoding. It was already "
"doing that for incoming headers, so now the behavior is consistent for both "
"incoming and outgoing traffic. (See work by Armin Ronacher in :issue:"
"`10980`.)"
msgstr ""
#: whatsnew/3.2.rst:1709 whatsnew/3.3.rst:2088 whatsnew/3.4.rst:1655
#: whatsnew/3.5.rst:1940
msgid "unittest"
msgstr ""
#: whatsnew/3.2.rst:1711
msgid ""
"The unittest module has a number of improvements supporting test discovery "
"for packages, easier experimentation at the interactive prompt, new testcase "
"methods, improved diagnostic messages for test failures, and better method "
"names."
msgstr ""
#: whatsnew/3.2.rst:1716
msgid ""
"The command-line call ``python -m unittest`` can now accept file paths "
"instead of module names for running specific tests (:issue:`10620`). The "
"new test discovery can find tests within packages, locating any test "
"importable from the top-level directory. The top-level directory can be "
"specified with the `-t` option, a pattern for matching files with ``-p``, "
"and a directory to start discovery with ``-s``::"
msgstr ""
#: whatsnew/3.2.rst:1725 whatsnew/3.2.rst:1733 whatsnew/3.2.rst:1889
msgid "(Contributed by Michael Foord.)"
msgstr ""
#: whatsnew/3.2.rst:1727
msgid ""
"Experimentation at the interactive prompt is now easier because the :class:"
"`unittest.case.TestCase` class can now be instantiated without arguments:"
msgstr ""
#: whatsnew/3.2.rst:1735
msgid ""
"The :mod:`unittest` module has two new methods, :meth:`~unittest.TestCase."
"assertWarns` and :meth:`~unittest.TestCase.assertWarnsRegex` to verify that "
"a given warning type is triggered by the code under test::"
msgstr ""
#: whatsnew/3.2.rst:1743
#, fuzzy
msgid "(Contributed by Antoine Pitrou, :issue:`9754`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1745
msgid ""
"Another new method, :meth:`~unittest.TestCase.assertCountEqual` is used to "
"compare two iterables to determine if their element counts are equal "
"(whether the same elements are present with the same number of occurrences "
"regardless of order)::"
msgstr ""
#: whatsnew/3.2.rst:1755
msgid ""
"A principal feature of the unittest module is an effort to produce "
"meaningful diagnostics when a test fails. When possible, the failure is "
"recorded along with a diff of the output. This is especially helpful for "
"analyzing log files of failed test runs. However, since diffs can sometime "
"be voluminous, there is a new :attr:`~unittest.TestCase.maxDiff` attribute "
"that sets maximum length of diffs displayed."
msgstr ""
#: whatsnew/3.2.rst:1762
msgid ""
"In addition, the method names in the module have undergone a number of clean-"
"ups."
msgstr ""
#: whatsnew/3.2.rst:1764
msgid ""
"For example, :meth:`~unittest.TestCase.assertRegex` is the new name for :"
"meth:`~unittest.TestCase.assertRegexpMatches` which was misnamed because the "
"test uses :func:`re.search`, not :func:`re.match`. Other methods using "
"regular expressions are now named using short form \"Regex\" in preference "
"to \"Regexp\" -- this matches the names used in other unittest "
"implementations, matches Python's old name for the :mod:`re` module, and it "
"has unambiguous camel-casing."
msgstr ""
#: whatsnew/3.2.rst:1772
msgid "(Contributed by Raymond Hettinger and implemented by Ezio Melotti.)"
msgstr ""
#: whatsnew/3.2.rst:1774
msgid ""
"To improve consistency, some long-standing method aliases are being "
"deprecated in favor of the preferred names:"
msgstr ""
#: whatsnew/3.2.rst:1778
msgid "Preferred Name"
msgstr ""
#: whatsnew/3.2.rst:1780
msgid ":meth:`assert_`"
msgstr ""
#: whatsnew/3.2.rst:1780
msgid ":meth:`.assertTrue`"
msgstr ""
#: whatsnew/3.2.rst:1781
msgid ":meth:`assertEquals`"
msgstr ""
#: whatsnew/3.2.rst:1781
msgid ":meth:`.assertEqual`"
msgstr ""
#: whatsnew/3.2.rst:1782
msgid ":meth:`assertNotEquals`"
msgstr ""
#: whatsnew/3.2.rst:1782
msgid ":meth:`.assertNotEqual`"
msgstr ""
#: whatsnew/3.2.rst:1783
msgid ":meth:`assertAlmostEquals`"
msgstr ""
#: whatsnew/3.2.rst:1783
msgid ":meth:`.assertAlmostEqual`"
msgstr ""
#: whatsnew/3.2.rst:1784
msgid ":meth:`assertNotAlmostEquals`"
msgstr ""
#: whatsnew/3.2.rst:1784
msgid ":meth:`.assertNotAlmostEqual`"
msgstr ""
#: whatsnew/3.2.rst:1787
msgid ""
"Likewise, the ``TestCase.fail*`` methods deprecated in Python 3.1 are "
"expected to be removed in Python 3.3. Also see the :ref:`deprecated-"
"aliases` section in the :mod:`unittest` documentation."
msgstr ""
#: whatsnew/3.2.rst:1791
#, fuzzy
msgid "(Contributed by Ezio Melotti; :issue:`9424`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1793
msgid ""
"The :meth:`~unittest.TestCase.assertDictContainsSubset` method was "
"deprecated because it was misimplemented with the arguments in the wrong "
"order. This created hard-to-debug optical illusions where tests like "
"``TestCase().assertDictContainsSubset({'a':1, 'b':2}, {'a':1})`` would fail."
msgstr ""
#: whatsnew/3.2.rst:1801
msgid "random"
msgstr ""
#: whatsnew/3.2.rst:1803
msgid ""
"The integer methods in the :mod:`random` module now do a better job of "
"producing uniform distributions. Previously, they computed selections with "
"``int(n*random())`` which had a slight bias whenever *n* was not a power of "
"two. Now, multiple selections are made from a range up to the next power of "
"two and a selection is kept only when it falls within the range ``0 <= x < "
"n``. The functions and methods affected are :func:`~random.randrange`, :"
"func:`~random.randint`, :func:`~random.choice`, :func:`~random.shuffle` and :"
"func:`~random.sample`."
msgstr ""
#: whatsnew/3.2.rst:1812
#, fuzzy
msgid "(Contributed by Raymond Hettinger; :issue:`9025`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1815 whatsnew/3.4.rst:1247 whatsnew/3.5.rst:1532
msgid "poplib"
msgstr ""
#: whatsnew/3.2.rst:1817
msgid ""
":class:`~poplib.POP3_SSL` class now accepts a *context* parameter, which is "
"a :class:`ssl.SSLContext` object allowing bundling SSL configuration "
"options, certificates and private keys into a single (potentially long-"
"lived) structure."
msgstr ""
#: whatsnew/3.2.rst:1822
#, fuzzy
msgid "(Contributed by Giampaolo Rodolà; :issue:`8807`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1825
msgid "asyncore"
msgstr ""
#: whatsnew/3.2.rst:1827
msgid ""
":class:`asyncore.dispatcher` now provides a :meth:`~asyncore.dispatcher."
"handle_accepted()` method returning a `(sock, addr)` pair which is called "
"when a connection has actually been established with a new remote endpoint. "
"This is supposed to be used as a replacement for old :meth:`~asyncore."
"dispatcher.handle_accept()` and avoids the user to call :meth:`~asyncore."
"dispatcher.accept()` directly."
msgstr ""
#: whatsnew/3.2.rst:1834
#, fuzzy
msgid "(Contributed by Giampaolo Rodolà; :issue:`6706`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1837 whatsnew/3.3.rst:2017
msgid "tempfile"
msgstr ""
#: whatsnew/3.2.rst:1839
msgid ""
"The :mod:`tempfile` module has a new context manager, :class:`~tempfile."
"TemporaryDirectory` which provides easy deterministic cleanup of temporary "
"directories::"
msgstr ""
#: whatsnew/3.2.rst:1846
#, fuzzy
msgid "(Contributed by Neil Schemenauer and Nick Coghlan; :issue:`5178`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1849 whatsnew/3.3.rst:1458 whatsnew/3.4.rst:1024
#: whatsnew/3.5.rst:1239
msgid "inspect"
msgstr ""
#: whatsnew/3.2.rst:1851
msgid ""
"The :mod:`inspect` module has a new function :func:`~inspect."
"getgeneratorstate` to easily identify the current state of a generator-"
"iterator::"
msgstr ""
#: whatsnew/3.2.rst:1869
#, fuzzy
msgid "(Contributed by Rodolpho Eckhardt and Nick Coghlan, :issue:`10220`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1871
msgid ""
"To support lookups without the possibility of activating a dynamic "
"attribute, the :mod:`inspect` module has a new function, :func:`~inspect."
"getattr_static`. Unlike :func:`hasattr`, this is a true read-only search, "
"guaranteed not to change state while it is searching::"
msgstr ""
#: whatsnew/3.2.rst:1892 whatsnew/3.3.rst:1725 whatsnew/3.4.rst:1278
msgid "pydoc"
msgstr ""
#: whatsnew/3.2.rst:1894
msgid ""
"The :mod:`pydoc` module now provides a much-improved Web server interface, "
"as well as a new command-line option ``-b`` to automatically open a browser "
"window to display that server::"
msgstr ""
#: whatsnew/3.2.rst:1900
#, fuzzy
msgid "(Contributed by Ron Adam; :issue:`2001`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1903 whatsnew/3.4.rst:713
msgid "dis"
msgstr ""
#: whatsnew/3.2.rst:1905
msgid ""
"The :mod:`dis` module gained two new functions for inspecting code, :func:"
"`~dis.code_info` and :func:`~dis.show_code`. Both provide detailed code "
"object information for the supplied function, method, source code string or "
"code object. The former returns a string and the latter prints it::"
msgstr ""
#: whatsnew/3.2.rst:1932
msgid ""
"In addition, the :func:`~dis.dis` function now accepts string arguments so "
"that the common idiom ``dis(compile(s, '', 'eval'))`` can be shortened to "
"``dis(s)``::"
msgstr ""
#: whatsnew/3.2.rst:1954
msgid ""
"Taken together, these improvements make it easier to explore how CPython is "
"implemented and to see for yourself what the language syntax does under-the-"
"hood."
msgstr ""
#: whatsnew/3.2.rst:1958
#, fuzzy
msgid "(Contributed by Nick Coghlan in :issue:`9147`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:1961 whatsnew/3.4.rst:704 whatsnew/3.5.rst:1010
msgid "dbm"
msgstr ""
#: whatsnew/3.2.rst:1963
msgid ""
"All database modules now support the :meth:`get` and :meth:`setdefault` "
"methods."
msgstr ""
#: whatsnew/3.2.rst:1965
msgid "(Suggested by Ray Allen in :issue:`9523`.)"
msgstr ""
#: whatsnew/3.2.rst:1968
msgid "ctypes"
msgstr ""
#: whatsnew/3.2.rst:1970
msgid ""
"A new type, :class:`ctypes.c_ssize_t` represents the C :c:type:`ssize_t` "
"datatype."
msgstr ""
#: whatsnew/3.2.rst:1973
msgid "site"
msgstr ""
#: whatsnew/3.2.rst:1975
msgid ""
"The :mod:`site` module has three new functions useful for reporting on the "
"details of a given Python installation."
msgstr ""
#: whatsnew/3.2.rst:1978
msgid ""
":func:`~site.getsitepackages` lists all global site-packages directories."
msgstr ""
#: whatsnew/3.2.rst:1980
msgid ""
":func:`~site.getuserbase` reports on the user's base directory where data "
"can be stored."
msgstr ""
#: whatsnew/3.2.rst:1983
msgid ""
":func:`~site.getusersitepackages` reveals the user-specific site-packages "
"directory path."
msgstr ""
#: whatsnew/3.2.rst:1998
msgid ""
"Conveniently, some of site's functionality is accessible directly from the "
"command-line::"
msgstr ""
#: whatsnew/3.2.rst:2006
#, fuzzy
msgid "(Contributed by Tarek Ziadé in :issue:`6693`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:2009 whatsnew/3.5.rst:1836
msgid "sysconfig"
msgstr ""
#: whatsnew/3.2.rst:2011
msgid ""
"The new :mod:`sysconfig` module makes it straightforward to discover "
"installation paths and configuration variables that vary across platforms "
"and installations."
msgstr ""
#: whatsnew/3.2.rst:2015
msgid ""
"The module offers access simple access functions for platform and version "
"information:"
msgstr ""
#: whatsnew/3.2.rst:2018
msgid ""
":func:`~sysconfig.get_platform` returning values like *linux-i586* or "
"*macosx-10.6-ppc*."
msgstr ""
#: whatsnew/3.2.rst:2020
msgid ""
":func:`~sysconfig.get_python_version` returns a Python version string such "
"as \"3.2\"."
msgstr ""
#: whatsnew/3.2.rst:2023
msgid ""
"It also provides access to the paths and variables corresponding to one of "
"seven named schemes used by :mod:`distutils`. Those include *posix_prefix*, "
"*posix_home*, *posix_user*, *nt*, *nt_user*, *os2*, *os2_home*:"
msgstr ""
#: whatsnew/3.2.rst:2027
msgid ""
":func:`~sysconfig.get_paths` makes a dictionary containing installation "
"paths for the current installation scheme."
msgstr ""
#: whatsnew/3.2.rst:2029
msgid ""
":func:`~sysconfig.get_config_vars` returns a dictionary of platform specific "
"variables."
msgstr ""
#: whatsnew/3.2.rst:2032
msgid "There is also a convenient command-line interface::"
msgstr ""
#: whatsnew/3.2.rst:2069
msgid "(Moved out of Distutils by Tarek Ziadé.)"
msgstr ""
#: whatsnew/3.2.rst:2072 whatsnew/3.3.rst:1705 whatsnew/3.4.rst:1199
msgid "pdb"
msgstr ""
#: whatsnew/3.2.rst:2074
msgid ""
"The :mod:`pdb` debugger module gained a number of usability improvements:"
msgstr ""
#: whatsnew/3.2.rst:2076
msgid ""
":file:`pdb.py` now has a ``-c`` option that executes commands as given in a :"
"file:`.pdbrc` script file."
msgstr ""
#: whatsnew/3.2.rst:2078
msgid ""
"A :file:`.pdbrc` script file can contain ``continue`` and ``next`` commands "
"that continue debugging."
msgstr ""
#: whatsnew/3.2.rst:2080
msgid "The :class:`Pdb` class constructor now accepts a *nosigint* argument."
msgstr ""
#: whatsnew/3.2.rst:2081
msgid ""
"New commands: ``l(list)``, ``ll(long list)`` and ``source`` for listing "
"source code."
msgstr ""
#: whatsnew/3.2.rst:2083
msgid ""
"New commands: ``display`` and ``undisplay`` for showing or hiding the value "
"of an expression if it has changed."
msgstr ""
#: whatsnew/3.2.rst:2085
msgid ""
"New command: ``interact`` for starting an interactive interpreter containing "
"the global and local names found in the current scope."
msgstr ""
#: whatsnew/3.2.rst:2087
msgid "Breakpoints can be cleared by breakpoint number."
msgstr ""
#: whatsnew/3.2.rst:2089
msgid "(Contributed by Georg Brandl, Antonio Cuni and Ilya Sandler.)"
msgstr ""
#: whatsnew/3.2.rst:2094
msgid ""
"The :mod:`configparser` module was modified to improve usability and "
"predictability of the default parser and its supported INI syntax. The old :"
"class:`ConfigParser` class was removed in favor of :class:`SafeConfigParser` "
"which has in turn been renamed to :class:`~configparser.ConfigParser`. "
"Support for inline comments is now turned off by default and section or "
"option duplicates are not allowed in a single configuration source."
msgstr ""
#: whatsnew/3.2.rst:2101
msgid "Config parsers gained a new API based on the mapping protocol::"
msgstr ""
#: whatsnew/3.2.rst:2129
msgid ""
"The new API is implemented on top of the classical API, so custom parser "
"subclasses should be able to use it without modifications."
msgstr ""
#: whatsnew/3.2.rst:2132
msgid ""
"The INI file structure accepted by config parsers can now be customized. "
"Users can specify alternative option/value delimiters and comment prefixes, "
"change the name of the *DEFAULT* section or switch the interpolation syntax."
msgstr ""
#: whatsnew/3.2.rst:2136
msgid ""
"There is support for pluggable interpolation including an additional "
"interpolation handler :class:`~configparser.ExtendedInterpolation`::"
msgstr ""
#: whatsnew/3.2.rst:2169
msgid ""
"A number of smaller features were also introduced, like support for "
"specifying encoding in read operations, specifying fallback values for get-"
"functions, or reading directly from dictionaries and strings."
msgstr ""
#: whatsnew/3.2.rst:2173
msgid "(All changes contributed by Łukasz Langa.)"
msgstr ""
#: whatsnew/3.2.rst:2178
msgid "urllib.parse"
msgstr ""
#: whatsnew/3.2.rst:2180
msgid ""
"A number of usability improvements were made for the :mod:`urllib.parse` "
"module."
msgstr ""
#: whatsnew/3.2.rst:2182
msgid ""
"The :func:`~urllib.parse.urlparse` function now supports `IPv6 <http://en."
"wikipedia.org/wiki/IPv6>`_ addresses as described in :rfc:`2732`:"
msgstr ""
#: whatsnew/3.2.rst:2194
msgid ""
"The :func:`~urllib.parse.urldefrag` function now returns a :term:`named "
"tuple`::"
msgstr ""
#: whatsnew/3.2.rst:2204
msgid ""
"And, the :func:`~urllib.parse.urlencode` function is now much more flexible, "
"accepting either a string or bytes type for the *query* argument. If it is "
"a string, then the *safe*, *encoding*, and *error* parameters are sent to :"
"func:`~urllib.parse.quote_plus` for encoding::"
msgstr ""
#: whatsnew/3.2.rst:2215
msgid ""
"As detailed in :ref:`parsing-ascii-encoded-bytes`, all the :mod:`urllib."
"parse` functions now accept ASCII-encoded byte strings as input, so long as "
"they are not mixed with regular strings. If ASCII-encoded byte strings are "
"given as parameters, the return types will also be an ASCII-encoded byte "
"strings:"
msgstr ""
#: whatsnew/3.2.rst:2224
msgid ""
"(Work by Nick Coghlan, Dan Mahn, and Senthil Kumaran in :issue:`2987`, :"
"issue:`5468`, and :issue:`9873`.)"
msgstr ""
#: whatsnew/3.2.rst:2228
msgid "mailbox"
msgstr ""
#: whatsnew/3.2.rst:2230
msgid ""
"Thanks to a concerted effort by R. David Murray, the :mod:`mailbox` module "
"has been fixed for Python 3.2. The challenge was that mailbox had been "
"originally designed with a text interface, but email messages are best "
"represented with :class:`bytes` because various parts of a message may have "
"different encodings."
msgstr ""
#: whatsnew/3.2.rst:2235
msgid ""
"The solution harnessed the :mod:`email` package's binary support for parsing "
"arbitrary email messages. In addition, the solution required a number of "
"API changes."
msgstr ""
#: whatsnew/3.2.rst:2239
msgid ""
"As expected, the :meth:`~mailbox.Mailbox.add` method for :class:`mailbox."
"Mailbox` objects now accepts binary input."
msgstr ""
#: whatsnew/3.2.rst:2242
msgid ""
":class:`~io.StringIO` and text file input are deprecated. Also, string "
"input will fail early if non-ASCII characters are used. Previously it would "
"fail when the email was processed in a later step."
msgstr ""
#: whatsnew/3.2.rst:2246
msgid ""
"There is also support for binary output. The :meth:`~mailbox.Mailbox."
"get_file` method now returns a file in the binary mode (where it used to "
"incorrectly set the file to text-mode). There is also a new :meth:`~mailbox."
"Mailbox.get_bytes` method that returns a :class:`bytes` representation of a "
"message corresponding to a given *key*."
msgstr ""
#: whatsnew/3.2.rst:2252
msgid ""
"It is still possible to get non-binary output using the old API's :meth:"
"`~mailbox.Mailbox.get_string` method, but that approach is not very useful. "
"Instead, it is best to extract messages from a :class:`~mailbox.Message` "
"object or to load them from binary input."
msgstr ""
#: whatsnew/3.2.rst:2257
msgid ""
"(Contributed by R. David Murray, with efforts from Steffen Daode Nurpmeso "
"and an initial patch by Victor Stinner in :issue:`9124`.)"
msgstr ""
#: whatsnew/3.2.rst:2261
msgid "turtledemo"
msgstr ""
#: whatsnew/3.2.rst:2263
msgid ""
"The demonstration code for the :mod:`turtle` module was moved from the "
"*Demo* directory to main library. It includes over a dozen sample scripts "
"with lively displays. Being on :attr:`sys.path`, it can now be run directly "
"from the command-line::"
msgstr ""
#: whatsnew/3.2.rst:2270
msgid ""
"(Moved from the Demo directory by Alexander Belopolsky in :issue:`10199`.)"
msgstr ""
#: whatsnew/3.2.rst:2273
msgid "Multi-threading"
msgstr "Threads"
#: whatsnew/3.2.rst:2275
msgid ""
"The mechanism for serializing execution of concurrently running Python "
"threads (generally known as the :term:`GIL` or :term:`Global Interpreter "
"Lock`) has been rewritten. Among the objectives were more predictable "
"switching intervals and reduced overhead due to lock contention and the "
"number of ensuing system calls. The notion of a \"check interval\" to allow "
"thread switches has been abandoned and replaced by an absolute duration "
"expressed in seconds. This parameter is tunable through :func:`sys."
"setswitchinterval()`. It currently defaults to 5 milliseconds."
msgstr ""
#: whatsnew/3.2.rst:2284
msgid ""
"Additional details about the implementation can be read from a `python-dev "
"mailing-list message <https://mail.python.org/pipermail/python-dev/2009-"
"October/093321.html>`_ (however, \"priority requests\" as exposed in this "
"message have not been kept for inclusion)."
msgstr ""
#: whatsnew/3.2.rst:2292
#, fuzzy
msgid ""
"Regular and recursive locks now accept an optional *timeout* argument to "
"their :meth:`~threading.Lock.acquire` method. (Contributed by Antoine "
"Pitrou; :issue:`7316`.)"
msgstr ""
"Les verrous standards et récursifs acceptent désormais un argument optionnel "
"*timeout* à leur méthode ``acquire``. (Contribution par Antoine Pitrou; :"
"issue:`7316`). Pareillement, :meth:`threading.Semaphore.acquire` acquière "
"d'un argument *timeout* (Contribution par Torsten Landschoff; :issue:"
"`850728`)."
#: whatsnew/3.2.rst:2296
#, fuzzy
msgid ""
"Similarly, :meth:`threading.Semaphore.acquire` also gained a *timeout* "
"argument. (Contributed by Torsten Landschoff; :issue:`850728`.)"
msgstr ""
"Les verrous standards et récursifs acceptent désormais un argument optionnel "
"*timeout* à leur méthode ``acquire``. (Contribution par Antoine Pitrou; :"
"issue:`7316`). Pareillement, :meth:`threading.Semaphore.acquire` acquière "
"d'un argument *timeout* (Contribution par Torsten Landschoff; :issue:"
"`850728`)."
#: whatsnew/3.2.rst:2299
msgid ""
"Regular and recursive lock acquisitions can now be interrupted by signals on "
"platforms using Pthreads. This means that Python programs that deadlock "
"while acquiring locks can be successfully killed by repeatedly sending "
"SIGINT to the process (by pressing :kbd:`Ctrl+C` in most shells). "
"(Contributed by Reid Kleckner; :issue:`8844`.)"
msgstr ""
#: whatsnew/3.2.rst:2309
msgid "A number of small performance enhancements have been added:"
msgstr ""
#: whatsnew/3.2.rst:2311
msgid ""
"Python's peephole optimizer now recognizes patterns such ``x in {1, 2, 3}`` "
"as being a test for membership in a set of constants. The optimizer recasts "
"the :class:`set` as a :class:`frozenset` and stores the pre-built constant."
msgstr ""
#: whatsnew/3.2.rst:2315
msgid ""
"Now that the speed penalty is gone, it is practical to start writing "
"membership tests using set-notation. This style is both semantically clear "
"and operationally fast::"
msgstr ""
#: whatsnew/3.2.rst:2323
msgid ""
"(Patch and additional tests contributed by Dave Malcolm; :issue:`6690`)."
msgstr ""
#: whatsnew/3.2.rst:2325
msgid ""
"Serializing and unserializing data using the :mod:`pickle` module is now "
"several times faster."
msgstr ""
#: whatsnew/3.2.rst:2328
msgid ""
"(Contributed by Alexandre Vassalotti, Antoine Pitrou and the Unladen Swallow "
"team in :issue:`9410` and :issue:`3873`.)"
msgstr ""
#: whatsnew/3.2.rst:2331
msgid ""
"The `Timsort algorithm <http://en.wikipedia.org/wiki/Timsort>`_ used in :"
"meth:`list.sort` and :func:`sorted` now runs faster and uses less memory "
"when called with a :term:`key function`. Previously, every element of a "
"list was wrapped with a temporary object that remembered the key value "
"associated with each element. Now, two arrays of keys and values are sorted "
"in parallel. This saves the memory consumed by the sort wrappers, and it "
"saves time lost to delegating comparisons."
msgstr ""
#: whatsnew/3.2.rst:2339
msgid "(Patch by Daniel Stutzbach in :issue:`9915`.)"
msgstr ""
#: whatsnew/3.2.rst:2341
msgid ""
"JSON decoding performance is improved and memory consumption is reduced "
"whenever the same string is repeated for multiple keys. Also, JSON encoding "
"now uses the C speedups when the ``sort_keys`` argument is true."
msgstr ""
#: whatsnew/3.2.rst:2345
msgid ""
"(Contributed by Antoine Pitrou in :issue:`7451` and by Raymond Hettinger and "
"Antoine Pitrou in :issue:`10314`.)"
msgstr ""
#: whatsnew/3.2.rst:2348
msgid ""
"Recursive locks (created with the :func:`threading.RLock` API) now benefit "
"from a C implementation which makes them as fast as regular locks, and "
"between 10x and 15x faster than their previous pure Python implementation."
msgstr ""
#: whatsnew/3.2.rst:2352
msgid "(Contributed by Antoine Pitrou; :issue:`3001`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:2354
msgid ""
"The fast-search algorithm in stringlib is now used by the :meth:`split`, :"
"meth:`rsplit`, :meth:`splitlines` and :meth:`replace` methods on :class:"
"`bytes`, :class:`bytearray` and :class:`str` objects. Likewise, the "
"algorithm is also used by :meth:`rfind`, :meth:`rindex`, :meth:`rsplit` and :"
"meth:`rpartition`."
msgstr ""
#: whatsnew/3.2.rst:2360
msgid "(Patch by Florent Xicluna in :issue:`7622` and :issue:`7462`.)"
msgstr ""
#: whatsnew/3.2.rst:2363
msgid ""
"Integer to string conversions now work two \"digits\" at a time, reducing "
"the number of division and modulo operations."
msgstr ""
#: whatsnew/3.2.rst:2366
msgid "(:issue:`6713` by Gawain Bolton, Mark Dickinson, and Victor Stinner.)"
msgstr ""
#: whatsnew/3.2.rst:2368
msgid ""
"There were several other minor optimizations. Set differencing now runs "
"faster when one operand is much larger than the other (patch by Andress "
"Bennetts in :issue:`8685`). The :meth:`array.repeat` method has a faster "
"implementation (:issue:`1569291` by Alexander Belopolsky). The :class:"
"`BaseHTTPRequestHandler` has more efficient buffering (:issue:`3709` by "
"Andrew Schaaf). The :func:`operator.attrgetter` function has been sped-up (:"
"issue:`10160` by Christos Georgiou). And :class:`ConfigParser` loads multi-"
"line arguments a bit faster (:issue:`7113` by Łukasz Langa)."
msgstr ""
#: whatsnew/3.2.rst:2381
msgid ""
"Python has been updated to `Unicode 6.0.0 <http://unicode.org/versions/"
"Unicode6.0.0/>`_. The update to the standard adds over 2,000 new characters "
"including `emoji <http://en.wikipedia.org/wiki/Emoji>`_ symbols which are "
"important for mobile phones."
msgstr ""
#: whatsnew/3.2.rst:2386
msgid ""
"In addition, the updated standard has altered the character properties for "
"two Kannada characters (U+0CF1, U+0CF2) and one New Tai Lue numeric "
"character (U+19DA), making the former eligible for use in identifiers while "
"disqualifying the latter. For more information, see `Unicode Character "
"Database Changes <http://www.unicode.org/versions/Unicode6.0.0/"
"#Database_Changes>`_."
msgstr ""
#: whatsnew/3.2.rst:2394
msgid "Codecs"
msgstr ""
#: whatsnew/3.2.rst:2396
msgid "Support was added for *cp720* Arabic DOS encoding (:issue:`1616979`)."
msgstr ""
#: whatsnew/3.2.rst:2398
msgid ""
"MBCS encoding no longer ignores the error handler argument. In the default "
"strict mode, it raises an :exc:`UnicodeDecodeError` when it encounters an "
"undecodable byte sequence and an :exc:`UnicodeEncodeError` for an "
"unencodable character."
msgstr ""
#: whatsnew/3.2.rst:2403
msgid ""
"The MBCS codec supports ``'strict'`` and ``'ignore'`` error handlers for "
"decoding, and ``'strict'`` and ``'replace'`` for encoding."
msgstr ""
#: whatsnew/3.2.rst:2406
msgid ""
"To emulate Python3.1 MBCS encoding, select the ``'ignore'`` handler for "
"decoding and the ``'replace'`` handler for encoding."
msgstr ""
#: whatsnew/3.2.rst:2409
msgid ""
"On Mac OS X, Python decodes command line arguments with ``'utf-8'`` rather "
"than the locale encoding."
msgstr ""
#: whatsnew/3.2.rst:2412
msgid ""
"By default, :mod:`tarfile` uses ``'utf-8'`` encoding on Windows (instead of "
"``'mbcs'``) and the ``'surrogateescape'`` error handler on all operating "
"systems."
msgstr ""
#: whatsnew/3.2.rst:2418 ../../../Misc/NEWS:139 ../../../Misc/NEWS:583
#: ../../../Misc/NEWS:833 ../../../Misc/NEWS:1032 ../../../Misc/NEWS:1339
#: ../../../Misc/NEWS:3523 ../../../Misc/NEWS:3747 ../../../Misc/NEWS:4121
#: ../../../Misc/NEWS:4720 ../../../Misc/NEWS:5149 ../../../Misc/NEWS:5423
#: ../../../Misc/NEWS:5550 ../../../Misc/NEWS:5808 ../../../Misc/NEWS:7852
msgid "Documentation"
msgstr ""
#: whatsnew/3.2.rst:2420
msgid "The documentation continues to be improved."
msgstr ""
#: whatsnew/3.2.rst:2422
msgid ""
"A table of quick links has been added to the top of lengthy sections such "
"as :ref:`built-in-funcs`. In the case of :mod:`itertools`, the links are "
"accompanied by tables of cheatsheet-style summaries to provide an overview "
"and memory jog without having to read all of the docs."
msgstr ""
#: whatsnew/3.2.rst:2427
msgid ""
"In some cases, the pure Python source code can be a helpful adjunct to the "
"documentation, so now many modules now feature quick links to the latest "
"version of the source code. For example, the :mod:`functools` module "
"documentation has a quick link at the top labeled:"
msgstr ""
#: whatsnew/3.2.rst:2432
msgid "**Source code** :source:`Lib/functools.py`."
msgstr ""
#: whatsnew/3.2.rst:2434
msgid ""
"(Contributed by Raymond Hettinger; see `rationale <http://rhettinger."
"wordpress.com/2011/01/28/open-your-source-more/>`_.)"
msgstr ""
#: whatsnew/3.2.rst:2437
msgid ""
"The docs now contain more examples and recipes. In particular, :mod:`re` "
"module has an extensive section, :ref:`re-examples`. Likewise, the :mod:"
"`itertools` module continues to be updated with new :ref:`itertools-recipes`."
msgstr ""
#: whatsnew/3.2.rst:2442
msgid ""
"The :mod:`datetime` module now has an auxiliary implementation in pure "
"Python. No functionality was changed. This just provides an easier-to-read "
"alternate implementation."
msgstr ""
#: whatsnew/3.2.rst:2446
#, fuzzy
msgid "(Contributed by Alexander Belopolsky in :issue:`9528`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:2448
msgid ""
"The unmaintained :file:`Demo` directory has been removed. Some demos were "
"integrated into the documentation, some were moved to the :file:`Tools/demo` "
"directory, and others were removed altogether."
msgstr ""
#: whatsnew/3.2.rst:2452
#, fuzzy
msgid "(Contributed by Georg Brandl in :issue:`7962`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:2458
msgid ""
"The format menu now has an option to clean source files by stripping "
"trailing whitespace."
msgstr ""
#: whatsnew/3.2.rst:2461
#, fuzzy
msgid "(Contributed by Raymond Hettinger; :issue:`5150`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:2463
msgid "IDLE on Mac OS X now works with both Carbon AquaTk and Cocoa AquaTk."
msgstr ""
#: whatsnew/3.2.rst:2465
msgid ""
"(Contributed by Kevin Walzer, Ned Deily, and Ronald Oussoren; :issue:`6075`.)"
msgstr ""
#: whatsnew/3.2.rst:2468
msgid "Code Repository"
msgstr ""
#: whatsnew/3.2.rst:2470
msgid ""
"In addition to the existing Subversion code repository at http://svn.python."
"org there is now a `Mercurial <http://mercurial.selenic.com/>`_ repository "
"at https://hg.python.org/\\ ."
msgstr ""
#: whatsnew/3.2.rst:2474
msgid ""
"After the 3.2 release, there are plans to switch to Mercurial as the primary "
"repository. This distributed version control system should make it easier "
"for members of the community to create and share external changesets. See :"
"pep:`385` for details."
msgstr ""
#: whatsnew/3.2.rst:2479
msgid ""
"To learn to use the new version control system, see the `tutorial by Joel "
"Spolsky <http://hginit.com>`_ or the `Guide to Mercurial Workflows <http://"
"mercurial.selenic.com/guide>`_."
msgstr ""
#: whatsnew/3.2.rst:2489
msgid ""
"The *idle*, *pydoc* and *2to3* scripts are now installed with a version-"
"specific suffix on ``make altinstall`` (:issue:`10679`)."
msgstr ""
#: whatsnew/3.2.rst:2492
msgid ""
"The C functions that access the Unicode Database now accept and return "
"characters from the full Unicode range, even on narrow unicode builds "
"(Py_UNICODE_TOLOWER, Py_UNICODE_ISDECIMAL, and others). A visible "
"difference in Python is that :func:`unicodedata.numeric` now returns the "
"correct value for large code points, and :func:`repr` may consider more "
"characters as printable."
msgstr ""
#: whatsnew/3.2.rst:2499
msgid ""
"(Reported by Bupjoe Lee and fixed by Amaury Forgeot D'Arc; :issue:`5127`.)"
msgstr ""
#: whatsnew/3.2.rst:2501
msgid ""
"Computed gotos are now enabled by default on supported compilers (which are "
"detected by the configure script). They can still be disabled selectively "
"by specifying ``--without-computed-gotos``."
msgstr ""
#: whatsnew/3.2.rst:2505
#, fuzzy
msgid "(Contributed by Antoine Pitrou; :issue:`9203`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:2507
msgid ""
"The option ``--with-wctype-functions`` was removed. The built-in unicode "
"database is now used for all functions."
msgstr ""
#: whatsnew/3.2.rst:2510
#, fuzzy
msgid "(Contributed by Amaury Forgeot D'Arc; :issue:`9210`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:2512
msgid ""
"Hash values are now values of a new type, :c:type:`Py_hash_t`, which is "
"defined to be the same size as a pointer. Previously they were of type "
"long, which on some 64-bit operating systems is still only 32 bits long. As "
"a result of this fix, :class:`set` and :class:`dict` can now hold more than "
"``2**32`` entries on builds with 64-bit pointers (previously, they could "
"grow to that size but their performance degraded catastrophically)."
msgstr ""
#: whatsnew/3.2.rst:2519
msgid ""
"(Suggested by Raymond Hettinger and implemented by Benjamin Peterson; :issue:"
"`9778`.)"
msgstr ""
#: whatsnew/3.2.rst:2522
msgid ""
"A new macro :c:macro:`Py_VA_COPY` copies the state of the variable argument "
"list. It is equivalent to C99 *va_copy* but available on all Python "
"platforms (:issue:`2443`)."
msgstr ""
#: whatsnew/3.2.rst:2526
msgid ""
"A new C API function :c:func:`PySys_SetArgvEx` allows an embedded "
"interpreter to set :attr:`sys.argv` without also modifying :attr:`sys.path` "
"(:issue:`5753`)."
msgstr ""
#: whatsnew/3.2.rst:2530
msgid ""
":c:macro:`PyEval_CallObject` is now only available in macro form. The "
"function declaration, which was kept for backwards compatibility reasons, is "
"now removed -- the macro was introduced in 1997 (:issue:`8276`)."
msgstr ""
#: whatsnew/3.2.rst:2534
msgid ""
"There is a new function :c:func:`PyLong_AsLongLongAndOverflow` which is "
"analogous to :c:func:`PyLong_AsLongAndOverflow`. They both serve to convert "
"Python :class:`int` into a native fixed-width type while providing detection "
"of cases where the conversion won't fit (:issue:`7767`)."
msgstr ""
#: whatsnew/3.2.rst:2539
msgid ""
"The :c:func:`PyUnicode_CompareWithASCIIString` function now returns *not "
"equal* if the Python string is *NUL* terminated."
msgstr ""
#: whatsnew/3.2.rst:2542
msgid ""
"There is a new function :c:func:`PyErr_NewExceptionWithDoc` that is like :c:"
"func:`PyErr_NewException` but allows a docstring to be specified. This lets "
"C exceptions have the same self-documenting capabilities as their pure "
"Python counterparts (:issue:`7033`)."
msgstr ""
#: whatsnew/3.2.rst:2547
msgid ""
"When compiled with the ``--with-valgrind`` option, the pymalloc allocator "
"will be automatically disabled when running under Valgrind. This gives "
"improved memory leak detection when running under Valgrind, while taking "
"advantage of pymalloc at other times (:issue:`2422`)."
msgstr ""
#: whatsnew/3.2.rst:2552
msgid ""
"Removed the ``O?`` format from the *PyArg_Parse* functions. The format is "
"no longer used and it had never been documented (:issue:`8837`)."
msgstr ""
#: whatsnew/3.2.rst:2555
msgid ""
"There were a number of other small changes to the C-API. See the :source:"
"`Misc/NEWS` file for a complete list."
msgstr ""
#: whatsnew/3.2.rst:2558
msgid ""
"Also, there were a number of updates to the Mac OS X build, see :source:`Mac/"
"BuildScript/README.txt` for details. For users running a 32/64-bit build, "
"there is a known problem with the default Tcl/Tk on Mac OS X 10.6. "
"Accordingly, we recommend installing an updated alternative such as "
"`ActiveState Tcl/Tk 8.5.9 <http://www.activestate.com/activetcl/downloads>`_"
"\\. See https://www.python.org/download/mac/tcltk/ for additional details."
msgstr ""
#: whatsnew/3.2.rst:2566
msgid "Porting to Python 3.2"
msgstr "Portage vers Python 3.2"
#: whatsnew/3.2.rst:2571
msgid ""
"The :mod:`configparser` module has a number of clean-ups. The major change "
"is to replace the old :class:`ConfigParser` class with long-standing "
"preferred alternative :class:`SafeConfigParser`. In addition there are a "
"number of smaller incompatibilities:"
msgstr ""
#: whatsnew/3.2.rst:2576
msgid ""
"The interpolation syntax is now validated on :meth:`~configparser."
"ConfigParser.get` and :meth:`~configparser.ConfigParser.set` operations. In "
"the default interpolation scheme, only two tokens with percent signs are "
"valid: ``%(name)s`` and ``%%``, the latter being an escaped percent sign."
msgstr ""
#: whatsnew/3.2.rst:2582
msgid ""
"The :meth:`~configparser.ConfigParser.set` and :meth:`~configparser."
"ConfigParser.add_section` methods now verify that values are actual "
"strings. Formerly, unsupported types could be introduced unintentionally."
msgstr ""
#: whatsnew/3.2.rst:2587
msgid ""
"Duplicate sections or options from a single source now raise either :exc:"
"`~configparser.DuplicateSectionError` or :exc:`~configparser."
"DuplicateOptionError`. Formerly, duplicates would silently overwrite a "
"previous entry."
msgstr ""
#: whatsnew/3.2.rst:2592
msgid ""
"Inline comments are now disabled by default so now the **;** character can "
"be safely used in values."
msgstr ""
#: whatsnew/3.2.rst:2595
msgid ""
"Comments now can be indented. Consequently, for **;** or **#** to appear at "
"the start of a line in multiline values, it has to be interpolated. This "
"keeps comment prefix characters in values from being mistaken as comments."
msgstr ""
#: whatsnew/3.2.rst:2599
msgid ""
"``\"\"`` is now a valid value and is no longer automatically converted to an "
"empty string. For empty strings, use ``\"option =\"`` in a line."
msgstr ""
#: whatsnew/3.2.rst:2602
msgid ""
"The :mod:`nntplib` module was reworked extensively, meaning that its APIs "
"are often incompatible with the 3.1 APIs."
msgstr ""
#: whatsnew/3.2.rst:2605
#, fuzzy
msgid ""
":class:`bytearray` objects can no longer be used as filenames; instead, they "
"should be converted to :class:`bytes`."
msgstr ""
"Les objets bytearray ne peuvent plus être utilisés en tant que nom de "
"fichiers : les convertir en octets"
#: whatsnew/3.2.rst:2608
msgid ""
"The :meth:`array.tostring` and :meth:`array.fromstring` have been renamed "
"to :meth:`array.tobytes` and :meth:`array.frombytes` for clarity. The old "
"names have been deprecated. (See :issue:`8990`.)"
msgstr ""
#: whatsnew/3.2.rst:2612
#, fuzzy
msgid "``PyArg_Parse*()`` functions:"
msgstr "Les fonctions PyArg_Parse*() :"
#: whatsnew/3.2.rst:2614
msgid "\"t#\" format has been removed: use \"s#\" or \"s*\" instead"
msgstr "Le format \"t#\" a été supprimé : utiliser \"s#\" ou \"s*\" à la place"
#: whatsnew/3.2.rst:2615
msgid "\"w\" and \"w#\" formats has been removed: use \"w*\" instead"
msgstr ""
"Les formats \"w\" et \"w#\" ont été supprimés : utiliser \"w*\" à la place"
#: whatsnew/3.2.rst:2617
msgid ""
"The :c:type:`PyCObject` type, deprecated in 3.1, has been removed. To wrap "
"opaque C pointers in Python objects, the :c:type:`PyCapsule` API should be "
"used instead; the new type has a well-defined interface for passing typing "
"safety information and a less complicated signature for calling a destructor."
msgstr ""
#: whatsnew/3.2.rst:2622
msgid ""
"The :func:`sys.setfilesystemencoding` function was removed because it had a "
"flawed design."
msgstr ""
#: whatsnew/3.2.rst:2625
msgid ""
"The :func:`random.seed` function and method now salt string seeds with an "
"sha512 hash function. To access the previous version of *seed* in order to "
"reproduce Python 3.1 sequences, set the *version* argument to *1*, ``random."
"seed(s, version=1)``."
msgstr ""
#: whatsnew/3.2.rst:2630
msgid ""
"The previously deprecated :func:`string.maketrans` function has been removed "
"in favor of the static methods :meth:`bytes.maketrans` and :meth:`bytearray."
"maketrans`. This change solves the confusion around which types were "
"supported by the :mod:`string` module. Now, :class:`str`, :class:`bytes`, "
"and :class:`bytearray` each have their own **maketrans** and **translate** "
"methods with intermediate translation tables of the appropriate type."
msgstr ""
#: whatsnew/3.2.rst:2640
msgid ""
"The previously deprecated :func:`contextlib.nested` function has been "
"removed in favor of a plain :keyword:`with` statement which can accept "
"multiple context managers. The latter technique is faster (because it is "
"built-in), and it does a better job finalizing multiple context managers "
"when one of them raises an exception::"
msgstr ""
#: whatsnew/3.2.rst:2654
msgid ""
":func:`struct.pack` now only allows bytes for the ``s`` string pack code. "
"Formerly, it would accept text arguments and implicitly encode them to bytes "
"using UTF-8. This was problematic because it made assumptions about the "
"correct encoding and because a variable-length encoding can fail when "
"writing to fixed length segment of a structure."
msgstr ""
#: whatsnew/3.2.rst:2660
msgid ""
"Code such as ``struct.pack('<6sHHBBB', 'GIF87a', x, y)`` should be rewritten "
"with to use bytes instead of text, ``struct.pack('<6sHHBBB', b'GIF87a', x, "
"y)``."
msgstr ""
#: whatsnew/3.2.rst:2663
msgid ""
"(Discovered by David Beazley and fixed by Victor Stinner; :issue:`10783`.)"
msgstr ""
#: whatsnew/3.2.rst:2665
msgid ""
"The :class:`xml.etree.ElementTree` class now raises an :exc:`xml.etree."
"ElementTree.ParseError` when a parse fails. Previously it raised a :exc:`xml."
"parsers.expat.ExpatError`."
msgstr ""
#: whatsnew/3.2.rst:2669
msgid ""
"The new, longer :func:`str` value on floats may break doctests which rely on "
"the old output format."
msgstr ""
#: whatsnew/3.2.rst:2672
msgid ""
"In :class:`subprocess.Popen`, the default value for *close_fds* is now "
"``True`` under Unix; under Windows, it is ``True`` if the three standard "
"streams are set to ``None``, ``False`` otherwise. Previously, *close_fds* "
"was always ``False`` by default, which produced difficult to solve bugs or "
"race conditions when open file descriptors would leak into the child process."
msgstr ""
#: whatsnew/3.2.rst:2679
msgid ""
"Support for legacy HTTP 0.9 has been removed from :mod:`urllib.request` and :"
"mod:`http.client`. Such support is still present on the server side (in :"
"mod:`http.server`)."
msgstr ""
#: whatsnew/3.2.rst:2683
#, fuzzy
msgid "(Contributed by Antoine Pitrou, :issue:`10711`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:2685
msgid ""
"SSL sockets in timeout mode now raise :exc:`socket.timeout` when a timeout "
"occurs, rather than a generic :exc:`~ssl.SSLError`."
msgstr ""
#: whatsnew/3.2.rst:2688
#, fuzzy
msgid "(Contributed by Antoine Pitrou, :issue:`10272`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:2690
msgid ""
"The misleading functions :c:func:`PyEval_AcquireLock()` and :c:func:"
"`PyEval_ReleaseLock()` have been officially deprecated. The thread-state "
"aware APIs (such as :c:func:`PyEval_SaveThread()` and :c:func:"
"`PyEval_RestoreThread()`) should be used instead."
msgstr ""
#: whatsnew/3.2.rst:2695
msgid ""
"Due to security risks, :func:`asyncore.handle_accept` has been deprecated, "
"and a new function, :func:`asyncore.handle_accepted`, was added to replace "
"it."
msgstr ""
#: whatsnew/3.2.rst:2698
#, fuzzy
msgid "(Contributed by Giampaolo Rodola in :issue:`6706`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.2.rst:2700
msgid ""
"Due to the new :term:`GIL` implementation, :c:func:`PyEval_InitThreads()` "
"cannot be called before :c:func:`Py_Initialize()` anymore."
msgstr ""
#: whatsnew/3.3.rst:3
#, fuzzy
msgid "What's New In Python 3.3"
msgstr "Nouveautés de Python 2.0"
#: whatsnew/3.3.rst:45
msgid ""
"This article explains the new features in Python 3.3, compared to 3.2. "
"Python 3.3 was released on September 29, 2012. For full details, see the "
"`changelog <https://docs.python.org/3.3/whatsnew/changelog.html>`_."
msgstr ""
#: whatsnew/3.3.rst:51
msgid ":pep:`398` - Python 3.3 Release Schedule"
msgstr ""
#: whatsnew/3.3.rst:55 whatsnew/3.5.rst:58
msgid "Summary -- Release highlights"
msgstr ""
#: whatsnew/3.3.rst:60 whatsnew/3.4.rst:80 whatsnew/3.5.rst:60
msgid "New syntax features:"
msgstr ""
#: whatsnew/3.3.rst:62
msgid ""
"New ``yield from`` expression for :ref:`generator delegation <pep-380>`."
msgstr ""
#: whatsnew/3.3.rst:63
msgid "The ``u'unicode'`` syntax is accepted again for :class:`str` objects."
msgstr ""
#: whatsnew/3.3.rst:65 whatsnew/3.4.rst:98 whatsnew/3.5.rst:67
msgid "New library modules:"
msgstr ""
#: whatsnew/3.3.rst:67
msgid ":mod:`faulthandler` (helps debugging low-level crashes)"
msgstr ""
#: whatsnew/3.3.rst:68
msgid ""
":mod:`ipaddress` (high-level objects representing IP addresses and masks)"
msgstr ""
#: whatsnew/3.3.rst:69
msgid ":mod:`lzma` (compress data using the XZ / LZMA algorithm)"
msgstr ""
#: whatsnew/3.3.rst:70
msgid ""
":mod:`unittest.mock` (replace parts of your system under test with mock "
"objects)"
msgstr ""
#: whatsnew/3.3.rst:71
msgid ""
":mod:`venv` (Python :ref:`virtual environments <pep-405>`, as in the popular "
"``virtualenv`` package)"
msgstr ""
#: whatsnew/3.3.rst:74 whatsnew/3.5.rst:74
msgid "New built-in features:"
msgstr ""
#: whatsnew/3.3.rst:76
msgid "Reworked :ref:`I/O exception hierarchy <pep-3151>`."
msgstr ""
#: whatsnew/3.3.rst:78
msgid "Implementation improvements:"
msgstr ""
#: whatsnew/3.3.rst:80
msgid ""
"Rewritten :ref:`import machinery <importlib>` based on :mod:`importlib`."
msgstr ""
#: whatsnew/3.3.rst:81
msgid "More compact :ref:`unicode strings <pep-393>`."
msgstr ""
#: whatsnew/3.3.rst:82
msgid "More compact :ref:`attribute dictionaries <pep-412>`."
msgstr ""
#: whatsnew/3.3.rst:84
msgid "Significantly Improved Library Modules:"
msgstr ""
#: whatsnew/3.3.rst:86
msgid "C Accelerator for the :ref:`decimal <new-decimal>` module."
msgstr ""
#: whatsnew/3.3.rst:87
msgid ""
"Better unicode handling in the :ref:`email <new-email>` module (:term:"
"`provisional <provisional package>`)."
msgstr ""
#: whatsnew/3.3.rst:90 whatsnew/3.4.rst:132 whatsnew/3.5.rst:136
msgid "Security improvements:"
msgstr ""
#: whatsnew/3.3.rst:92
msgid "Hash randomization is switched on by default."
msgstr ""
#: whatsnew/3.3.rst:94
msgid "Please read on for a comprehensive list of user-facing changes."
msgstr ""
#: whatsnew/3.3.rst:100
msgid "PEP 405: Virtual Environments"
msgstr ""
#: whatsnew/3.3.rst:102
msgid ""
"Virtual environments help create separate Python setups while sharing a "
"system-wide base install, for ease of maintenance. Virtual environments "
"have their own set of private site packages (i.e. locally-installed "
"libraries), and are optionally segregated from the system-wide site "
"packages. Their concept and implementation are inspired by the popular "
"``virtualenv`` third-party package, but benefit from tighter integration "
"with the interpreter core."
msgstr ""
#: whatsnew/3.3.rst:110
msgid ""
"This PEP adds the :mod:`venv` module for programmatic access, and the :ref:"
"`pyvenv <scripts-pyvenv>` script for command-line access and "
"administration. The Python interpreter checks for a ``pyvenv.cfg``, file "
"whose existence signals the base of a virtual environment's directory tree."
msgstr ""
#: whatsnew/3.3.rst:118
msgid "PEP 405 - Python Virtual Environments"
msgstr ""
#: whatsnew/3.3.rst:119
msgid "PEP written by Carl Meyer; implementation by Carl Meyer and Vinay Sajip"
msgstr ""
#: whatsnew/3.3.rst:123
msgid "PEP 420: Implicit Namespace Packages"
msgstr ""
#: whatsnew/3.3.rst:125
msgid ""
"Native support for package directories that don't require ``__init__.py`` "
"marker files and can automatically span multiple path segments (inspired by "
"various third party approaches to namespace packages, as described in :pep:"
"`420`)"
msgstr ""
#: whatsnew/3.3.rst:133
msgid "PEP 420 - Implicit Namespace Packages"
msgstr ""
#: whatsnew/3.3.rst:133
msgid ""
"PEP written by Eric V. Smith; implementation by Eric V. Smith and Barry "
"Warsaw"
msgstr ""
#: whatsnew/3.3.rst:140
msgid ""
"PEP 3118: New memoryview implementation and buffer protocol documentation"
msgstr ""
#: whatsnew/3.3.rst:142
msgid "The implementation of :pep:`3118` has been significantly improved."
msgstr ""
#: whatsnew/3.3.rst:144
msgid ""
"The new memoryview implementation comprehensively fixes all ownership and "
"lifetime issues of dynamically allocated fields in the Py_buffer struct that "
"led to multiple crash reports. Additionally, several functions that crashed "
"or returned incorrect results for non-contiguous or multi-dimensional input "
"have been fixed."
msgstr ""
#: whatsnew/3.3.rst:150
msgid ""
"The memoryview object now has a PEP-3118 compliant getbufferproc() that "
"checks the consumer's request type. Many new features have been added, most "
"of them work in full generality for non-contiguous arrays and arrays with "
"suboffsets."
msgstr ""
#: whatsnew/3.3.rst:155
msgid ""
"The documentation has been updated, clearly spelling out responsibilities "
"for both exporters and consumers. Buffer request flags are grouped into "
"basic and compound flags. The memory layout of non-contiguous and multi-"
"dimensional NumPy-style arrays is explained."
msgstr ""
#: whatsnew/3.3.rst:161 whatsnew/3.3.rst:1121
msgid "Features"
msgstr ""
#: whatsnew/3.3.rst:163
msgid ""
"All native single character format specifiers in struct module syntax "
"(optionally prefixed with '@') are now supported."
msgstr ""
#: whatsnew/3.3.rst:166
msgid ""
"With some restrictions, the cast() method allows changing of format and "
"shape of C-contiguous arrays."
msgstr ""
#: whatsnew/3.3.rst:169
msgid ""
"Multi-dimensional list representations are supported for any array type."
msgstr ""
#: whatsnew/3.3.rst:171
msgid "Multi-dimensional comparisons are supported for any array type."
msgstr ""
#: whatsnew/3.3.rst:173
msgid ""
"One-dimensional memoryviews of hashable (read-only) types with formats B, b "
"or c are now hashable. (Contributed by Antoine Pitrou in :issue:`13411`.)"
msgstr ""
#: whatsnew/3.3.rst:176
msgid ""
"Arbitrary slicing of any 1-D arrays type is supported. For example, it is "
"now possible to reverse a memoryview in O(1) by using a negative step."
msgstr ""
#: whatsnew/3.3.rst:180 whatsnew/3.3.rst:1131
msgid "API changes"
msgstr ""
#: whatsnew/3.3.rst:182
msgid "The maximum number of dimensions is officially limited to 64."
msgstr ""
#: whatsnew/3.3.rst:184
msgid ""
"The representation of empty shape, strides and suboffsets is now an empty "
"tuple instead of None."
msgstr ""
#: whatsnew/3.3.rst:187
msgid ""
"Accessing a memoryview element with format 'B' (unsigned bytes) now returns "
"an integer (in accordance with the struct module syntax). For returning a "
"bytes object the view must be cast to 'c' first."
msgstr ""
#: whatsnew/3.3.rst:191
msgid ""
"memoryview comparisons now use the logical structure of the operands and "
"compare all array elements by value. All format strings in struct module "
"syntax are supported. Views with unrecognised format strings are still "
"permitted, but will always compare as unequal, regardless of view contents."
msgstr ""
#: whatsnew/3.3.rst:197
msgid ""
"For further changes see `Build and C API Changes`_ and `Porting C code`_."
msgstr ""
#: whatsnew/3.3.rst:199
#, fuzzy
msgid "(Contributed by Stefan Krah in :issue:`10181`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:203
msgid ":pep:`3118` - Revising the Buffer Protocol"
msgstr ""
#: whatsnew/3.3.rst:209
msgid "PEP 393: Flexible String Representation"
msgstr ""
#: whatsnew/3.3.rst:211
msgid ""
"The Unicode string type is changed to support multiple internal "
"representations, depending on the character with the largest Unicode ordinal "
"(1, 2, or 4 bytes) in the represented string. This allows a space-efficient "
"representation in common cases, but gives access to full UCS-4 on all "
"systems. For compatibility with existing APIs, several representations may "
"exist in parallel; over time, this compatibility should be phased out."
msgstr ""
#: whatsnew/3.3.rst:218
msgid "On the Python side, there should be no downside to this change."
msgstr ""
#: whatsnew/3.3.rst:220
msgid ""
"On the C API side, PEP 393 is fully backward compatible. The legacy API "
"should remain available at least five years. Applications using the legacy "
"API will not fully benefit of the memory reduction, or - worse - may use a "
"bit more memory, because Python may have to maintain two versions of each "
"string (in the legacy format and in the new efficient storage)."
msgstr ""
#: whatsnew/3.3.rst:227
msgid "Functionality"
msgstr ""
#: whatsnew/3.3.rst:229
msgid "Changes introduced by :pep:`393` are the following:"
msgstr ""
#: whatsnew/3.3.rst:231
msgid ""
"Python now always supports the full range of Unicode code points, including "
"non-BMP ones (i.e. from ``U+0000`` to ``U+10FFFF``). The distinction "
"between narrow and wide builds no longer exists and Python now behaves like "
"a wide build, even under Windows."
msgstr ""
#: whatsnew/3.3.rst:236
msgid ""
"With the death of narrow builds, the problems specific to narrow builds have "
"also been fixed, for example:"
msgstr ""
#: whatsnew/3.3.rst:239
msgid ""
":func:`len` now always returns 1 for non-BMP characters, so "
"``len('\\U0010FFFF') == 1``;"
msgstr ""
#: whatsnew/3.3.rst:242
msgid ""
"surrogate pairs are not recombined in string literals, so ``'\\uDBFF"
"\\uDFFF' != '\\U0010FFFF'``;"
msgstr ""
#: whatsnew/3.3.rst:245
msgid ""
"indexing or slicing non-BMP characters returns the expected value, so "
"``'\\U0010FFFF'[0]`` now returns ``'\\U0010FFFF'`` and not ``'\\uDBFF'``;"
msgstr ""
#: whatsnew/3.3.rst:248
msgid ""
"all other functions in the standard library now correctly handle non-BMP "
"code points."
msgstr ""
#: whatsnew/3.3.rst:251
msgid ""
"The value of :data:`sys.maxunicode` is now always ``1114111`` (``0x10FFFF`` "
"in hexadecimal). The :c:func:`PyUnicode_GetMax` function still returns "
"either ``0xFFFF`` or ``0x10FFFF`` for backward compatibility, and it should "
"not be used with the new Unicode API (see :issue:`13054`)."
msgstr ""
#: whatsnew/3.3.rst:256
msgid "The :file:`./configure` flag ``--with-wide-unicode`` has been removed."
msgstr ""
#: whatsnew/3.3.rst:259
msgid "Performance and resource usage"
msgstr ""
#: whatsnew/3.3.rst:261
msgid ""
"The storage of Unicode strings now depends on the highest code point in the "
"string:"
msgstr ""
#: whatsnew/3.3.rst:263
msgid ""
"pure ASCII and Latin1 strings (``U+0000-U+00FF``) use 1 byte per code point;"
msgstr ""
#: whatsnew/3.3.rst:265
msgid "BMP strings (``U+0000-U+FFFF``) use 2 bytes per code point;"
msgstr ""
#: whatsnew/3.3.rst:267
msgid "non-BMP strings (``U+10000-U+10FFFF``) use 4 bytes per code point."
msgstr ""
#: whatsnew/3.3.rst:269
msgid ""
"The net effect is that for most applications, memory usage of string storage "
"should decrease significantly - especially compared to former wide unicode "
"builds - as, in many cases, strings will be pure ASCII even in international "
"contexts (because many strings store non-human language data, such as XML "
"fragments, HTTP headers, JSON-encoded data, etc.). We also hope that it "
"will, for the same reasons, increase CPU cache efficiency on non-trivial "
"applications. The memory usage of Python 3.3 is two to three times smaller "
"than Python 3.2, and a little bit better than Python 2.7, on a Django "
"benchmark (see the PEP for details)."
msgstr ""
#: whatsnew/3.3.rst:283
msgid "PEP 393 - Flexible String Representation"
msgstr ""
#: whatsnew/3.3.rst:283
msgid ""
"PEP written by Martin von Löwis; implementation by Torsten Becker and Martin "
"von Löwis."
msgstr ""
#: whatsnew/3.3.rst:290
msgid "PEP 397: Python Launcher for Windows"
msgstr ""
#: whatsnew/3.3.rst:292
msgid ""
"The Python 3.3 Windows installer now includes a ``py`` launcher application "
"that can be used to launch Python applications in a version independent "
"fashion."
msgstr ""
#: whatsnew/3.3.rst:296
msgid ""
"This launcher is invoked implicitly when double-clicking ``*.py`` files. If "
"only a single Python version is installed on the system, that version will "
"be used to run the file. If multiple versions are installed, the most recent "
"version is used by default, but this can be overridden by including a Unix-"
"style \"shebang line\" in the Python script."
msgstr ""
#: whatsnew/3.3.rst:302
msgid ""
"The launcher can also be used explicitly from the command line as the ``py`` "
"application. Running ``py`` follows the same version selection rules as "
"implicitly launching scripts, but a more specific version can be selected by "
"passing appropriate arguments (such as ``-3`` to request Python 3 when "
"Python 2 is also installed, or ``-2.6`` to specifclly request an earlier "
"Python version when a more recent version is installed)."
msgstr ""
#: whatsnew/3.3.rst:309
msgid ""
"In addition to the launcher, the Windows installer now includes an option to "
"add the newly installed Python to the system PATH. (Contributed by Brian "
"Curtin in :issue:`3561`.)"
msgstr ""
#: whatsnew/3.3.rst:317
msgid "PEP 397 - Python Launcher for Windows"
msgstr ""
#: whatsnew/3.3.rst:316
msgid ""
"PEP written by Mark Hammond and Martin v. Löwis; implementation by Vinay "
"Sajip."
msgstr ""
#: whatsnew/3.3.rst:319
msgid "Launcher documentation: :ref:`launcher`"
msgstr ""
#: whatsnew/3.3.rst:321
msgid "Installer PATH modification: :ref:`windows-path-mod`"
msgstr ""
#: whatsnew/3.3.rst:327
msgid "PEP 3151: Reworking the OS and IO exception hierarchy"
msgstr ""
#: whatsnew/3.3.rst:329
msgid ""
"The hierarchy of exceptions raised by operating system errors is now both "
"simplified and finer-grained."
msgstr ""
#: whatsnew/3.3.rst:332
msgid ""
"You don't have to worry anymore about choosing the appropriate exception "
"type between :exc:`OSError`, :exc:`IOError`, :exc:`EnvironmentError`, :exc:"
"`WindowsError`, :exc:`mmap.error`, :exc:`socket.error` or :exc:`select."
"error`. All these exception types are now only one: :exc:`OSError`. The "
"other names are kept as aliases for compatibility reasons."
msgstr ""
#: whatsnew/3.3.rst:339
msgid ""
"Also, it is now easier to catch a specific error condition. Instead of "
"inspecting the ``errno`` attribute (or ``args[0]``) for a particular "
"constant from the :mod:`errno` module, you can catch the adequate :exc:"
"`OSError` subclass. The available subclasses are the following:"
msgstr ""
#: whatsnew/3.3.rst:344
msgid ":exc:`BlockingIOError`"
msgstr ":exc:`BlockingIOError`"
#: whatsnew/3.3.rst:345
msgid ":exc:`ChildProcessError`"
msgstr ":exc:`ChildProcessError`"
#: whatsnew/3.3.rst:346
msgid ":exc:`ConnectionError`"
msgstr ":exc:`ConnectionError`"
#: whatsnew/3.3.rst:347
msgid ":exc:`FileExistsError`"
msgstr ":exc:`FileExistsError`"
#: whatsnew/3.3.rst:348
msgid ":exc:`FileNotFoundError`"
msgstr ":exc:`FileNotFoundError`"
#: whatsnew/3.3.rst:349
msgid ":exc:`InterruptedError`"
msgstr ":exc:`InterruptedError`"
#: whatsnew/3.3.rst:350
msgid ":exc:`IsADirectoryError`"
msgstr ":exc:`IsADirectoryError`"
#: whatsnew/3.3.rst:351
msgid ":exc:`NotADirectoryError`"
msgstr ":exc:`NotADirectoryError`"
#: whatsnew/3.3.rst:352
msgid ":exc:`PermissionError`"
msgstr ":exc:`PermissionError`"
#: whatsnew/3.3.rst:353
msgid ":exc:`ProcessLookupError`"
msgstr ":exc:`ProcessLookupError`"
#: whatsnew/3.3.rst:354
msgid ":exc:`TimeoutError`"
msgstr ":exc:`TimeoutError`"
#: whatsnew/3.3.rst:356
msgid "And the :exc:`ConnectionError` itself has finer-grained subclasses:"
msgstr ""
#: whatsnew/3.3.rst:358
msgid ":exc:`BrokenPipeError`"
msgstr ":exc:`BrokenPipeError`"
#: whatsnew/3.3.rst:359
msgid ":exc:`ConnectionAbortedError`"
msgstr ":exc:`ConnectionAbortedError`"
#: whatsnew/3.3.rst:360
msgid ":exc:`ConnectionRefusedError`"
msgstr ":exc:`ConnectionRefusedError`"
#: whatsnew/3.3.rst:361
msgid ":exc:`ConnectionResetError`"
msgstr ":exc:`ConnectionResetError`"
#: whatsnew/3.3.rst:363
msgid ""
"Thanks to the new exceptions, common usages of the :mod:`errno` can now be "
"avoided. For example, the following code written for Python 3.2::"
msgstr ""
#: whatsnew/3.3.rst:379
msgid ""
"can now be written without the :mod:`errno` import and without manual "
"inspection of exception attributes::"
msgstr ""
#: whatsnew/3.3.rst:392
msgid "PEP 3151 - Reworking the OS and IO Exception Hierarchy"
msgstr ""
#: whatsnew/3.3.rst:393
msgid "PEP written and implemented by Antoine Pitrou"
msgstr ""
#: whatsnew/3.3.rst:402
msgid "PEP 380: Syntax for Delegating to a Subgenerator"
msgstr ""
#: whatsnew/3.3.rst:404
msgid ""
"PEP 380 adds the ``yield from`` expression, allowing a :term:`generator` to "
"delegate part of its operations to another generator. This allows a section "
"of code containing :keyword:`yield` to be factored out and placed in another "
"generator. Additionally, the subgenerator is allowed to return with a value, "
"and the value is made available to the delegating generator."
msgstr ""
#: whatsnew/3.3.rst:411
msgid ""
"While designed primarily for use in delegating to a subgenerator, the "
"``yield from`` expression actually allows delegation to arbitrary "
"subiterators."
msgstr ""
#: whatsnew/3.3.rst:414
msgid ""
"For simple iterators, ``yield from iterable`` is essentially just a "
"shortened form of ``for item in iterable: yield item``::"
msgstr ""
#: whatsnew/3.3.rst:424
msgid ""
"However, unlike an ordinary loop, ``yield from`` allows subgenerators to "
"receive sent and thrown values directly from the calling scope, and return a "
"final value to the outer generator::"
msgstr ""
#: whatsnew/3.3.rst:455
msgid ""
"The main principle driving this change is to allow even generators that are "
"designed to be used with the ``send`` and ``throw`` methods to be split into "
"multiple subgenerators as easily as a single large function can be split "
"into multiple subfunctions."
msgstr ""
#: whatsnew/3.3.rst:464
msgid "PEP 380 - Syntax for Delegating to a Subgenerator"
msgstr ""
#: whatsnew/3.3.rst:463
msgid ""
"PEP written by Greg Ewing; implementation by Greg Ewing, integrated into 3.3 "
"by Renaud Blanch, Ryan Kelly and Nick Coghlan; documentation by Zbigniew "
"Jędrzejewski-Szmek and Nick Coghlan"
msgstr ""
#: whatsnew/3.3.rst:469
msgid "PEP 409: Suppressing exception context"
msgstr ""
#: whatsnew/3.3.rst:471
msgid ""
"PEP 409 introduces new syntax that allows the display of the chained "
"exception context to be disabled. This allows cleaner error messages in "
"applications that convert between exception types::"
msgstr ""
#: whatsnew/3.3.rst:490
msgid ""
"Without the ``from None`` suffix to suppress the cause, the original "
"exception would be displayed by default::"
msgstr ""
#: whatsnew/3.3.rst:514
msgid ""
"No debugging capability is lost, as the original exception context remains "
"available if needed (for example, if an intervening library has incorrectly "
"suppressed valuable underlying details)::"
msgstr ""
#: whatsnew/3.3.rst:528
msgid "PEP 409 - Suppressing exception context"
msgstr ""
#: whatsnew/3.3.rst:528
msgid ""
"PEP written by Ethan Furman; implemented by Ethan Furman and Nick Coghlan."
msgstr ""
#: whatsnew/3.3.rst:533
msgid "PEP 414: Explicit Unicode literals"
msgstr ""
#: whatsnew/3.3.rst:535
msgid ""
"To ease the transition from Python 2 for Unicode aware Python applications "
"that make heavy use of Unicode literals, Python 3.3 once again supports the "
"\"``u``\" prefix for string literals. This prefix has no semantic "
"significance in Python 3, it is provided solely to reduce the number of "
"purely mechanical changes in migrating to Python 3, making it easier for "
"developers to focus on the more significant semantic changes (such as the "
"stricter default separation of binary and text data)."
msgstr ""
#: whatsnew/3.3.rst:545
msgid "PEP 414 - Explicit Unicode literals"
msgstr ""
#: whatsnew/3.3.rst:546
msgid "PEP written by Armin Ronacher."
msgstr ""
#: whatsnew/3.3.rst:550
msgid "PEP 3155: Qualified name for classes and functions"
msgstr ""
#: whatsnew/3.3.rst:552
msgid ""
"Functions and class objects have a new ``__qualname__`` attribute "
"representing the \"path\" from the module top-level to their definition. "
"For global functions and classes, this is the same as ``__name__``. For "
"other functions and classes, it provides better information about where they "
"were actually defined, and how they might be accessible from the global "
"scope."
msgstr ""
#: whatsnew/3.3.rst:558
msgid "Example with (non-bound) methods::"
msgstr ""
#: whatsnew/3.3.rst:568
msgid "Example with nested classes::"
msgstr ""
#: whatsnew/3.3.rst:584
msgid "Example with nested functions::"
msgstr ""
#: whatsnew/3.3.rst:596
msgid ""
"The string representation of those objects is also changed to include the "
"new, more precise information::"
msgstr ""
#: whatsnew/3.3.rst:606
msgid "PEP 3155 - Qualified name for classes and functions"
msgstr ""
#: whatsnew/3.3.rst:607 whatsnew/3.4.rst:539 whatsnew/3.4.rst:1835
msgid "PEP written and implemented by Antoine Pitrou."
msgstr ""
#: whatsnew/3.3.rst:613
msgid "PEP 412: Key-Sharing Dictionary"
msgstr ""
#: whatsnew/3.3.rst:615
msgid ""
"Dictionaries used for the storage of objects' attributes are now able to "
"share part of their internal storage between each other (namely, the part "
"which stores the keys and their respective hashes). This reduces the memory "
"consumption of programs creating many instances of non-builtin types."
msgstr ""
#: whatsnew/3.3.rst:622
msgid "PEP 412 - Key-Sharing Dictionary"
msgstr ""
#: whatsnew/3.3.rst:623
msgid "PEP written and implemented by Mark Shannon."
msgstr ""
#: whatsnew/3.3.rst:627
msgid "PEP 362: Function Signature Object"
msgstr ""
#: whatsnew/3.3.rst:629
msgid ""
"A new function :func:`inspect.signature` makes introspection of python "
"callables easy and straightforward. A broad range of callables is "
"supported: python functions, decorated or not, classes, and :func:`functools."
"partial` objects. New classes :class:`inspect.Signature`, :class:`inspect."
"Parameter` and :class:`inspect.BoundArguments` hold information about the "
"call signatures, such as, annotations, default values, parameters kinds, and "
"bound arguments, which considerably simplifies writing decorators and any "
"code that validates or amends calling signatures or arguments."
msgstr ""
#: whatsnew/3.3.rst:641
msgid "PEP 362: - Function Signature Object"
msgstr ""
#: whatsnew/3.3.rst:641
msgid ""
"PEP written by Brett Cannon, Yury Selivanov, Larry Hastings, Jiwon Seo; "
"implemented by Yury Selivanov."
msgstr ""
#: whatsnew/3.3.rst:646
msgid "PEP 421: Adding sys.implementation"
msgstr ""
#: whatsnew/3.3.rst:648
msgid ""
"A new attribute on the :mod:`sys` module exposes details specific to the "
"implementation of the currently running interpreter. The initial set of "
"attributes on :attr:`sys.implementation` are ``name``, ``version``, "
"``hexversion``, and ``cache_tag``."
msgstr ""
#: whatsnew/3.3.rst:653
msgid ""
"The intention of ``sys.implementation`` is to consolidate into one namespace "
"the implementation-specific data used by the standard library. This allows "
"different Python implementations to share a single standard library code "
"base much more easily. In its initial state, ``sys.implementation`` holds "
"only a small portion of the implementation-specific data. Over time that "
"ratio will shift in order to make the standard library more portable."
msgstr ""
#: whatsnew/3.3.rst:660
msgid ""
"One example of improved standard library portability is ``cache_tag``. As "
"of Python 3.3, ``sys.implementation.cache_tag`` is used by :mod:`importlib` "
"to support :pep:`3147` compliance. Any Python implementation that uses "
"``importlib`` for its built-in import system may use ``cache_tag`` to "
"control the caching behavior for modules."
msgstr ""
#: whatsnew/3.3.rst:667
msgid "SimpleNamespace"
msgstr ""
#: whatsnew/3.3.rst:669
msgid ""
"The implementation of ``sys.implementation`` also introduces a new type to "
"Python: :class:`types.SimpleNamespace`. In contrast to a mapping-based "
"namespace, like :class:`dict`, ``SimpleNamespace`` is attribute-based, like :"
"class:`object`. However, unlike ``object``, ``SimpleNamespace`` instances "
"are writable. This means that you can add, remove, and modify the namespace "
"through normal attribute access."
msgstr ""
#: whatsnew/3.3.rst:678
msgid "PEP 421 - Adding sys.implementation"
msgstr ""
#: whatsnew/3.3.rst:679
msgid "PEP written and implemented by Eric Snow."
msgstr ""
#: whatsnew/3.3.rst:685
msgid "Using importlib as the Implementation of Import"
msgstr ""
#: whatsnew/3.3.rst:686
msgid ""
":issue:`2377` - Replace __import__ w/ importlib.__import__ :issue:`13959` - "
"Re-implement parts of :mod:`imp` in pure Python :issue:`14605` - Make import "
"machinery explicit :issue:`14646` - Require loaders set __loader__ and "
"__package__"
msgstr ""
#: whatsnew/3.3.rst:691
msgid ""
"The :func:`__import__` function is now powered by :func:`importlib."
"__import__`. This work leads to the completion of \"phase 2\" of :pep:`302`. "
"There are multiple benefits to this change. First, it has allowed for more "
"of the machinery powering import to be exposed instead of being implicit and "
"hidden within the C code. It also provides a single implementation for all "
"Python VMs supporting Python 3.3 to use, helping to end any VM-specific "
"deviations in import semantics. And finally it eases the maintenance of "
"import, allowing for future growth to occur."
msgstr ""
#: whatsnew/3.3.rst:700
msgid ""
"For the common user, there should be no visible change in semantics. For "
"those whose code currently manipulates import or calls import "
"programmatically, the code changes that might possibly be required are "
"covered in the `Porting Python code`_ section of this document."
msgstr ""
#: whatsnew/3.3.rst:706
msgid "New APIs"
msgstr ""
#: whatsnew/3.3.rst:707
msgid ""
"One of the large benefits of this work is the exposure of what goes into "
"making the import statement work. That means the various importers that were "
"once implicit are now fully exposed as part of the :mod:`importlib` package."
msgstr ""
#: whatsnew/3.3.rst:711
msgid ""
"The abstract base classes defined in :mod:`importlib.abc` have been expanded "
"to properly delineate between :term:`meta path finders <meta path finder>` "
"and :term:`path entry finders <path entry finder>` by introducing :class:"
"`importlib.abc.MetaPathFinder` and :class:`importlib.abc.PathEntryFinder`, "
"respectively. The old ABC of :class:`importlib.abc.Finder` is now only "
"provided for backwards-compatibility and does not enforce any method "
"requirements."
msgstr ""
#: whatsnew/3.3.rst:719
msgid ""
"In terms of finders, :class:`importlib.machinery.FileFinder` exposes the "
"mechanism used to search for source and bytecode files of a module. "
"Previously this class was an implicit member of :attr:`sys.path_hooks`."
msgstr ""
#: whatsnew/3.3.rst:723
msgid ""
"For loaders, the new abstract base class :class:`importlib.abc.FileLoader` "
"helps write a loader that uses the file system as the storage mechanism for "
"a module's code. The loader for source files (:class:`importlib.machinery."
"SourceFileLoader`), sourceless bytecode files (:class:`importlib.machinery."
"SourcelessFileLoader`), and extension modules (:class:`importlib.machinery."
"ExtensionFileLoader`) are now available for direct use."
msgstr ""
#: whatsnew/3.3.rst:731
msgid ""
":exc:`ImportError` now has ``name`` and ``path`` attributes which are set "
"when there is relevant data to provide. The message for failed imports will "
"also provide the full name of the module now instead of just the tail end of "
"the module's name."
msgstr ""
#: whatsnew/3.3.rst:736
msgid ""
"The :func:`importlib.invalidate_caches` function will now call the method "
"with the same name on all finders cached in :attr:`sys.path_importer_cache` "
"to help clean up any stored state as necessary."
msgstr ""
#: whatsnew/3.3.rst:741
msgid "Visible Changes"
msgstr ""
#: whatsnew/3.3.rst:743
msgid ""
"For potential required changes to code, see the `Porting Python code`_ "
"section."
msgstr ""
#: whatsnew/3.3.rst:746
msgid ""
"Beyond the expanse of what :mod:`importlib` now exposes, there are other "
"visible changes to import. The biggest is that :attr:`sys.meta_path` and :"
"attr:`sys.path_hooks` now store all of the meta path finders and path entry "
"hooks used by import. Previously the finders were implicit and hidden "
"within the C code of import instead of being directly exposed. This means "
"that one can now easily remove or change the order of the various finders to "
"fit one's needs."
msgstr ""
#: whatsnew/3.3.rst:753
msgid ""
"Another change is that all modules have a ``__loader__`` attribute, storing "
"the loader used to create the module. :pep:`302` has been updated to make "
"this attribute mandatory for loaders to implement, so in the future once 3rd-"
"party loaders have been updated people will be able to rely on the existence "
"of the attribute. Until such time, though, import is setting the module post-"
"load."
msgstr ""
#: whatsnew/3.3.rst:759
msgid ""
"Loaders are also now expected to set the ``__package__`` attribute from :pep:"
"`366`. Once again, import itself is already setting this on all loaders "
"from :mod:`importlib` and import itself is setting the attribute post-load."
msgstr ""
#: whatsnew/3.3.rst:763
msgid ""
"``None`` is now inserted into :attr:`sys.path_importer_cache` when no finder "
"can be found on :attr:`sys.path_hooks`. Since :class:`imp.NullImporter` is "
"not directly exposed on :attr:`sys.path_hooks` it could no longer be relied "
"upon to always be available to use as a value representing no finder found."
msgstr ""
#: whatsnew/3.3.rst:768
msgid ""
"All other changes relate to semantic changes which should be taken into "
"consideration when updating code for Python 3.3, and thus should be read "
"about in the `Porting Python code`_ section of this document."
msgstr ""
#: whatsnew/3.3.rst:772
msgid "(Implementation by Brett Cannon)"
msgstr ""
#: whatsnew/3.3.rst:780
msgid ""
"Added support for Unicode name aliases and named sequences. Both :func:"
"`unicodedata.lookup()` and ``'\\N{...}'`` now resolve name aliases, and :"
"func:`unicodedata.lookup()` resolves named sequences too."
msgstr ""
#: whatsnew/3.3.rst:784
#, fuzzy
msgid "(Contributed by Ezio Melotti in :issue:`12753`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:786
msgid "Unicode database updated to UCD version 6.1.0"
msgstr ""
#: whatsnew/3.3.rst:788
msgid ""
"Equality comparisons on :func:`range` objects now return a result reflecting "
"the equality of the underlying sequences generated by those range objects. (:"
"issue:`13201`)"
msgstr ""
#: whatsnew/3.3.rst:792
msgid ""
"The ``count()``, ``find()``, ``rfind()``, ``index()`` and ``rindex()`` "
"methods of :class:`bytes` and :class:`bytearray` objects now accept an "
"integer between 0 and 255 as their first argument."
msgstr ""
#: whatsnew/3.3.rst:796
#, fuzzy
msgid "(Contributed by Petri Lehtinen in :issue:`12170`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:798
msgid ""
"The ``rjust()``, ``ljust()``, and ``center()`` methods of :class:`bytes` "
"and :class:`bytearray` now accept a :class:`bytearray` for the ``fill`` "
"argument. (Contributed by Petri Lehtinen in :issue:`12380`.)"
msgstr ""
#: whatsnew/3.3.rst:802
msgid ""
"New methods have been added to :class:`list` and :class:`bytearray`: "
"``copy()`` and ``clear()`` (:issue:`10516`). Consequently, :class:"
"`~collections.abc.MutableSequence` now also defines a :meth:`~collections."
"abc.MutableSequence.clear` method (:issue:`11388`)."
msgstr ""
#: whatsnew/3.3.rst:807
msgid ""
"Raw bytes literals can now be written ``rb\"...\"`` as well as ``br\"...\"``."
msgstr ""
#: whatsnew/3.3.rst:809
#, fuzzy
msgid "(Contributed by Antoine Pitrou in :issue:`13748`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:811
msgid ""
":meth:`dict.setdefault` now does only one lookup for the given key, making "
"it atomic when used with built-in types."
msgstr ""
#: whatsnew/3.3.rst:814
#, fuzzy
msgid "(Contributed by Filip Gruszczyński in :issue:`13521`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:816
msgid ""
"The error messages produced when a function call does not match the function "
"signature have been significantly improved."
msgstr ""
#: whatsnew/3.3.rst:819
#, fuzzy
msgid "(Contributed by Benjamin Peterson.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:823
msgid "A Finer-Grained Import Lock"
msgstr ""
#: whatsnew/3.3.rst:825
msgid ""
"Previous versions of CPython have always relied on a global import lock. "
"This led to unexpected annoyances, such as deadlocks when importing a module "
"would trigger code execution in a different thread as a side-effect. Clumsy "
"workarounds were sometimes employed, such as the :c:func:"
"`PyImport_ImportModuleNoBlock` C API function."
msgstr ""
#: whatsnew/3.3.rst:831
msgid ""
"In Python 3.3, importing a module takes a per-module lock. This correctly "
"serializes importation of a given module from multiple threads (preventing "
"the exposure of incompletely initialized modules), while eliminating the "
"aforementioned annoyances."
msgstr ""
#: whatsnew/3.3.rst:836
#, fuzzy
msgid "(Contributed by Antoine Pitrou in :issue:`9260`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:840
msgid "Builtin functions and types"
msgstr ""
#: whatsnew/3.3.rst:842
msgid ""
":func:`open` gets a new *opener* parameter: the underlying file descriptor "
"for the file object is then obtained by calling *opener* with (*file*, "
"*flags*). It can be used to use custom flags like :data:`os.O_CLOEXEC` for "
"example. The ``'x'`` mode was added: open for exclusive creation, failing if "
"the file already exists."
msgstr ""
#: whatsnew/3.3.rst:847
msgid ""
":func:`print`: added the *flush* keyword argument. If the *flush* keyword "
"argument is true, the stream is forcibly flushed."
msgstr ""
#: whatsnew/3.3.rst:849
msgid ""
":func:`hash`: hash randomization is enabled by default, see :meth:`object."
"__hash__` and :envvar:`PYTHONHASHSEED`."
msgstr ""
#: whatsnew/3.3.rst:851
msgid ""
"The :class:`str` type gets a new :meth:`~str.casefold` method: return a "
"casefolded copy of the string, casefolded strings may be used for caseless "
"matching. For example, ``'ß'.casefold()`` returns ``'ss'``."
msgstr ""
#: whatsnew/3.3.rst:854
msgid ""
"The sequence documentation has been substantially rewritten to better "
"explain the binary/text sequence distinction and to provide specific "
"documentation sections for the individual builtin sequence types (:issue:"
"`4966`)."
msgstr ""
#: whatsnew/3.3.rst:861 whatsnew/3.4.rst:458 whatsnew/3.5.rst:711
msgid "New Modules"
msgstr ""
#: whatsnew/3.3.rst:864 whatsnew/3.5.rst:1094
msgid "faulthandler"
msgstr ""
#: whatsnew/3.3.rst:866
msgid ""
"This new debug module :mod:`faulthandler` contains functions to dump Python "
"tracebacks explicitly, on a fault (a crash like a segmentation fault), after "
"a timeout, or on a user signal. Call :func:`faulthandler.enable` to install "
"fault handlers for the :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :"
"const:`SIGBUS`, and :const:`SIGILL` signals. You can also enable them at "
"startup by setting the :envvar:`PYTHONFAULTHANDLER` environment variable or "
"by using :option:`-X` ``faulthandler`` command line option."
msgstr ""
#: whatsnew/3.3.rst:874
msgid "Example of a segmentation fault on Linux: ::"
msgstr ""
#: whatsnew/3.3.rst:888 whatsnew/3.4.rst:1059 whatsnew/3.5.rst:1292
msgid "ipaddress"
msgstr ""
#: whatsnew/3.3.rst:890
msgid ""
"The new :mod:`ipaddress` module provides tools for creating and manipulating "
"objects representing IPv4 and IPv6 addresses, networks and interfaces (i.e. "
"an IP address associated with a specific IP subnet)."
msgstr ""
#: whatsnew/3.3.rst:894
#, fuzzy
msgid "(Contributed by Google and Peter Moody in :pep:`3144`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:897 whatsnew/3.5.rst:1393
msgid "lzma"
msgstr ""
#: whatsnew/3.3.rst:899
msgid ""
"The newly-added :mod:`lzma` module provides data compression and "
"decompression using the LZMA algorithm, including support for the ``.xz`` "
"and ``.lzma`` file formats."
msgstr ""
#: whatsnew/3.3.rst:903
msgid "(Contributed by Nadeem Vawda and Per Øyvind Karlsen in :issue:`6715`.)"
msgstr ""
#: whatsnew/3.3.rst:907 whatsnew/3.4.rst:589 whatsnew/3.5.rst:746
msgid "Improved Modules"
msgstr ""
#: whatsnew/3.3.rst:912
msgid ""
"Improved support for abstract base classes containing descriptors composed "
"with abstract methods. The recommended approach to declaring abstract "
"descriptors is now to provide :attr:`__isabstractmethod__` as a dynamically "
"updated property. The built-in descriptors have been updated accordingly."
msgstr ""
#: whatsnew/3.3.rst:917 whatsnew/3.3.rst:2244
msgid ""
":class:`abc.abstractproperty` has been deprecated, use :class:`property` "
"with :func:`abc.abstractmethod` instead."
msgstr ""
#: whatsnew/3.3.rst:919 whatsnew/3.3.rst:2246
msgid ""
":class:`abc.abstractclassmethod` has been deprecated, use :class:"
"`classmethod` with :func:`abc.abstractmethod` instead."
msgstr ""
#: whatsnew/3.3.rst:921 whatsnew/3.3.rst:2248
msgid ""
":class:`abc.abstractstaticmethod` has been deprecated, use :class:"
"`staticmethod` with :func:`abc.abstractmethod` instead."
msgstr ""
#: whatsnew/3.3.rst:924
#, fuzzy
msgid "(Contributed by Darren Dale in :issue:`11610`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:926
msgid ""
":meth:`abc.ABCMeta.register` now returns the registered subclass, which "
"means it can now be used as a class decorator (:issue:`10868`)."
msgstr ""
#: whatsnew/3.3.rst:931
msgid "array"
msgstr ""
#: whatsnew/3.3.rst:933
msgid ""
"The :mod:`array` module supports the :c:type:`long long` type using ``q`` "
"and ``Q`` type codes."
msgstr ""
#: whatsnew/3.3.rst:936
#, fuzzy
msgid "(Contributed by Oren Tirosh and Hirokazu Yamamoto in :issue:`1172711`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:940 whatsnew/3.4.rst:645
msgid "base64"
msgstr ""
#: whatsnew/3.3.rst:942
msgid ""
"ASCII-only Unicode strings are now accepted by the decoding functions of "
"the :mod:`base64` modern interface. For example, ``base64."
"b64decode('YWJj')`` returns ``b'abc'``. (Contributed by Catalin Iacob in :"
"issue:`13641`.)"
msgstr ""
#: whatsnew/3.3.rst:948
msgid "binascii"
msgstr ""
#: whatsnew/3.3.rst:950
msgid ""
"In addition to the binary objects they normally accept, the ``a2b_`` "
"functions now all also accept ASCII-only strings as input. (Contributed by "
"Antoine Pitrou in :issue:`13637`.)"
msgstr ""
#: whatsnew/3.3.rst:956 whatsnew/3.5.rst:827
msgid "bz2"
msgstr ""
#: whatsnew/3.3.rst:958
msgid ""
"The :mod:`bz2` module has been rewritten from scratch. In the process, "
"several new features have been added:"
msgstr ""
#: whatsnew/3.3.rst:961
msgid ""
"New :func:`bz2.open` function: open a bzip2-compressed file in binary or "
"text mode."
msgstr ""
#: whatsnew/3.3.rst:964
msgid ""
":class:`bz2.BZ2File` can now read from and write to arbitrary file-like "
"objects, by means of its constructor's *fileobj* argument."
msgstr ""
#: whatsnew/3.3.rst:967
#, fuzzy
msgid "(Contributed by Nadeem Vawda in :issue:`5863`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:969
msgid ""
":class:`bz2.BZ2File` and :func:`bz2.decompress` can now decompress multi-"
"stream inputs (such as those produced by the :program:`pbzip2` tool). :class:"
"`bz2.BZ2File` can now also be used to create this type of file, using the "
"``'a'`` (append) mode."
msgstr ""
#: whatsnew/3.3.rst:974
#, fuzzy
msgid "(Contributed by Nir Aides in :issue:`1625`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:976
msgid ""
":class:`bz2.BZ2File` now implements all of the :class:`io.BufferedIOBase` "
"API, except for the :meth:`detach` and :meth:`truncate` methods."
msgstr ""
#: whatsnew/3.3.rst:981
msgid "codecs"
msgstr ""
#: whatsnew/3.3.rst:983
msgid ""
"The :mod:`~encodings.mbcs` codec has been rewritten to handle correctly "
"``replace`` and ``ignore`` error handlers on all Windows versions. The :mod:"
"`~encodings.mbcs` codec now supports all error handlers, instead of only "
"``replace`` to encode and ``ignore`` to decode."
msgstr ""
#: whatsnew/3.3.rst:988
msgid ""
"A new Windows-only codec has been added: ``cp65001`` (:issue:`13216`). It is "
"the Windows code page 65001 (Windows UTF-8, ``CP_UTF8``). For example, it "
"is used by ``sys.stdout`` if the console output code page is set to cp65001 "
"(e.g., using ``chcp 65001`` command)."
msgstr ""
#: whatsnew/3.3.rst:993
msgid ""
"Multibyte CJK decoders now resynchronize faster. They only ignore the first "
"byte of an invalid byte sequence. For example, ``b'\\xff\\n'."
"decode('gb2312', 'replace')`` now returns a ``\\n`` after the replacement "
"character."
msgstr ""
#: whatsnew/3.3.rst:997
msgid "(:issue:`12016`)"
msgstr ""
#: whatsnew/3.3.rst:999
msgid ""
"Incremental CJK codec encoders are no longer reset at each call to their "
"encode() methods. For example::"
msgstr ""
#: whatsnew/3.3.rst:1008
msgid ""
"This example gives ``b'~{Np~}~{J)~}~{l6~}~{HK~}~{!#~} Bye.'`` with older "
"Python versions."
msgstr ""
#: whatsnew/3.3.rst:1011
msgid "(:issue:`12100`)"
msgstr ""
#: whatsnew/3.3.rst:1013
msgid "The ``unicode_internal`` codec has been deprecated."
msgstr ""
#: whatsnew/3.3.rst:1019
msgid ""
"Addition of a new :class:`~collections.ChainMap` class to allow treating a "
"number of mappings as a single unit. (Written by Raymond Hettinger for :"
"issue:`11089`, made public in :issue:`11297`.)"
msgstr ""
#: whatsnew/3.3.rst:1023
msgid ""
"The abstract base classes have been moved in a new :mod:`collections.abc` "
"module, to better differentiate between the abstract and the concrete "
"collections classes. Aliases for ABCs are still present in the :mod:"
"`collections` module to preserve existing imports. (:issue:`11085`)"
msgstr ""
#: whatsnew/3.3.rst:1030
msgid ""
"The :class:`~collections.Counter` class now supports the unary ``+`` and ``-"
"`` operators, as well as the in-place operators ``+=``, ``-=``, ``|=``, and "
"``&=``. (Contributed by Raymond Hettinger in :issue:`13121`.)"
msgstr ""
#: whatsnew/3.3.rst:1038
msgid ""
":class:`~contextlib.ExitStack` now provides a solid foundation for "
"programmatic manipulation of context managers and similar cleanup "
"functionality. Unlike the previous ``contextlib.nested`` API (which was "
"deprecated and removed), the new API is designed to work correctly "
"regardless of whether context managers acquire their resources in their "
"``__init__`` method (for example, file objects) or in their ``__enter__`` "
"method (for example, synchronisation objects from the :mod:`threading` "
"module)."
msgstr ""
#: whatsnew/3.3.rst:1047
msgid "(:issue:`13585`)"
msgstr ""
#: whatsnew/3.3.rst:1051
msgid "crypt"
msgstr ""
#: whatsnew/3.3.rst:1053
msgid ""
"Addition of salt and modular crypt format (hashing method) and the :func:"
"`~crypt.mksalt` function to the :mod:`crypt` module."
msgstr ""
#: whatsnew/3.3.rst:1056
msgid "(:issue:`10924`)"
msgstr ""
#: whatsnew/3.3.rst:1059 whatsnew/3.5.rst:1002
msgid "curses"
msgstr ""
#: whatsnew/3.3.rst:1061
msgid ""
"If the :mod:`curses` module is linked to the ncursesw library, use Unicode "
"functions when Unicode strings or characters are passed (e.g. :c:func:"
"`waddwstr`), and bytes functions otherwise (e.g. :c:func:`waddstr`)."
msgstr ""
#: whatsnew/3.3.rst:1064
msgid "Use the locale encoding instead of ``utf-8`` to encode Unicode strings."
msgstr ""
#: whatsnew/3.3.rst:1065
msgid ""
":class:`curses.window` has a new :attr:`curses.window.encoding` attribute."
msgstr ""
#: whatsnew/3.3.rst:1066
msgid ""
"The :class:`curses.window` class has a new :meth:`~curses.window.get_wch` "
"method to get a wide character"
msgstr ""
#: whatsnew/3.3.rst:1068
msgid ""
"The :mod:`curses` module has a new :meth:`~curses.unget_wch` function to "
"push a wide character so the next :meth:`~curses.window.get_wch` will return "
"it"
msgstr ""
#: whatsnew/3.3.rst:1072
#, fuzzy
msgid "(Contributed by Iñigo Serna in :issue:`6755`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:1075
msgid "datetime"
msgstr ""
#: whatsnew/3.3.rst:1077
msgid ""
"Equality comparisons between naive and aware :class:`~datetime.datetime` "
"instances now return :const:`False` instead of raising :exc:`TypeError` (:"
"issue:`15006`)."
msgstr ""
#: whatsnew/3.3.rst:1080
msgid ""
"New :meth:`datetime.datetime.timestamp` method: Return POSIX timestamp "
"corresponding to the :class:`~datetime.datetime` instance."
msgstr ""
#: whatsnew/3.3.rst:1082
msgid ""
"The :meth:`datetime.datetime.strftime` method supports formatting years "
"older than 1000."
msgstr ""
#: whatsnew/3.3.rst:1084
msgid ""
"The :meth:`datetime.datetime.astimezone` method can now be called without "
"arguments to convert datetime instance to the system timezone."
msgstr ""
#: whatsnew/3.3.rst:1092
msgid "decimal"
msgstr ""
#: whatsnew/3.3.rst:1095
msgid "issue 7652 - integrate fast native decimal arithmetic."
msgstr ""
#: whatsnew/3.3.rst:1095
msgid "C-module and libmpdec written by Stefan Krah."
msgstr ""
#: whatsnew/3.3.rst:1097
msgid ""
"The new C version of the decimal module integrates the high speed libmpdec "
"library for arbitrary precision correctly-rounded decimal floating point "
"arithmetic. libmpdec conforms to IBM's General Decimal Arithmetic "
"Specification."
msgstr ""
#: whatsnew/3.3.rst:1101
msgid ""
"Performance gains range from 10x for database applications to 100x for "
"numerically intensive applications. These numbers are expected gains for "
"standard precisions used in decimal floating point arithmetic. Since the "
"precision is user configurable, the exact figures may vary. For example, in "
"integer bignum arithmetic the differences can be significantly higher."
msgstr ""
#: whatsnew/3.3.rst:1107
msgid ""
"The following table is meant as an illustration. Benchmarks are available at "
"http://www.bytereef.org/mpdecimal/quickstart.html."
msgstr ""
#: whatsnew/3.3.rst:1111
msgid "decimal.py"
msgstr ""
#: whatsnew/3.3.rst:1111
msgid "_decimal"
msgstr ""
#: whatsnew/3.3.rst:1111
msgid "speedup"
msgstr ""
#: whatsnew/3.3.rst:1113
msgid "pi"
msgstr ""
#: whatsnew/3.3.rst:1113
msgid "42.02s"
msgstr ""
#: whatsnew/3.3.rst:1113
msgid "0.345s"
msgstr ""
#: whatsnew/3.3.rst:1113
msgid "120x"
msgstr ""
#: whatsnew/3.3.rst:1115
msgid "telco"
msgstr ""
#: whatsnew/3.3.rst:1115
msgid "172.19s"
msgstr ""
#: whatsnew/3.3.rst:1115
msgid "5.68s"
msgstr ""
#: whatsnew/3.3.rst:1115
msgid "30x"
msgstr ""
#: whatsnew/3.3.rst:1117
msgid "psycopg"
msgstr ""
#: whatsnew/3.3.rst:1117
msgid "3.57s"
msgstr ""
#: whatsnew/3.3.rst:1117
msgid "0.29s"
msgstr ""
#: whatsnew/3.3.rst:1117
msgid "12x"
msgstr ""
#: whatsnew/3.3.rst:1123
msgid ""
"The :exc:`~decimal.FloatOperation` signal optionally enables stricter "
"semantics for mixing floats and Decimals."
msgstr ""
#: whatsnew/3.3.rst:1126
msgid ""
"If Python is compiled without threads, the C version automatically disables "
"the expensive thread local context machinery. In this case, the variable :"
"data:`~decimal.HAVE_THREADS` is set to ``False``."
msgstr ""
#: whatsnew/3.3.rst:1133
msgid ""
"The C module has the following context limits, depending on the machine "
"architecture:"
msgstr ""
#: whatsnew/3.3.rst:1137
msgid "32-bit"
msgstr ""
#: whatsnew/3.3.rst:1137
msgid "64-bit"
msgstr ""
#: whatsnew/3.3.rst:1139
msgid ":const:`MAX_PREC`"
msgstr ""
#: whatsnew/3.3.rst:1139 whatsnew/3.3.rst:1141
msgid ":const:`425000000`"
msgstr ""
#: whatsnew/3.3.rst:1139 whatsnew/3.3.rst:1141
msgid ":const:`999999999999999999`"
msgstr ""
#: whatsnew/3.3.rst:1141
msgid ":const:`MAX_EMAX`"
msgstr ""
#: whatsnew/3.3.rst:1143
msgid ":const:`MIN_EMIN`"
msgstr ""
#: whatsnew/3.3.rst:1143
msgid ":const:`-425000000`"
msgstr ""
#: whatsnew/3.3.rst:1143
msgid ":const:`-999999999999999999`"
msgstr ""
#: whatsnew/3.3.rst:1146
msgid ""
"In the context templates (:class:`~decimal.DefaultContext`, :class:`~decimal."
"BasicContext` and :class:`~decimal.ExtendedContext`) the magnitude of :attr:"
"`~decimal.Context.Emax` and :attr:`~decimal.Context.Emin` has changed to :"
"const:`999999`."
msgstr ""
#: whatsnew/3.3.rst:1151
msgid ""
"The :class:`~decimal.Decimal` constructor in decimal.py does not observe the "
"context limits and converts values with arbitrary exponents or precision "
"exactly. Since the C version has internal limits, the following scheme is "
"used: If possible, values are converted exactly, otherwise :exc:`~decimal."
"InvalidOperation` is raised and the result is NaN. In the latter case it is "
"always possible to use :meth:`~decimal.Context.create_decimal` in order to "
"obtain a rounded or inexact value."
msgstr ""
#: whatsnew/3.3.rst:1160
msgid ""
"The power function in decimal.py is always correctly-rounded. In the C "
"version, it is defined in terms of the correctly-rounded :meth:`~decimal."
"Decimal.exp` and :meth:`~decimal.Decimal.ln` functions, but the final result "
"is only \"almost always correctly rounded\"."
msgstr ""
#: whatsnew/3.3.rst:1166
msgid ""
"In the C version, the context dictionary containing the signals is a :class:"
"`~collections.abc.MutableMapping`. For speed reasons, :attr:`~decimal."
"Context.flags` and :attr:`~decimal.Context.traps` always refer to the same :"
"class:`~collections.abc.MutableMapping` that the context was initialized "
"with. If a new signal dictionary is assigned, :attr:`~decimal.Context.flags` "
"and :attr:`~decimal.Context.traps` are updated with the new values, but they "
"do not reference the RHS dictionary."
msgstr ""
#: whatsnew/3.3.rst:1176
msgid ""
"Pickling a :class:`~decimal.Context` produces a different output in order to "
"have a common interchange format for the Python and C versions."
msgstr ""
#: whatsnew/3.3.rst:1180
msgid ""
"The order of arguments in the :class:`~decimal.Context` constructor has been "
"changed to match the order displayed by :func:`repr`."
msgstr ""
#: whatsnew/3.3.rst:1184
msgid ""
"The ``watchexp`` parameter in the :meth:`~decimal.Decimal.quantize` method "
"is deprecated."
msgstr ""
#: whatsnew/3.3.rst:1194
msgid "Policy Framework"
msgstr ""
#: whatsnew/3.3.rst:1196
msgid ""
"The email package now has a :mod:`~email.policy` framework. A :class:"
"`~email.policy.Policy` is an object with several methods and properties that "
"control how the email package behaves. The primary policy for Python 3.3 is "
"the :class:`~email.policy.Compat32` policy, which provides backward "
"compatibility with the email package in Python 3.2. A ``policy`` can be "
"specified when an email message is parsed by a :mod:`~email.parser`, or when "
"a :class:`~email.message.Message` object is created, or when an email is "
"serialized using a :mod:`~email.generator`. Unless overridden, a policy "
"passed to a ``parser`` is inherited by all the ``Message`` object and sub-"
"objects created by the ``parser``. By default a ``generator`` will use the "
"policy of the ``Message`` object it is serializing. The default policy is :"
"data:`~email.policy.compat32`."
msgstr ""
#: whatsnew/3.3.rst:1209
msgid "The minimum set of controls implemented by all ``policy`` objects are:"
msgstr ""
#: whatsnew/3.3.rst:1214
msgid "max_line_length"
msgstr ""
#: whatsnew/3.3.rst:1214
msgid ""
"The maximum length, excluding the linesep character(s), individual lines may "
"have when a ``Message`` is serialized. Defaults to 78."
msgstr ""
#: whatsnew/3.3.rst:1218
msgid "linesep"
msgstr ""
#: whatsnew/3.3.rst:1218
msgid ""
"The character used to separate individual lines when a ``Message`` is "
"serialized. Defaults to ``\\n``."
msgstr ""
#: whatsnew/3.3.rst:1221
msgid "cte_type"
msgstr ""
#: whatsnew/3.3.rst:1221
msgid ""
"``7bit`` or ``8bit``. ``8bit`` applies only to a ``Bytes`` ``generator``, "
"and means that non-ASCII may be used where allowed by the protocol (or where "
"it exists in the original input)."
msgstr ""
#: whatsnew/3.3.rst:1226
msgid "raise_on_defect"
msgstr ""
#: whatsnew/3.3.rst:1226
msgid ""
"Causes a ``parser`` to raise error when defects are encountered instead of "
"adding them to the ``Message`` object's ``defects`` list."
msgstr ""
#: whatsnew/3.3.rst:1231
msgid ""
"A new policy instance, with new settings, is created using the :meth:`~email."
"policy.Policy.clone` method of policy objects. ``clone`` takes any of the "
"above controls as keyword arguments. Any control not specified in the call "
"retains its default value. Thus you can create a policy that uses ``\\r"
"\\n`` linesep characters like this::"
msgstr ""
#: whatsnew/3.3.rst:1239
msgid ""
"Policies can be used to make the generation of messages in the format needed "
"by your application simpler. Instead of having to remember to specify "
"``linesep='\\r\\n'`` in all the places you call a ``generator``, you can "
"specify it once, when you set the policy used by the ``parser`` or the "
"``Message``, whichever your program uses to create ``Message`` objects. On "
"the other hand, if you need to generate messages in multiple forms, you can "
"still specify the parameters in the appropriate ``generator`` call. Or you "
"can have custom policy instances for your different cases, and pass those in "
"when you create the ``generator``."
msgstr ""
#: whatsnew/3.3.rst:1251
msgid "Provisional Policy with New Header API"
msgstr ""
#: whatsnew/3.3.rst:1253
msgid ""
"While the policy framework is worthwhile all by itself, the main motivation "
"for introducing it is to allow the creation of new policies that implement "
"new features for the email package in a way that maintains backward "
"compatibility for those who do not use the new policies. Because the new "
"policies introduce a new API, we are releasing them in Python 3.3 as a :term:"
"`provisional policy <provisional package>`. Backwards incompatible changes "
"(up to and including removal of the code) may occur if deemed necessary by "
"the core developers."
msgstr ""
#: whatsnew/3.3.rst:1261
msgid ""
"The new policies are instances of :class:`~email.policy.EmailPolicy`, and "
"add the following additional controls:"
msgstr ""
#: whatsnew/3.3.rst:1267
msgid "refold_source"
msgstr ""
#: whatsnew/3.3.rst:1267
msgid ""
"Controls whether or not headers parsed by a :mod:`~email.parser` are "
"refolded by the :mod:`~email.generator`. It can be ``none``, ``long``, or "
"``all``. The default is ``long``, which means that source headers with a "
"line longer than ``max_line_length`` get refolded. ``none`` means no line "
"get refolded, and ``all`` means that all lines get refolded."
msgstr ""
#: whatsnew/3.3.rst:1276
msgid "header_factory"
msgstr ""
#: whatsnew/3.3.rst:1276
msgid ""
"A callable that take a ``name`` and ``value`` and produces a custom header "
"object."
msgstr ""
#: whatsnew/3.3.rst:1280
msgid ""
"The ``header_factory`` is the key to the new features provided by the new "
"policies. When one of the new policies is used, any header retrieved from a "
"``Message`` object is an object produced by the ``header_factory``, and any "
"time you set a header on a ``Message`` it becomes an object produced by "
"``header_factory``. All such header objects have a ``name`` attribute equal "
"to the header name. Address and Date headers have additional attributes "
"that give you access to the parsed data of the header. This means you can "
"now do things like this::"
msgstr ""
#: whatsnew/3.3.rst:1308
msgid ""
"You will note that the unicode display name is automatically encoded as "
"``utf-8`` when the message is serialized, but that when the header is "
"accessed directly, you get the unicode version. This eliminates any need to "
"deal with the :mod:`email.header` :meth:`~email.header.decode_header` or :"
"meth:`~email.header.make_header` functions."
msgstr ""
#: whatsnew/3.3.rst:1314
msgid "You can also create addresses from parts::"
msgstr ""
#: whatsnew/3.3.rst:1324
msgid "Decoding to unicode is done automatically::"
msgstr ""
#: whatsnew/3.3.rst:1330
msgid ""
"When you parse a message, you can use the ``addresses`` and ``groups`` "
"attributes of the header objects to access the groups and individual "
"addresses::"
msgstr ""
#: whatsnew/3.3.rst:1339
msgid ""
"In summary, if you use one of the new policies, header manipulation works "
"the way it ought to: your application works with unicode strings, and the "
"email package transparently encodes and decodes the unicode to and from the "
"RFC standard Content Transfer Encodings."
msgstr ""
#: whatsnew/3.3.rst:1345
msgid "Other API Changes"
msgstr ""
#: whatsnew/3.3.rst:1347
msgid ""
"New :class:`~email.parser.BytesHeaderParser`, added to the :mod:`~email."
"parser` module to complement :class:`~email.parser.HeaderParser` and "
"complete the Bytes API."
msgstr ""
#: whatsnew/3.3.rst:1351
msgid "New utility functions:"
msgstr ""
#: whatsnew/3.3.rst:1353
msgid ""
":func:`~email.utils.format_datetime`: given a :class:`~datetime.datetime`, "
"produce a string formatted for use in an email header."
msgstr ""
#: whatsnew/3.3.rst:1356
msgid ""
":func:`~email.utils.parsedate_to_datetime`: given a date string from an "
"email header, convert it into an aware :class:`~datetime.datetime`, or a "
"naive :class:`~datetime.datetime` if the offset is ``-0000``."
msgstr ""
#: whatsnew/3.3.rst:1360
msgid ""
":func:`~email.utils.localtime`: With no argument, returns the current local "
"time as an aware :class:`~datetime.datetime` using the local :class:"
"`~datetime.timezone`. Given an aware :class:`~datetime.datetime`, converts "
"it into an aware :class:`~datetime.datetime` using the local :class:"
"`~datetime.timezone`."
msgstr ""
#: whatsnew/3.3.rst:1368
msgid "ftplib"
msgstr ""
#: whatsnew/3.3.rst:1370
msgid ""
":class:`ftplib.FTP` now accepts a ``source_address`` keyword argument to "
"specify the ``(host, port)`` to use as the source address in the bind call "
"when creating the outgoing socket. (Contributed by Giampaolo Rodolà in :"
"issue:`8594`.)"
msgstr ""
#: whatsnew/3.3.rst:1375
msgid ""
"The :class:`~ftplib.FTP_TLS` class now provides a new :func:`~ftplib.FTP_TLS."
"ccc` function to revert control channel back to plaintext. This can be "
"useful to take advantage of firewalls that know how to handle NAT with non-"
"secure FTP without opening fixed ports. (Contributed by Giampaolo Rodolà "
"in :issue:`12139`.)"
msgstr ""
#: whatsnew/3.3.rst:1381
msgid ""
"Added :meth:`ftplib.FTP.mlsd` method which provides a parsable directory "
"listing format and deprecates :meth:`ftplib.FTP.nlst` and :meth:`ftplib.FTP."
"dir`. (Contributed by Giampaolo Rodolà in :issue:`11072`.)"
msgstr ""
#: whatsnew/3.3.rst:1389
msgid ""
"The :func:`functools.lru_cache` decorator now accepts a ``typed`` keyword "
"argument (that defaults to ``False`` to ensure that it caches values of "
"different types that compare equal in separate cache slots. (Contributed by "
"Raymond Hettinger in :issue:`13227`.)"
msgstr ""
#: whatsnew/3.3.rst:1396 whatsnew/3.4.rst:885
msgid "gc"
msgstr ""
#: whatsnew/3.3.rst:1398
msgid ""
"It is now possible to register callbacks invoked by the garbage collector "
"before and after collection using the new :data:`~gc.callbacks` list."
msgstr ""
#: whatsnew/3.3.rst:1403 whatsnew/3.4.rst:917
msgid "hmac"
msgstr ""
#: whatsnew/3.3.rst:1405
msgid ""
"A new :func:`~hmac.compare_digest` function has been added to prevent side "
"channel attacks on digests through timing analysis. (Contributed by Nick "
"Coghlan and Christian Heimes in :issue:`15061`.)"
msgstr ""
#: whatsnew/3.3.rst:1411 whatsnew/3.4.rst:956 whatsnew/3.5.rst:1149
msgid "http"
msgstr ""
#: whatsnew/3.3.rst:1413
msgid ""
":class:`http.server.BaseHTTPRequestHandler` now buffers the headers and "
"writes them all at once when :meth:`~http.server.BaseHTTPRequestHandler."
"end_headers` is called. A new method :meth:`~http.server."
"BaseHTTPRequestHandler.flush_headers` can be used to directly manage when "
"the accumlated headers are sent. (Contributed by Andrew Schaaf in :issue:"
"`3709`.)"
msgstr ""
#: whatsnew/3.3.rst:1419
msgid ""
":class:`http.server` now produces valid ``HTML 4.01 strict`` output. "
"(Contributed by Ezio Melotti in :issue:`13295`.)"
msgstr ""
#: whatsnew/3.3.rst:1422
msgid ""
":class:`http.client.HTTPResponse` now has a :meth:`~http.client.HTTPResponse."
"readinto` method, which means it can be used as an :class:`io.RawIOBase` "
"class. (Contributed by John Kuhn in :issue:`13464`.)"
msgstr ""
#: whatsnew/3.3.rst:1431
msgid ""
":class:`html.parser.HTMLParser` is now able to parse broken markup without "
"raising errors, therefore the *strict* argument of the constructor and the :"
"exc:`~html.parser.HTMLParseError` exception are now deprecated. The ability "
"to parse broken markup is the result of a number of bug fixes that are also "
"available on the latest bug fix releases of Python 2.7/3.2. (Contributed by "
"Ezio Melotti in :issue:`15114`, and :issue:`14538`, :issue:`13993`, :issue:"
"`13960`, :issue:`13358`, :issue:`1745761`, :issue:`755670`, :issue:`13357`, :"
"issue:`12629`, :issue:`1200313`, :issue:`670664`, :issue:`13273`, :issue:"
"`12888`, :issue:`7311`.)"
msgstr ""
#: whatsnew/3.3.rst:1441
msgid ""
"A new :data:`~html.entities.html5` dictionary that maps HTML5 named "
"character references to the equivalent Unicode character(s) (e.g. "
"``html5['gt;'] == '>'``) has been added to the :mod:`html.entities` module. "
"The dictionary is now also used by :class:`~html.parser.HTMLParser`. "
"(Contributed by Ezio Melotti in :issue:`11113` and :issue:`15156`.)"
msgstr ""
#: whatsnew/3.3.rst:1451
msgid ""
"The :class:`~imaplib.IMAP4_SSL` constructor now accepts an SSLContext "
"parameter to control parameters of the secure channel."
msgstr ""
#: whatsnew/3.3.rst:1454
#, fuzzy
msgid "(Contributed by Sijin Joseph in :issue:`8808`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:1460
msgid ""
"A new :func:`~inspect.getclosurevars` function has been added. This function "
"reports the current binding of all names referenced from the function body "
"and where those names were resolved, making it easier to verify correct "
"internal state when testing code that relies on stateful closures."
msgstr ""
#: whatsnew/3.3.rst:1465
#, fuzzy
msgid "(Contributed by Meador Inge and Nick Coghlan in :issue:`13062`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:1467
msgid ""
"A new :func:`~inspect.getgeneratorlocals` function has been added. This "
"function reports the current binding of local variables in the generator's "
"stack frame, making it easier to verify correct internal state when testing "
"generators."
msgstr ""
#: whatsnew/3.3.rst:1472
#, fuzzy
msgid "(Contributed by Meador Inge in :issue:`15153`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:1477
msgid ""
"The :func:`~io.open` function has a new ``'x'`` mode that can be used to "
"exclusively create a new file, and raise a :exc:`FileExistsError` if the "
"file already exists. It is based on the C11 'x' mode to fopen()."
msgstr ""
#: whatsnew/3.3.rst:1481
#, fuzzy
msgid "(Contributed by David Townshend in :issue:`12760`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:1483
msgid ""
"The constructor of the :class:`~io.TextIOWrapper` class has a new "
"*write_through* optional argument. If *write_through* is ``True``, calls to :"
"meth:`~io.TextIOWrapper.write` are guaranteed not to be buffered: any data "
"written on the :class:`~io.TextIOWrapper` object is immediately handled to "
"its underlying binary buffer."
msgstr ""
#: whatsnew/3.3.rst:1493
msgid ""
":func:`~itertools.accumulate` now takes an optional ``func`` argument for "
"providing a user-supplied binary function."
msgstr ""
#: whatsnew/3.3.rst:1500
msgid ""
"The :func:`~logging.basicConfig` function now supports an optional "
"``handlers`` argument taking an iterable of handlers to be added to the root "
"logger."
msgstr ""
#: whatsnew/3.3.rst:1503
msgid ""
"A class level attribute :attr:`~logging.handlers.SysLogHandler.append_nul` "
"has been added to :class:`~logging.handlers.SysLogHandler` to allow control "
"of the appending of the ``NUL`` (``\\000``) byte to syslog records, since "
"for some deamons it is required while for others it is passed through to the "
"log."
msgstr ""
#: whatsnew/3.3.rst:1513
msgid ""
"The :mod:`math` module has a new function, :func:`~math.log2`, which "
"returns the base-2 logarithm of *x*."
msgstr ""
#: whatsnew/3.3.rst:1516
msgid "(Written by Mark Dickinson in :issue:`11888`.)"
msgstr ""
#: whatsnew/3.3.rst:1520 whatsnew/3.4.rst:1114
msgid "mmap"
msgstr ""
#: whatsnew/3.3.rst:1522
msgid ""
"The :meth:`~mmap.mmap.read` method is now more compatible with other file-"
"like objects: if the argument is omitted or specified as ``None``, it "
"returns the bytes from the current file position to the end of the mapping. "
"(Contributed by Petri Lehtinen in :issue:`12021`.)"
msgstr ""
#: whatsnew/3.3.rst:1529 whatsnew/3.4.rst:1121 whatsnew/3.5.rst:1416
msgid "multiprocessing"
msgstr ""
#: whatsnew/3.3.rst:1531
msgid ""
"The new :func:`multiprocessing.connection.wait` function allows to poll "
"multiple objects (such as connections, sockets and pipes) with a timeout. "
"(Contributed by Richard Oudkerk in :issue:`12328`.)"
msgstr ""
#: whatsnew/3.3.rst:1535
msgid ""
":class:`multiprocessing.Connection` objects can now be transferred over "
"multiprocessing connections. (Contributed by Richard Oudkerk in :issue:"
"`4892`.)"
msgstr ""
#: whatsnew/3.3.rst:1539
msgid ""
":class:`multiprocessing.Process` now accepts a ``daemon`` keyword argument "
"to override the default behavior of inheriting the ``daemon`` flag from the "
"parent process (:issue:`6064`)."
msgstr ""
#: whatsnew/3.3.rst:1543
msgid ""
"New attribute :data:`multiprocessing.Process.sentinel` allows a program to "
"wait on multiple :class:`~multiprocessing.Process` objects at one time using "
"the appropriate OS primitives (for example, :mod:`select` on posix systems)."
msgstr ""
#: whatsnew/3.3.rst:1548
msgid ""
"New methods :meth:`multiprocessing.pool.Pool.starmap` and :meth:"
"`~multiprocessing.pool.Pool.starmap_async` provide :func:`itertools.starmap` "
"equivalents to the existing :meth:`multiprocessing.pool.Pool.map` and :meth:"
"`~multiprocessing.pool.Pool.map_async` functions. (Contributed by Hynek "
"Schlawack in :issue:`12708`.)"
msgstr ""
#: whatsnew/3.3.rst:1557
msgid "nntplib"
msgstr ""
#: whatsnew/3.3.rst:1559
msgid ""
"The :class:`nntplib.NNTP` class now supports the context management protocol "
"to unconditionally consume :exc:`socket.error` exceptions and to close the "
"NNTP connection when done::"
msgstr ""
#: whatsnew/3.3.rst:1570
#, fuzzy
msgid "(Contributed by Giampaolo Rodolà in :issue:`9795`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:1576
msgid ""
"The :mod:`os` module has a new :func:`~os.pipe2` function that makes it "
"possible to create a pipe with :data:`~os.O_CLOEXEC` or :data:`~os."
"O_NONBLOCK` flags set atomically. This is especially useful to avoid race "
"conditions in multi-threaded programs."
msgstr ""
#: whatsnew/3.3.rst:1581
msgid ""
"The :mod:`os` module has a new :func:`~os.sendfile` function which provides "
"an efficient \"zero-copy\" way for copying data from one file (or socket) "
"descriptor to another. The phrase \"zero-copy\" refers to the fact that all "
"of the copying of data between the two descriptors is done entirely by the "
"kernel, with no copying of data into userspace buffers. :func:`~os.sendfile` "
"can be used to efficiently copy data from a file on disk to a network "
"socket, e.g. for downloading a file."
msgstr ""
#: whatsnew/3.3.rst:1589
msgid ""
"(Patch submitted by Ross Lagerwall and Giampaolo Rodolà in :issue:`10882`.)"
msgstr ""
#: whatsnew/3.3.rst:1591
msgid ""
"To avoid race conditions like symlink attacks and issues with temporary "
"files and directories, it is more reliable (and also faster) to manipulate "
"file descriptors instead of file names. Python 3.3 enhances existing "
"functions and introduces new functions to work on file descriptors (:issue:"
"`4761`, :issue:`10755` and :issue:`14626`)."
msgstr ""
#: whatsnew/3.3.rst:1597
msgid ""
"The :mod:`os` module has a new :func:`~os.fwalk` function similar to :func:"
"`~os.walk` except that it also yields file descriptors referring to the "
"directories visited. This is especially useful to avoid symlink races."
msgstr ""
#: whatsnew/3.3.rst:1601
msgid ""
"The following functions get new optional *dir_fd* (:ref:`paths relative to "
"directory descriptors <dir_fd>`) and/or *follow_symlinks* (:ref:`not "
"following symlinks <follow_symlinks>`): :func:`~os.access`, :func:`~os."
"chflags`, :func:`~os.chmod`, :func:`~os.chown`, :func:`~os.link`, :func:`~os."
"lstat`, :func:`~os.mkdir`, :func:`~os.mkfifo`, :func:`~os.mknod`, :func:`~os."
"open`, :func:`~os.readlink`, :func:`~os.remove`, :func:`~os.rename`, :func:"
"`~os.replace`, :func:`~os.rmdir`, :func:`~os.stat`, :func:`~os.symlink`, :"
"func:`~os.unlink`, :func:`~os.utime`. Platform support for using these "
"parameters can be checked via the sets :data:`os.supports_dir_fd` and :data:"
"`os.supports_follows_symlinks`."
msgstr ""
#: whatsnew/3.3.rst:1612
msgid ""
"The following functions now support a file descriptor for their path "
"argument: :func:`~os.chdir`, :func:`~os.chmod`, :func:`~os.chown`, :func:"
"`~os.execve`, :func:`~os.listdir`, :func:`~os.pathconf`, :func:`~os.path."
"exists`, :func:`~os.stat`, :func:`~os.statvfs`, :func:`~os.utime`. Platform "
"support for this can be checked via the :data:`os.supports_fd` set."
msgstr ""
#: whatsnew/3.3.rst:1618
msgid ""
":func:`~os.access` accepts an ``effective_ids`` keyword argument to turn on "
"using the effective uid/gid rather than the real uid/gid in the access "
"check. Platform support for this can be checked via the :data:`~os."
"supports_effective_ids` set."
msgstr ""
#: whatsnew/3.3.rst:1623
msgid ""
"The :mod:`os` module has two new functions: :func:`~os.getpriority` and :"
"func:`~os.setpriority`. They can be used to get or set process niceness/"
"priority in a fashion similar to :func:`os.nice` but extended to all "
"processes instead of just the current one."
msgstr ""
#: whatsnew/3.3.rst:1628
msgid "(Patch submitted by Giampaolo Rodolà in :issue:`10784`.)"
msgstr ""
#: whatsnew/3.3.rst:1630
msgid ""
"The new :func:`os.replace` function allows cross-platform renaming of a file "
"with overwriting the destination. With :func:`os.rename`, an existing "
"destination file is overwritten under POSIX, but raises an error under "
"Windows. (Contributed by Antoine Pitrou in :issue:`8828`.)"
msgstr ""
#: whatsnew/3.3.rst:1636
msgid ""
"The stat family of functions (:func:`~os.stat`, :func:`~os.fstat`, and :func:"
"`~os.lstat`) now support reading a file's timestamps with nanosecond "
"precision. Symmetrically, :func:`~os.utime` can now write file timestamps "
"with nanosecond precision. (Contributed by Larry Hastings in :issue:"
"`14127`.)"
msgstr ""
#: whatsnew/3.3.rst:1642
msgid ""
"The new :func:`os.get_terminal_size` function queries the size of the "
"terminal attached to a file descriptor. See also :func:`shutil."
"get_terminal_size`. (Contributed by Zbigniew Jędrzejewski-Szmek in :issue:"
"`13609`.)"
msgstr ""
#: whatsnew/3.3.rst:1649
msgid ""
"New functions to support Linux extended attributes (:issue:`12720`): :func:"
"`~os.getxattr`, :func:`~os.listxattr`, :func:`~os.removexattr`, :func:`~os."
"setxattr`."
msgstr ""
#: whatsnew/3.3.rst:1653
msgid ""
"New interface to the scheduler. These functions control how a process is "
"allocated CPU time by the operating system. New functions: :func:`~os."
"sched_get_priority_max`, :func:`~os.sched_get_priority_min`, :func:`~os."
"sched_getaffinity`, :func:`~os.sched_getparam`, :func:`~os."
"sched_getscheduler`, :func:`~os.sched_rr_get_interval`, :func:`~os."
"sched_setaffinity`, :func:`~os.sched_setparam`, :func:`~os."
"sched_setscheduler`, :func:`~os.sched_yield`,"
msgstr ""
#: whatsnew/3.3.rst:1662
msgid "New functions to control the file system:"
msgstr ""
#: whatsnew/3.3.rst:1664
msgid ""
":func:`~os.posix_fadvise`: Announces an intention to access data in a "
"specific pattern thus allowing the kernel to make optimizations."
msgstr ""
#: whatsnew/3.3.rst:1666
msgid ""
":func:`~os.posix_fallocate`: Ensures that enough disk space is allocated for "
"a file."
msgstr ""
#: whatsnew/3.3.rst:1668
msgid ":func:`~os.sync`: Force write of everything to disk."
msgstr ""
#: whatsnew/3.3.rst:1670
msgid "Additional new posix functions:"
msgstr ""
#: whatsnew/3.3.rst:1672
msgid ""
":func:`~os.lockf`: Apply, test or remove a POSIX lock on an open file "
"descriptor."
msgstr ""
#: whatsnew/3.3.rst:1673
msgid ""
":func:`~os.pread`: Read from a file descriptor at an offset, the file offset "
"remains unchanged."
msgstr ""
#: whatsnew/3.3.rst:1675
msgid ""
":func:`~os.pwrite`: Write to a file descriptor from an offset, leaving the "
"file offset unchanged."
msgstr ""
#: whatsnew/3.3.rst:1677
msgid ""
":func:`~os.readv`: Read from a file descriptor into a number of writable "
"buffers."
msgstr ""
#: whatsnew/3.3.rst:1678
msgid ""
":func:`~os.truncate`: Truncate the file corresponding to *path*, so that it "
"is at most *length* bytes in size."
msgstr ""
#: whatsnew/3.3.rst:1680
msgid ""
":func:`~os.waitid`: Wait for the completion of one or more child processes."
msgstr ""
#: whatsnew/3.3.rst:1681
msgid ""
":func:`~os.writev`: Write the contents of *buffers* to a file descriptor, "
"where *buffers* is an arbitrary sequence of buffers."
msgstr ""
#: whatsnew/3.3.rst:1683
msgid ""
":func:`~os.getgrouplist` (:issue:`9344`): Return list of group ids that "
"specified user belongs to."
msgstr ""
#: whatsnew/3.3.rst:1686
msgid ""
":func:`~os.times` and :func:`~os.uname`: Return type changed from a tuple to "
"a tuple-like object with named attributes."
msgstr ""
#: whatsnew/3.3.rst:1689
msgid ""
"Some platforms now support additional constants for the :func:`~os.lseek` "
"function, such as ``os.SEEK_HOLE`` and ``os.SEEK_DATA``."
msgstr ""
#: whatsnew/3.3.rst:1692
msgid ""
"New constants :data:`~os.RTLD_LAZY`, :data:`~os.RTLD_NOW`, :data:`~os."
"RTLD_GLOBAL`, :data:`~os.RTLD_LOCAL`, :data:`~os.RTLD_NODELETE`, :data:`~os."
"RTLD_NOLOAD`, and :data:`~os.RTLD_DEEPBIND` are available on platforms that "
"support them. These are for use with the :func:`sys.setdlopenflags` "
"function, and supersede the similar constants defined in :mod:`ctypes` and :"
"mod:`DLFCN`. (Contributed by Victor Stinner in :issue:`13226`.)"
msgstr ""
#: whatsnew/3.3.rst:1700
msgid ""
":func:`os.symlink` now accepts (and ignores) the ``target_is_directory`` "
"keyword argument on non-Windows platforms, to ease cross-platform support."
msgstr ""
#: whatsnew/3.3.rst:1707
msgid ""
"Tab-completion is now available not only for command names, but also their "
"arguments. For example, for the ``break`` command, function and file names "
"are completed."
msgstr ""
#: whatsnew/3.3.rst:1711
#, fuzzy
msgid "(Contributed by Georg Brandl in :issue:`14210`)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:1715 whatsnew/3.4.rst:1220 whatsnew/3.5.rst:1523
msgid "pickle"
msgstr ""
#: whatsnew/3.3.rst:1717
msgid ""
":class:`pickle.Pickler` objects now have an optional :attr:`~pickle.Pickler."
"dispatch_table` attribute allowing to set per-pickler reduction functions."
msgstr ""
#: whatsnew/3.3.rst:1721
#, fuzzy
msgid "(Contributed by Richard Oudkerk in :issue:`14166`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:1727
msgid ""
"The Tk GUI and the :func:`~pydoc.serve` function have been removed from the :"
"mod:`pydoc` module: ``pydoc -g`` and :func:`~pydoc.serve` have been "
"deprecated in Python 3.2."
msgstr ""
#: whatsnew/3.3.rst:1733 whatsnew/3.4.rst:1301 whatsnew/3.5.rst:1540
msgid "re"
msgstr ""
#: whatsnew/3.3.rst:1735
msgid ""
":class:`str` regular expressions now support ``\\u`` and ``\\U`` escapes."
msgstr ""
#: whatsnew/3.3.rst:1737
#, fuzzy
msgid "(Contributed by Serhiy Storchaka in :issue:`3665`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:1741
msgid "sched"
msgstr ""
#: whatsnew/3.3.rst:1743
msgid ""
":meth:`~sched.scheduler.run` now accepts a *blocking* parameter which when "
"set to False makes the method execute the scheduled events due to expire "
"soonest (if any) and then return immediately. This is useful in case you "
"want to use the :class:`~sched.scheduler` in non-blocking applications. "
"(Contributed by Giampaolo Rodolà in :issue:`13449`.)"
msgstr ""
#: whatsnew/3.3.rst:1749
msgid ""
":class:`~sched.scheduler` class can now be safely used in multi-threaded "
"environments. (Contributed by Josiah Carlson and Giampaolo Rodolà in :issue:"
"`8684`.)"
msgstr ""
#: whatsnew/3.3.rst:1753
msgid ""
"*timefunc* and *delayfunct* parameters of :class:`~sched.scheduler` class "
"constructor are now optional and defaults to :func:`time.time` and :func:"
"`time.sleep` respectively. (Contributed by Chris Clark in :issue:`13245`.)"
msgstr ""
#: whatsnew/3.3.rst:1758
msgid ""
":meth:`~sched.scheduler.enter` and :meth:`~sched.scheduler.enterabs` "
"*argument* parameter is now optional. (Contributed by Chris Clark in :issue:"
"`13245`.)"
msgstr ""
#: whatsnew/3.3.rst:1762
msgid ""
":meth:`~sched.scheduler.enter` and :meth:`~sched.scheduler.enterabs` now "
"accept a *kwargs* parameter. (Contributed by Chris Clark in :issue:`13245`.)"
msgstr ""
#: whatsnew/3.3.rst:1770
msgid ""
"Solaris and derivative platforms have a new class :class:`select.devpoll` "
"for high performance asynchronous sockets via :file:`/dev/poll`. "
"(Contributed by Jesús Cea Avión in :issue:`6397`.)"
msgstr ""
#: whatsnew/3.3.rst:1776
msgid "shlex"
msgstr ""
#: whatsnew/3.3.rst:1778
msgid ""
"The previously undocumented helper function ``quote`` from the :mod:`pipes` "
"modules has been moved to the :mod:`shlex` module and documented. :func:"
"`~shlex.quote` properly escapes all characters in a string that might be "
"otherwise given special meaning by the shell."
msgstr ""
#: whatsnew/3.3.rst:1787
#, fuzzy
msgid "New functions:"
msgstr "Les fonctions PyArg_Parse*() :"
#: whatsnew/3.3.rst:1789
msgid ""
":func:`~shutil.disk_usage`: provides total, used and free disk space "
"statistics. (Contributed by Giampaolo Rodolà in :issue:`12442`.)"
msgstr ""
#: whatsnew/3.3.rst:1791
msgid ""
":func:`~shutil.chown`: allows one to change user and/or group of the given "
"path also specifying the user/group names and not only their numeric ids. "
"(Contributed by Sandro Tosi in :issue:`12191`.)"
msgstr ""
#: whatsnew/3.3.rst:1794
msgid ""
":func:`shutil.get_terminal_size`: returns the size of the terminal window to "
"which the interpreter is attached. (Contributed by Zbigniew Jędrzejewski-"
"Szmek in :issue:`13609`.)"
msgstr ""
#: whatsnew/3.3.rst:1798
msgid ""
":func:`~shutil.copy2` and :func:`~shutil.copystat` now preserve file "
"timestamps with nanosecond precision on platforms that support it. They also "
"preserve file \"extended attributes\" on Linux. (Contributed by Larry "
"Hastings in :issue:`14127` and :issue:`15238`.)"
msgstr ""
#: whatsnew/3.3.rst:1803
msgid ""
"Several functions now take an optional ``symlinks`` argument: when that "
"parameter is true, symlinks aren't dereferenced and the operation instead "
"acts on the symlink itself (or creates one, if relevant). (Contributed by "
"Hynek Schlawack in :issue:`12715`.)"
msgstr ""
#: whatsnew/3.3.rst:1808
msgid ""
"When copying files to a different file system, :func:`~shutil.move` now "
"handles symlinks the way the posix ``mv`` command does, recreating the "
"symlink rather than copying the target file contents. (Contributed by "
"Jonathan Niehof in :issue:`9993`.) :func:`~shutil.move` now also returns "
"the ``dst`` argument as its result."
msgstr ""
#: whatsnew/3.3.rst:1814
msgid ""
":func:`~shutil.rmtree` is now resistant to symlink attacks on platforms "
"which support the new ``dir_fd`` parameter in :func:`os.open` and :func:`os."
"unlink`. (Contributed by Martin von Löwis and Hynek Schlawack in :issue:"
"`4489`.)"
msgstr ""
#: whatsnew/3.3.rst:1821 whatsnew/3.5.rst:1608
msgid "signal"
msgstr ""
#: whatsnew/3.3.rst:1823
#, fuzzy
msgid "The :mod:`signal` module has new functions:"
msgstr "Le module *sqlite3* a quelques nouvelles fonctionnalités : "
#: whatsnew/3.3.rst:1825
msgid ""
":func:`~signal.pthread_sigmask`: fetch and/or change the signal mask of the "
"calling thread (Contributed by Jean-Paul Calderone in :issue:`8407`);"
msgstr ""
#: whatsnew/3.3.rst:1827
msgid ":func:`~signal.pthread_kill`: send a signal to a thread;"
msgstr ""
#: whatsnew/3.3.rst:1828
msgid ":func:`~signal.sigpending`: examine pending functions;"
msgstr ""
#: whatsnew/3.3.rst:1829
msgid ":func:`~signal.sigwait`: wait a signal;"
msgstr ""
#: whatsnew/3.3.rst:1830
msgid ""
":func:`~signal.sigwaitinfo`: wait for a signal, returning detailed "
"information about it;"
msgstr ""
#: whatsnew/3.3.rst:1832
msgid ""
":func:`~signal.sigtimedwait`: like :func:`~signal.sigwaitinfo` but with a "
"timeout."
msgstr ""
#: whatsnew/3.3.rst:1835
msgid ""
"The signal handler writes the signal number as a single byte instead of a "
"nul byte into the wakeup file descriptor. So it is possible to wait more "
"than one signal and know which signals were raised."
msgstr ""
#: whatsnew/3.3.rst:1839
msgid ""
":func:`signal.signal` and :func:`signal.siginterrupt` raise an OSError, "
"instead of a RuntimeError: OSError has an errno attribute."
msgstr ""
#: whatsnew/3.3.rst:1844 whatsnew/3.4.rst:1370 whatsnew/3.5.rst:1620
msgid "smtpd"
msgstr ""
#: whatsnew/3.3.rst:1846
msgid ""
"The :mod:`smtpd` module now supports :rfc:`5321` (extended SMTP) and :rfc:"
"`1870` (size extension). Per the standard, these extensions are enabled if "
"and only if the client initiates the session with an ``EHLO`` command."
msgstr ""
#: whatsnew/3.3.rst:1850
msgid ""
"(Initial ``ELHO`` support by Alberto Trevino. Size extension by Juhana "
"Jauhiainen. Substantial additional work on the patch contributed by Michele "
"Orrù and Dan Boswell. :issue:`8739`)"
msgstr ""
#: whatsnew/3.3.rst:1856 whatsnew/3.4.rst:1380 whatsnew/3.5.rst:1654
msgid "smtplib"
msgstr ""
#: whatsnew/3.3.rst:1858
msgid ""
"The :class:`~smtplib.SMTP`, :class:`~smtplib.SMTP_SSL`, and :class:`~smtplib."
"LMTP` classes now accept a ``source_address`` keyword argument to specify "
"the ``(host, port)`` to use as the source address in the bind call when "
"creating the outgoing socket. (Contributed by Paulo Scardine in :issue:"
"`11281`.)"
msgstr ""
#: whatsnew/3.3.rst:1864
msgid ""
":class:`~smtplib.SMTP` now supports the context management protocol, "
"allowing an ``SMTP`` instance to be used in a ``with`` statement. "
"(Contributed by Giampaolo Rodolà in :issue:`11289`.)"
msgstr ""
#: whatsnew/3.3.rst:1868
msgid ""
"The :class:`~smtplib.SMTP_SSL` constructor and the :meth:`~smtplib.SMTP."
"starttls` method now accept an SSLContext parameter to control parameters of "
"the secure channel. (Contributed by Kasun Herath in :issue:`8809`.)"
msgstr ""
#: whatsnew/3.3.rst:1876
msgid ""
"The :class:`~socket.socket` class now exposes additional methods to process "
"ancillary data when supported by the underlying platform:"
msgstr ""
#: whatsnew/3.3.rst:1879
msgid ":func:`~socket.socket.sendmsg`"
msgstr ""
#: whatsnew/3.3.rst:1880
msgid ":func:`~socket.socket.recvmsg`"
msgstr ""
#: whatsnew/3.3.rst:1881
msgid ":func:`~socket.socket.recvmsg_into`"
msgstr ""
#: whatsnew/3.3.rst:1883
msgid ""
"(Contributed by David Watson in :issue:`6560`, based on an earlier patch by "
"Heiko Wundram)"
msgstr ""
#: whatsnew/3.3.rst:1886
msgid ""
"The :class:`~socket.socket` class now supports the PF_CAN protocol family "
"(http://en.wikipedia.org/wiki/Socketcan), on Linux (http://lwn.net/"
"Articles/253425)."
msgstr ""
#: whatsnew/3.3.rst:1890
msgid ""
"(Contributed by Matthias Fuchs, updated by Tiago Gonçalves in :issue:"
"`10141`.)"
msgstr ""
#: whatsnew/3.3.rst:1892
msgid ""
"The :class:`~socket.socket` class now supports the PF_RDS protocol family "
"(http://en.wikipedia.org/wiki/Reliable_Datagram_Sockets and https://oss."
"oracle.com/projects/rds/)."
msgstr ""
#: whatsnew/3.3.rst:1896
msgid ""
"The :class:`~socket.socket` class now supports the ``PF_SYSTEM`` protocol "
"family on OS X. (Contributed by Michael Goderbauer in :issue:`13777`.)"
msgstr ""
#: whatsnew/3.3.rst:1899
msgid ""
"New function :func:`~socket.sethostname` allows the hostname to be set on "
"unix systems if the calling process has sufficient privileges. (Contributed "
"by Ross Lagerwall in :issue:`10866`.)"
msgstr ""
#: whatsnew/3.3.rst:1907
msgid ""
":class:`~socketserver.BaseServer` now has an overridable method :meth:"
"`~socketserver.BaseServer.service_actions` that is called by the :meth:"
"`~socketserver.BaseServer.serve_forever` method in the service loop. :class:"
"`~socketserver.ForkingMixIn` now uses this to clean up zombie child "
"processes. (Contributed by Justin Warkentin in :issue:`11109`.)"
msgstr ""
#: whatsnew/3.3.rst:1917
msgid ""
"New :class:`sqlite3.Connection` method :meth:`~sqlite3.Connection."
"set_trace_callback` can be used to capture a trace of all sql commands "
"processed by sqlite. (Contributed by Torsten Landschoff in :issue:`11688`.)"
msgstr ""
#: whatsnew/3.3.rst:1926
msgid "The :mod:`ssl` module has two new random generation functions:"
msgstr ""
#: whatsnew/3.3.rst:1928
msgid ""
":func:`~ssl.RAND_bytes`: generate cryptographically strong pseudo-random "
"bytes."
msgstr ""
#: whatsnew/3.3.rst:1930
msgid ":func:`~ssl.RAND_pseudo_bytes`: generate pseudo-random bytes."
msgstr ""
#: whatsnew/3.3.rst:1932
#, fuzzy
msgid "(Contributed by Victor Stinner in :issue:`12049`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:1934
msgid ""
"The :mod:`ssl` module now exposes a finer-grained exception hierarchy in "
"order to make it easier to inspect the various kinds of errors. (Contributed "
"by Antoine Pitrou in :issue:`11183`.)"
msgstr ""
#: whatsnew/3.3.rst:1938
msgid ""
":meth:`~ssl.SSLContext.load_cert_chain` now accepts a *password* argument to "
"be used if the private key is encrypted. (Contributed by Adam Simpkins in :"
"issue:`12803`.)"
msgstr ""
#: whatsnew/3.3.rst:1942
msgid ""
"Diffie-Hellman key exchange, both regular and Elliptic Curve-based, is now "
"supported through the :meth:`~ssl.SSLContext.load_dh_params` and :meth:`~ssl."
"SSLContext.set_ecdh_curve` methods. (Contributed by Antoine Pitrou in :issue:"
"`13626` and :issue:`13627`.)"
msgstr ""
#: whatsnew/3.3.rst:1947
msgid ""
"SSL sockets have a new :meth:`~ssl.SSLSocket.get_channel_binding` method "
"allowing the implementation of certain authentication mechanisms such as "
"SCRAM-SHA-1-PLUS. (Contributed by Jacek Konieczny in :issue:`12551`.)"
msgstr ""
#: whatsnew/3.3.rst:1951
msgid ""
"You can query the SSL compression algorithm used by an SSL socket, thanks to "
"its new :meth:`~ssl.SSLSocket.compression` method. The new attribute :attr:"
"`~ssl.OP_NO_COMPRESSION` can be used to disable compression. (Contributed by "
"Antoine Pitrou in :issue:`13634`.)"
msgstr ""
#: whatsnew/3.3.rst:1956
msgid ""
"Support has been added for the Next Procotol Negotiation extension using "
"the :meth:`ssl.SSLContext.set_npn_protocols` method. (Contributed by Colin "
"Marc in :issue:`14204`.)"
msgstr ""
#: whatsnew/3.3.rst:1960
msgid ""
"SSL errors can now be introspected more easily thanks to :attr:`~ssl."
"SSLError.library` and :attr:`~ssl.SSLError.reason` attributes. (Contributed "
"by Antoine Pitrou in :issue:`14837`.)"
msgstr ""
#: whatsnew/3.3.rst:1964
msgid ""
"The :func:`~ssl.get_server_certificate` function now supports IPv6. "
"(Contributed by Charles-François Natali in :issue:`11811`.)"
msgstr ""
#: whatsnew/3.3.rst:1967
msgid ""
"New attribute :attr:`~ssl.OP_CIPHER_SERVER_PREFERENCE` allows setting SSLv3 "
"server sockets to use the server's cipher ordering preference rather than "
"the client's (:issue:`13635`)."
msgstr ""
#: whatsnew/3.3.rst:1973 whatsnew/3.4.rst:1496
msgid "stat"
msgstr ""
#: whatsnew/3.3.rst:1975
msgid ""
"The undocumented tarfile.filemode function has been moved to :func:`stat."
"filemode`. It can be used to convert a file's mode to a string of the form '-"
"rwxrwxrwx'."
msgstr ""
#: whatsnew/3.3.rst:1979
#, fuzzy
msgid "(Contributed by Giampaolo Rodolà in :issue:`14807`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.3.rst:1983 whatsnew/3.4.rst:1508
msgid "struct"
msgstr ""
#: whatsnew/3.3.rst:1985
msgid ""
"The :mod:`struct` module now supports ``ssize_t`` and ``size_t`` via the new "
"codes ``n`` and ``N``, respectively. (Contributed by Antoine Pitrou in :"
"issue:`3163`.)"
msgstr ""
#: whatsnew/3.3.rst:1991 whatsnew/3.4.rst:1517 whatsnew/3.5.rst:1794
msgid "subprocess"
msgstr ""
#: whatsnew/3.3.rst:1993
msgid ""
"Command strings can now be bytes objects on posix platforms. (Contributed "
"by Victor Stinner in :issue:`8513`.)"
msgstr ""
#: whatsnew/3.3.rst:1996
msgid ""
"A new constant :data:`~subprocess.DEVNULL` allows suppressing output in a "
"platform-independent fashion. (Contributed by Ross Lagerwall in :issue:"
"`5870`.)"
msgstr ""
#: whatsnew/3.3.rst:2002 whatsnew/3.4.rst:1549 whatsnew/3.5.rst:1820
msgid "sys"
msgstr ""
#: whatsnew/3.3.rst:2004
msgid ""
"The :mod:`sys` module has a new :data:`~sys.thread_info` :term:`struct "
"sequence` holding informations about the thread implementation (:issue:"
"`11223`)."
msgstr ""
#: whatsnew/3.3.rst:2012
msgid ""
":mod:`tarfile` now supports ``lzma`` encoding via the :mod:`lzma` module. "
"(Contributed by Lars Gustäbel in :issue:`5689`.)"
msgstr ""
#: whatsnew/3.3.rst:2019
msgid ""
":class:`tempfile.SpooledTemporaryFile`\\'s :meth:`~tempfile."
"SpooledTemporaryFile.truncate` method now accepts a ``size`` parameter. "
"(Contributed by Ryan Kelly in :issue:`9957`.)"
msgstr ""
#: whatsnew/3.3.rst:2025 whatsnew/3.4.rst:1581
msgid "textwrap"
msgstr ""
#: whatsnew/3.3.rst:2027
msgid ""
"The :mod:`textwrap` module has a new :func:`~textwrap.indent` that makes it "
"straightforward to add a common prefix to selected lines in a block of text "
"(:issue:`13857`)."
msgstr ""
#: whatsnew/3.3.rst:2035
msgid ""
":class:`threading.Condition`, :class:`threading.Semaphore`, :class:"
"`threading.BoundedSemaphore`, :class:`threading.Event`, and :class:"
"`threading.Timer`, all of which used to be factory functions returning a "
"class instance, are now classes and may be subclassed. (Contributed by Éric "
"Araujo in :issue:`10968`.)"
msgstr ""
#: whatsnew/3.3.rst:2041
msgid ""
"The :class:`threading.Thread` constructor now accepts a ``daemon`` keyword "
"argument to override the default behavior of inheriting the ``deamon`` flag "
"value from the parent thread (:issue:`6064`)."
msgstr ""
#: whatsnew/3.3.rst:2045
msgid ""
"The formerly private function ``_thread.get_ident`` is now available as the "
"public function :func:`threading.get_ident`. This eliminates several cases "
"of direct access to the ``_thread`` module in the stdlib. Third party code "
"that used ``_thread.get_ident`` should likewise be changed to use the new "
"public interface."
msgstr ""
#: whatsnew/3.3.rst:2053 whatsnew/3.5.rst:1873
msgid "time"
msgstr ""
#: whatsnew/3.3.rst:2055
msgid "The :pep:`418` added new functions to the :mod:`time` module:"
msgstr ""
#: whatsnew/3.3.rst:2057
msgid ":func:`~time.get_clock_info`: Get information on a clock."
msgstr ""
#: whatsnew/3.3.rst:2058
msgid ""
":func:`~time.monotonic`: Monotonic clock (cannot go backward), not affected "
"by system clock updates."
msgstr ""
#: whatsnew/3.3.rst:2060
msgid ""
":func:`~time.perf_counter`: Performance counter with the highest available "
"resolution to measure a short duration."
msgstr ""
#: whatsnew/3.3.rst:2062
msgid ""
":func:`~time.process_time`: Sum of the system and user CPU time of the "
"current process."
msgstr ""
#: whatsnew/3.3.rst:2065
msgid "Other new functions:"
msgstr ""
#: whatsnew/3.3.rst:2067
msgid ""
":func:`~time.clock_getres`, :func:`~time.clock_gettime` and :func:`~time."
"clock_settime` functions with ``CLOCK_xxx`` constants. (Contributed by "
"Victor Stinner in :issue:`10278`.)"
msgstr ""
#: whatsnew/3.3.rst:2071
msgid ""
"To improve cross platform consistency, :func:`~time.sleep` now raises a :exc:"
"`ValueError` when passed a negative sleep value. Previously this was an "
"error on posix, but produced an infinite sleep on Windows."
msgstr ""
#: whatsnew/3.3.rst:2077 whatsnew/3.4.rst:1613 whatsnew/3.5.rst:1919
msgid "types"
msgstr ""
#: whatsnew/3.3.rst:2079
msgid ""
"Add a new :class:`types.MappingProxyType` class: Read-only proxy of a "
"mapping. (:issue:`14386`)"
msgstr ""
#: whatsnew/3.3.rst:2083
msgid ""
"The new functions :func:`types.new_class` and :func:`types.prepare_class` "
"provide support for PEP 3115 compliant dynamic type creation. (:issue:"
"`14588`)"
msgstr ""
#: whatsnew/3.3.rst:2090
msgid ""
":meth:`.assertRaises`, :meth:`.assertRaisesRegex`, :meth:`.assertWarns`, "
"and :meth:`.assertWarnsRegex` now accept a keyword argument *msg* when used "
"as context managers. (Contributed by Ezio Melotti and Winston Ewert in :"
"issue:`10775`.)"
msgstr ""
#: whatsnew/3.3.rst:2095
msgid ""
":meth:`unittest.TestCase.run` now returns the :class:`~unittest.TestResult` "
"object."
msgstr ""
#: whatsnew/3.3.rst:2100 whatsnew/3.4.rst:1624 whatsnew/3.5.rst:1983
msgid "urllib"
msgstr ""
#: whatsnew/3.3.rst:2102
msgid ""
"The :class:`~urllib.request.Request` class, now accepts a *method* argument "
"used by :meth:`~urllib.request.Request.get_method` to determine what HTTP "
"method should be used. For example, this will send a ``'HEAD'`` request::"
msgstr ""
#: whatsnew/3.3.rst:2108
msgid "(:issue:`1673007`)"
msgstr ""
#: whatsnew/3.3.rst:2112
msgid "webbrowser"
msgstr ""
#: whatsnew/3.3.rst:2114
msgid ""
"The :mod:`webbrowser` module supports more \"browsers\": Google Chrome "
"(named :program:`chrome`, :program:`chromium`, :program:`chrome-browser` or :"
"program:`chromium-browser` depending on the version and operating system), "
"and the generic launchers :program:`xdg-open`, from the FreeDesktop.org "
"project, and :program:`gvfs-open`, which is the default URI handler for "
"GNOME 3. (The former contributed by Arnaud Calmettes in :issue:`13620`, the "
"latter by Matthias Klose in :issue:`14493`.)"
msgstr ""
#: whatsnew/3.3.rst:2124
msgid "xml.etree.ElementTree"
msgstr ""
#: whatsnew/3.3.rst:2126
msgid ""
"The :mod:`xml.etree.ElementTree` module now imports its C accelerator by "
"default; there is no longer a need to explicitly import :mod:`xml.etree."
"cElementTree` (this module stays for backwards compatibility, but is now "
"deprecated). In addition, the ``iter`` family of methods of :class:`~xml."
"etree.ElementTree.Element` has been optimized (rewritten in C). The module's "
"documentation has also been greatly improved with added examples and a more "
"detailed reference."
msgstr ""
#: whatsnew/3.3.rst:2136
msgid "zlib"
msgstr ""
#: whatsnew/3.3.rst:2138
msgid ""
"New attribute :attr:`zlib.Decompress.eof` makes it possible to distinguish "
"between a properly-formed compressed stream and an incomplete or truncated "
"one. (Contributed by Nadeem Vawda in :issue:`12646`.)"
msgstr ""
#: whatsnew/3.3.rst:2142
msgid ""
"New attribute :attr:`zlib.ZLIB_RUNTIME_VERSION` reports the version string "
"of the underlying ``zlib`` library that is loaded at runtime. (Contributed "
"by Torsten Landschoff in :issue:`12306`.)"
msgstr ""
#: whatsnew/3.3.rst:2152
msgid ""
"Thanks to :pep:`393`, some operations on Unicode strings have been optimized:"
msgstr ""
#: whatsnew/3.3.rst:2154
msgid "the memory footprint is divided by 2 to 4 depending on the text"
msgstr ""
#: whatsnew/3.3.rst:2155
msgid ""
"encode an ASCII string to UTF-8 doesn't need to encode characters anymore, "
"the UTF-8 representation is shared with the ASCII representation"
msgstr ""
#: whatsnew/3.3.rst:2157
msgid "the UTF-8 encoder has been optimized"
msgstr ""
#: whatsnew/3.3.rst:2158
msgid ""
"repeating a single ASCII letter and getting a substring of an ASCII string "
"is 4 times faster"
msgstr ""
#: whatsnew/3.3.rst:2161
msgid "UTF-8 is now 2x to 4x faster. UTF-16 encoding is now up to 10x faster."
msgstr ""
#: whatsnew/3.3.rst:2163
msgid ""
"(Contributed by Serhiy Storchaka, :issue:`14624`, :issue:`14738` and :issue:"
"`15026`.)"
msgstr ""
#: whatsnew/3.3.rst:2172
msgid "New :pep:`3118` related function:"
msgstr ""
#: whatsnew/3.3.rst:2174
msgid ":c:func:`PyMemoryView_FromMemory`"
msgstr ""
#: whatsnew/3.3.rst:2176
msgid ":pep:`393` added new Unicode types, macros and functions:"
msgstr ""
#: whatsnew/3.3.rst:2178
msgid "High-level API:"
msgstr ""
#: whatsnew/3.3.rst:2180
msgid ":c:func:`PyUnicode_CopyCharacters`"
msgstr ""
#: whatsnew/3.3.rst:2181
msgid ":c:func:`PyUnicode_FindChar`"
msgstr ""
#: whatsnew/3.3.rst:2182
msgid ":c:func:`PyUnicode_GetLength`, :c:macro:`PyUnicode_GET_LENGTH`"
msgstr ""
#: whatsnew/3.3.rst:2183
msgid ":c:func:`PyUnicode_New`"
msgstr ""
#: whatsnew/3.3.rst:2184
msgid ":c:func:`PyUnicode_Substring`"
msgstr ""
#: whatsnew/3.3.rst:2185
msgid ":c:func:`PyUnicode_ReadChar`, :c:func:`PyUnicode_WriteChar`"
msgstr ""
#: whatsnew/3.3.rst:2187
msgid "Low-level API:"
msgstr ""
#: whatsnew/3.3.rst:2189
msgid ":c:type:`Py_UCS1`, :c:type:`Py_UCS2`, :c:type:`Py_UCS4` types"
msgstr ""
#: whatsnew/3.3.rst:2190
msgid ":c:type:`PyASCIIObject` and :c:type:`PyCompactUnicodeObject` structures"
msgstr ""
#: whatsnew/3.3.rst:2191
msgid ":c:macro:`PyUnicode_READY`"
msgstr ""
#: whatsnew/3.3.rst:2192
msgid ":c:func:`PyUnicode_FromKindAndData`"
msgstr ""
#: whatsnew/3.3.rst:2193
msgid ":c:func:`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsUCS4Copy`"
msgstr ""
#: whatsnew/3.3.rst:2194
msgid ""
":c:macro:`PyUnicode_DATA`, :c:macro:`PyUnicode_1BYTE_DATA`, :c:macro:"
"`PyUnicode_2BYTE_DATA`, :c:macro:`PyUnicode_4BYTE_DATA`"
msgstr ""
#: whatsnew/3.3.rst:2196
msgid ""
":c:macro:`PyUnicode_KIND` with :c:type:`PyUnicode_Kind` enum: :c:data:"
"`PyUnicode_WCHAR_KIND`, :c:data:`PyUnicode_1BYTE_KIND`, :c:data:"
"`PyUnicode_2BYTE_KIND`, :c:data:`PyUnicode_4BYTE_KIND`"
msgstr ""
#: whatsnew/3.3.rst:2199
msgid ""
":c:macro:`PyUnicode_READ`, :c:macro:`PyUnicode_READ_CHAR`, :c:macro:"
"`PyUnicode_WRITE`"
msgstr ""
#: whatsnew/3.3.rst:2200
msgid ":c:macro:`PyUnicode_MAX_CHAR_VALUE`"
msgstr ""
#: whatsnew/3.3.rst:2202
msgid ""
":c:macro:`PyArg_ParseTuple` now accepts a :class:`bytearray` for the ``c`` "
"format (:issue:`12380`)."
msgstr ""
#: whatsnew/3.3.rst:2208 whatsnew/3.4.rst:2067 whatsnew/3.5.rst:2219
msgid "Deprecated"
msgstr ""
#: whatsnew/3.3.rst:2211 whatsnew/3.5.rst:2240
msgid "Unsupported Operating Systems"
msgstr ""
#: whatsnew/3.3.rst:2213
msgid "OS/2 and VMS are no longer supported due to the lack of a maintainer."
msgstr ""
#: whatsnew/3.3.rst:2215
msgid ""
"Windows 2000 and Windows platforms which set ``COMSPEC`` to ``command.com`` "
"are no longer supported due to maintenance burden."
msgstr ""
#: whatsnew/3.3.rst:2218
msgid "OSF support, which was deprecated in 3.2, has been completely removed."
msgstr ""
#: whatsnew/3.3.rst:2222 whatsnew/3.5.rst:2247
msgid "Deprecated Python modules, functions and methods"
msgstr ""
#: whatsnew/3.3.rst:2224
msgid ""
"Passing a non-empty string to ``object.__format__()`` is deprecated, and "
"will produce a :exc:`TypeError` in Python 3.4 (:issue:`9856`)."
msgstr ""
#: whatsnew/3.3.rst:2226
msgid ""
"The ``unicode_internal`` codec has been deprecated because of the :pep:"
"`393`, use UTF-8, UTF-16 (``utf-16-le`` or ``utf-16-be``), or UTF-32 "
"(``utf-32-le`` or ``utf-32-be``)"
msgstr ""
#: whatsnew/3.3.rst:2229
msgid ""
":meth:`ftplib.FTP.nlst` and :meth:`ftplib.FTP.dir`: use :meth:`ftplib.FTP."
"mlsd`"
msgstr ""
#: whatsnew/3.3.rst:2231
msgid ""
":func:`platform.popen`: use the :mod:`subprocess` module. Check especially "
"the :ref:`subprocess-replacements` section (:issue:`11377`)."
msgstr ""
#: whatsnew/3.3.rst:2233
msgid ""
":issue:`13374`: The Windows bytes API has been deprecated in the :mod:`os` "
"module. Use Unicode filenames, instead of bytes filenames, to not depend on "
"the ANSI code page anymore and to support any filename."
msgstr ""
#: whatsnew/3.3.rst:2236
msgid ""
":issue:`13988`: The :mod:`xml.etree.cElementTree` module is deprecated. The "
"accelerator is used automatically whenever available."
msgstr ""
#: whatsnew/3.3.rst:2238
msgid ""
"The behaviour of :func:`time.clock` depends on the platform: use the new :"
"func:`time.perf_counter` or :func:`time.process_time` function instead, "
"depending on your requirements, to have a well defined behaviour."
msgstr ""
#: whatsnew/3.3.rst:2241
msgid "The :func:`os.stat_float_times` function is deprecated."
msgstr ""
#: whatsnew/3.3.rst:2242
msgid ":mod:`abc` module:"
msgstr ""
#: whatsnew/3.3.rst:2251
msgid ":mod:`importlib` package:"
msgstr ""
#: whatsnew/3.3.rst:2253
msgid ""
":meth:`importlib.abc.SourceLoader.path_mtime` is now deprecated in favour "
"of :meth:`importlib.abc.SourceLoader.path_stats` as bytecode files now store "
"both the modification time and size of the source file the bytecode file was "
"compiled from."
msgstr ""
#: whatsnew/3.3.rst:2263
msgid "Deprecated functions and types of the C API"
msgstr ""
#: whatsnew/3.3.rst:2265
msgid ""
"The :c:type:`Py_UNICODE` has been deprecated by :pep:`393` and will be "
"removed in Python 4. All functions using this type are deprecated:"
msgstr ""
#: whatsnew/3.3.rst:2268
msgid ""
"Unicode functions and methods using :c:type:`Py_UNICODE` and :c:type:"
"`Py_UNICODE*` types:"
msgstr ""
#: whatsnew/3.3.rst:2271
msgid ""
":c:macro:`PyUnicode_FromUnicode`: use :c:func:`PyUnicode_FromWideChar` or :c:"
"func:`PyUnicode_FromKindAndData`"
msgstr ""
#: whatsnew/3.3.rst:2273
msgid ""
":c:macro:`PyUnicode_AS_UNICODE`, :c:func:`PyUnicode_AsUnicode`, :c:func:"
"`PyUnicode_AsUnicodeAndSize`: use :c:func:`PyUnicode_AsWideCharString`"
msgstr ""
#: whatsnew/3.3.rst:2275
msgid ""
":c:macro:`PyUnicode_AS_DATA`: use :c:macro:`PyUnicode_DATA` with :c:macro:"
"`PyUnicode_READ` and :c:macro:`PyUnicode_WRITE`"
msgstr ""
#: whatsnew/3.3.rst:2277
msgid ""
":c:macro:`PyUnicode_GET_SIZE`, :c:func:`PyUnicode_GetSize`: use :c:macro:"
"`PyUnicode_GET_LENGTH` or :c:func:`PyUnicode_GetLength`"
msgstr ""
#: whatsnew/3.3.rst:2279
msgid ""
":c:macro:`PyUnicode_GET_DATA_SIZE`: use ``PyUnicode_GET_LENGTH(str) * "
"PyUnicode_KIND(str)`` (only work on ready strings)"
msgstr ""
#: whatsnew/3.3.rst:2282
msgid ""
":c:func:`PyUnicode_AsUnicodeCopy`: use :c:func:`PyUnicode_AsUCS4Copy` or :c:"
"func:`PyUnicode_AsWideCharString`"
msgstr ""
#: whatsnew/3.3.rst:2284
msgid ":c:func:`PyUnicode_GetMax`"
msgstr ""
#: whatsnew/3.3.rst:2287
msgid "Functions and macros manipulating Py_UNICODE* strings:"
msgstr ""
#: whatsnew/3.3.rst:2289
msgid ""
":c:macro:`Py_UNICODE_strlen`: use :c:func:`PyUnicode_GetLength` or :c:macro:"
"`PyUnicode_GET_LENGTH`"
msgstr ""
#: whatsnew/3.3.rst:2291
msgid ""
":c:macro:`Py_UNICODE_strcat`: use :c:func:`PyUnicode_CopyCharacters` or :c:"
"func:`PyUnicode_FromFormat`"
msgstr ""
#: whatsnew/3.3.rst:2293
msgid ""
":c:macro:`Py_UNICODE_strcpy`, :c:macro:`Py_UNICODE_strncpy`, :c:macro:"
"`Py_UNICODE_COPY`: use :c:func:`PyUnicode_CopyCharacters` or :c:func:"
"`PyUnicode_Substring`"
msgstr ""
#: whatsnew/3.3.rst:2296
msgid ":c:macro:`Py_UNICODE_strcmp`: use :c:func:`PyUnicode_Compare`"
msgstr ""
#: whatsnew/3.3.rst:2297
msgid ":c:macro:`Py_UNICODE_strncmp`: use :c:func:`PyUnicode_Tailmatch`"
msgstr ""
#: whatsnew/3.3.rst:2298
msgid ""
":c:macro:`Py_UNICODE_strchr`, :c:macro:`Py_UNICODE_strrchr`: use :c:func:"
"`PyUnicode_FindChar`"
msgstr ""
#: whatsnew/3.3.rst:2300
msgid ":c:macro:`Py_UNICODE_FILL`: use :c:func:`PyUnicode_Fill`"
msgstr ""
#: whatsnew/3.3.rst:2301
msgid ":c:macro:`Py_UNICODE_MATCH`"
msgstr ""
#: whatsnew/3.3.rst:2303
msgid "Encoders:"
msgstr ""
#: whatsnew/3.3.rst:2305
msgid ":c:func:`PyUnicode_Encode`: use :c:func:`PyUnicode_AsEncodedObject`"
msgstr ""
#: whatsnew/3.3.rst:2306
msgid ":c:func:`PyUnicode_EncodeUTF7`"
msgstr ""
#: whatsnew/3.3.rst:2307
msgid ""
":c:func:`PyUnicode_EncodeUTF8`: use :c:func:`PyUnicode_AsUTF8` or :c:func:"
"`PyUnicode_AsUTF8String`"
msgstr ""
#: whatsnew/3.3.rst:2309
msgid ":c:func:`PyUnicode_EncodeUTF32`"
msgstr ""
#: whatsnew/3.3.rst:2310
msgid ":c:func:`PyUnicode_EncodeUTF16`"
msgstr ""
#: whatsnew/3.3.rst:2311
msgid ""
":c:func:`PyUnicode_EncodeUnicodeEscape:` use :c:func:"
"`PyUnicode_AsUnicodeEscapeString`"
msgstr ""
#: whatsnew/3.3.rst:2313
msgid ""
":c:func:`PyUnicode_EncodeRawUnicodeEscape:` use :c:func:"
"`PyUnicode_AsRawUnicodeEscapeString`"
msgstr ""
#: whatsnew/3.3.rst:2315
msgid ""
":c:func:`PyUnicode_EncodeLatin1`: use :c:func:`PyUnicode_AsLatin1String`"
msgstr ""
#: whatsnew/3.3.rst:2316
msgid ":c:func:`PyUnicode_EncodeASCII`: use :c:func:`PyUnicode_AsASCIIString`"
msgstr ""
#: whatsnew/3.3.rst:2317
msgid ":c:func:`PyUnicode_EncodeCharmap`"
msgstr ""
#: whatsnew/3.3.rst:2318
msgid ":c:func:`PyUnicode_TranslateCharmap`"
msgstr ""
#: whatsnew/3.3.rst:2319
msgid ""
":c:func:`PyUnicode_EncodeMBCS`: use :c:func:`PyUnicode_AsMBCSString` or :c:"
"func:`PyUnicode_EncodeCodePage` (with ``CP_ACP`` code_page)"
msgstr ""
#: whatsnew/3.3.rst:2321
msgid ""
":c:func:`PyUnicode_EncodeDecimal`, :c:func:"
"`PyUnicode_TransformDecimalToASCII`"
msgstr ""
#: whatsnew/3.3.rst:2326
msgid "Deprecated features"
msgstr ""
#: whatsnew/3.3.rst:2328
msgid ""
"The :mod:`array` module's ``'u'`` format code is now deprecated and will be "
"removed in Python 4 together with the rest of the (:c:type:`Py_UNICODE`) API."
msgstr ""
#: whatsnew/3.3.rst:2333
#, fuzzy
msgid "Porting to Python 3.3"
msgstr "Portage vers Python 3.2"
#: whatsnew/3.3.rst:2335 whatsnew/3.4.rst:2242 whatsnew/3.5.rst:2335
msgid ""
"This section lists previously described changes and other bugfixes that may "
"require changes to your code."
msgstr ""
#: whatsnew/3.3.rst:2341
#, fuzzy
msgid "Porting Python code"
msgstr "Portage vers Python 3.2"
#: whatsnew/3.3.rst:2343
msgid ""
"Hash randomization is enabled by default. Set the :envvar:`PYTHONHASHSEED` "
"environment variable to ``0`` to disable hash randomization. See also the :"
"meth:`object.__hash__` method."
msgstr ""
#: whatsnew/3.3.rst:2347
msgid ""
":issue:`12326`: On Linux, sys.platform doesn't contain the major version "
"anymore. It is now always 'linux', instead of 'linux2' or 'linux3' depending "
"on the Linux version used to build Python. Replace sys.platform == 'linux2' "
"with sys.platform.startswith('linux'), or directly sys.platform == 'linux' "
"if you don't need to support older Python versions."
msgstr ""
#: whatsnew/3.3.rst:2353
msgid ""
":issue:`13847`, :issue:`14180`: :mod:`time` and :mod:`datetime`: :exc:"
"`OverflowError` is now raised instead of :exc:`ValueError` if a timestamp is "
"out of range. :exc:`OSError` is now raised if C functions :c:func:`gmtime` "
"or :c:func:`localtime` failed."
msgstr ""
#: whatsnew/3.3.rst:2358
msgid ""
"The default finders used by import now utilize a cache of what is contained "
"within a specific directory. If you create a Python source file or "
"sourceless bytecode file, make sure to call :func:`importlib."
"invalidate_caches` to clear out the cache for the finders to notice the new "
"file."
msgstr ""
#: whatsnew/3.3.rst:2363
msgid ""
":exc:`ImportError` now uses the full name of the module that was attempted "
"to be imported. Doctests that check ImportErrors' message will need to be "
"updated to use the full name of the module instead of just the tail of the "
"name."
msgstr ""
#: whatsnew/3.3.rst:2368
msgid ""
"The *index* argument to :func:`__import__` now defaults to 0 instead of -1 "
"and no longer support negative values. It was an oversight when :pep:`328` "
"was implemented that the default value remained -1. If you need to continue "
"to perform a relative import followed by an absolute import, then perform "
"the relative import using an index of 1, followed by another import using an "
"index of 0. It is preferred, though, that you use :func:`importlib."
"import_module` rather than call :func:`__import__` directly."
msgstr ""
#: whatsnew/3.3.rst:2376
msgid ""
":func:`__import__` no longer allows one to use an index value other than 0 "
"for top-level modules. E.g. ``__import__('sys', level=1)`` is now an error."
msgstr ""
#: whatsnew/3.3.rst:2379
msgid ""
"Because :attr:`sys.meta_path` and :attr:`sys.path_hooks` now have finders on "
"them by default, you will most likely want to use :meth:`list.insert` "
"instead of :meth:`list.append` to add to those lists."
msgstr ""
#: whatsnew/3.3.rst:2383
msgid ""
"Because ``None`` is now inserted into :attr:`sys.path_importer_cache`, if "
"you are clearing out entries in the dictionary of paths that do not have a "
"finder, you will need to remove keys paired with values of ``None`` **and** :"
"class:`imp.NullImporter` to be backwards-compatible. This will lead to extra "
"overhead on older versions of Python that re-insert ``None`` into :attr:`sys."
"path_importer_cache` where it repesents the use of implicit finders, but "
"semantically it should not change anything."
msgstr ""
#: whatsnew/3.3.rst:2391
msgid ""
":class:`importlib.abc.Finder` no longer specifies a `find_module()` abstract "
"method that must be implemented. If you were relying on subclasses to "
"implement that method, make sure to check for the method's existence first. "
"You will probably want to check for `find_loader()` first, though, in the "
"case of working with :term:`path entry finders <path entry finder>`."
msgstr ""
#: whatsnew/3.3.rst:2397
msgid ""
":mod:`pkgutil` has been converted to use :mod:`importlib` internally. This "
"eliminates many edge cases where the old behaviour of the PEP 302 import "
"emulation failed to match the behaviour of the real import system. The "
"import emulation itself is still present, but is now deprecated. The :func:"
"`pkgutil.iter_importers` and :func:`pkgutil.walk_packages` functions special "
"case the standard import hooks so they are still supported even though they "
"do not provide the non-standard ``iter_modules()`` method."
msgstr ""
#: whatsnew/3.3.rst:2405
msgid ""
"A longstanding RFC-compliance bug (:issue:`1079`) in the parsing done by :"
"func:`email.header.decode_header` has been fixed. Code that uses the "
"standard idiom to convert encoded headers into unicode "
"(``str(make_header(decode_header(h))``) will see no change, but code that "
"looks at the individual tuples returned by decode_header will see that "
"whitespace that precedes or follows ``ASCII`` sections is now included in "
"the ``ASCII`` section. Code that builds headers using ``make_header`` "
"should also continue to work without change, since ``make_header`` continues "
"to add whitespace between ``ASCII`` and non-``ASCII`` sections if it is not "
"already present in the input strings."
msgstr ""
#: whatsnew/3.3.rst:2416
msgid ""
":func:`email.utils.formataddr` now does the correct content transfer "
"encoding when passed non-``ASCII`` display names. Any code that depended on "
"the previous buggy behavior that preserved the non-``ASCII`` unicode in the "
"formatted output string will need to be changed (:issue:`1690608`)."
msgstr ""
#: whatsnew/3.3.rst:2421
msgid ""
":meth:`poplib.POP3.quit` may now raise protocol errors like all other "
"``poplib`` methods. Code that assumes ``quit`` does not raise :exc:`poplib."
"error_proto` errors may need to be changed if errors on ``quit`` are "
"encountered by a particular application (:issue:`11291`)."
msgstr ""
#: whatsnew/3.3.rst:2426
msgid ""
"The ``strict`` argument to :class:`email.parser.Parser`, deprecated since "
"Python 2.4, has finally been removed."
msgstr ""
#: whatsnew/3.3.rst:2429
msgid ""
"The deprecated method ``unittest.TestCase.assertSameElements`` has been "
"removed."
msgstr ""
#: whatsnew/3.3.rst:2432
msgid "The deprecated variable ``time.accept2dyear`` has been removed."
msgstr ""
#: whatsnew/3.3.rst:2434
msgid ""
"The deprecated ``Context._clamp`` attribute has been removed from the :mod:"
"`decimal` module. It was previously replaced by the public attribute :attr:"
"`~decimal.Context.clamp`. (See :issue:`8540`.)"
msgstr ""
#: whatsnew/3.3.rst:2438
msgid ""
"The undocumented internal helper class ``SSLFakeFile`` has been removed "
"from :mod:`smtplib`, since its functionality has long been provided directly "
"by :meth:`socket.socket.makefile`."
msgstr ""
#: whatsnew/3.3.rst:2442
msgid ""
"Passing a negative value to :func:`time.sleep` on Windows now raises an "
"error instead of sleeping forever. It has always raised an error on posix."
msgstr ""
#: whatsnew/3.3.rst:2445
msgid ""
"The ``ast.__version__`` constant has been removed. If you need to make "
"decisions affected by the AST version, use :attr:`sys.version_info` to make "
"the decision."
msgstr ""
#: whatsnew/3.3.rst:2449
msgid ""
"Code that used to work around the fact that the :mod:`threading` module used "
"factory functions by subclassing the private classes will need to change to "
"subclass the now-public classes."
msgstr ""
#: whatsnew/3.3.rst:2453
msgid ""
"The undocumented debugging machinery in the threading module has been "
"removed, simplifying the code. This should have no effect on production "
"code, but is mentioned here in case any application debug frameworks were "
"interacting with it (:issue:`13550`)."
msgstr ""
#: whatsnew/3.3.rst:2460
msgid "Porting C code"
msgstr ""
#: whatsnew/3.3.rst:2462
msgid ""
"In the course of changes to the buffer API the undocumented :c:member:"
"`~Py_buffer.smalltable` member of the :c:type:`Py_buffer` structure has been "
"removed and the layout of the :c:type:`PyMemoryViewObject` has changed."
msgstr ""
#: whatsnew/3.3.rst:2467
msgid ""
"All extensions relying on the relevant parts in ``memoryobject.h`` or "
"``object.h`` must be rebuilt."
msgstr ""
#: whatsnew/3.3.rst:2470
msgid ""
"Due to :ref:`PEP 393 <pep-393>`, the :c:type:`Py_UNICODE` type and all "
"functions using this type are deprecated (but will stay available for at "
"least five years). If you were using low-level Unicode APIs to construct "
"and access unicode objects and you want to benefit of the memory footprint "
"reduction provided by PEP 393, you have to convert your code to the new :doc:"
"`Unicode API <../c-api/unicode>`."
msgstr ""
#: whatsnew/3.3.rst:2477
msgid ""
"However, if you only have been using high-level functions such as :c:func:"
"`PyUnicode_Concat()`, :c:func:`PyUnicode_Join` or :c:func:"
"`PyUnicode_FromFormat()`, your code will automatically take advantage of the "
"new unicode representations."
msgstr ""
#: whatsnew/3.3.rst:2482
msgid ":c:func:`PyImport_GetMagicNumber` now returns -1 upon failure."
msgstr ""
#: whatsnew/3.3.rst:2484
msgid ""
"As a negative value for the *level* argument to :func:`__import__` is no "
"longer valid, the same now holds for :c:func:`PyImport_ImportModuleLevel`. "
"This also means that the value of *level* used by :c:func:"
"`PyImport_ImportModuleEx` is now 0 instead of -1."
msgstr ""
#: whatsnew/3.3.rst:2491
msgid "Building C extensions"
msgstr ""
#: whatsnew/3.3.rst:2493
msgid ""
"The range of possible file names for C extensions has been narrowed. Very "
"rarely used spellings have been suppressed: under POSIX, files named "
"``xxxmodule.so``, ``xxxmodule.abi3.so`` and ``xxxmodule.cpython-*.so`` are "
"no longer recognized as implementing the ``xxx`` module. If you had been "
"generating such files, you have to switch to the other spellings (i.e., "
"remove the ``module`` string from the file names)."
msgstr ""
#: whatsnew/3.3.rst:2501
msgid "(implemented in :issue:`14040`.)"
msgstr ""
#: whatsnew/3.3.rst:2505
msgid "Command Line Switch Changes"
msgstr ""
#: whatsnew/3.3.rst:2507
msgid ""
"The -Q command-line flag and related artifacts have been removed. Code "
"checking sys.flags.division_warning will need updating."
msgstr ""
#: whatsnew/3.3.rst:2510
msgid "(:issue:`10998`, contributed by Éric Araujo.)"
msgstr ""
#: whatsnew/3.3.rst:2512
msgid ""
"When :program:`python` is started with :option:`-S`, ``import site`` will no "
"longer add site-specific paths to the module search paths. In previous "
"versions, it did."
msgstr ""
#: whatsnew/3.3.rst:2516
msgid ""
"(:issue:`11591`, contributed by Carl Meyer with editions by Éric Araujo.)"
msgstr ""
#: whatsnew/3.4.rst:3
#, fuzzy
msgid "What's New In Python 3.4"
msgstr "Nouveautés de Python 2.0"
#: whatsnew/3.4.rst:5
msgid "R. David Murray <rdmurray@bitdance.com> (Editor)"
msgstr ""
#: whatsnew/3.4.rst:63
msgid ""
"This article explains the new features in Python 3.4, compared to 3.3. "
"Python 3.4 was released on March 16, 2014. For full details, see the "
"`changelog <https://docs.python.org/3.4/whatsnew/changelog.html>`_."
msgstr ""
#: whatsnew/3.4.rst:70
msgid ":pep:`429` -- Python 3.4 Release Schedule"
msgstr ""
#: whatsnew/3.4.rst:75
msgid "Summary -- Release Highlights"
msgstr ""
#: whatsnew/3.4.rst:82
msgid "No new syntax features were added in Python 3.4."
msgstr ""
#: whatsnew/3.4.rst:84
msgid "Other new features:"
msgstr ""
#: whatsnew/3.4.rst:86
msgid ":ref:`pip should always be available <whatsnew-pep-453>` (:pep:`453`)."
msgstr ""
#: whatsnew/3.4.rst:87
msgid ""
":ref:`Newly created file descriptors are non-inheritable <whatsnew-pep-446>` "
"(:pep:`446`)."
msgstr ""
#: whatsnew/3.4.rst:89
msgid ""
"command line option for :ref:`isolated mode <whatsnew-isolated-mode>` (:"
"issue:`16499`)."
msgstr ""
#: whatsnew/3.4.rst:91
msgid ""
":ref:`improvements in the handling of codecs <codec-handling-improvements>` "
"that are not text encodings (multiple issues)."
msgstr ""
#: whatsnew/3.4.rst:93
msgid ""
":ref:`A ModuleSpec Type <whatsnew-pep-451>` for the Import System (:pep:"
"`451`). (Affects importer authors.)"
msgstr ""
#: whatsnew/3.4.rst:95
msgid ""
"The :mod:`marshal` format has been made :ref:`more compact and efficient "
"<whatsnew-marshal-3>` (:issue:`16475`)."
msgstr ""
#: whatsnew/3.4.rst:100
msgid ""
":mod:`asyncio`: :ref:`New provisional API for asynchronous IO <whatsnew-"
"asyncio>` (:pep:`3156`)."
msgstr ""
#: whatsnew/3.4.rst:102
msgid ""
":mod:`ensurepip`: :ref:`Bootstrapping the pip installer <whatsnew-"
"ensurepip>` (:pep:`453`)."
msgstr ""
#: whatsnew/3.4.rst:104
msgid ""
":mod:`enum`: :ref:`Support for enumeration types <whatsnew-enum>` (:pep:"
"`435`)."
msgstr ""
#: whatsnew/3.4.rst:106
msgid ""
":mod:`pathlib`: :ref:`Object-oriented filesystem paths <whatsnew-pathlib>` (:"
"pep:`428`)."
msgstr ""
#: whatsnew/3.4.rst:108
msgid ""
":mod:`selectors`: :ref:`High-level and efficient I/O multiplexing <whatsnew-"
"selectors>`, built upon the :mod:`select` module primitives (part of :pep:"
"`3156`)."
msgstr ""
#: whatsnew/3.4.rst:111
msgid ""
":mod:`statistics`: A basic :ref:`numerically stable statistics library "
"<whatsnew-statistics>` (:pep:`450`)."
msgstr ""
#: whatsnew/3.4.rst:113
msgid ""
":mod:`tracemalloc`: :ref:`Trace Python memory allocations <whatsnew-"
"tracemalloc>` (:pep:`454`)."
msgstr ""
#: whatsnew/3.4.rst:116
msgid "Significantly improved library modules:"
msgstr ""
#: whatsnew/3.4.rst:118
msgid ""
":ref:`Single-dispatch generic functions <whatsnew-singledispatch>` in :mod:"
"`functools` (:pep:`443`)."
msgstr ""
#: whatsnew/3.4.rst:120
msgid ""
"New :mod:`pickle` :ref:`protocol 4 <whatsnew-protocol-4>` (:pep:`3154`)."
msgstr ""
#: whatsnew/3.4.rst:121
msgid ""
":mod:`multiprocessing` now has :ref:`an option to avoid using os.fork on "
"Unix <whatsnew-multiprocessing-no-fork>` (:issue:`8713`)."
msgstr ""
#: whatsnew/3.4.rst:123
msgid ""
":mod:`email` has a new submodule, :mod:`~email.contentmanager`, and a new :"
"mod:`~email.message.Message` subclass (:class:`~email.contentmanager."
"EmailMessage`) that :ref:`simplify MIME handling "
"<whatsnew_email_contentmanager>` (:issue:`18891`)."
msgstr ""
#: whatsnew/3.4.rst:127
msgid ""
"The :mod:`inspect` and :mod:`pydoc` modules are now capable of correct "
"introspection of a much wider variety of callable objects, which improves "
"the output of the Python :func:`help` system."
msgstr ""
#: whatsnew/3.4.rst:130
msgid "The :mod:`ipaddress` module API has been declared stable"
msgstr ""
#: whatsnew/3.4.rst:134
msgid ""
":ref:`Secure and interchangeable hash algorithm <whatsnew-pep-456>` (:pep:"
"`456`)."
msgstr ""
#: whatsnew/3.4.rst:136
msgid ""
":ref:`Make newly created file descriptors non-inheritable <whatsnew-"
"pep-446>` (:pep:`446`) to avoid leaking file descriptors to child processes."
msgstr ""
#: whatsnew/3.4.rst:138
msgid ""
"New command line option for :ref:`isolated mode <whatsnew-isolated-mode>`, (:"
"issue:`16499`)."
msgstr ""
#: whatsnew/3.4.rst:140
msgid ""
":mod:`multiprocessing` now has :ref:`an option to avoid using os.fork on "
"Unix <whatsnew-multiprocessing-no-fork>`. *spawn* and *forkserver* are more "
"secure because they avoid sharing data with child processes."
msgstr ""
#: whatsnew/3.4.rst:143
msgid ""
":mod:`multiprocessing` child processes on Windows no longer inherit all of "
"the parent's inheritable handles, only the necessary ones."
msgstr ""
#: whatsnew/3.4.rst:145
msgid ""
"A new :func:`hashlib.pbkdf2_hmac` function provides the `PKCS#5 password-"
"based key derivation function 2 <http://en.wikipedia.org/wiki/PBKDF2>`_."
msgstr ""
#: whatsnew/3.4.rst:148
msgid ":ref:`TLSv1.1 and TLSv1.2 support <whatsnew-tls-11-12>` for :mod:`ssl`."
msgstr ""
#: whatsnew/3.4.rst:149
msgid ""
":ref:`Retrieving certificates from the Windows system cert store support "
"<whatsnew34-win-cert-store>` for :mod:`ssl`."
msgstr ""
#: whatsnew/3.4.rst:151
msgid ""
":ref:`Server-side SNI (Server Name Indication) support <whatsnew34-sni>` "
"for :mod:`ssl`."
msgstr ""
#: whatsnew/3.4.rst:153
msgid ""
"The :class:`ssl.SSLContext` class has a :ref:`lot of improvements "
"<whatsnew34-sslcontext>`."
msgstr ""
#: whatsnew/3.4.rst:155
msgid ""
"All modules in the standard library that support SSL now support server "
"certificate verification, including hostname matching (:func:`ssl."
"match_hostname`) and CRLs (Certificate Revocation lists, see :func:`ssl."
"SSLContext.load_verify_locations`)."
msgstr ""
#: whatsnew/3.4.rst:160 whatsnew/3.5.rst:94
msgid "CPython implementation improvements:"
msgstr ""
#: whatsnew/3.4.rst:162
msgid ":ref:`Safe object finalization <whatsnew-pep-442>` (:pep:`442`)."
msgstr ""
#: whatsnew/3.4.rst:163
msgid ""
"Leveraging :pep:`442`, in most cases :ref:`module globals are no longer set "
"to None during finalization <whatsnew-pep-442>` (:issue:`18214`)."
msgstr ""
#: whatsnew/3.4.rst:165
msgid ":ref:`Configurable memory allocators <whatsnew-pep-445>` (:pep:`445`)."
msgstr ""
#: whatsnew/3.4.rst:166
msgid ":ref:`Argument Clinic <whatsnew-pep-436>` (:pep:`436`)."
msgstr ""
#: whatsnew/3.4.rst:168 whatsnew/3.5.rst:157
msgid ""
"Please read on for a comprehensive list of user-facing changes, including "
"many other smaller improvements, CPython optimizations, deprecations, and "
"potential porting issues."
msgstr ""
#: whatsnew/3.4.rst:175 whatsnew/3.5.rst:163
msgid "New Features"
msgstr ""
#: whatsnew/3.4.rst:180
msgid "PEP 453: Explicit Bootstrapping of PIP in Python Installations"
msgstr ""
#: whatsnew/3.4.rst:183
msgid "Bootstrapping pip By Default"
msgstr ""
#: whatsnew/3.4.rst:185
msgid ""
"The new :mod:`ensurepip` module (defined in :pep:`453`) provides a standard "
"cross-platform mechanism to bootstrap the pip installer into Python "
"installations and virtual environments. The version of ``pip`` included with "
"Python 3.4.0 is ``pip`` 1.5.4, and future 3.4.x maintenance releases will "
"update the bundled version to the latest version of ``pip`` that is "
"available at the time of creating the release candidate."
msgstr ""
#: whatsnew/3.4.rst:192
msgid ""
"By default, the commands ``pipX`` and ``pipX.Y`` will be installed on all "
"platforms (where X.Y stands for the version of the Python installation), "
"along with the ``pip`` Python package and its dependencies. On Windows and "
"in virtual environments on all platforms, the unversioned ``pip`` command "
"will also be installed. On other platforms, the system wide unversioned "
"``pip`` command typically refers to the separately installed Python 2 "
"version."
msgstr ""
#: whatsnew/3.4.rst:200
msgid ""
"The :ref:`pyvenv <scripts-pyvenv>` command line utility and the :mod:`venv` "
"module make use of the :mod:`ensurepip` module to make ``pip`` readily "
"available in virtual environments. When using the command line utility, "
"``pip`` is installed by default, while when using the :mod:`venv` module :"
"ref:`venv-api` installation of ``pip`` must be requested explicitly."
msgstr ""
#: whatsnew/3.4.rst:206
msgid ""
"For CPython :ref:`source builds on POSIX systems <building-python-on-unix>`, "
"the ``make install`` and ``make altinstall`` commands bootstrap ``pip`` by "
"default. This behaviour can be controlled through configure options, and "
"overridden through Makefile options."
msgstr ""
#: whatsnew/3.4.rst:211
msgid ""
"On Windows and Mac OS X, the CPython installers now default to installing "
"``pip`` along with CPython itself (users may opt out of installing it during "
"the installation process). Window users will need to opt in to the automatic "
"``PATH`` modifications to have ``pip`` available from the command line by "
"default, otherwise it can still be accessed through the Python launcher for "
"Windows as ``py -m pip``."
msgstr ""
#: whatsnew/3.4.rst:218
msgid ""
"As `discussed in the PEP`__, platform packagers may choose not to install "
"these commands by default, as long as, when invoked, they provide clear and "
"simple directions on how to install them on that platform (usually using the "
"system package manager)."
msgstr ""
#: whatsnew/3.4.rst:227
msgid ""
"To avoid conflicts between parallel Python 2 and Python 3 installations, "
"only the versioned ``pip3`` and ``pip3.4`` commands are bootstrapped by "
"default when ``ensurepip`` is invoked directly - the ``--default-pip`` "
"option is needed to also request the unversioned ``pip`` command. ``pyvenv`` "
"and the Windows installer ensure that the unqualified ``pip`` command is "
"made available in those environments, and ``pip`` can always be invoked via "
"the ``-m`` switch rather than directly to avoid ambiguity on systems with "
"multiple Python installations."
msgstr ""
#: whatsnew/3.4.rst:238
msgid "Documentation Changes"
msgstr ""
#: whatsnew/3.4.rst:240
msgid ""
"As part of this change, the :ref:`installing-index` and :ref:`distributing-"
"index` sections of the documentation have been completely redesigned as "
"short getting started and FAQ documents. Most packaging documentation has "
"now been moved out to the Python Packaging Authority maintained `Python "
"Packaging User Guide <https://packaging.python.org>`__ and the documentation "
"of the individual projects."
msgstr ""
#: whatsnew/3.4.rst:248
msgid ""
"However, as this migration is currently still incomplete, the legacy "
"versions of those guides remaining available as :ref:`install-index` and :"
"ref:`distutils-index`."
msgstr ""
#: whatsnew/3.4.rst:255
msgid "PEP 453 -- Explicit bootstrapping of pip in Python installations"
msgstr ""
#: whatsnew/3.4.rst:255
msgid ""
"PEP written by Donald Stufft and Nick Coghlan, implemented by Donald Stufft, "
"Nick Coghlan, Martin von Löwis and Ned Deily."
msgstr ""
#: whatsnew/3.4.rst:262
msgid "PEP 446: Newly Created File Descriptors Are Non-Inheritable"
msgstr ""
#: whatsnew/3.4.rst:264
msgid ""
":pep:`446` makes newly created file descriptors :ref:`non-inheritable "
"<fd_inheritance>`. In general, this is the behavior an application will "
"want: when launching a new process, having currently open files also open in "
"the new process can lead to all sorts of hard to find bugs, and potentially "
"to security issues."
msgstr ""
#: whatsnew/3.4.rst:270
msgid ""
"However, there are occasions when inheritance is desired. To support these "
"cases, the following new functions and methods are available:"
msgstr ""
#: whatsnew/3.4.rst:273
msgid ":func:`os.get_inheritable`, :func:`os.set_inheritable`"
msgstr ""
#: whatsnew/3.4.rst:274
msgid ":func:`os.get_handle_inheritable`, :func:`os.set_handle_inheritable`"
msgstr ""
#: whatsnew/3.4.rst:275
msgid ""
":meth:`socket.socket.get_inheritable`, :meth:`socket.socket.set_inheritable`"
msgstr ""
#: whatsnew/3.4.rst:279
msgid "PEP 446 -- Make newly created file descriptors non-inheritable"
msgstr ""
#: whatsnew/3.4.rst:280 whatsnew/3.4.rst:1812
msgid "PEP written and implemented by Victor Stinner."
msgstr ""
#: whatsnew/3.4.rst:286
msgid "Improvements to Codec Handling"
msgstr ""
#: whatsnew/3.4.rst:288
msgid ""
"Since it was first introduced, the :mod:`codecs` module has always been "
"intended to operate as a type-neutral dynamic encoding and decoding system. "
"However, its close coupling with the Python text model, especially the type "
"restricted convenience methods on the builtin :class:`str`, :class:`bytes` "
"and :class:`bytearray` types, has historically obscured that fact."
msgstr ""
#: whatsnew/3.4.rst:295
msgid ""
"As a key step in clarifying the situation, the :meth:`codecs.encode` and :"
"meth:`codecs.decode` convenience functions are now properly documented in "
"Python 2.7, 3.3 and 3.4. These functions have existed in the :mod:`codecs` "
"module (and have been covered by the regression test suite) since Python "
"2.4, but were previously only discoverable through runtime introspection."
msgstr ""
#: whatsnew/3.4.rst:301
msgid ""
"Unlike the convenience methods on :class:`str`, :class:`bytes` and :class:"
"`bytearray`, the :mod:`codecs` convenience functions support arbitrary "
"codecs in both Python 2 and Python 3, rather than being limited to Unicode "
"text encodings (in Python 3) or ``basestring`` <-> ``basestring`` "
"conversions (in Python 2)."
msgstr ""
#: whatsnew/3.4.rst:307
msgid ""
"In Python 3.4, the interpreter is able to identify the known non-text "
"encodings provided in the standard library and direct users towards these "
"general purpose convenience functions when appropriate::"
msgstr ""
#: whatsnew/3.4.rst:326
msgid ""
"In a related change, whenever it is feasible without breaking backwards "
"compatibility, exceptions raised during encoding and decoding operations are "
"wrapped in a chained exception of the same type that mentions the name of "
"the codec responsible for producing the error::"
msgstr ""
#: whatsnew/3.4.rst:359
msgid ""
"Finally, as the examples above show, these improvements have permitted the "
"restoration of the convenience aliases for the non-Unicode codecs that were "
"themselves restored in Python 3.2. This means that encoding binary data to "
"and from its hexadecimal representation (for example) can now be written as::"
msgstr ""
#: whatsnew/3.4.rst:371
msgid ""
"The binary and text transforms provided in the standard library are detailed "
"in :ref:`binary-transforms` and :ref:`text-transforms`."
msgstr ""
#: whatsnew/3.4.rst:374
msgid ""
"(Contributed by Nick Coghlan in :issue:`7475`, :issue:`17827`, :issue:"
"`17828` and :issue:`19619`.)"
msgstr ""
#: whatsnew/3.4.rst:381
msgid "PEP 451: A ModuleSpec Type for the Import System"
msgstr ""
#: whatsnew/3.4.rst:383
msgid ""
":pep:`451` provides an encapsulation of the information about a module that "
"the import machinery will use to load it (that is, a module specification). "
"This helps simplify both the import implementation and several import-"
"related APIs. The change is also a stepping stone for `several future import-"
"related improvements`__."
msgstr ""
#: whatsnew/3.4.rst:391
msgid ""
"The public-facing changes from the PEP are entirely backward-compatible. "
"Furthermore, they should be transparent to everyone but importer authors. "
"Key finder and loader methods have been deprecated, but they will continue "
"working. New importers should use the new methods described in the PEP. "
"Existing importers should be updated to implement the new methods. See the :"
"ref:`deprecated-3.4` section for a list of methods that should be replaced "
"and their replacements."
msgstr ""
#: whatsnew/3.4.rst:405
msgid "Unicode database updated to UCD version 6.3."
msgstr ""
#: whatsnew/3.4.rst:407
msgid ""
":func:`min` and :func:`max` now accept a *default* keyword-only argument "
"that can be used to specify the value they return if the iterable they are "
"evaluating has no elements. (Contributed by Julian Berman in :issue:"
"`18111`.)"
msgstr ""
#: whatsnew/3.4.rst:412
msgid "Module objects are now :mod:`weakref`'able."
msgstr ""
#: whatsnew/3.4.rst:414
msgid ""
"Module ``__file__`` attributes (and related values) should now always "
"contain absolute paths by default, with the sole exception of ``__main__."
"__file__`` when a script has been executed directly using a relative path. "
"(Contributed by Brett Cannon in :issue:`18416`.)"
msgstr ""
#: whatsnew/3.4.rst:419
msgid ""
"All the UTF-\\* codecs (except UTF-7) now reject surrogates during both "
"encoding and decoding unless the ``surrogatepass`` error handler is used, "
"with the exception of the UTF-16 decoder (which accepts valid surrogate "
"pairs) and the UTF-16 encoder (which produces them while encoding non-BMP "
"characters). (Contributed by Victor Stinner, Kang-Hao (Kenny) Lu and Serhiy "
"Storchaka in :issue:`12892`.)"
msgstr ""
#: whatsnew/3.4.rst:426
msgid ""
"New German EBCDIC :ref:`codec <standard-encodings>` ``cp273``. (Contributed "
"by Michael Bierenfeld and Andrew Kuchling in :issue:`1097797`.)"
msgstr ""
#: whatsnew/3.4.rst:429
msgid ""
"New Ukrainian :ref:`codec <standard-encodings>` ``cp1125``. (Contributed by "
"Serhiy Storchaka in :issue:`19668`.)"
msgstr ""
#: whatsnew/3.4.rst:432
msgid ""
":class:`bytes`.join() and :class:`bytearray`.join() now accept arbitrary "
"buffer objects as arguments. (Contributed by Antoine Pitrou in :issue:"
"`15958`.)"
msgstr ""
#: whatsnew/3.4.rst:436
msgid ""
"The :class:`int` constructor now accepts any object that has an "
"``__index__`` method for its *base* argument. (Contributed by Mark "
"Dickinson in :issue:`16772`.)"
msgstr ""
#: whatsnew/3.4.rst:440
msgid ""
"Frame objects now have a :func:`~frame.clear` method that clears all "
"references to local variables from the frame. (Contributed by Antoine "
"Pitrou in :issue:`17934`.)"
msgstr ""
#: whatsnew/3.4.rst:444
msgid ""
":class:`memoryview` is now registered as a :class:`Sequence <collections."
"abc>`, and supports the :func:`reversed` builtin. (Contributed by Nick "
"Coghlan and Claudiu Popa in :issue:`18690` and :issue:`19078`.)"
msgstr ""
#: whatsnew/3.4.rst:448
msgid ""
"Signatures reported by :func:`help` have been modified and improved in "
"several cases as a result of the introduction of Argument Clinic and other "
"changes to the :mod:`inspect` and :mod:`pydoc` modules."
msgstr ""
#: whatsnew/3.4.rst:452
msgid ""
":meth:`~object.__length_hint__` is now part of the formal language "
"specification (see :pep:`424`). (Contributed by Armin Ronacher in :issue:"
"`16148`.)"
msgstr ""
#: whatsnew/3.4.rst:464 whatsnew/3.5.rst:758
msgid "asyncio"
msgstr ""
#: whatsnew/3.4.rst:466
msgid ""
"The new :mod:`asyncio` module (defined in :pep:`3156`) provides a standard "
"pluggable event loop model for Python, providing solid asynchronous IO "
"support in the standard library, and making it easier for other event loop "
"implementations to interoperate with the standard library and each other."
msgstr ""
#: whatsnew/3.4.rst:471 whatsnew/3.4.rst:534
msgid "For Python 3.4, this module is considered a :term:`provisional API`."
msgstr ""
#: whatsnew/3.4.rst:475
msgid "PEP 3156 -- Asynchronous IO Support Rebooted: the \"asyncio\" Module"
msgstr ""
#: whatsnew/3.4.rst:476
msgid "PEP written and implementation led by Guido van Rossum."
msgstr ""
#: whatsnew/3.4.rst:482
msgid "ensurepip"
msgstr ""
#: whatsnew/3.4.rst:484
msgid ""
"The new :mod:`ensurepip` module is the primary infrastructure for the :pep:"
"`453` implementation. In the normal course of events end users will not "
"need to interact with this module, but it can be used to manually bootstrap "
"``pip`` if the automated bootstrapping into an installation or virtual "
"environment was declined."
msgstr ""
#: whatsnew/3.4.rst:490
msgid ""
":mod:`ensurepip` includes a bundled copy of ``pip``, up-to-date as of the "
"first release candidate of the release of CPython with which it ships (this "
"applies to both maintenance releases and feature releases). ``ensurepip`` "
"does not access the internet. If the installation has Internet access, "
"after ``ensurepip`` is run the bundled ``pip`` can be used to upgrade "
"``pip`` to a more recent release than the bundled one. (Note that such an "
"upgraded version of ``pip`` is considered to be a separately installed "
"package and will not be removed if Python is uninstalled.)"
msgstr ""
#: whatsnew/3.4.rst:499
msgid ""
"The module is named *ensure*\\ pip because if called when ``pip`` is already "
"installed, it does nothing. It also has an ``--upgrade`` option that will "
"cause it to install the bundled copy of ``pip`` if the existing installed "
"version of ``pip`` is older than the bundled copy."
msgstr ""
#: whatsnew/3.4.rst:508 whatsnew/3.5.rst:1079
msgid "enum"
msgstr ""
#: whatsnew/3.4.rst:510
msgid ""
"The new :mod:`enum` module (defined in :pep:`435`) provides a standard "
"implementation of enumeration types, allowing other modules (such as :mod:"
"`socket`) to provide more informative error messages and better debugging "
"support by replacing opaque integer constants with backwards compatible "
"enumeration values."
msgstr ""
#: whatsnew/3.4.rst:519
msgid "PEP 435 -- Adding an Enum type to the Python standard library"
msgstr ""
#: whatsnew/3.4.rst:519
msgid ""
"PEP written by Barry Warsaw, Eli Bendersky and Ethan Furman, implemented by "
"Ethan Furman."
msgstr ""
#: whatsnew/3.4.rst:526 whatsnew/3.5.rst:1478
msgid "pathlib"
msgstr ""
#: whatsnew/3.4.rst:528
msgid ""
"The new :mod:`pathlib` module offers classes representing filesystem paths "
"with semantics appropriate for different operating systems. Path classes "
"are divided between *pure paths*, which provide purely computational "
"operations without I/O, and *concrete paths*, which inherit from pure paths "
"but also provide I/O operations."
msgstr ""
#: whatsnew/3.4.rst:538
msgid "PEP 428 -- The pathlib module -- object-oriented filesystem paths"
msgstr ""
#: whatsnew/3.4.rst:545 whatsnew/3.5.rst:1587
msgid "selectors"
msgstr ""
#: whatsnew/3.4.rst:547
msgid ""
"The new :mod:`selectors` module (created as part of implementing :pep:"
"`3156`) allows high-level and efficient I/O multiplexing, built upon the :"
"mod:`select` module primitives."
msgstr ""
#: whatsnew/3.4.rst:555
msgid "statistics"
msgstr ""
#: whatsnew/3.4.rst:557
msgid ""
"The new :mod:`statistics` module (defined in :pep:`450`) offers some core "
"statistics functionality directly in the standard library. This module "
"supports calculation of the mean, median, mode, variance and standard "
"deviation of a data series."
msgstr ""
#: whatsnew/3.4.rst:564
msgid "PEP 450 -- Adding A Statistics Module To The Standard Library"
msgstr ""
#: whatsnew/3.4.rst:565
msgid "PEP written and implemented by Steven D'Aprano"
msgstr ""
#: whatsnew/3.4.rst:571
msgid "tracemalloc"
msgstr ""
#: whatsnew/3.4.rst:573
msgid ""
"The new :mod:`tracemalloc` module (defined in :pep:`454`) is a debug tool to "
"trace memory blocks allocated by Python. It provides the following "
"information:"
msgstr ""
#: whatsnew/3.4.rst:576
msgid "Trace where an object was allocated"
msgstr ""
#: whatsnew/3.4.rst:577
msgid ""
"Statistics on allocated memory blocks per filename and per line number: "
"total size, number and average size of allocated memory blocks"
msgstr ""
#: whatsnew/3.4.rst:579
msgid "Compute the differences between two snapshots to detect memory leaks"
msgstr ""
#: whatsnew/3.4.rst:583
msgid ""
"PEP 454 -- Add a new tracemalloc module to trace Python memory allocations"
msgstr ""
#: whatsnew/3.4.rst:584
msgid "PEP written and implemented by Victor Stinner"
msgstr ""
#: whatsnew/3.4.rst:595
msgid ""
"New function :func:`abc.get_cache_token` can be used to know when to "
"invalidate caches that are affected by changes in the object graph. "
"(Contributed by Łukasz Langa in :issue:`16832`.)"
msgstr ""
#: whatsnew/3.4.rst:599
msgid ""
"New class :class:`~abc.ABC` has :class:`~abc.ABCMeta` as its meta class. "
"Using ``ABC`` as a base class has essentially the same effect as specifying "
"``metaclass=abc.ABCMeta``, but is simpler to type and easier to read. "
"(Contributed by Bruno Dupuis in :issue:`16049`.)"
msgstr ""
#: whatsnew/3.4.rst:606
msgid "aifc"
msgstr ""
#: whatsnew/3.4.rst:608
msgid ""
"The :meth:`~aifc.aifc.getparams` method now returns a namedtuple rather than "
"a plain tuple. (Contributed by Claudiu Popa in :issue:`17818`.)"
msgstr ""
#: whatsnew/3.4.rst:611
msgid ""
":func:`aifc.open` now supports the context management protocol: when used in "
"a :keyword:`with` block, the :meth:`~aifc.aifc.close` method of the returned "
"object will be called automatically at the end of the block. (Contributed "
"by Serhiy Storchacha in :issue:`16486`.)"
msgstr ""
#: whatsnew/3.4.rst:616
msgid ""
"The :meth:`~aifc.aifc.writeframesraw` and :meth:`~aifc.aifc.writeframes` "
"methods now accept any :term:`bytes-like object`. (Contributed by Serhiy "
"Storchaka in :issue:`8311`.)"
msgstr ""
#: whatsnew/3.4.rst:622 whatsnew/3.5.rst:749
msgid "argparse"
msgstr ""
#: whatsnew/3.4.rst:624
msgid ""
"The :class:`~argparse.FileType` class now accepts *encoding* and *errors* "
"arguments, which are passed through to :func:`open`. (Contributed by Lucas "
"Maystre in :issue:`11175`.)"
msgstr ""
#: whatsnew/3.4.rst:630
msgid "audioop"
msgstr ""
#: whatsnew/3.4.rst:632
msgid ""
":mod:`audioop` now supports 24-bit samples. (Contributed by Serhiy "
"Storchaka in :issue:`12866`.)"
msgstr ""
#: whatsnew/3.4.rst:635
msgid ""
"New :func:`~audioop.byteswap` function converts big-endian samples to little-"
"endian and vice versa. (Contributed by Serhiy Storchaka in :issue:`19641`.)"
msgstr ""
#: whatsnew/3.4.rst:639
msgid ""
"All :mod:`audioop` functions now accept any :term:`bytes-like object`. "
"Strings are not accepted: they didn't work before, now they raise an error "
"right away. (Contributed by Serhiy Storchaka in :issue:`16685`.)"
msgstr ""
#: whatsnew/3.4.rst:647
msgid ""
"The encoding and decoding functions in :mod:`base64` now accept any :term:"
"`bytes-like object` in cases where it previously required a :class:`bytes` "
"or :class:`bytearray` instance. (Contributed by Nick Coghlan in :issue:"
"`17839`.)"
msgstr ""
#: whatsnew/3.4.rst:652
msgid ""
"New functions :func:`~base64.a85encode`, :func:`~base64.a85decode`, :func:"
"`~base64.b85encode`, and :func:`~base64.b85decode` provide the ability to "
"encode and decode binary data from and to ``Ascii85`` and the git/mercurial "
"``Base85`` formats, respectively. The ``a85`` functions have options that "
"can be used to make them compatible with the variants of the ``Ascii85`` "
"encoding, including the Adobe variant. (Contributed by Martin Morrison, the "
"Mercurial project, Serhiy Storchaka, and Antoine Pitrou in :issue:`17618`.)"
msgstr ""
#: whatsnew/3.4.rst:664
msgid ""
"The :meth:`.ChainMap.new_child` method now accepts an *m* argument "
"specifying the child map to add to the chain. This allows an existing "
"mapping and/or a custom mapping type to be used for the child. (Contributed "
"by Vinay Sajip in :issue:`16613`.)"
msgstr ""
#: whatsnew/3.4.rst:671
msgid "colorsys"
msgstr ""
#: whatsnew/3.4.rst:673
msgid ""
"The number of digits in the coefficients for the RGB --- YIQ conversions "
"have been expanded so that they match the FCC NTSC versions. The change in "
"results should be less than 1% and may better match results found elsewhere. "
"(Contributed by Brian Landers and Serhiy Storchaka in :issue:`14323`.)"
msgstr ""
#: whatsnew/3.4.rst:682
msgid ""
"The new :class:`contextlib.suppress` context manager helps to clarify the "
"intent of code that deliberately suppresses exceptions from a single "
"statement. (Contributed by Raymond Hettinger in :issue:`15806` and Zero "
"Piraeus in :issue:`19266`.)"
msgstr ""
#: whatsnew/3.4.rst:687
msgid ""
"The new :func:`contextlib.redirect_stdout` context manager makes it easier "
"for utility scripts to handle inflexible APIs that write their output to :"
"data:`sys.stdout` and don't provide any options to redirect it. Using the "
"context manager, the :data:`sys.stdout` output can be redirected to any "
"other stream or, in conjunction with :class:`io.StringIO`, to a string. The "
"latter can be especially useful, for example, to capture output from a "
"function that was written to implement a command line interface. It is "
"recommended only for utility scripts because it affects the global state of :"
"data:`sys.stdout`. (Contributed by Raymond Hettinger in :issue:`15805`.)"
msgstr ""
#: whatsnew/3.4.rst:698
msgid ""
"The :mod:`contextlib` documentation has also been updated to include a :ref:"
"`discussion <single-use-reusable-and-reentrant-cms>` of the differences "
"between single use, reusable and reentrant context managers."
msgstr ""
#: whatsnew/3.4.rst:706
msgid ""
":func:`dbm.open` objects now support the context management protocol. When "
"used in a :keyword:`with` statement, the ``close`` method of the database "
"object will be called automatically at the end of the block. (Contributed "
"by Claudiu Popa and Nick Coghlan in :issue:`19282`.)"
msgstr ""
#: whatsnew/3.4.rst:715
msgid ""
"Functions :func:`~dis.show_code`, :func:`~dis.dis`, :func:`~dis.distb`, and :"
"func:`~dis.disassemble` now accept a keyword-only *file* argument that "
"controls where they write their output."
msgstr ""
#: whatsnew/3.4.rst:719
msgid ""
"The :mod:`dis` module is now built around an :class:`~dis.Instruction` class "
"that provides object oriented access to the details of each individual "
"bytecode operation."
msgstr ""
#: whatsnew/3.4.rst:723
msgid ""
"A new method, :func:`~dis.get_instructions`, provides an iterator that emits "
"the Instruction stream for a given piece of Python code. Thus it is now "
"possible to write a program that inspects and manipulates a bytecode object "
"in ways different from those provided by the :mod:`~dis` module itself. For "
"example::"
msgstr ""
#: whatsnew/3.4.rst:737
msgid ""
"The various display tools in the :mod:`dis` module have been rewritten to "
"use these new components."
msgstr ""
#: whatsnew/3.4.rst:740
msgid ""
"In addition, a new application-friendly class :class:`~dis.Bytecode` "
"provides an object-oriented API for inspecting bytecode in both in human-"
"readable form and for iterating over instructions. The :class:`~dis."
"Bytecode` constructor takes the same arguments that :func:`~dis."
"get_instruction` does (plus an optional *current_offset*), and the resulting "
"object can be iterated to produce :class:`~dis.Instruction` objects. But it "
"also has a :mod:`~dis.Bytecode.dis` method, equivalent to calling :mod:`~dis."
"dis` on the constructor argument, but returned as a multi-line string::"
msgstr ""
#: whatsnew/3.4.rst:762
msgid ""
":class:`~dis.Bytecode` also has a class method, :meth:`~dis.Bytecode."
"from_traceback`, that provides the ability to manipulate a traceback (that "
"is, ``print(Bytecode.from_traceback(tb).dis())`` is equivalent to "
"``distb(tb)``)."
msgstr ""
#: whatsnew/3.4.rst:767
msgid ""
"(Contributed by Nick Coghlan, Ryan Kelly and Thomas Kluyver in :issue:"
"`11816` and Claudiu Popa in :issue:`17916`.)"
msgstr ""
#: whatsnew/3.4.rst:770
msgid ""
"New function :func:`~dis.stack_effect` computes the effect on the Python "
"stack of a given opcode and argument, information that is not otherwise "
"available. (Contributed by Larry Hastings in :issue:`19722`.)"
msgstr ""
#: whatsnew/3.4.rst:778
msgid ""
"A new :ref:`option flag <doctest-options>`, :data:`~doctest.FAIL_FAST`, "
"halts test running as soon as the first failure is detected. (Contributed "
"by R. David Murray and Daniel Urban in :issue:`16522`.)"
msgstr ""
#: whatsnew/3.4.rst:782
msgid ""
"The :mod:`doctest` command line interface now uses :mod:`argparse`, and has "
"two new options, ``-o`` and ``-f``. ``-o`` allows :ref:`doctest options "
"<doctest-options>` to be specified on the command line, and ``-f`` is a "
"shorthand for ``-o FAIL_FAST`` (to parallel the similar option supported by "
"the :mod:`unittest` CLI). (Contributed by R. David Murray in :issue:"
"`11390`.)"
msgstr ""
#: whatsnew/3.4.rst:788
msgid ""
":mod:`doctest` will now find doctests in extension module ``__doc__`` "
"strings. (Contributed by Zachary Ware in :issue:`3158`.)"
msgstr ""
#: whatsnew/3.4.rst:795
msgid ""
":meth:`~email.message.Message.as_string` now accepts a *policy* argument to "
"override the default policy of the message when generating a string "
"representation of it. This means that ``as_string`` can now be used in more "
"circumstances, instead of having to create and use a :mod:`~email.generator` "
"in order to pass formatting parameters to its ``flatten`` method. "
"(Contributed by R. David Murray in :issue:`18600`.)"
msgstr ""
#: whatsnew/3.4.rst:802
msgid ""
"New method :meth:`~email.message.Message.as_bytes` added to produce a bytes "
"representation of the message in a fashion similar to how ``as_string`` "
"produces a string representation. It does not accept the *maxheaderlen* "
"argument, but does accept the *unixfrom* and *policy* arguments. The :class:"
"`~email.message.Message` :meth:`~email.message.Message.__bytes__` method "
"calls it, meaning that ``bytes(mymsg)`` will now produce the intuitive "
"result: a bytes object containing the fully formatted message. "
"(Contributed by R. David Murray in :issue:`18600`.)"
msgstr ""
#: whatsnew/3.4.rst:811
msgid ""
"The :meth:`.Message.set_param` message now accepts a *replace* keyword "
"argument. When specified, the associated header will be updated without "
"changing its location in the list of headers. For backward compatibility, "
"the default is ``False``. (Contributed by R. David Murray in :issue:"
"`18891`.)"
msgstr ""
#: whatsnew/3.4.rst:819
msgid ""
"A pair of new subclasses of :class:`~email.message.Message` have been added "
"(:class:`.EmailMessage` and :class:`.MIMEPart`), along with a new sub-"
"module, :mod:`~email.contentmanager` and a new :mod:`~email.policy` "
"attribute :attr:`~email.policy.EmailPolicy.content_manager`. All "
"documentation is currently in the new module, which is being added as part "
"of email's new :term:`provisional API`. These classes provide a number of "
"new methods that make extracting content from and inserting content into "
"email messages much easier. For details, see the :mod:`~email."
"contentmanager` documentation and the :ref:`email-contentmanager-api-"
"examples`. These API additions complete the bulk of the work that was "
"planned as part of the email6 project. The currently provisional API is "
"scheduled to become final in Python 3.5 (possibly with a few minor additions "
"in the area of error handling). (Contributed by R. David Murray in :issue:"
"`18891`.)"
msgstr ""
#: whatsnew/3.4.rst:835
msgid "filecmp"
msgstr ""
#: whatsnew/3.4.rst:837
msgid ""
"A new :func:`~filecmp.clear_cache` function provides the ability to clear "
"the :mod:`filecmp` comparison cache, which uses :func:`os.stat` information "
"to determine if the file has changed since the last compare. This can be "
"used, for example, if the file might have been changed and re-checked in "
"less time than the resolution of a particular filesystem's file modification "
"time field. (Contributed by Mark Levitt in :issue:`18149`.)"
msgstr ""
#: whatsnew/3.4.rst:844
msgid ""
"New module attribute :data:`~filecmp.DEFAULT_IGNORES` provides the list of "
"directories that are used as the default value for the *ignore* parameter of "
"the :func:`~filecmp.dircmp` function. (Contributed by Eli Bendersky in :"
"issue:`15442`.)"
msgstr ""
#: whatsnew/3.4.rst:853
msgid ""
"The new :func:`~functools.partialmethod` descriptor brings partial argument "
"application to descriptors, just as :func:`~functools.partial` provides for "
"normal callables. The new descriptor also makes it easier to get arbitrary "
"callables (including :func:`~functools.partial` instances) to behave like "
"normal instance methods when included in a class definition. (Contributed by "
"Alon Horev and Nick Coghlan in :issue:`4331`.)"
msgstr ""
#: whatsnew/3.4.rst:862
msgid ""
"The new :func:`~functools.singledispatch` decorator brings support for "
"single-dispatch generic functions to the Python standard library. Where "
"object oriented programming focuses on grouping multiple operations on a "
"common set of data into a class, a generic function focuses on grouping "
"multiple implementations of an operation that allows it to work with "
"*different* kinds of data."
msgstr ""
#: whatsnew/3.4.rst:871
msgid "PEP 443 -- Single-dispatch generic functions"
msgstr ""
#: whatsnew/3.4.rst:872
msgid "PEP written and implemented by Łukasz Langa."
msgstr ""
#: whatsnew/3.4.rst:874
msgid ""
":func:`~functools.total_ordering` now supports a return value of :const:"
"`NotImplemented` from the underlying comparison function. (Contributed by "
"Katie Miller in :issue:`10042`.)"
msgstr ""
#: whatsnew/3.4.rst:878
msgid ""
"A pure-python version of the :func:`~functools.partial` function is now in "
"the stdlib; in CPython it is overridden by the C accelerated version, but it "
"is available for other implementations to use. (Contributed by Brian Thorne "
"in :issue:`12428`.)"
msgstr ""
#: whatsnew/3.4.rst:887
msgid ""
"New function :func:`~gc.get_stats` returns a list of three per-generation "
"dictionaries containing the collections statistics since interpreter "
"startup. (Contributed by Antoine Pitrou in :issue:`16351`.)"
msgstr ""
#: whatsnew/3.4.rst:893 whatsnew/3.5.rst:1114
msgid "glob"
msgstr ""
#: whatsnew/3.4.rst:895
msgid ""
"A new function :func:`~glob.escape` provides a way to escape special "
"characters in a filename so that they do not become part of the globbing "
"expansion but are instead matched literally. (Contributed by Serhiy "
"Storchaka in :issue:`8402`.)"
msgstr ""
#: whatsnew/3.4.rst:903
msgid ""
"A new :func:`hashlib.pbkdf2_hmac` function provides the `PKCS#5 password-"
"based key derivation function 2 <http://en.wikipedia.org/wiki/PBKDF2>`_. "
"(Contributed by Christian Heimes in :issue:`18582`.)"
msgstr ""
#: whatsnew/3.4.rst:908
msgid ""
"The :attr:`~hashlib.hash.name` attribute of :mod:`hashlib` hash objects is "
"now a formally supported interface. It has always existed in CPython's :mod:"
"`hashlib` (although it did not return lower case names for all supported "
"hashes), but it was not a public interface and so some other Python "
"implementations have not previously supported it. (Contributed by Jason R. "
"Coombs in :issue:`18532`.)"
msgstr ""
#: whatsnew/3.4.rst:919
msgid ""
":mod:`hmac` now accepts ``bytearray`` as well as ``bytes`` for the *key* "
"argument to the :func:`~hmac.new` function, and the *msg* parameter to both "
"the :func:`~hmac.new` function and the :meth:`~hmac.HMAC.update` method now "
"accepts any type supported by the :mod:`hashlib` module. (Contributed by "
"Jonas Borgström in :issue:`18240`.)"
msgstr ""
#: whatsnew/3.4.rst:925
msgid ""
"The *digestmod* argument to the :func:`hmac.new` function may now be any "
"hash digest name recognized by :mod:`hashlib`. In addition, the current "
"behavior in which the value of *digestmod* defaults to ``MD5`` is "
"deprecated: in a future version of Python there will be no default value. "
"(Contributed by Christian Heimes in :issue:`17276`.)"
msgstr ""
#: whatsnew/3.4.rst:931
msgid ""
"With the addition of :attr:`~hmac.HMAC.block_size` and :attr:`~hmac.HMAC."
"name` attributes (and the formal documentation of the :attr:`~hmac.HMAC."
"digest_size` attribute), the :mod:`hmac` module now conforms fully to the :"
"pep:`247` API. (Contributed by Christian Heimes in :issue:`18775`.)"
msgstr ""
#: whatsnew/3.4.rst:940
msgid ""
"New function :func:`~html.unescape` function converts HTML5 character "
"references to the corresponding Unicode characters. (Contributed by Ezio "
"Melotti in :issue:`2927`.)"
msgstr ""
#: whatsnew/3.4.rst:944
msgid ""
":class:`~html.parser.HTMLParser` accepts a new keyword argument "
"*convert_charrefs* that, when ``True``, automatically converts all character "
"references. For backward-compatibility, its value defaults to ``False``, "
"but it will change to ``True`` in a future version of Python, so you are "
"invited to set it explicitly and update your code to use this new feature. "
"(Contributed by Ezio Melotti in :issue:`13633`.)"
msgstr ""
#: whatsnew/3.4.rst:951
msgid ""
"The *strict* argument of :class:`~html.parser.HTMLParser` is now deprecated. "
"(Contributed by Ezio Melotti in :issue:`15114`.)"
msgstr ""
#: whatsnew/3.4.rst:958
msgid ""
":meth:`~http.server.BaseHTTPRequestHandler.send_error` now accepts an "
"optional additional *explain* parameter which can be used to provide an "
"extended error description, overriding the hardcoded default if there is "
"one. This extended error description will be formatted using the :attr:"
"`~http.server.HTTP.error_message_format` attribute and sent as the body of "
"the error response. (Contributed by Karl Cow in :issue:`12921`.)"
msgstr ""
#: whatsnew/3.4.rst:965
msgid ""
"The :mod:`http.server` :ref:`command line interface <http-server-cli>` now "
"has a ``-b/--bind`` option that causes the server to listen on a specific "
"address. (Contributed by Malte Swart in :issue:`17764`.)"
msgstr ""
#: whatsnew/3.4.rst:971 whatsnew/3.5.rst:1179
msgid "idlelib and IDLE"
msgstr ""
#: whatsnew/3.4.rst:973
msgid ""
"Since idlelib implements the IDLE shell and editor and is not intended for "
"import by other programs, it gets improvements with every release. See :file:"
"`Lib/idlelib/NEWS.txt` for a cumulative list of changes since 3.3.0, as well "
"as changes made in future 3.4.x releases. This file is also available from "
"the IDLE :menuselection:`Help --> About IDLE` dialog."
msgstr ""
#: whatsnew/3.4.rst:981 whatsnew/3.5.rst:1219
msgid "importlib"
msgstr ""
#: whatsnew/3.4.rst:983
msgid ""
"The :class:`~importlib.abc.InspectLoader` ABC defines a new method, :meth:"
"`~importlib.abc.InspectLoader.source_to_code` that accepts source data and a "
"path and returns a code object. The default implementation is equivalent to "
"``compile(data, path, 'exec', dont_inherit=True)``. (Contributed by Eric "
"Snow and Brett Cannon in :issue:`15627`.)"
msgstr ""
#: whatsnew/3.4.rst:989
msgid ""
":class:`~importlib.abc.InspectLoader` also now has a default implementation "
"for the :meth:`~importlib.abc.InspectLoader.get_code` method. However, it "
"will normally be desirable to override the default implementation for "
"performance reasons. (Contributed by Brett Cannon in :issue:`18072`.)"
msgstr ""
#: whatsnew/3.4.rst:994
msgid ""
"The :func:`~importlib.reload` function has been moved from :mod:`imp` to :"
"mod:`importlib` as part of the :mod:`imp` module deprecation. (Contributed "
"by Berker Peksag in :issue:`18193`.)"
msgstr ""
#: whatsnew/3.4.rst:998
msgid ""
":mod:`importlib.util` now has a :data:`~importlib.util.MAGIC_NUMBER` "
"attribute providing access to the bytecode version number. This replaces "
"the :func:`~imp.get_magic` function in the deprecated :mod:`imp` module. "
"(Contributed by Brett Cannon in :issue:`18192`.)"
msgstr ""
#: whatsnew/3.4.rst:1003
msgid ""
"New :mod:`importlib.util` functions :func:`~importlib.util."
"cache_from_source` and :func:`~importlib.util.source_from_cache` replace the "
"same-named functions in the deprecated :mod:`imp` module. (Contributed by "
"Brett Cannon in :issue:`18194`.)"
msgstr ""
#: whatsnew/3.4.rst:1008
msgid ""
"The :mod:`importlib` bootstrap :class:`.NamespaceLoader` now conforms to "
"the :class:`.InspectLoader` ABC, which means that ``runpy`` and ``python -"
"m`` can now be used with namespace packages. (Contributed by Brett Cannon "
"in :issue:`18058`.)"
msgstr ""
#: whatsnew/3.4.rst:1013
msgid ""
":mod:`importlib.util` has a new function :func:`~importlib.util."
"decode_source` that decodes source from bytes using universal newline "
"processing. This is useful for implementing :meth:`.InspectLoader."
"get_source` methods."
msgstr ""
#: whatsnew/3.4.rst:1017
msgid ""
":class:`importlib.machinery.ExtensionFileLoader` now has a :meth:`~importlib."
"machinery.ExtensionFileLoader.get_filename` method. This was inadvertently "
"omitted in the original implementation. (Contributed by Eric Snow in :issue:"
"`19152`.)"
msgstr ""
#: whatsnew/3.4.rst:1026
msgid ""
"The :mod:`inspect` module now offers a basic :ref:`command line interface "
"<inspect-module-cli>` to quickly display source code and other information "
"for modules, classes and functions. (Contributed by Claudiu Popa and Nick "
"Coghlan in :issue:`18626`.)"
msgstr ""
#: whatsnew/3.4.rst:1031
msgid ""
":func:`~inspect.unwrap` makes it easy to unravel wrapper function chains "
"created by :func:`functools.wraps` (and any other API that sets the "
"``__wrapped__`` attribute on a wrapper function). (Contributed by Daniel "
"Urban, Aaron Iles and Nick Coghlan in :issue:`13266`.)"
msgstr ""
#: whatsnew/3.4.rst:1036
msgid ""
"As part of the implementation of the new :mod:`enum` module, the :mod:"
"`inspect` module now has substantially better support for custom ``__dir__`` "
"methods and dynamic class attributes provided through metaclasses. "
"(Contributed by Ethan Furman in :issue:`18929` and :issue:`19030`.)"
msgstr ""
#: whatsnew/3.4.rst:1042
msgid ""
":func:`~inspect.getfullargspec` and :func:`~inspect.getargspec` now use the :"
"func:`~inspect.signature` API. This allows them to support a much broader "
"range of callables, including those with ``__signature__`` attributes, those "
"with metadata provided by argument clinic, :func:`functools.partial` objects "
"and more. Note that, unlike :func:`~inspect.signature`, these functions "
"still ignore ``__wrapped__`` attributes, and report the already bound first "
"argument for bound methods, so it is still necessary to update your code to "
"use :func:`~inspect.signature` directly if those features are desired. "
"(Contributed by Yury Selivanov in :issue:`17481`.)"
msgstr ""
#: whatsnew/3.4.rst:1053
msgid ""
":func:`~inspect.signature` now supports duck types of CPython functions, "
"which adds support for functions compiled with Cython. (Contributed by "
"Stefan Behnel and Yury Selivanov in :issue:`17159`.)"
msgstr ""
#: whatsnew/3.4.rst:1061
msgid ""
":mod:`ipaddress` was added to the standard library in Python 3.3 as a :term:"
"`provisional API`. With the release of Python 3.4, this qualification has "
"been removed: :mod:`ipaddress` is now considered a stable API, covered by "
"the normal standard library requirements to maintain backwards compatibility."
msgstr ""
#: whatsnew/3.4.rst:1067
msgid ""
"A new :attr:`~ipaddress.IPv4Address.is_global` property is ``True`` if an "
"address is globally routeable. (Contributed by Peter Moody in :issue:"
"`17400`.)"
msgstr ""
#: whatsnew/3.4.rst:1075
msgid ""
"The :class:`~logging.handlers.TimedRotatingFileHandler` has a new *atTime* "
"parameter that can be used to specify the time of day when rollover should "
"happen. (Contributed by Ronald Oussoren in :issue:`9556`.)"
msgstr ""
#: whatsnew/3.4.rst:1079
msgid ""
":class:`~logging.handlers.SocketHandler` and :class:`~logging.handlers."
"DatagramHandler` now support Unix domain sockets (by setting *port* to "
"``None``). (Contributed by Vinay Sajip in commit ce46195b56a9.)"
msgstr ""
#: whatsnew/3.4.rst:1084
msgid ""
":func:`~logging.config.fileConfig` now accepts a :class:`configparser."
"RawConfigParser` subclass instance for the *fname* parameter. This "
"facilitates using a configuration file when logging configuration is just a "
"part of the overall application configuration, or where the application "
"modifies the configuration before passing it to :func:`~logging.config."
"fileConfig`. (Contributed by Vinay Sajip in :issue:`16110`.)"
msgstr ""
#: whatsnew/3.4.rst:1092
msgid ""
"Logging configuration data received from a socket via the :func:`logging."
"config.listen` function can now be validated before being processed by "
"supplying a verification function as the argument to the new *verify* "
"keyword argument. (Contributed by Vinay Sajip in :issue:`15452`.)"
msgstr ""
#: whatsnew/3.4.rst:1101
msgid "marshal"
msgstr ""
#: whatsnew/3.4.rst:1103
msgid ""
"The default :mod:`marshal` version has been bumped to 3. The code "
"implementing the new version restores the Python2 behavior of recording only "
"one copy of interned strings and preserving the interning on "
"deserialization, and extends this \"one copy\" ability to any object type "
"(including handling recursive references). This reduces both the size of ``."
"pyc`` files and the amount of memory a module occupies in memory when it is "
"loaded from a ``.pyc`` (or ``.pyo``) file. (Contributed by Kristján Valur "
"Jónsson in :issue:`16475`, with additional speedups by Antoine Pitrou in :"
"issue:`19219`.)"
msgstr ""
#: whatsnew/3.4.rst:1116
msgid ""
"mmap objects can now be :mod:`weakref`\\ ed. (Contributed by Valerie "
"Lambert in :issue:`4885`.)"
msgstr ""
#: whatsnew/3.4.rst:1125
msgid ""
"On Unix two new :ref:`start methods <multiprocessing-start-methods>`, "
"``spawn`` and ``forkserver``, have been added for starting processes using :"
"mod:`multiprocessing`. These make the mixing of processes with threads more "
"robust, and the ``spawn`` method matches the semantics that multiprocessing "
"has always used on Windows. New function :func:`~multiprocessing."
"get_all_start_methods` reports all start methods available on the platform, :"
"func:`~multiprocessing.get_start_method` reports the current start method, "
"and :func:`~multiprocessing.set_start_method` sets the start method. "
"(Contributed by Richard Oudkerk in :issue:`8713`.)"
msgstr ""
#: whatsnew/3.4.rst:1135
msgid ""
":mod:`multiprocessing` also now has the concept of a ``context``, which "
"determines how child processes are created. New function :func:"
"`~multiprocessing.get_context` returns a context that uses a specified start "
"method. It has the same API as the :mod:`multiprocessing` module itself, so "
"you can use it to create :class:`~multiprocessing.pool.Pool`\\ s and other "
"objects that will operate within that context. This allows a framework and "
"an application or different parts of the same application to use "
"multiprocessing without interfering with each other. (Contributed by "
"Richard Oudkerk in :issue:`18999`.)"
msgstr ""
#: whatsnew/3.4.rst:1145
msgid ""
"Except when using the old *fork* start method, child processes no longer "
"inherit unneeded handles/file descriptors from their parents (part of :issue:"
"`8713`)."
msgstr ""
#: whatsnew/3.4.rst:1149
msgid ""
":mod:`multiprocessing` now relies on :mod:`runpy` (which implements the ``-"
"m`` switch) to initialise ``__main__`` appropriately in child processes when "
"using the ``spawn`` or ``forkserver`` start methods. This resolves some edge "
"cases where combining multiprocessing, the ``-m`` command line switch, and "
"explicit relative imports could cause obscure failures in child processes. "
"(Contributed by Nick Coghlan in :issue:`19946`.)"
msgstr ""
#: whatsnew/3.4.rst:1158 whatsnew/3.5.rst:1424
msgid "operator"
msgstr ""
#: whatsnew/3.4.rst:1160
msgid ""
"New function :func:`~operator.length_hint` provides an implementation of the "
"specification for how the :meth:`~object.__length_hint__` special method "
"should be used, as part of the :pep:`424` formal specification of this "
"language feature. (Contributed by Armin Ronacher in :issue:`16148`.)"
msgstr ""
#: whatsnew/3.4.rst:1165
msgid ""
"There is now a pure-python version of the :mod:`operator` module available "
"for reference and for use by alternate implementations of Python. "
"(Contributed by Zachary Ware in :issue:`16694`.)"
msgstr ""
#: whatsnew/3.4.rst:1173
msgid ""
"There are new functions to get and set the :ref:`inheritable flag "
"<fd_inheritance>` of a file descriptor (:func:`os.get_inheritable`, :func:"
"`os.set_inheritable`) or a Windows handle (:func:`os."
"get_handle_inheritable`, :func:`os.set_handle_inheritable`)."
msgstr ""
#: whatsnew/3.4.rst:1178
msgid ""
"New function :func:`~os.cpu_count` reports the number of CPUs available on "
"the platform on which Python is running (or ``None`` if the count can't be "
"determined). The :func:`multiprocessing.cpu_count` function is now "
"implemented in terms of this function). (Contributed by Trent Nelson, "
"Yogesh Chaudhari, Victor Stinner, and Charles-François Natali in :issue:"
"`17914`.)"
msgstr ""
#: whatsnew/3.4.rst:1184
msgid ""
":func:`os.path.samestat` is now available on the Windows platform (and the :"
"func:`os.path.samefile` implementation is now shared between Unix and "
"Windows). (Contributed by Brian Curtin in :issue:`11939`.)"
msgstr ""
#: whatsnew/3.4.rst:1188
msgid ""
":func:`os.path.ismount` now recognizes volumes mounted below a drive root on "
"Windows. (Contributed by Tim Golden in :issue:`9035`.)"
msgstr ""
#: whatsnew/3.4.rst:1191
msgid ""
":func:`os.open` supports two new flags on platforms that provide them, :data:"
"`~os.O_PATH` (un-opened file descriptor), and :data:`~os.O_TMPFILE` (unnamed "
"temporary file; as of 3.4.0 release available only on Linux systems with a "
"kernel version of 3.11 or newer that have uapi headers). (Contributed by "
"Christian Heimes in :issue:`18673` and Benjamin Peterson, respectively.)"
msgstr ""
#: whatsnew/3.4.rst:1201
msgid ""
":mod:`pdb` has been enhanced to handle generators, :keyword:`yield`, and "
"``yield from`` in a more useful fashion. This is especially helpful when "
"debugging :mod:`asyncio` based programs. (Contributed by Andrew Svetlov and "
"Xavier de Gaye in :issue:`16596`.)"
msgstr ""
#: whatsnew/3.4.rst:1206
msgid ""
"The ``print`` command has been removed from :mod:`pdb`, restoring access to "
"the Python :func:`print` function from the pdb command line. Python2's "
"``pdb`` did not have a ``print`` command; instead, entering ``print`` "
"executed the ``print`` statement. In Python3 ``print`` was mistakenly made "
"an alias for the pdb :pdbcmd:`p` command. ``p``, however, prints the "
"``repr`` of its argument, not the ``str`` like the Python2 ``print`` command "
"did. Worse, the Python3 ``pdb print`` command shadowed the Python3 "
"``print`` function, making it inaccessible at the ``pdb`` prompt. "
"(Contributed by Connor Osborn in :issue:`18764`.)"
msgstr ""
#: whatsnew/3.4.rst:1222
msgid ""
":mod:`pickle` now supports (but does not use by default) a new pickle "
"protocol, protocol 4. This new protocol addresses a number of issues that "
"were present in previous protocols, such as the serialization of nested "
"classes, very large strings and containers, and classes whose :meth:"
"`__new__` method takes keyword-only arguments. It also provides some "
"efficiency improvements."
msgstr ""
#: whatsnew/3.4.rst:1230
msgid "PEP 3154 -- Pickle protocol 4"
msgstr ""
#: whatsnew/3.4.rst:1231
msgid "PEP written by Antoine Pitrou and implemented by Alexandre Vassalotti."
msgstr ""
#: whatsnew/3.4.rst:1235
msgid "plistlib"
msgstr ""
#: whatsnew/3.4.rst:1237
msgid ""
":mod:`plistlib` now has an API that is similar to the standard pattern for "
"stdlib serialization protocols, with new :func:`~plistlib.load`, :func:"
"`~plistlib.dump`, :func:`~plistlib.loads`, and :func:`~plistlib.dumps` "
"functions. (The older API is now deprecated.) In addition to the already "
"supported XML plist format (:data:`~plistlib.FMT_XML`), it also now supports "
"the binary plist format (:data:`~plistlib.FMT_BINARY`). (Contributed by "
"Ronald Oussoren and others in :issue:`14455`.)"
msgstr ""
#: whatsnew/3.4.rst:1249
msgid ""
"Two new methods have been added to :mod:`poplib`: :meth:`~poplib.POP3.capa`, "
"which returns the list of capabilities advertised by the POP server, and :"
"meth:`~poplib.POP3.stls`, which switches a clear-text POP3 session into an "
"encrypted POP3 session if the POP server supports it. (Contributed by "
"Lorenzo Catucci in :issue:`4473`.)"
msgstr ""
#: whatsnew/3.4.rst:1257
msgid "pprint"
msgstr ""
#: whatsnew/3.4.rst:1259
msgid ""
"The :mod:`pprint` module's :class:`~pprint.PrettyPrinter` class and its :"
"func:`~pprint.pformat`, and :func:`~pprint.pprint` functions have a new "
"option, *compact*, that controls how the output is formatted. Currently "
"setting *compact* to ``True`` means that sequences will be printed with as "
"many sequence elements as will fit within *width* on each (indented) line. "
"(Contributed by Serhiy Storchaka in :issue:`19132`.)"
msgstr ""
#: whatsnew/3.4.rst:1266
msgid ""
"Long strings are now wrapped using Python's normal line continuation "
"syntax. (Contributed by Antoine Pitrou in :issue:`17150`.)"
msgstr ""
#: whatsnew/3.4.rst:1271
msgid "pty"
msgstr ""
#: whatsnew/3.4.rst:1273
msgid ""
":func:`pty.spawn` now returns the status value from :func:`os.waitpid` on "
"the child process, instead of ``None``. (Contributed by Gregory P. Smith.)"
msgstr ""
#: whatsnew/3.4.rst:1280
msgid ""
"The :mod:`pydoc` module is now based directly on the :func:`inspect."
"signature` introspection API, allowing it to provide signature information "
"for a wider variety of callable objects. This change also means that "
"``__wrapped__`` attributes are now taken into account when displaying help "
"information. (Contributed by Larry Hastings in :issue:`19674`.)"
msgstr ""
#: whatsnew/3.4.rst:1286
msgid ""
"The :mod:`pydoc` module no longer displays the ``self`` parameter for "
"already bound methods. Instead, it aims to always display the exact current "
"signature of the supplied callable. (Contributed by Larry Hastings in :"
"issue:`20710`.)"
msgstr ""
#: whatsnew/3.4.rst:1291
msgid ""
"In addition to the changes that have been made to :mod:`pydoc` directly, its "
"handling of custom ``__dir__`` methods and various descriptor behaviours has "
"also been improved substantially by the underlying changes in the :mod:"
"`inspect` module."
msgstr ""
#: whatsnew/3.4.rst:1296
msgid ""
"As the :func:`help` builtin is based on :mod:`pydoc`, the above changes also "
"affect the behaviour of :func:`help`."
msgstr ""
#: whatsnew/3.4.rst:1303
msgid ""
"New :func:`~re.fullmatch` function and :meth:`.regex.fullmatch` method "
"anchor the pattern at both ends of the string to match. This provides a way "
"to be explicit about the goal of the match, which avoids a class of subtle "
"bugs where ``$`` characters get lost during code changes or the addition of "
"alternatives to an existing regular expression. (Contributed by Matthew "
"Barnett in :issue:`16203`.)"
msgstr ""
#: whatsnew/3.4.rst:1310
msgid ""
"The repr of :ref:`regex objects <re-objects>` now includes the pattern and "
"the flags; the repr of :ref:`match objects <match-objects>` now includes the "
"start, end, and the part of the string that matched. (Contributed by Hugo "
"Lopes Tavares and Serhiy Storchaka in :issue:`13592` and :issue:`17087`.)"
msgstr ""
#: whatsnew/3.4.rst:1318
msgid "resource"
msgstr ""
#: whatsnew/3.4.rst:1320
msgid ""
"New :func:`~resource.prlimit` function, available on Linux platforms with a "
"kernel version of 2.6.36 or later and glibc of 2.13 or later, provides the "
"ability to query or set the resource limits for processes other than the one "
"making the call. (Contributed by Christian Heimes in :issue:`16595`.)"
msgstr ""
#: whatsnew/3.4.rst:1325
msgid ""
"On Linux kernel version 2.6.36 or later, there are there are also some new "
"Linux specific constants: :attr:`~resource.RLIMIT_MSGQUEUE`, :attr:"
"`~resource.RLIMIT_NICE`, :attr:`~resource.RLIMIT_RTPRIO`, :attr:`~resource."
"RLIMIT_RTTIME`, and :attr:`~resource.RLIMIT_SIGPENDING`. (Contributed by "
"Christian Heimes in :issue:`19324`.)"
msgstr ""
#: whatsnew/3.4.rst:1331
msgid ""
"On FreeBSD version 9 and later, there some new FreeBSD specific constants: :"
"attr:`~resource.RLIMIT_SBSIZE`, :attr:`~resource.RLIMIT_SWAP`, and :attr:"
"`~resource.RLIMIT_NPTS`. (Contributed by Claudiu Popa in :issue:`19343`.)"
msgstr ""
#: whatsnew/3.4.rst:1340
msgid ""
":class:`~select.epoll` objects now support the context management protocol. "
"When used in a :keyword:`with` statement, the :meth:`~select.epoll.close` "
"method will be called automatically at the end of the block. (Contributed "
"by Serhiy Storchaka in :issue:`16488`.)"
msgstr ""
#: whatsnew/3.4.rst:1345
msgid ""
":class:`~select.devpoll` objects now have :meth:`~select.devpoll.fileno` "
"and :meth:`~select.devpoll.close` methods, as well as a new attribute :attr:"
"`~select.devpoll.closed`. (Contributed by Victor Stinner in :issue:`18794`.)"
msgstr ""
#: whatsnew/3.4.rst:1352
msgid "shelve"
msgstr ""
#: whatsnew/3.4.rst:1354
msgid ""
":class:`~shelve.Shelf` instances may now be used in :keyword:`with` "
"statements, and will be automatically closed at the end of the :keyword:"
"`with` block. (Contributed by Filip Gruszczyński in :issue:`13896`.)"
msgstr ""
#: whatsnew/3.4.rst:1362
msgid ""
":func:`~shutil.copyfile` now raises a specific :exc:`~shutil.Error` "
"subclass, :exc:`~shutil.SameFileError`, when the source and destination are "
"the same file, which allows an application to take appropriate action on "
"this specific error. (Contributed by Atsuo Ishimoto and Hynek Schlawack in :"
"issue:`1492704`.)"
msgstr ""
#: whatsnew/3.4.rst:1372
msgid ""
"The :class:`~smtpd.SMTPServer` and :class:`~smtpd.SMTPChannel` classes now "
"accept a *map* keyword argument which, if specified, is passed in to :class:"
"`asynchat.async_chat` as its *map* argument. This allows an application to "
"avoid affecting the global socket map. (Contributed by Vinay Sajip in :"
"issue:`11959`.)"
msgstr ""
#: whatsnew/3.4.rst:1382
msgid ""
":exc:`~smtplib.SMTPException` is now a subclass of :exc:`OSError`, which "
"allows both socket level errors and SMTP protocol level errors to be caught "
"in one try/except statement by code that only cares whether or not an error "
"occurred. (Contributed by Ned Jackson Lovely in :issue:`2118`.)"
msgstr ""
#: whatsnew/3.4.rst:1391
msgid ""
"The socket module now supports the :data:`~socket.CAN_BCM` protocol on "
"platforms that support it. (Contributed by Brian Thorne in :issue:`15359`.)"
msgstr ""
#: whatsnew/3.4.rst:1394
msgid ""
"Socket objects have new methods to get or set their :ref:`inheritable flag "
"<fd_inheritance>`, :meth:`~socket.socket.get_inheritable` and :meth:`~socket."
"socket.set_inheritable`."
msgstr ""
#: whatsnew/3.4.rst:1398
msgid ""
"The ``socket.AF_*`` and ``socket.SOCK_*`` constants are now enumeration "
"values using the new :mod:`enum` module. This allows meaningful names to be "
"printed during debugging, instead of integer \"magic numbers\"."
msgstr ""
#: whatsnew/3.4.rst:1402
msgid "The :data:`~socket.AF_LINK` constant is now available on BSD and OSX."
msgstr ""
#: whatsnew/3.4.rst:1404
msgid ""
":func:`~socket.inet_pton` and :func:`~socket.inet_ntop` are now supported on "
"Windows. (Contributed by Atsuo Ishimoto in :issue:`7171`.)"
msgstr ""
#: whatsnew/3.4.rst:1411
msgid ""
"A new boolean parameter to the :func:`~sqlite3.connect` function, *uri*, can "
"be used to indicate that the *database* parameter is a ``uri`` (see the "
"`SQLite URI documentation <http://www.sqlite.org/uri.html>`_). (Contributed "
"by poq in :issue:`13773`.)"
msgstr ""
#: whatsnew/3.4.rst:1422
msgid ""
":data:`~ssl.PROTOCOL_TLSv1_1` and :data:`~ssl.PROTOCOL_TLSv1_2` (TLSv1.1 and "
"TLSv1.2 support) have been added; support for these protocols is only "
"available if Python is linked with OpenSSL 1.0.1 or later. (Contributed by "
"Michele Orrù and Antoine Pitrou in :issue:`16692`.)"
msgstr ""
#: whatsnew/3.4.rst:1429
msgid ""
"New function :func:`~ssl.create_default_context` provides a standard way to "
"obtain an :class:`~ssl.SSLContext` whose settings are intended to be a "
"reasonable balance between compatibility and security. These settings are "
"more stringent than the defaults provided by the :class:`~ssl.SSLContext` "
"constructor, and may be adjusted in the future, without prior deprecation, "
"if best-practice security requirements change. The new recommended best "
"practice for using stdlib libraries that support SSL is to use :func:`~ssl."
"create_default_context` to obtain an :class:`~ssl.SSLContext` object, modify "
"it if needed, and then pass it as the *context* argument of the appropriate "
"stdlib API. (Contributed by Christian Heimes in :issue:`19689`.)"
msgstr ""
#: whatsnew/3.4.rst:1441
msgid ""
":class:`~ssl.SSLContext` method :meth:`~ssl.SSLContext."
"load_verify_locations` accepts a new optional argument *cadata*, which can "
"be used to provide PEM or DER encoded certificates directly via strings or "
"bytes, respectively. (Contributed by Christian Heimes in :issue:`18138`.)"
msgstr ""
#: whatsnew/3.4.rst:1446
msgid ""
"New function :func:`~ssl.get_default_verify_paths` returns a named tuple of "
"the paths and environment variables that the :meth:`~ssl.SSLContext."
"set_default_verify_paths` method uses to set OpenSSL's default ``cafile`` "
"and ``capath``. This can be an aid in debugging default verification "
"issues. (Contributed by Christian Heimes in :issue:`18143`.)"
msgstr ""
#: whatsnew/3.4.rst:1453
msgid ""
":class:`~ssl.SSLContext` has a new method, :meth:`~ssl.SSLContext."
"cert_store_stats`, that reports the number of loaded ``X.509`` certs, "
"``X.509 CA`` certs, and certificate revocation lists (``crl``\\ s), as well "
"as a :meth:`~ssl.SSLContext.get_ca_certs` method that returns a list of the "
"loaded ``CA`` certificates. (Contributed by Christian Heimes in :issue:"
"`18147`.)"
msgstr ""
#: whatsnew/3.4.rst:1460
msgid ""
"If OpenSSL 0.9.8 or later is available, :class:`~ssl.SSLContext` has an new "
"attribute :attr:`~ssl.SSLContext.verify_flags` that can be used to control "
"the certificate verification process by setting it to some combination of "
"the new constants :data:`~ssl.VERIFY_DEFAULT`, :data:`~ssl."
"VERIFY_CRL_CHECK_LEAF`, :data:`~ssl.VERIFY_CRL_CHECK_CHAIN`, or :data:`~ssl."
"VERIFY_X509_STRICT`. OpenSSL does not do any CRL verification by default. "
"(Contributed by Christien Heimes in :issue:`8813`.)"
msgstr ""
#: whatsnew/3.4.rst:1468
msgid ""
"New :class:`~ssl.SSLContext` method :meth:`~ssl.SSLContext."
"load_default_certs` loads a set of default \"certificate authority\" (CA) "
"certificates from default locations, which vary according to the platform. "
"It can be used to load both TLS web server authentication certificates "
"(``purpose=``:data:`~ssl.Purpose.SERVER_AUTH`) for a client to use to verify "
"a server, and certificates for a server to use in verifying client "
"certificates (``purpose=``:data:`~ssl.Purpose.CLIENT_AUTH`). (Contributed "
"by Christian Heimes in :issue:`19292`.)"
msgstr ""
#: whatsnew/3.4.rst:1479
msgid ""
"Two new windows-only functions, :func:`~ssl.enum_certificates` and :func:"
"`~ssl.enum_crls` provide the ability to retrieve certificates, certificate "
"information, and CRLs from the Windows cert store. (Contributed by "
"Christian Heimes in :issue:`17134`.)"
msgstr ""
#: whatsnew/3.4.rst:1486
msgid ""
"Support for server-side SNI (Server Name Indication) using the new :meth:"
"`ssl.SSLContext.set_servername_callback` method. (Contributed by Daniel "
"Black in :issue:`8109`.)"
msgstr ""
#: whatsnew/3.4.rst:1490
msgid ""
"The dictionary returned by :meth:`.SSLSocket.getpeercert` contains "
"additional ``X509v3`` extension items: ``crlDistributionPoints``, "
"``calIssuers``, and ``OCSP`` URIs. (Contributed by Christian Heimes in :"
"issue:`18379`.)"
msgstr ""
#: whatsnew/3.4.rst:1498
msgid ""
"The :mod:`stat` module is now backed by a C implementation in :mod:`_stat`. "
"A C implementation is required as most of the values aren't standardized and "
"are platform-dependent. (Contributed by Christian Heimes in :issue:`11016`.)"
msgstr ""
#: whatsnew/3.4.rst:1502
msgid ""
"The module supports new :mod:`~stat.ST_MODE` flags, :mod:`~stat.S_IFDOOR`, :"
"attr:`~stat.S_IFPORT`, and :attr:`~stat.S_IFWHT`. (Contributed by Christian "
"Hiemes in :issue:`11016`.)"
msgstr ""
#: whatsnew/3.4.rst:1510
msgid ""
"New function :mod:`~struct.iter_unpack` and a new :meth:`struct.Struct."
"iter_unpack` method on compiled formats provide streamed unpacking of a "
"buffer containing repeated instances of a given format of data. (Contributed "
"by Antoine Pitrou in :issue:`17804`.)"
msgstr ""
#: whatsnew/3.4.rst:1519
msgid ""
":func:`~subprocess.check_output` now accepts an *input* argument that can be "
"used to provide the contents of ``stdin`` for the command that is run. "
"(Contributed by Zack Weinberg in :issue:`16624`.)"
msgstr ""
#: whatsnew/3.4.rst:1523
msgid ""
":func:`~subprocess.getstatus` and :func:`~subprocess.getstatusoutput` now "
"work on Windows. This change was actually inadvertently made in 3.3.4. "
"(Contributed by Tim Golden in :issue:`10197`.)"
msgstr ""
#: whatsnew/3.4.rst:1529
msgid "sunau"
msgstr ""
#: whatsnew/3.4.rst:1531
msgid ""
"The :meth:`~sunau.getparams` method now returns a namedtuple rather than a "
"plain tuple. (Contributed by Claudiu Popa in :issue:`18901`.)"
msgstr ""
#: whatsnew/3.4.rst:1534
msgid ""
":meth:`sunau.open` now supports the context management protocol: when used "
"in a :keyword:`with` block, the ``close`` method of the returned object will "
"be called automatically at the end of the block. (Contributed by Serhiy "
"Storchaka in :issue:`18878`.)"
msgstr ""
#: whatsnew/3.4.rst:1539
msgid ""
":meth:`.AU_write.setsampwidth` now supports 24 bit samples, thus adding "
"support for writing 24 sample using the module. (Contributed by Serhiy "
"Storchaka in :issue:`19261`.)"
msgstr ""
#: whatsnew/3.4.rst:1543
msgid ""
"The :meth:`~sunau.AU_write.writeframesraw` and :meth:`~sunau.AU_write."
"writeframes` methods now accept any :term:`bytes-like object`. (Contributed "
"by Serhiy Storchaka in :issue:`8311`.)"
msgstr ""
#: whatsnew/3.4.rst:1551
msgid ""
"New function :func:`sys.getallocatedblocks` returns the current number of "
"blocks allocated by the interpreter. (In CPython with the default ``--with-"
"pymalloc`` setting, this is allocations made through the :c:func:"
"`PyObject_Malloc` API.) This can be useful for tracking memory leaks, "
"especially if automated via a test suite. (Contributed by Antoine Pitrou "
"in :issue:`13390`.)"
msgstr ""
#: whatsnew/3.4.rst:1558
msgid ""
"When the Python interpreter starts in :ref:`interactive mode <tut-"
"interactive>`, it checks for an :data:`~sys.__interactivehook__` attribute "
"on the :mod:`sys` module. If the attribute exists, its value is called with "
"no arguments just before interactive mode is started. The check is made "
"after the :envvar:`PYTHONSTARTUP` file is read, so it can be set there. "
"The :mod:`site` module :ref:`sets it <rlcompleter-config>` to a function "
"that enables tab completion and history saving (in :file:`~/.python-"
"history`) if the platform supports :mod:`readline`. If you do not want this "
"(new) behavior, you can override it in :envvar:`PYTHONSTARTUP`, :mod:"
"`sitecustomize`, or :mod:`usercustomize` by deleting this attribute from :"
"mod:`sys` (or setting it to some other callable). (Contributed by Éric "
"Araujo and Antoine Pitrou in :issue:`5845`.)"
msgstr ""
#: whatsnew/3.4.rst:1575
msgid ""
"The :mod:`tarfile` module now supports a simple :ref:`tarfile-commandline` "
"when called as a script directly or via ``-m``. This can be used to create "
"and extract tarfile archives. (Contributed by Berker Peksag in :issue:"
"`13477`.)"
msgstr ""
#: whatsnew/3.4.rst:1583
msgid ""
"The :class:`~textwrap.TextWrapper` class has two new attributes/constructor "
"arguments: :attr:`~textwrap.TextWrapper.max_lines`, which limits the number "
"of lines in the output, and :attr:`~textwrap.TextWrapper.placeholder`, which "
"is a string that will appear at the end of the output if it has been "
"truncated because of *max_lines*. Building on these capabilities, a new "
"convenience function :func:`~textwrap.shorten` collapses all of the "
"whitespace in the input to single spaces and produces a single line of a "
"given *width* that ends with the *placeholder* (by default, ``[...]``). "
"(Contributed by Antoine Pitrou and Serhiy Storchaka in :issue:`18585` and :"
"issue:`18725`.)"
msgstr ""
#: whatsnew/3.4.rst:1597
msgid ""
"The :class:`~threading.Thread` object representing the main thread can be "
"obtained from the new :func:`~threading.main_thread` function. In normal "
"conditions this will be the thread from which the Python interpreter was "
"started. (Contributed by Andrew Svetlov in :issue:`18882`.)"
msgstr ""
#: whatsnew/3.4.rst:1604 whatsnew/3.5.rst:1903
msgid "traceback"
msgstr ""
#: whatsnew/3.4.rst:1606
msgid ""
"A new :func:`traceback.clear_frames` function takes a traceback object and "
"clears the local variables in all of the frames it references, reducing the "
"amount of memory consumed. (Contributed by Andrew Kuchling in :issue:"
"`1565525`.)"
msgstr ""
#: whatsnew/3.4.rst:1615
msgid ""
"A new :func:`~types.DynamicClassAttribute` descriptor provides a way to "
"define an attribute that acts normally when looked up through an instance "
"object, but which is routed to the *class* ``__getattr__`` when looked up "
"through the class. This allows one to have properties active on a class, "
"and have virtual attributes on the class with the same name (see :mod:`Enum` "
"for an example). (Contributed by Ethan Furman in :issue:`19030`.)"
msgstr ""
#: whatsnew/3.4.rst:1626
msgid ""
":mod:`urllib.request` now supports ``data:`` URLs via the :class:`~urllib."
"request.DataHandler` class. (Contributed by Mathias Panzenböck in :issue:"
"`16423`.)"
msgstr ""
#: whatsnew/3.4.rst:1630
msgid ""
"The http method that will be used by a :class:`~urllib.request.Request` "
"class can now be specified by setting a :class:`~urllib.request.Request."
"method` class attribute on the subclass. (Contributed by Jason R Coombs in :"
"issue:`18978`.)"
msgstr ""
#: whatsnew/3.4.rst:1635
msgid ""
":class:`~urllib.request.Request` objects are now reusable: if the :attr:"
"`~urllib.request.Request.full_url` or :attr:`~urllib.request.Request.data` "
"attributes are modified, all relevant internal properties are updated. This "
"means, for example, that it is now possible to use the same :class:`~urllib."
"request.Request` object in more than one :meth:`.OpenerDirector.open` call "
"with different *data* arguments, or to modify a :class:`~urllib.request."
"Request`\\ 's ``url`` rather than recomputing it from scratch. There is "
"also a new :meth:`~urllib.request.Request.remove_header` method that can be "
"used to remove headers from a :class:`~urllib.request.Request`. "
"(Contributed by Alexey Kachayev in :issue:`16464`, Daniel Wozniak in :issue:"
"`17485`, and Damien Brecht and Senthil Kumaran in :issue:`17272`.)"
msgstr ""
#: whatsnew/3.4.rst:1648
msgid ""
":class:`~urllib.error.HTTPError` objects now have a :attr:`~urllib.error."
"HTTPError.headers` attribute that provides access to the HTTP response "
"headers associated with the error. (Contributed by Berker Peksag in :issue:"
"`15701`.)"
msgstr ""
#: whatsnew/3.4.rst:1657
msgid ""
"The :class:`~unittest.TestCase` class has a new method, :meth:`~unittest."
"TestCase.subTest`, that produces a context manager whose :keyword:`with` "
"block becomes a \"sub-test\". This context manager allows a test method to "
"dynamically generate subtests by, say, calling the ``subTest`` context "
"manager inside a loop. A single test method can thereby produce an "
"indefinite number of separately-identified and separately-counted tests, all "
"of which will run even if one or more of them fail. For example::"
msgstr ""
#: whatsnew/3.4.rst:1671
msgid ""
"will result in six subtests, each identified in the unittest verbose output "
"with a label consisting of the variable name ``i`` and a particular value "
"for that variable (``i=0``, ``i=1``, etc). See :ref:`subtests` for the full "
"version of this example. (Contributed by Antoine Pitrou in :issue:`16997`.)"
msgstr ""
#: whatsnew/3.4.rst:1676
msgid ""
":func:`unittest.main` now accepts an iterable of test names for "
"*defaultTest*, where previously it only accepted a single test name as a "
"string. (Contributed by Jyrki Pulliainen in :issue:`15132`.)"
msgstr ""
#: whatsnew/3.4.rst:1680
msgid ""
"If :class:`~unittest.SkipTest` is raised during test discovery (that is, at "
"the module level in the test file), it is now reported as a skip instead of "
"an error. (Contributed by Zach Ware in :issue:`16935`.)"
msgstr ""
#: whatsnew/3.4.rst:1684
msgid ""
":meth:`~unittest.TestLoader.discover` now sorts the discovered files to "
"provide consistent test ordering. (Contributed by Martin Melin and Jeff "
"Ramnani in :issue:`16709`.)"
msgstr ""
#: whatsnew/3.4.rst:1688
msgid ""
":class:`~unittest.TestSuite` now drops references to tests as soon as the "
"test has been run, if the test is successful. On Python interpreters that "
"do garbage collection, this allows the tests to be garbage collected if "
"nothing else is holding a reference to the test. It is possible to override "
"this behavior by creating a :class:`~unittest.TestSuite` subclass that "
"defines a custom ``_removeTestAtIndex`` method. (Contributed by Tom "
"Wardill, Matt McClure, and Andrew Svetlov in :issue:`11798`.)"
msgstr ""
#: whatsnew/3.4.rst:1696
msgid ""
"A new test assertion context-manager, :meth:`~unittest.TestCase.assertLogs`, "
"will ensure that a given block of code emits a log message using the :mod:"
"`logging` module. By default the message can come from any logger and have "
"a priority of ``INFO`` or higher, but both the logger name and an "
"alternative minimum logging level may be specified. The object returned by "
"the context manager can be queried for the :class:`~logging.LogRecord`\\ s "
"and/or formatted messages that were logged. (Contributed by Antoine Pitrou "
"in :issue:`18937`.)"
msgstr ""
#: whatsnew/3.4.rst:1705
msgid ""
"Test discovery now works with namespace packages (Contributed by Claudiu "
"Popa in :issue:`17457`.)"
msgstr ""
#: whatsnew/3.4.rst:1708
msgid ""
":mod:`unittest.mock` objects now inspect their specification signatures when "
"matching calls, which means an argument can now be matched by either "
"position or name, instead of only by position. (Contributed by Antoine "
"Pitrou in :issue:`17015`.)"
msgstr ""
#: whatsnew/3.4.rst:1713
msgid ""
":func:`~mock.mock_open` objects now have ``readline`` and ``readlines`` "
"methods. (Contributed by Toshio Kuratomi in :issue:`17467`.)"
msgstr ""
#: whatsnew/3.4.rst:1718
msgid "venv"
msgstr ""
#: whatsnew/3.4.rst:1720
msgid ""
":mod:`venv` now includes activation scripts for the ``csh`` and ``fish`` "
"shells. (Contributed by Andrew Svetlov in :issue:`15417`.)"
msgstr ""
#: whatsnew/3.4.rst:1723
msgid ""
":class:`~venv.EnvBuilder` and the :func:`~venv.create` convenience function "
"take a new keyword argument *with_pip*, which defaults to ``False``, that "
"controls whether or not :class:`~venv.EnvBuilder` ensures that ``pip`` is "
"installed in the virtual environment. (Contributed by Nick Coghlan in :"
"issue:`19552` as part of the :pep:`453` implementation.)"
msgstr ""
#: whatsnew/3.4.rst:1731
msgid "wave"
msgstr ""
#: whatsnew/3.4.rst:1733
msgid ""
"The :meth:`~wave.getparams` method now returns a namedtuple rather than a "
"plain tuple. (Contributed by Claudiu Popa in :issue:`17487`.)"
msgstr ""
#: whatsnew/3.4.rst:1736
msgid ""
":meth:`wave.open` now supports the context management protocol. "
"(Contributed by Claudiu Popa in :issue:`17616`.)"
msgstr ""
#: whatsnew/3.4.rst:1739
msgid ""
":mod:`wave` can now :ref:`write output to unseekable files <wave-write-"
"objects>`. (Contributed by David Jones, Guilherme Polo, and Serhiy "
"Storchaka in :issue:`5202`.)"
msgstr ""
#: whatsnew/3.4.rst:1743
msgid ""
"The :meth:`~wave.Wave_write.writeframesraw` and :meth:`~wave.Wave_write."
"writeframes` methods now accept any :term:`bytes-like object`. (Contributed "
"by Serhiy Storchaka in :issue:`8311`.)"
msgstr ""
#: whatsnew/3.4.rst:1749
msgid "weakref"
msgstr ""
#: whatsnew/3.4.rst:1751
msgid ""
"New :class:`~weakref.WeakMethod` class simulates weak references to bound "
"methods. (Contributed by Antoine Pitrou in :issue:`14631`.)"
msgstr ""
#: whatsnew/3.4.rst:1754
msgid ""
"New :class:`~weakref.finalize` class makes it possible to register a "
"callback to be invoked when an object is garbage collected, without needing "
"to carefully manage the lifecycle of the weak reference itself. "
"(Contributed by Richard Oudkerk in :issue:`15528`.)"
msgstr ""
#: whatsnew/3.4.rst:1759
msgid ""
"The callback, if any, associated with a :class:`~weakref.ref` is now exposed "
"via the :attr:`~weakref.ref.__callback__` attribute. (Contributed by Mark "
"Dickinson in :issue:`17643`.)"
msgstr ""
#: whatsnew/3.4.rst:1765
msgid "xml.etree"
msgstr ""
#: whatsnew/3.4.rst:1767
msgid ""
"A new parser, :class:`~xml.etree.ElementTree.XMLPullParser`, allows a non-"
"blocking applications to parse XML documents. An example can be seen at :"
"ref:`elementtree-pull-parsing`. (Contributed by Antoine Pitrou in :issue:"
"`17741`.)"
msgstr ""
#: whatsnew/3.4.rst:1772
msgid ""
"The :mod:`xml.etree.ElementTree` :func:`~xml.etree.ElementTree.tostring` "
"and :func:`~xml.etree.ElementTree.tostringlist` functions, and the :class:"
"`~xml.etree.ElementTree.ElementTree` :meth:`~xml.etree.ElementTree."
"ElementTree.write` method, now have a *short_empty_elements* :ref:`keyword-"
"only parameter <keyword-only_parameter>` providing control over whether "
"elements with no content are written in abbreviated (``<tag />``) or "
"expanded (``<tag></tag>``) form. (Contributed by Ariel Poliak and Serhiy "
"Storchaka in :issue:`14377`.)"
msgstr ""
#: whatsnew/3.4.rst:1783 whatsnew/3.5.rst:2041
msgid "zipfile"
msgstr ""
#: whatsnew/3.4.rst:1785
msgid ""
"The :meth:`~zipfile.PyZipFile.writepy` method of the :class:`~zipfile."
"PyZipFile` class has a new *filterfunc* option that can be used to control "
"which directories and files are added to the archive. For example, this "
"could be used to exclude test files from the archive. (Contributed by "
"Christian Tismer in :issue:`19274`.)"
msgstr ""
#: whatsnew/3.4.rst:1791
msgid ""
"The *allowZip64* parameter to :class:`~zipfile.ZipFile` and :class:`~zipfile."
"PyZipfile` is now ``True`` by default. (Contributed by William Mallard in :"
"issue:`17201`.)"
msgstr ""
#: whatsnew/3.4.rst:1798
msgid "CPython Implementation Changes"
msgstr ""
#: whatsnew/3.4.rst:1804
msgid "PEP 445: Customization of CPython Memory Allocators"
msgstr ""
#: whatsnew/3.4.rst:1806
msgid ""
":pep:`445` adds new C level interfaces to customize memory allocation in the "
"CPython interpreter."
msgstr ""
#: whatsnew/3.4.rst:1811
msgid "PEP 445 -- Add new APIs to customize Python memory allocators"
msgstr ""
#: whatsnew/3.4.rst:1818
msgid "PEP 442: Safe Object Finalization"
msgstr ""
#: whatsnew/3.4.rst:1820
msgid ""
":pep:`442` removes the current limitations and quirks of object finalization "
"in CPython. With it, objects with :meth:`__del__` methods, as well as "
"generators with :keyword:`finally` clauses, can be finalized when they are "
"part of a reference cycle."
msgstr ""
#: whatsnew/3.4.rst:1825
msgid ""
"As part of this change, module globals are no longer forcibly set to :const:"
"`None` during interpreter shutdown in most cases, instead relying on the "
"normal operation of the cyclic garbage collector. This avoids a whole class "
"of interpreter-shutdown-time errors, usually involving ``__del__`` methods, "
"that have plagued Python since the cyclic GC was first introduced."
msgstr ""
#: whatsnew/3.4.rst:1834
msgid "PEP 442 -- Safe object finalization"
msgstr ""
#: whatsnew/3.4.rst:1841
msgid "PEP 456: Secure and Interchangeable Hash Algorithm"
msgstr ""
#: whatsnew/3.4.rst:1843
msgid ""
":pep:`456` follows up on earlier security fix work done on Python's hash "
"algorithm to address certain DOS attacks to which public facing APIs backed "
"by dictionary lookups may be subject. (See :issue:`14621` for the start of "
"the current round of improvements.) The PEP unifies CPython's hash code to "
"make it easier for a packager to substitute a different hash algorithm, and "
"switches Python's default implementation to a SipHash implementation on "
"platforms that have a 64 bit data type. Any performance differences in "
"comparison with the older FNV algorithm are trivial."
msgstr ""
#: whatsnew/3.4.rst:1852
msgid ""
"The PEP adds additional fields to the :attr:`sys.hash_info` struct sequence "
"to describe the hash algorithm in use by the currently executing binary. "
"Otherwise, the PEP does not alter any existing CPython APIs."
msgstr ""
#: whatsnew/3.4.rst:1860
msgid "PEP 436: Argument Clinic"
msgstr ""
#: whatsnew/3.4.rst:1862
msgid ""
"\"Argument Clinic\" (:pep:`436`) is now part of the CPython build process "
"and can be used to simplify the process of defining and maintaining accurate "
"signatures for builtins and standard library extension modules implemented "
"in C."
msgstr ""
#: whatsnew/3.4.rst:1867
msgid ""
"Some standard library extension modules have been converted to use Argument "
"Clinic in Python 3.4, and :mod:`pydoc` and :mod:`inspect` have been updated "
"accordingly."
msgstr ""
#: whatsnew/3.4.rst:1871
msgid ""
"It is expected that signature metadata for programmatic introspection will "
"be added to additional callables implemented in C as part of Python 3.4 "
"maintenance releases."
msgstr ""
#: whatsnew/3.4.rst:1876
msgid ""
"The Argument Clinic PEP is not fully up to date with the state of the "
"implementation. This has been deemed acceptable by the release manager and "
"core development team in this case, as Argument Clinic will not be made "
"available as a public API for third party use in Python 3.4."
msgstr ""
#: whatsnew/3.4.rst:1883
msgid "PEP 436 -- The Argument Clinic DSL"
msgstr ""
#: whatsnew/3.4.rst:1884
msgid "PEP written and implemented by Larry Hastings."
msgstr ""
#: whatsnew/3.4.rst:1888
msgid "Other Build and C API Changes"
msgstr ""
#: whatsnew/3.4.rst:1890
msgid ""
"The new :c:func:`PyType_GetSlot` function has been added to the stable ABI, "
"allowing retrieval of function pointers from named type slots when using the "
"limited API. (Contributed by Martin von Löwis in :issue:`17162`.)"
msgstr ""
#: whatsnew/3.4.rst:1894
msgid ""
"The new :c:func:`Py_SetStandardStreamEncoding` pre-initialization API allows "
"applications embedding the CPython interpreter to reliably force a "
"particular encoding and error handler for the standard streams. (Contributed "
"by Bastien Montagne and Nick Coghlan in :issue:`16129`.)"
msgstr ""
#: whatsnew/3.4.rst:1899
msgid ""
"Most Python C APIs that don't mutate string arguments are now correctly "
"marked as accepting ``const char *`` rather than ``char *``. (Contributed "
"by Serhiy Storchaka in :issue:`1772673`.)"
msgstr ""
#: whatsnew/3.4.rst:1903
msgid ""
"A new shell version of ``python-config`` can be used even when a python "
"interpreter is not available (for example, in cross compilation scenarios)."
msgstr ""
#: whatsnew/3.4.rst:1906
msgid ""
":c:func:`PyUnicode_FromFormat` now supports width and precision "
"specifications for ``%s``, ``%A``, ``%U``, ``%V``, ``%S``, and ``%R``. "
"(Contributed by Ysj Ray and Victor Stinner in :issue:`7330`.)"
msgstr ""
#: whatsnew/3.4.rst:1910
msgid ""
"New function :c:func:`PyStructSequence_InitType2` supplements the existing :"
"c:func:`PyStructSequence_InitType` function. The difference is that it "
"returns ``0`` on success and ``-1`` on failure."
msgstr ""
#: whatsnew/3.4.rst:1914
msgid ""
"The CPython source can now be compiled using the address sanity checking "
"features of recent versions of GCC and clang: the false alarms in the small "
"object allocator have been silenced. (Contributed by Dhiru Kholia in :issue:"
"`18596`.)"
msgstr ""
#: whatsnew/3.4.rst:1919
msgid ""
"The Windows build now uses `Address Space Layout Randomization <http://en."
"wikipedia.org/wiki/ASLR>`_ and `Data Execution Prevention <http://en."
"wikipedia.org/wiki/Data_Execution_Prevention>`_. (Contributed by Christian "
"Heimes in :issue:`16632`.)"
msgstr ""
#: whatsnew/3.4.rst:1924
msgid ""
"New function :c:func:`PyObject_LengthHint` is the C API equivalent of :func:"
"`operator.length_hint`. (Contributed by Armin Ronacher in :issue:`16148`.)"
msgstr ""
#: whatsnew/3.4.rst:1932
msgid "Other Improvements"
msgstr ""
#: whatsnew/3.4.rst:1936
msgid ""
"The :ref:`python <using-on-cmdline>` command has a new :ref:`option <using-"
"on-misc-options>`, ``-I``, which causes it to run in \"isolated mode\", "
"which means that :data:`sys.path` contains neither the script's directory "
"nor the user's ``site-packages`` directory, and all :envvar:`PYTHON*` "
"environment variables are ignored (it implies both ``-s`` and ``-E``). "
"Other restrictions may also be applied in the future, with the goal being to "
"isolate the execution of a script from the user's environment. This is "
"appropriate, for example, when Python is used to run a system script. On "
"most POSIX systems it can and should be used in the ``#!`` line of system "
"scripts. (Contributed by Christian Heimes in :issue:`16499`.)"
msgstr ""
#: whatsnew/3.4.rst:1947
msgid ""
"Tab-completion is now enabled by default in the interactive interpreter on "
"systems that support :mod:`readline`. History is also enabled by default, "
"and is written to (and read from) the file :file:`~/.python-history`. "
"(Contributed by Antoine Pitrou and Éric Araujo in :issue:`5845`.)"
msgstr ""
#: whatsnew/3.4.rst:1952
msgid ""
"Invoking the Python interpreter with ``--version`` now outputs the version "
"to standard output instead of standard error (:issue:`18338`). Similar "
"changes were made to :mod:`argparse` (:issue:`18920`) and other modules that "
"have script-like invocation capabilities (:issue:`18922`)."
msgstr ""
#: whatsnew/3.4.rst:1957
msgid ""
"The CPython Windows installer now adds ``.py`` to the :envvar:`PATHEXT` "
"variable when extensions are registered, allowing users to run a python "
"script at the windows command prompt by just typing its name without the ``."
"py`` extension. (Contributed by Paul Moore in :issue:`18569`.)"
msgstr ""
#: whatsnew/3.4.rst:1962
msgid ""
"A new ``make`` target `coverage-report <https://docs.python.org/devguide/"
"coverage.html#measuring-coverage-of-c-code-with-gcov-and-lcov>`_ will build "
"python, run the test suite, and generate an HTML coverage report for the C "
"codebase using ``gcov`` and `lcov <http://ltp.sourceforge.net/coverage/lcov."
"php>`_."
msgstr ""
#: whatsnew/3.4.rst:1968
msgid ""
"The ``-R`` option to the :ref:`python regression test suite <regrtest>` now "
"also checks for memory allocation leaks, using :func:`sys."
"getallocatedblocks()`. (Contributed by Antoine Pitrou in :issue:`13390`.)"
msgstr ""
#: whatsnew/3.4.rst:1973
msgid "``python -m`` now works with namespace packages."
msgstr ""
#: whatsnew/3.4.rst:1975
msgid ""
"The :mod:`stat` module is now implemented in C, which means it gets the "
"values for its constants from the C header files, instead of having the "
"values hard-coded in the python module as was previously the case."
msgstr ""
#: whatsnew/3.4.rst:1979
msgid ""
"Loading multiple python modules from a single OS module (``.so``, ``.dll``) "
"now works correctly (previously it silently returned the first python module "
"in the file). (Contributed by Václav Šmilauer in :issue:`16421`.)"
msgstr ""
#: whatsnew/3.4.rst:1983
msgid ""
"A new opcode, :opcode:`LOAD_CLASSDEREF`, has been added to fix a bug in the "
"loading of free variables in class bodies that could be triggered by certain "
"uses of :ref:`__prepare__ <prepare>`. (Contributed by Benjamin Peterson in :"
"issue:`17853`.)"
msgstr ""
#: whatsnew/3.4.rst:1988
msgid ""
"A number of MemoryError-related crashes were identified and fixed by Victor "
"Stinner using his :pep:`445`-based ``pyfailmalloc`` tool (:issue:`18408`, :"
"issue:`18520`)."
msgstr ""
#: whatsnew/3.4.rst:1992
msgid ""
"The :ref:`pyvenv <scripts-pyvenv>` command now accepts a ``--copies`` option "
"to use copies rather than symlinks even on systems where symlinks are the "
"default. (Contributed by Vinay Sajip in :issue:`18807`.)"
msgstr ""
#: whatsnew/3.4.rst:1996
msgid ""
"The :ref:`pyvenv <scripts-pyvenv>` command also accepts a ``--without-pip`` "
"option to suppress the otherwise-automatic bootstrapping of pip into the "
"virtual environment. (Contributed by Nick Coghlan in :issue:`19552` as part "
"of the :pep:`453` implementation.)"
msgstr ""
#: whatsnew/3.4.rst:2001
msgid ""
"The encoding name is now optional in the value set for the :envvar:"
"`PYTHONIOENCODING` environment variable. This makes it possible to set just "
"the error handler, without changing the default encoding. (Contributed by "
"Serhiy Storchaka in :issue:`18818`.)"
msgstr ""
#: whatsnew/3.4.rst:2006
msgid ""
"The :mod:`bz2`, :mod:`lzma`, and :mod:`gzip` module ``open`` functions now "
"support ``x`` (exclusive creation) mode. (Contributed by Tim Heaney and "
"Vajrasky Kok in :issue:`19201`, :issue:`19222`, and :issue:`19223`.)"
msgstr ""
#: whatsnew/3.4.rst:2012
msgid "Significant Optimizations"
msgstr ""
#: whatsnew/3.4.rst:2014
msgid ""
"The UTF-32 decoder is now 3x to 4x faster. (Contributed by Serhiy Storchaka "
"in :issue:`14625`.)"
msgstr ""
#: whatsnew/3.4.rst:2017
msgid ""
"The cost of hash collisions for sets is now reduced. Each hash table probe "
"now checks a series of consecutive, adjacent key/hash pairs before "
"continuing to make random probes through the hash table. This exploits "
"cache locality to make collision resolution less expensive. The collision "
"resolution scheme can be described as a hybrid of linear probing and open "
"addressing. The number of additional linear probes defaults to nine. This "
"can be changed at compile-time by defining LINEAR_PROBES to be any value. "
"Set LINEAR_PROBES=0 to turn-off linear probing entirely. (Contributed by "
"Raymond Hettinger in :issue:`18771`.)"
msgstr ""
#: whatsnew/3.4.rst:2028
msgid ""
"The interpreter starts about 30% faster. A couple of measures lead to the "
"speedup. The interpreter loads fewer modules on startup, e.g. the :mod:"
"`re`, :mod:`collections` and :mod:`locale` modules and their dependencies "
"are no longer imported by default. The marshal module has been improved to "
"load compiled Python code faster. (Contributed by Antoine Pitrou, Christian "
"Heimes and Victor Stinner in :issue:`19219`, :issue:`19218`, :issue:"
"`19209`, :issue:`19205` and :issue:`9548`.)"
msgstr ""
#: whatsnew/3.4.rst:2036
msgid ""
":class:`bz2.BZ2File` is now as fast or faster than the Python2 version for "
"most cases. :class:`lzma.LZMAFile` has also been optimized. (Contributed "
"by Serhiy Storchaka and Nadeem Vawda in :issue:`16034`.)"
msgstr ""
#: whatsnew/3.4.rst:2040
msgid ""
":func:`random.getrandbits` is 20%-40% faster for small integers (the most "
"common use case). (Contributed by Serhiy Storchaka in :issue:`16674`.)"
msgstr ""
#: whatsnew/3.4.rst:2043
msgid ""
"By taking advantage of the new storage format for strings, pickling of "
"strings is now significantly faster. (Contributed by Victor Stinner and "
"Antoine Pitrou in :issue:`15596`.)"
msgstr ""
#: whatsnew/3.4.rst:2047
msgid ""
"A performance issue in :meth:`io.FileIO.readall` has been solved. This "
"particularly affects Windows, and significantly speeds up the case of piping "
"significant amounts of data through :mod:`subprocess`. (Contributed by "
"Richard Oudkerk in :issue:`15758`.)"
msgstr ""
#: whatsnew/3.4.rst:2052
msgid ""
":func:`html.escape` is now 10x faster. (Contributed by Matt Bryant in :"
"issue:`18020`.)"
msgstr ""
#: whatsnew/3.4.rst:2055
msgid ""
"On Windows, the native ``VirtualAlloc`` is now used instead of the CRT "
"``malloc`` in ``obmalloc``. Artificial benchmarks show about a 3% memory "
"savings."
msgstr ""
#: whatsnew/3.4.rst:2059
msgid ""
":func:`os.urandom` now uses a lazily-opened persistent file descriptor so as "
"to avoid using many file descriptors when run in parallel from multiple "
"threads. (Contributed by Antoine Pitrou in :issue:`18756`.)"
msgstr ""
#: whatsnew/3.4.rst:2069
msgid ""
"This section covers various APIs and other features that have been "
"deprecated in Python 3.4, and will be removed in Python 3.5 or later. In "
"most (but not all) cases, using the deprecated APIs will produce a :exc:"
"`DeprecationWarning` when the interpreter is run with deprecation warnings "
"enabled (for example, by using ``-Wd``)."
msgstr ""
#: whatsnew/3.4.rst:2077
msgid "Deprecations in the Python API"
msgstr ""
#: whatsnew/3.4.rst:2079
msgid ""
"As mentioned in :ref:`whatsnew-pep-451`, a number of :mod:`importlib` "
"methods and functions are deprecated: :meth:`importlib.find_loader` is "
"replaced by :func:`importlib.util.find_spec`; :meth:`importlib.machinery."
"PathFinder.find_module` is replaced by :meth:`importlib.machinery.PathFinder."
"find_spec`; :meth:`importlib.abc.MetaPathFinder.find_module` is replaced by :"
"meth:`importlib.abc.MetaPathFinder.find_spec`; :meth:`importlib.abc."
"PathEntryFinder.find_loader` and :meth:`~importlib.abc.PathEntryFinder."
"find_module` are replaced by :meth:`importlib.abc.PathEntryFinder."
"find_spec`; all of the ``xxxLoader`` ABC ``load_module`` methods (:meth:"
"`importlib.abc.Loader.load_module`, :meth:`importlib.abc.InspectLoader."
"load_module`, :meth:`importlib.abc.FileLoader.load_module`, :meth:`importlib."
"abc.SourceLoader.load_module`) should no longer be implemented, instead "
"loaders should implement an ``exec_module`` method (:meth:`importlib.abc."
"Loader.exec_module`, :meth:`importlib.abc.InspectLoader.exec_module` :meth:"
"`importlib.abc.SourceLoader.exec_module`) and let the import system take "
"care of the rest; and :meth:`importlib.abc.Loader.module_repr`, :meth:"
"`importlib.util.module_for_loader`, :meth:`importlib.util.set_loader`, and :"
"meth:`importlib.util.set_package` are no longer needed because their "
"functions are now handled automatically by the import system."
msgstr ""
#: whatsnew/3.4.rst:2104
msgid ""
"The :mod:`imp` module is pending deprecation. To keep compatibility with "
"Python 2/3 code bases, the module's removal is currently not scheduled."
msgstr ""
#: whatsnew/3.4.rst:2107
msgid ""
"The :mod:`formatter` module is pending deprecation and is slated for removal "
"in Python 3.6."
msgstr ""
#: whatsnew/3.4.rst:2110
msgid ""
"``MD5`` as the default *digestmod* for the :func:`hmac.new` function is "
"deprecated. Python 3.6 will require an explicit digest name or constructor "
"as *digestmod* argument."
msgstr ""
#: whatsnew/3.4.rst:2114
msgid ""
"The internal ``Netrc`` class in the :mod:`ftplib` module has been documented "
"as deprecated in its docstring for quite some time. It now emits a :exc:"
"`DeprecationWarning` and will be removed completely in Python 3.5."
msgstr ""
#: whatsnew/3.4.rst:2118
msgid ""
"The undocumented *endtime* argument to :meth:`subprocess.Popen.wait` should "
"not have been exposed and is hopefully not in use; it is deprecated and will "
"mostly likely be removed in Python 3.5."
msgstr ""
#: whatsnew/3.4.rst:2122
msgid ""
"The *strict* argument of :class:`~html.parser.HTMLParser` is deprecated."
msgstr ""
#: whatsnew/3.4.rst:2124
msgid ""
"The :mod:`plistlib` :func:`~plistlib.readPlist`, :func:`~plistlib."
"writePlist`, :func:`~plistlib.readPlistFromBytes`, and :func:`~plistlib."
"writePlistToBytes` functions are deprecated in favor of the corresponding "
"new functions :func:`~plistlib.load`, :func:`~plistlib.dump`, :func:"
"`~plistlib.loads`, and :func:`~plistlib.dumps`. :func:`~plistlib.Data` is "
"deprecated in favor of just using the :class:`bytes` constructor."
msgstr ""
#: whatsnew/3.4.rst:2131
msgid ""
"The :mod:`sysconfig` key ``SO`` is deprecated, it has been replaced by "
"``EXT_SUFFIX``."
msgstr ""
#: whatsnew/3.4.rst:2134
msgid ""
"The ``U`` mode accepted by various ``open`` functions is deprecated. In "
"Python3 it does not do anything useful, and should be replaced by "
"appropriate uses of :class:`io.TextIOWrapper` (if needed) and its *newline* "
"argument."
msgstr ""
#: whatsnew/3.4.rst:2139
msgid ""
"The *parser* argument of :func:`xml.etree.ElementTree.iterparse` has been "
"deprecated, as has the *html* argument of :func:`~xml.etree.ElementTree."
"XMLParser`. To prepare for the removal of the latter, all arguments to "
"``XMLParser`` should be passed by keyword."
msgstr ""
#: whatsnew/3.4.rst:2146
msgid "Deprecated Features"
msgstr ""
#: whatsnew/3.4.rst:2148
msgid ""
"Running :ref:`idle` with the ``-n`` flag (no subprocess) is deprecated. "
"However, the feature will not be removed until :issue:`18823` is resolved."
msgstr ""
#: whatsnew/3.4.rst:2151
msgid ""
"The site module adding a \"site-python\" directory to sys.path, if it "
"exists, is deprecated (:issue:`19375`)."
msgstr ""
#: whatsnew/3.4.rst:2157 whatsnew/3.5.rst:2309
msgid "Removed"
msgstr ""
#: whatsnew/3.4.rst:2161
msgid "Operating Systems No Longer Supported"
msgstr ""
#: whatsnew/3.4.rst:2163
msgid ""
"Support for the following operating systems has been removed from the source "
"and build tools:"
msgstr ""
#: whatsnew/3.4.rst:2166
msgid "OS/2 (:issue:`16135`)."
msgstr ""
#: whatsnew/3.4.rst:2167
msgid "Windows 2000 (changeset e52df05b496a)."
msgstr ""
#: whatsnew/3.4.rst:2168
msgid ""
"Windows systems where ``COMSPEC`` points to ``command.com`` (:issue:`14470`)."
msgstr ""
#: whatsnew/3.4.rst:2169
msgid "VMS (:issue:`16136`)."
msgstr ""
#: whatsnew/3.4.rst:2173 whatsnew/3.5.rst:2312
msgid "API and Feature Removals"
msgstr ""
#: whatsnew/3.4.rst:2175 whatsnew/3.5.rst:2314
msgid ""
"The following obsolete and previously deprecated APIs and features have been "
"removed:"
msgstr ""
#: whatsnew/3.4.rst:2178
msgid ""
"The unmaintained ``Misc/TextMate`` and ``Misc/vim`` directories have been "
"removed (see the `devguide <https://docs.python.org/devguide>`_ for "
"suggestions on what to use instead)."
msgstr ""
#: whatsnew/3.4.rst:2182
msgid ""
"The ``SO`` makefile macro is removed (it was replaced by the "
"``SHLIB_SUFFIX`` and ``EXT_SUFFIX`` macros) (:issue:`16754`)."
msgstr ""
#: whatsnew/3.4.rst:2185
msgid ""
"The ``PyThreadState.tick_counter`` field has been removed; its value has "
"been meaningless since Python 3.2, when the \"new GIL\" was introduced (:"
"issue:`19199`)."
msgstr ""
#: whatsnew/3.4.rst:2189
msgid ""
"``PyLoader`` and ``PyPycLoader`` have been removed from :mod:`importlib`. "
"(Contributed by Taras Lyapun in :issue:`15641`.)"
msgstr ""
#: whatsnew/3.4.rst:2192
msgid ""
"The *strict* argument to :class:`~http.client.HTTPConnection` and :class:"
"`~http.client.HTTPSConnection` has been removed. HTTP 0.9-style \"Simple "
"Responses\" are no longer supported."
msgstr ""
#: whatsnew/3.4.rst:2196
msgid ""
"The deprecated :mod:`urllib.request.Request` getter and setter methods "
"``add_data``, ``has_data``, ``get_data``, ``get_type``, ``get_host``, "
"``get_selector``, ``set_proxy``, ``get_origin_req_host``, and "
"``is_unverifiable`` have been removed (use direct attribute access instead)."
msgstr ""
#: whatsnew/3.4.rst:2201
msgid ""
"Support for loading the deprecated ``TYPE_INT64`` has been removed from :mod:"
"`marshal`. (Contributed by Dan Riti in :issue:`15480`.)"
msgstr ""
#: whatsnew/3.4.rst:2204
msgid ""
":class:`inspect.Signature`: positional-only parameters are now required to "
"have a valid name."
msgstr ""
#: whatsnew/3.4.rst:2207
msgid ""
":meth:`object.__format__` no longer accepts non-empty format strings, it now "
"raises a :exc:`TypeError` instead. Using a non-empty string has been "
"deprecated since Python 3.2. This change has been made to prevent a "
"situation where previously working (but incorrect) code would start failing "
"if an object gained a __format__ method, which means that your code may now "
"raise a :exc:`TypeError` if you are using an ``'s'`` format code with "
"objects that do not have a __format__ method that handles it. See :issue:"
"`7994` for background."
msgstr ""
#: whatsnew/3.4.rst:2216
msgid ""
":meth:`difflib.SequenceMatcher.isbjunk` and :meth:`difflib.SequenceMatcher."
"isbpopular` were deprecated in 3.2, and have now been removed: use ``x in sm."
"bjunk`` and ``x in sm.bpopular``, where *sm* is a :class:`~difflib."
"SequenceMatcher` object (:issue:`13248`)."
msgstr ""
#: whatsnew/3.4.rst:2224
msgid "Code Cleanups"
msgstr ""
#: whatsnew/3.4.rst:2226
msgid ""
"The unused and undocumented internal ``Scanner`` class has been removed from "
"the :mod:`pydoc` module."
msgstr ""
#: whatsnew/3.4.rst:2229
msgid ""
"The private and effectively unused ``_gestalt`` module has been removed, "
"along with the private :mod:`platform` functions ``_mac_ver_lookup``, "
"``_mac_ver_gstalt``, and ``_bcd2str``, which would only have ever been "
"called on badly broken OSX systems (see :issue:`18393`)."
msgstr ""
#: whatsnew/3.4.rst:2234
msgid ""
"The hardcoded copies of certain :mod:`stat` constants that were included in "
"the :mod:`tarfile` module namespace have been removed."
msgstr ""
#: whatsnew/3.4.rst:2240
#, fuzzy
msgid "Porting to Python 3.4"
msgstr "Portage vers Python 3.2"
#: whatsnew/3.4.rst:2247
msgid "Changes in 'python' Command Behavior"
msgstr ""
#: whatsnew/3.4.rst:2249
msgid ""
"In a posix shell, setting the :envvar:`PATH` environment variable to an "
"empty value is equivalent to not setting it at all. However, setting :"
"envvar:`PYTHONPATH` to an empty value was *not* equivalent to not setting it "
"at all: setting :envvar:`PYTHONPATH` to an empty value was equivalent to "
"setting it to ``.``, which leads to confusion when reasoning by analogy to "
"how :envvar:`PATH` works. The behavior now conforms to the posix convention "
"for :envvar:`PATH`."
msgstr ""
#: whatsnew/3.4.rst:2257
msgid ""
"The [X refs, Y blocks] output of a debug (``--with-pydebug``) build of the "
"CPython interpreter is now off by default. It can be re-enabled using the "
"``-X showrefcount`` option. (Contributed by Ezio Melotti in :issue:`17323`.)"
msgstr ""
#: whatsnew/3.4.rst:2261
msgid ""
"The python command and most stdlib scripts (as well as :mod:`argparse`) now "
"output ``--version`` information to ``stdout`` instead of ``stderr`` (for "
"issue list see :ref:`other-improvements-3.4` above)."
msgstr ""
#: whatsnew/3.4.rst:2267 whatsnew/3.5.rst:2353
msgid "Changes in the Python API"
msgstr ""
#: whatsnew/3.4.rst:2269
msgid ""
"The ABCs defined in :mod:`importlib.abc` now either raise the appropriate "
"exception or return a default value instead of raising :exc:"
"`NotImplementedError` blindly. This will only affect code calling :func:"
"`super` and falling through all the way to the ABCs. For compatibility, "
"catch both :exc:`NotImplementedError` or the appropriate exception as needed."
msgstr ""
#: whatsnew/3.4.rst:2275
msgid ""
"The module type now initializes the :attr:`__package__` and :attr:"
"`__loader__` attributes to ``None`` by default. To determine if these "
"attributes were set in a backwards-compatible fashion, use e.g. "
"``getattr(module, '__loader__', None) is not None``. (:issue:`17115`.)"
msgstr ""
#: whatsnew/3.4.rst:2280
msgid ""
":meth:`importlib.util.module_for_loader` now sets ``__loader__`` and "
"``__package__`` unconditionally to properly support reloading. If this is "
"not desired then you will need to set these attributes manually. You can "
"use :func:`importlib.util.module_to_load` for module management."
msgstr ""
#: whatsnew/3.4.rst:2285
msgid ""
"Import now resets relevant attributes (e.g. ``__name__``, ``__loader__``, "
"``__package__``, ``__file__``, ``__cached__``) unconditionally when "
"reloading. Note that this restores a pre-3.3 behavior in that it means a "
"module is re-found when re-loaded (:issue:`19413`)."
msgstr ""
#: whatsnew/3.4.rst:2290
msgid ""
"Frozen packages no longer set ``__path__`` to a list containing the package "
"name, they now set it to an empty list. The previous behavior could cause "
"the import system to do the wrong thing on submodule imports if there was "
"also a directory with the same name as the frozen package. The correct way "
"to determine if a module is a package or not is to use ``hasattr(module, "
"'__path__')`` (:issue:`18065`)."
msgstr ""
#: whatsnew/3.4.rst:2297
msgid ""
"Frozen modules no longer define a ``__file__`` attribute. It's semantically "
"incorrect for frozen modules to set the attribute as they are not loaded "
"from any explicit location. If you must know that a module comes from frozen "
"code then you can see if the module's ``__spec__.location`` is set to "
"``'frozen'``, check if the loader is a subclass of :class:`importlib."
"machinery.FrozenImporter`, or if Python 2 compatibility is necessary you can "
"use :func:`imp.is_frozen`."
msgstr ""
#: whatsnew/3.4.rst:2305
msgid ""
":func:`py_compile.compile` now raises :exc:`FileExistsError` if the file "
"path it would write to is a symlink or a non-regular file. This is to act as "
"a warning that import will overwrite those files with a regular file "
"regardless of what type of file path they were originally."
msgstr ""
#: whatsnew/3.4.rst:2310
msgid ""
":meth:`importlib.abc.SourceLoader.get_source` no longer raises :exc:"
"`ImportError` when the source code being loaded triggers a :exc:"
"`SyntaxError` or :exc:`UnicodeDecodeError`. As :exc:`ImportError` is meant "
"to be raised only when source code cannot be found but it should, it was "
"felt to be over-reaching/overloading of that meaning when the source code is "
"found but improperly structured. If you were catching ImportError before and "
"wish to continue to ignore syntax or decoding issues, catch all three "
"exceptions now."
msgstr ""
#: whatsnew/3.4.rst:2319
msgid ""
":func:`functools.update_wrapper` and :func:`functools.wraps` now correctly "
"set the ``__wrapped__`` attribute to the function being wrapped, even if "
"that function also had its ``__wrapped__`` attribute set. This means "
"``__wrapped__`` attributes now correctly link a stack of decorated functions "
"rather than every ``__wrapped__`` attribute in the chain referring to the "
"innermost function. Introspection libraries that assumed the previous "
"behaviour was intentional can use :func:`inspect.unwrap` to access the first "
"function in the chain that has no ``__wrapped__`` attribute."
msgstr ""
#: whatsnew/3.4.rst:2329
msgid ""
":func:`inspect.getfullargspec` has been reimplemented on top of :func:"
"`inspect.signature` and hence handles a much wider variety of callable "
"objects than it did in the past. It is expected that additional builtin and "
"extension module callables will gain signature metadata over the course of "
"the Python 3.4 series. Code that assumes that :func:`inspect.getfullargspec` "
"will fail on non-Python callables may need to be adjusted accordingly."
msgstr ""
#: whatsnew/3.4.rst:2337
msgid ""
":class:`importlib.machinery.PathFinder` now passes on the current working "
"directory to objects in :data:`sys.path_hooks` for the empty string. This "
"results in :data:`sys.path_importer_cache` never containing ``''``, thus "
"iterating through :data:`sys.path_importer_cache` based on :data:`sys.path` "
"will not find all keys. A module's ``__file__`` when imported in the current "
"working directory will also now have an absolute path, including when using "
"``-m`` with the interpreter (except for ``__main__.__file__`` when a script "
"has been executed directly using a relative path) (Contributed by Brett "
"Cannon in :issue:`18416`). is specified on the command-line) (:issue:"
"`18416`)."
msgstr ""
#: whatsnew/3.4.rst:2348
msgid ""
"The removal of the *strict* argument to :class:`~http.client.HTTPConnection` "
"and :class:`~http.client.HTTPSConnection` changes the meaning of the "
"remaining arguments if you are specifying them positionally rather than by "
"keyword. If you've been paying attention to deprecation warnings your code "
"should already be specifying any additional arguments via keywords."
msgstr ""
#: whatsnew/3.4.rst:2354
msgid ""
"Strings between ``from __future__ import ...`` statements now *always* raise "
"a :exc:`SyntaxError`. Previously if there was no leading docstring, an "
"interstitial string would sometimes be ignored. This brings CPython into "
"compliance with the language spec; Jython and PyPy already were. (:issue:"
"`17434`)."
msgstr ""
#: whatsnew/3.4.rst:2360
msgid ""
":meth:`ssl.SSLSocket.getpeercert` and :meth:`ssl.SSLSocket.do_handshake` now "
"raise an :exc:`OSError` with ``ENOTCONN`` when the ``SSLSocket`` is not "
"connected, instead of the previous behavior of raising an :exc:"
"`AttributeError`. In addition, :meth:`~ssl.SSLSocket.getpeercert` will "
"raise a :exc:`ValueError` if the handshake has not yet been done."
msgstr ""
#: whatsnew/3.4.rst:2366
msgid ""
":func:`base64.b32decode` now raises a :exc:`binascii.Error` when the input "
"string contains non-b32-alphabet characters, instead of a :exc:`TypeError`. "
"This particular :exc:`TypeError` was missed when the other :exc:`TypeError`"
"\\ s were converted. (Contributed by Serhiy Storchaka in :issue:`18011`.) "
"Note: this change was also inadvertently applied in Python 3.3.3."
msgstr ""
#: whatsnew/3.4.rst:2373
msgid ""
"The :attr:`~cgi.FieldStorage.file` attribute is now automatically closed "
"when the creating :class:`cgi.FieldStorage` instance is garbage collected. "
"If you were pulling the file object out separately from the :class:`cgi."
"FieldStorage` instance and not keeping the instance alive, then you should "
"either store the entire :class:`cgi.FieldStorage` instance or read the "
"contents of the file before the :class:`cgi.FieldStorage` instance is "
"garbage collected."
msgstr ""
#: whatsnew/3.4.rst:2380
msgid ""
"Calling ``read`` or ``write`` on a closed SSL socket now raises an "
"informative :exc:`ValueError` rather than the previous more mysterious :exc:"
"`AttributeError` (:issue:`9177`)."
msgstr ""
#: whatsnew/3.4.rst:2384
msgid ""
":meth:`slice.indices` no longer produces an :exc:`OverflowError` for huge "
"values. As a consequence of this fix, :meth:`slice.indices` now raises a :"
"exc:`ValueError` if given a negative length; previously it returned nonsense "
"values (:issue:`14794`)."
msgstr ""
#: whatsnew/3.4.rst:2389
msgid ""
"The :class:`complex` constructor, unlike the :mod:`cmath` functions, was "
"incorrectly accepting :class:`float` values if an object's ``__complex__`` "
"special method returned one. This now raises a :exc:`TypeError`. (:issue:"
"`16290`.)"
msgstr ""
#: whatsnew/3.4.rst:2394
msgid ""
"The :class:`int` constructor in 3.2 and 3.3 erroneously accepts :class:"
"`float` values for the *base* parameter. It is unlikely anyone was doing "
"this, but if so, it will now raise a :exc:`TypeError` (:issue:`16772`)."
msgstr ""
#: whatsnew/3.4.rst:2398
msgid ""
"Defaults for keyword-only arguments are now evaluated *after* defaults for "
"regular keyword arguments, instead of before. Hopefully no one wrote any "
"code that depends on the previous buggy behavior (:issue:`16967`)."
msgstr ""
#: whatsnew/3.4.rst:2402
msgid ""
"Stale thread states are now cleared after :func:`~os.fork`. This may cause "
"some system resources to be released that previously were incorrectly kept "
"perpetually alive (for example, database connections kept in thread-local "
"storage). (:issue:`17094`.)"
msgstr ""
#: whatsnew/3.4.rst:2407
msgid ""
"Parameter names in ``__annotations__`` dicts are now mangled properly, "
"similarly to ``__kwdefaults__``. (Contributed by Yury Selivanov in :issue:"
"`20625`.)"
msgstr ""
#: whatsnew/3.4.rst:2411
msgid ""
":attr:`hashlib.hash.name` now always returns the identifier in lower case. "
"Previously some builtin hashes had uppercase names, but now that it is a "
"formal public interface the naming has been made consistent (:issue:`18532`)."
msgstr ""
#: whatsnew/3.4.rst:2415
msgid ""
"Because :mod:`unittest.TestSuite` now drops references to tests after they "
"are run, test harnesses that re-use a :class:`~unittest.TestSuite` to re-run "
"a set of tests may fail. Test suites should not be re-used in this fashion "
"since it means state is retained between test runs, breaking the test "
"isolation that :mod:`unittest` is designed to provide. However, if the lack "
"of isolation is considered acceptable, the old behavior can be restored by "
"creating a :mod:`~unittest.TestSuite` subclass that defines a "
"``_removeTestAtIndex`` method that does nothing (see :meth:`.TestSuite."
"__iter__`) (:issue:`11798`)."
msgstr ""
#: whatsnew/3.4.rst:2425
msgid ""
":mod:`unittest` now uses :mod:`argparse` for command line parsing. There "
"are certain invalid command forms that used to work that are no longer "
"allowed; in theory this should not cause backward compatibility issues since "
"the disallowed command forms didn't make any sense and are unlikely to be in "
"use."
msgstr ""
#: whatsnew/3.4.rst:2430
msgid ""
"The :func:`re.split`, :func:`re.findall`, and :func:`re.sub` functions, and "
"the :meth:`~re.match.group` and :meth:`~re.match.groups` methods of "
"``match`` objects now always return a *bytes* object when the string to be "
"matched is a :term:`bytes-like object`. Previously the return type matched "
"the input type, so if your code was depending on the return value being, "
"say, a ``bytearray``, you will need to change your code."
msgstr ""
#: whatsnew/3.4.rst:2437
msgid ""
":mod:`audioop` functions now raise an error immediately if passed string "
"input, instead of failing randomly later on (:issue:`16685`)."
msgstr ""
#: whatsnew/3.4.rst:2440
msgid ""
"The new *convert_charrefs* argument to :class:`~html.parser.HTMLParser` "
"currently defaults to ``False`` for backward compatibility, but will "
"eventually be changed to default to ``True``. It is recommended that you "
"add this keyword, with the appropriate value, to any :class:`~html.parser."
"HTMLParser` calls in your code (:issue:`13633`)."
msgstr ""
#: whatsnew/3.4.rst:2446
msgid ""
"Since the *digestmod* argument to the :func:`hmac.new` function will in the "
"future have no default, all calls to :func:`hmac.new` should be changed to "
"explicitly specify a *digestmod* (:issue:`17276`)."
msgstr ""
#: whatsnew/3.4.rst:2450
msgid ""
"Calling :func:`sysconfig.get_config_var` with the ``SO`` key, or looking "
"``SO`` up in the results of a call to :func:`sysconfig.get_config_vars` is "
"deprecated. This key should be replaced by ``EXT_SUFFIX`` or "
"``SHLIB_SUFFIX``, depending on the context (:issue:`19555`)."
msgstr ""
#: whatsnew/3.4.rst:2455
msgid ""
"Any calls to ``open`` functions that specify ``U`` should be modified. ``U`` "
"is ineffective in Python3 and will eventually raise an error if used. "
"Depending on the function, the equivalent of its old Python2 behavior can be "
"achieved using either a *newline* argument, or if necessary by wrapping the "
"stream in :mod:`~io.TextIOWrapper` to use its *newline* argument (:issue:"
"`15204`)."
msgstr ""
#: whatsnew/3.4.rst:2462
msgid ""
"If you use :ref:`pyvenv <scripts-pyvenv>` in a script and desire that pip "
"*not* be installed, you must add ``--without-pip`` to your command "
"invocation."
msgstr ""
#: whatsnew/3.4.rst:2466
msgid ""
"The default behavior of :func:`json.dump` and :func:`json.dumps` when an "
"indent is specified has changed: it no longer produces trailing spaces after "
"the item separating commas at the ends of lines. This will matter only if "
"you have tests that are doing white-space-sensitive comparisons of such "
"output (:issue:`16333`)."
msgstr ""
#: whatsnew/3.4.rst:2472
msgid ""
":mod:`doctest` now looks for doctests in extension module ``__doc__`` "
"strings, so if your doctest test discovery includes extension modules that "
"have things that look like doctests in them you may see test failures you've "
"never seen before when running your tests (:issue:`3158`)."
msgstr ""
#: whatsnew/3.4.rst:2477
msgid ""
"The :mod:`collections.abc` module has been slightly refactored as part of "
"the Python startup improvements. As a consequence of this, it is no longer "
"the case that importing :mod:`collections` automatically imports :mod:"
"`collections.abc`. If your program depended on the (undocumented) implicit "
"import, you will need to add an explicit ``import collections.abc`` (:issue:"
"`20784`)."
msgstr ""
#: whatsnew/3.4.rst:2486 whatsnew/3.5.rst:2470
msgid "Changes in the C API"
msgstr ""
#: whatsnew/3.4.rst:2488
msgid ""
":c:func:`PyEval_EvalFrameEx`, :c:func:`PyObject_Repr`, and :c:func:"
"`PyObject_Str`, along with some other internal C APIs, now include a "
"debugging assertion that ensures they are not used in situations where they "
"may silently discard a currently active exception. In cases where discarding "
"the active exception is expected and desired (for example, because it has "
"already been saved locally with :c:func:`PyErr_Fetch` or is being "
"deliberately replaced with a different exception), an explicit :c:func:"
"`PyErr_Clear` call will be needed to avoid triggering the assertion when "
"invoking these operations (directly or indirectly) and running against a "
"version of Python that is compiled with assertions enabled."
msgstr ""
#: whatsnew/3.4.rst:2500
msgid ""
":c:func:`PyErr_SetImportError` now sets :exc:`TypeError` when its **msg** "
"argument is not set. Previously only ``NULL`` was returned with no exception "
"set."
msgstr ""
#: whatsnew/3.4.rst:2504
msgid ""
"The result of the :c:data:`PyOS_ReadlineFunctionPointer` callback must now "
"be a string allocated by :c:func:`PyMem_RawMalloc` or :c:func:"
"`PyMem_RawRealloc`, or *NULL* if an error occurred, instead of a string "
"allocated by :c:func:`PyMem_Malloc` or :c:func:`PyMem_Realloc` (:issue:"
"`16742`)"
msgstr ""
#: whatsnew/3.4.rst:2510
msgid ""
":c:func:`PyThread_set_key_value` now always set the value. In Python 3.3, "
"the function did nothing if the key already exists (if the current value is "
"a non-NULL pointer)."
msgstr ""
#: whatsnew/3.4.rst:2514
msgid ""
"The ``f_tstate`` (thread state) field of the :c:type:`PyFrameObject` "
"structure has been removed to fix a bug: see :issue:`14432` for the "
"rationale."
msgstr ""
#: whatsnew/3.4.rst:2519
msgid "Changed in 3.4.3"
msgstr ""
#: whatsnew/3.4.rst:2524
msgid ""
"PEP 476: Enabling certificate verification by default for stdlib http clients"
msgstr ""
#: whatsnew/3.4.rst:2526
msgid ""
":mod:`http.client` and modules which use it, such as :mod:`urllib.request` "
"and :mod:`xmlrpc.client`, will now verify that the server presents a "
"certificate which is signed by a CA in the platform trust store and whose "
"hostname matches the hostname being requested by default, significantly "
"improving security for many applications."
msgstr ""
#: whatsnew/3.4.rst:2532
msgid ""
"For applications which require the old previous behavior, they can pass an "
"alternate context::"
msgstr ""
#: whatsnew/3.5.rst:3
#, fuzzy
msgid "What's New In Python 3.5"
msgstr "Nouveautés de Python 2.0"
#: whatsnew/3.5.rst:5
msgid "Elvis Pranskevichus <elvis@magic.io>, Yury Selivanov <yury@magic.io>"
msgstr ""
#: whatsnew/3.5.rst:47
msgid ""
"This article explains the new features in Python 3.5, compared to 3.4. "
"Python 3.5 was released on September 13, 2015.  See the `changelog <https://"
"docs.python.org/3.5/whatsnew/changelog.html>`_ for a full list of changes."
msgstr ""
#: whatsnew/3.5.rst:54
msgid ":pep:`478` - Python 3.5 Release Schedule"
msgstr ""
#: whatsnew/3.5.rst:62
msgid ""
":ref:`PEP 492 <whatsnew-pep-492>`, coroutines with async and await syntax."
msgstr ""
#: whatsnew/3.5.rst:63
msgid ""
":ref:`PEP 465 <whatsnew-pep-465>`, a new matrix multiplication operator: ``a "
"@ b``."
msgstr ""
#: whatsnew/3.5.rst:64
msgid ""
":ref:`PEP 448 <whatsnew-pep-448>`, additional unpacking generalizations."
msgstr ""
#: whatsnew/3.5.rst:69
msgid ":mod:`typing`: :ref:`PEP 484 -- Type Hints <whatsnew-pep-484>`."
msgstr ""
#: whatsnew/3.5.rst:70
msgid ""
":mod:`zipapp`: :ref:`PEP 441 Improving Python ZIP Application Support "
"<whatsnew-zipapp>`."
msgstr ""
#: whatsnew/3.5.rst:76
msgid ""
"``bytes % args``, ``bytearray % args``: :ref:`PEP 461 <whatsnew-pep-461>` -- "
"Adding ``%`` formatting to bytes and bytearray."
msgstr ""
#: whatsnew/3.5.rst:79
msgid ""
"New :meth:`bytes.hex`, :meth:`bytearray.hex` and :meth:`memoryview.hex` "
"methods. (Contributed by Arnon Yaari in :issue:`9951`.)"
msgstr ""
#: whatsnew/3.5.rst:82
msgid ""
":class:`memoryview` now supports tuple indexing (including multi-"
"dimensional). (Contributed by Antoine Pitrou in :issue:`23632`.)"
msgstr ""
#: whatsnew/3.5.rst:85
msgid ""
"Generators have a new ``gi_yieldfrom`` attribute, which returns the object "
"being iterated by ``yield from`` expressions. (Contributed by Benno Leslie "
"and Yury Selivanov in :issue:`24450`.)"
msgstr ""
#: whatsnew/3.5.rst:89
msgid ""
"A new :exc:`RecursionError` exception is now raised when maximum recursion "
"depth is reached. (Contributed by Georg Brandl in :issue:`19235`.)"
msgstr ""
#: whatsnew/3.5.rst:96
msgid ""
"When the ``LC_TYPE`` locale is the POSIX locale (``C`` locale), :py:data:"
"`sys.stdin` and :py:data:`sys.stdout` now use the ``surrogateescape`` error "
"handler, instead of the ``strict`` error handler. (Contributed by Victor "
"Stinner in :issue:`19977`.)"
msgstr ""
#: whatsnew/3.5.rst:101
msgid ""
"``.pyo`` files are no longer used and have been replaced by a more flexible "
"scheme that includes the optimization level explicitly in ``.pyc`` name. "
"(See :ref:`PEP 488 overview <whatsnew-pep-488>`.)"
msgstr ""
#: whatsnew/3.5.rst:105
msgid ""
"Builtin and extension modules are now initialized in a multi-phase process, "
"which is similar to how Python modules are loaded. (See :ref:`PEP 489 "
"overview <whatsnew-pep-489>`.)"
msgstr ""
#: whatsnew/3.5.rst:110
msgid "Significant improvements in the standard library:"
msgstr ""
#: whatsnew/3.5.rst:112
msgid ""
":class:`collections.OrderedDict` is now :ref:`implemented in C <whatsnew-"
"ordereddict>`, which makes it 4 to 100 times faster."
msgstr ""
#: whatsnew/3.5.rst:116
msgid ""
"The :mod:`ssl` module gained :ref:`support for Memory BIO <whatsnew-"
"sslmemorybio>`, which decouples SSL protocol handling from network IO."
msgstr ""
#: whatsnew/3.5.rst:120
msgid ""
"The new :func:`os.scandir` function provides a :ref:`better and "
"significantly faster way <whatsnew-pep-471>` of directory traversal."
msgstr ""
#: whatsnew/3.5.rst:124
msgid ""
":func:`functools.lru_cache` has been mostly :ref:`reimplemented in C "
"<whatsnew-lrucache>`, yielding much better performance."
msgstr ""
#: whatsnew/3.5.rst:128
msgid ""
"The new :func:`subprocess.run` function provides a :ref:`streamlined way to "
"run subprocesses <whatsnew-subprocess>`."
msgstr ""
#: whatsnew/3.5.rst:131
msgid ""
"The :mod:`traceback` module has been significantly :ref:`enhanced <whatsnew-"
"traceback>` for improved performance and developer convenience."
msgstr ""
#: whatsnew/3.5.rst:138
msgid ""
"SSLv3 is now disabled throughout the standard library. It can still be "
"enabled by instantiating a :class:`ssl.SSLContext` manually. (See :issue:"
"`22638` for more details; this change was backported to CPython 3.4 and 2.7.)"
msgstr ""
#: whatsnew/3.5.rst:143
msgid ""
"HTTP cookie parsing is now stricter, in order to protect against potential "
"injection attacks. (Contributed by Antoine Pitrou in :issue:`22796`.)"
msgstr ""
#: whatsnew/3.5.rst:148
msgid "Windows improvements:"
msgstr ""
#: whatsnew/3.5.rst:150
msgid ""
"A new installer for Windows has replaced the old MSI. See :ref:`using-on-"
"windows` for more information."
msgstr ""
#: whatsnew/3.5.rst:153
msgid ""
"Windows builds now use Microsoft Visual C++ 14.0, and extension modules "
"should use the same."
msgstr ""
#: whatsnew/3.5.rst:168
msgid "PEP 492 - Coroutines with async and await syntax"
msgstr ""
#: whatsnew/3.5.rst:170
msgid ""
":pep:`492` greatly improves support for asynchronous programming in Python "
"by adding :term:`awaitable objects <awaitable>`, :term:`coroutine functions "
"<coroutine function>`, :term:`asynchronous iteration <asynchronous "
"iterable>`, and :term:`asynchronous context managers <asynchronous context "
"manager>`."
msgstr ""
#: whatsnew/3.5.rst:176
msgid ""
"Coroutine functions are declared using the new :keyword:`async def` syntax::"
msgstr ""
#: whatsnew/3.5.rst:181
msgid ""
"Inside a coroutine function, the new :keyword:`await` expression can be used "
"to suspend coroutine execution until the result is available. Any object "
"can be *awaited*, as long as it implements the :term:`awaitable` protocol by "
"defining the :meth:`__await__` method."
msgstr ""
#: whatsnew/3.5.rst:186
msgid ""
"PEP 492 also adds :keyword:`async for` statement for convenient iteration "
"over asynchronous iterables."
msgstr ""
#: whatsnew/3.5.rst:189
msgid "An example of a rudimentary HTTP client written using the new syntax::"
msgstr ""
#: whatsnew/3.5.rst:215
msgid ""
"Similarly to asynchronous iteration, there is a new syntax for asynchronous "
"context managers. The following script::"
msgstr ""
#: whatsnew/3.5.rst:235
msgid "will output::"
msgstr ""
#: whatsnew/3.5.rst:244
msgid ""
"Note that both :keyword:`async for` and :keyword:`async with` can only be "
"used inside a coroutine function declared with :keyword:`async def`."
msgstr ""
#: whatsnew/3.5.rst:247
msgid ""
"Coroutine functions are intended to be run inside a compatible event loop, "
"such as the :ref:`asyncio loop <asyncio-event-loop>`."
msgstr ""
#: whatsnew/3.5.rst:252
msgid "PEP 492 -- Coroutines with async and await syntax"
msgstr ""
#: whatsnew/3.5.rst:253
msgid "PEP written and implemented by Yury Selivanov."
msgstr ""
#: whatsnew/3.5.rst:259
msgid "PEP 465 - A dedicated infix operator for matrix multiplication"
msgstr ""
#: whatsnew/3.5.rst:261
msgid ""
":pep:`465` adds the ``@`` infix operator for matrix multiplication. "
"Currently, no builtin Python types implement the new operator, however, it "
"can be implemented by defining :meth:`__matmul__`, :meth:`__rmatmul__`, and :"
"meth:`__imatmul__` for regular, reflected, and in-place matrix "
"multiplication. The semantics of these methods is similar to that of "
"methods defining other infix arithmetic operators."
msgstr ""
#: whatsnew/3.5.rst:268
msgid ""
"Matrix multiplication is a notably common operation in many fields of "
"mathematics, science, engineering, and the addition of ``@`` allows writing "
"cleaner code::"
msgstr ""
#: whatsnew/3.5.rst:274
msgid "instead of::"
msgstr ""
#: whatsnew/3.5.rst:279
msgid "NumPy 1.10 has support for the new operator::"
msgstr ""
#: whatsnew/3.5.rst:299
msgid "PEP 465 -- A dedicated infix operator for matrix multiplication"
msgstr ""
#: whatsnew/3.5.rst:300
msgid "PEP written by Nathaniel J. Smith; implemented by Benjamin Peterson."
msgstr ""
#: whatsnew/3.5.rst:306
msgid "PEP 448 - Additional Unpacking Generalizations"
msgstr ""
#: whatsnew/3.5.rst:308
msgid ""
":pep:`448` extends the allowed uses of the ``*`` iterable unpacking operator "
"and ``**`` dictionary unpacking operator. It is now possible to use an "
"arbitrary number of unpackings in function calls::"
msgstr ""
#: whatsnew/3.5.rst:322
msgid ""
"Similarly, tuple, list, set, and dictionary displays allow multiple "
"unpackings::"
msgstr ""
#: whatsnew/3.5.rst:340
msgid "PEP 448 -- Additional Unpacking Generalizations"
msgstr ""
#: whatsnew/3.5.rst:340
msgid ""
"PEP written by Joshua Landau; implemented by Neil Girdhar, Thomas Wouters, "
"and Joshua Landau."
msgstr ""
#: whatsnew/3.5.rst:347
msgid "PEP 461 - % formatting support for bytes and bytearray"
msgstr ""
#: whatsnew/3.5.rst:349
msgid ""
":pep:`461` adds support for the ``%`` :ref:`interpolation operator <bytes-"
"formatting>` to :class:`bytes` and :class:`bytearray`."
msgstr ""
#: whatsnew/3.5.rst:353
msgid ""
"While interpolation is usually thought of as a string operation, there are "
"cases where interpolation on ``bytes`` or ``bytearrays`` makes sense, and "
"the work needed to make up for this missing functionality detracts from the "
"overall readability of the code. This issue is particularly important when "
"dealing with wire format protocols, which are often a mixture of binary and "
"ASCII compatible text."
msgstr ""
#: whatsnew/3.5.rst:360 whatsnew/3.5.rst:1804
msgid "Examples::"
msgstr "Exemples ::"
#: whatsnew/3.5.rst:368
msgid ""
"Unicode is not allowed for ``%b``, but it is accepted by ``%a`` (equivalent "
"of ``repr(obj).encode('ascii', 'backslashreplace')``)::"
msgstr ""
#: whatsnew/3.5.rst:379
msgid ""
"Note that ``%s`` and ``%r`` conversion types, although supported, should "
"only be used in codebases that need compatibility with Python 2."
msgstr ""
#: whatsnew/3.5.rst:385
msgid "PEP 461 -- Adding % formatting to bytes and bytearray"
msgstr ""
#: whatsnew/3.5.rst:385
msgid ""
"PEP written by Ethan Furman; implemented by Neil Schemenauer and Ethan "
"Furman."
msgstr ""
#: whatsnew/3.5.rst:392
msgid "PEP 484 - Type Hints"
msgstr ""
#: whatsnew/3.5.rst:394
msgid ""
"Function annotation syntax has been a Python feature since version 3.0 (:pep:"
"`3107`), however the semantics of annotations has been left undefined."
msgstr ""
#: whatsnew/3.5.rst:397
msgid ""
"Experience has shown that the majority of function annotation uses were to "
"provide type hints to function parameters and return values. It became "
"evident that it would be beneficial for Python users, if the standard "
"library included the base definitions and tools for type annotations."
msgstr ""
#: whatsnew/3.5.rst:402
msgid ""
":pep:`484` introduces a :term:`provisional module <provisional api>` to "
"provide these standard definitions and tools, along with some conventions "
"for situations where annotations are not available."
msgstr ""
#: whatsnew/3.5.rst:406
msgid ""
"For example, here is a simple function whose argument and return type are "
"declared in the annotations::"
msgstr ""
#: whatsnew/3.5.rst:412
msgid ""
"While these annotations are available at runtime through the usual :attr:"
"`__annotations__` attribute, *no automatic type checking happens at "
"runtime*. Instead, it is assumed that a separate off-line type checker (e."
"g. `mypy <http://mypy-lang.org>`_) will be used for on-demand source code "
"analysis."
msgstr ""
#: whatsnew/3.5.rst:418
msgid ""
"The type system supports unions, generic types, and a special type named :"
"class:`~typing.Any` which is consistent with (i.e. assignable to and from) "
"all types."
msgstr ""
#: whatsnew/3.5.rst:424
msgid ":mod:`typing` module documentation"
msgstr ""
#: whatsnew/3.5.rst:426
msgid "PEP 484 -- Type Hints"
msgstr ""
#: whatsnew/3.5.rst:426
msgid ""
"PEP written by Guido van Rossum, Jukka Lehtosalo, and Łukasz Langa; "
"implemented by Guido van Rossum."
msgstr ""
#: whatsnew/3.5.rst:428
msgid "PEP 483 -- The Theory of Type Hints"
msgstr ""
#: whatsnew/3.5.rst:429
msgid "PEP written by Guido van Rossum"
msgstr ""
#: whatsnew/3.5.rst:435
msgid ""
"PEP 471 - os.scandir() function -- a better and faster directory iterator"
msgstr ""
#: whatsnew/3.5.rst:437
msgid ""
":pep:`471` adds a new directory iteration function, :func:`os.scandir`, to "
"the standard library. Additionally, :func:`os.walk` is now implemented "
"using ``scandir``, which makes it 3 to 5 times faster on POSIX systems and 7 "
"to 20 times faster on Windows systems. This is largely achieved by greatly "
"reducing the number of calls to :func:`os.stat` required to walk a directory "
"tree."
msgstr ""
#: whatsnew/3.5.rst:444
msgid ""
"Additionally, ``scandir`` returns an iterator, as opposed to returning a "
"list of file names, which improves memory efficiency when iterating over "
"very large directories."
msgstr ""
#: whatsnew/3.5.rst:448
msgid ""
"The following example shows a simple use of :func:`os.scandir` to display "
"all the files (excluding directories) in the given *path* that don't start "
"with ``'.'``. The :meth:`entry.is_file() <os.DirEntry.is_file>` call will "
"generally not make an additional system call::"
msgstr ""
#: whatsnew/3.5.rst:459
msgid ""
"PEP 471 -- os.scandir() function -- a better and faster directory iterator"
msgstr ""
#: whatsnew/3.5.rst:460
msgid ""
"PEP written and implemented by Ben Hoyt with the help of Victor Stinner."
msgstr ""
#: whatsnew/3.5.rst:466
msgid "PEP 475: Retry system calls failing with EINTR"
msgstr ""
#: whatsnew/3.5.rst:468
msgid ""
"An :py:data:`errno.EINTR` error code is returned whenever a system call, "
"that is waiting for I/O, is interrupted by a signal. Previously, Python "
"would raise :exc:`InterruptedError` in such cases. This meant that, when "
"writing a Python application, the developer had two choices:"
msgstr ""
#: whatsnew/3.5.rst:473
msgid "Ignore the ``InterruptedError``."
msgstr ""
#: whatsnew/3.5.rst:474
msgid ""
"Handle the ``InterruptedError`` and attempt to restart the interrupted "
"system call at every call site."
msgstr ""
#: whatsnew/3.5.rst:477
msgid ""
"The first option makes an application fail intermittently. The second option "
"adds a large amount of boilerplate that makes the code nearly unreadable. "
"Compare::"
msgstr ""
#: whatsnew/3.5.rst:483
msgid "and::"
msgstr ""
#: whatsnew/3.5.rst:492
msgid ""
":pep:`475` implements automatic retry of system calls on ``EINTR``. This "
"removes the burden of dealing with ``EINTR`` or :exc:`InterruptedError` in "
"user code in most situations and makes Python programs, including the "
"standard library, more robust. Note that the system call is only retried if "
"the signal handler does not raise an exception."
msgstr ""
#: whatsnew/3.5.rst:499
msgid ""
"Below is a list of functions which are now retried when interrupted by a "
"signal:"
msgstr ""
#: whatsnew/3.5.rst:502
msgid ":func:`open` and :func:`io.open`;"
msgstr ""
#: whatsnew/3.5.rst:504
msgid "functions of the :mod:`faulthandler` module;"
msgstr ""
#: whatsnew/3.5.rst:506
msgid ""
":mod:`os` functions: :func:`~os.fchdir`, :func:`~os.fchmod`, :func:`~os."
"fchown`, :func:`~os.fdatasync`, :func:`~os.fstat`, :func:`~os.fstatvfs`, :"
"func:`~os.fsync`, :func:`~os.ftruncate`, :func:`~os.mkfifo`, :func:`~os."
"mknod`, :func:`~os.open`, :func:`~os.posix_fadvise`, :func:`~os."
"posix_fallocate`, :func:`~os.pread`, :func:`~os.pwrite`, :func:`~os.read`, :"
"func:`~os.readv`, :func:`~os.sendfile`, :func:`~os.wait3`, :func:`~os."
"wait4`, :func:`~os.wait`, :func:`~os.waitid`, :func:`~os.waitpid`, :func:"
"`~os.write`, :func:`~os.writev`;"
msgstr ""
#: whatsnew/3.5.rst:516
msgid ""
"special cases: :func:`os.close` and :func:`os.dup2` now ignore :py:data:"
"`~errno.EINTR` errors; the syscall is not retried (see the PEP for the "
"rationale);"
msgstr ""
#: whatsnew/3.5.rst:520
msgid ""
":mod:`select` functions: :func:`devpoll.poll() <select.devpoll.poll>`, :func:"
"`epoll.poll() <select.epoll.poll>`, :func:`kqueue.control() <select.kqueue."
"control>`, :func:`poll.poll() <select.poll.poll>`, :func:`~select.select`;"
msgstr ""
#: whatsnew/3.5.rst:525
msgid ""
"methods of the :class:`~socket.socket` class: :meth:`~socket.socket."
"accept`, :meth:`~socket.socket.connect` (except for non-blocking sockets), :"
"meth:`~socket.socket.recv`, :meth:`~socket.socket.recvfrom`, :meth:`~socket."
"socket.recvmsg`, :meth:`~socket.socket.send`, :meth:`~socket.socket."
"sendall`, :meth:`~socket.socket.sendmsg`, :meth:`~socket.socket.sendto`;"
msgstr ""
#: whatsnew/3.5.rst:532
msgid ":func:`signal.sigtimedwait` and :func:`signal.sigwaitinfo`;"
msgstr ""
#: whatsnew/3.5.rst:534
msgid ":func:`time.sleep`."
msgstr ""
#: whatsnew/3.5.rst:539
msgid "PEP 475 -- Retry system calls failing with EINTR"
msgstr ""
#: whatsnew/3.5.rst:539
msgid ""
"PEP and implementation written by Charles-François Natali and Victor "
"Stinner, with the help of Antoine Pitrou (the French connection)."
msgstr ""
#: whatsnew/3.5.rst:546
msgid "PEP 479: Change StopIteration handling inside generators"
msgstr ""
#: whatsnew/3.5.rst:548
msgid ""
"The interaction of generators and :exc:`StopIteration` in Python 3.4 and "
"earlier was sometimes surprising, and could conceal obscure bugs. "
"Previously, ``StopIteration`` raised accidentally inside a generator "
"function was interpreted as the end of the iteration by the loop construct "
"driving the generator."
msgstr ""
#: whatsnew/3.5.rst:554
msgid ""
":pep:`479` changes the behavior of generators: when a ``StopIteration`` "
"exception is raised inside a generator, it is replaced with a :exc:"
"`RuntimeError` before it exits the generator frame. The main goal of this "
"change is to ease debugging in the situation where an unguarded :func:`next` "
"call raises ``StopIteration`` and causes the iteration controlled by the "
"generator to terminate silently. This is particularly pernicious in "
"combination with the ``yield from`` construct."
msgstr ""
#: whatsnew/3.5.rst:562
msgid ""
"This is a backwards incompatible change, so to enable the new behavior, a :"
"term:`__future__` import is necessary::"
msgstr ""
#: whatsnew/3.5.rst:582
msgid ""
"Without a ``__future__`` import, a :exc:`PendingDeprecationWarning` will be "
"raised whenever a ``StopIteration`` exception is raised inside a generator."
msgstr ""
#: whatsnew/3.5.rst:588
msgid "PEP 479 -- Change StopIteration handling inside generators"
msgstr ""
#: whatsnew/3.5.rst:588
msgid ""
"PEP written by Chris Angelico and Guido van Rossum. Implemented by Chris "
"Angelico, Yury Selivanov and Nick Coghlan."
msgstr ""
#: whatsnew/3.5.rst:595
msgid "PEP 485: A function for testing approximate equality"
msgstr ""
#: whatsnew/3.5.rst:597
msgid ""
":pep:`485` adds the :func:`math.isclose` and :func:`cmath.isclose` functions "
"which tell whether two values are approximately equal or \"close\" to each "
"other. Whether or not two values are considered close is determined "
"according to given absolute and relative tolerances. Relative tolerance is "
"the maximum allowed difference between ``isclose`` arguments, relative to "
"the larger absolute value::"
msgstr ""
#: whatsnew/3.5.rst:612
msgid ""
"It is also possible to compare two values using absolute tolerance, which "
"must be a non-negative value::"
msgstr ""
#: whatsnew/3.5.rst:626
msgid "PEP 485 -- A function for testing approximate equality"
msgstr ""
#: whatsnew/3.5.rst:626
msgid ""
"PEP written by Christopher Barker; implemented by Chris Barker and Tal Einat."
msgstr ""
#: whatsnew/3.5.rst:633
msgid "PEP 486: Make the Python Launcher aware of virtual environments"
msgstr ""
#: whatsnew/3.5.rst:635
msgid ""
":pep:`486` makes the Windows launcher (see :pep:`397`) aware of an active "
"virtual environment. When the default interpreter would be used and the "
"``VIRTUAL_ENV`` environment variable is set, the interpreter in the virtual "
"environment will be used."
msgstr ""
#: whatsnew/3.5.rst:642
msgid "PEP 486 -- Make the Python Launcher aware of virtual environments"
msgstr ""
#: whatsnew/3.5.rst:643
msgid "PEP written and implemented by Paul Moore."
msgstr ""
#: whatsnew/3.5.rst:649
msgid "PEP 488: Elimination of PYO files"
msgstr ""
#: whatsnew/3.5.rst:651
msgid ""
":pep:`488` does away with the concept of ``.pyo`` files. This means that ``."
"pyc`` files represent both unoptimized and optimized bytecode. To prevent "
"the need to constantly regenerate bytecode files, ``.pyc`` files now have an "
"optional ``opt-`` tag in their name when the bytecode is optimized. This has "
"the side-effect of no more bytecode file name clashes when running under "
"either :option:`-O` or :option:`-OO`. Consequently, bytecode files generated "
"from :option:`-O`, and :option:`-OO` may now exist simultaneously. :func:"
"`importlib.util.cache_from_source` has an updated API to help with this "
"change."
msgstr ""
#: whatsnew/3.5.rst:663
msgid "PEP 488 -- Elimination of PYO files"
msgstr ""
#: whatsnew/3.5.rst:664
msgid "PEP written and implemented by Brett Cannon."
msgstr ""
#: whatsnew/3.5.rst:670
msgid "PEP 489: Multi-phase extension module initialization"
msgstr ""
#: whatsnew/3.5.rst:672
msgid ""
":pep:`489` updates extension module initialization to take advantage of the "
"two step module loading mechanism introduced by :pep:`451` in Python 3.4."
msgstr ""
#: whatsnew/3.5.rst:675
msgid ""
"This change brings the import semantics of extension modules that opt-in to "
"using the new mechanism much closer to those of Python source and bytecode "
"modules, including the ability to use any valid identifier as a module name, "
"rather than being restricted to ASCII."
msgstr ""
#: whatsnew/3.5.rst:683
msgid "PEP 489 -- Multi-phase extension module initialization"
msgstr ""
#: whatsnew/3.5.rst:683
msgid ""
"PEP written by Petr Viktorin, Stefan Behnel, and Nick Coghlan; implemented "
"by Petr Viktorin."
msgstr ""
#: whatsnew/3.5.rst:692
msgid ""
"Added the ``\"namereplace\"`` error handlers. The ``\"backslashreplace\"`` "
"error handlers now work with decoding and translating. (Contributed by "
"Serhiy Storchaka in :issue:`19676` and :issue:`22286`.)"
msgstr ""
#: whatsnew/3.5.rst:696
msgid ""
"The :option:`-b` option now affects comparisons of :class:`bytes` with :"
"class:`int`. (Contributed by Serhiy Storchaka in :issue:`23681`.)"
msgstr ""
#: whatsnew/3.5.rst:699
msgid ""
"New Kazakh ``kz1048`` and Tajik ``koi8_t`` :ref:`codecs <standard-"
"encodings>`. (Contributed by Serhiy Storchaka in :issue:`22682` and :issue:"
"`22681`.)"
msgstr ""
#: whatsnew/3.5.rst:702
msgid ""
"Property docstrings are now writable. This is especially useful for :func:"
"`collections.namedtuple` docstrings. (Contributed by Berker Peksag in :issue:"
"`24064`.)"
msgstr ""
#: whatsnew/3.5.rst:706
msgid ""
"Circular imports involving relative imports are now supported. (Contributed "
"by Brett Cannon and Antoine Pitrou in :issue:`17636`.)"
msgstr ""
#: whatsnew/3.5.rst:714
msgid "typing"
msgstr ""
#: whatsnew/3.5.rst:716
msgid ""
"The new :mod:`typing` :term:`provisional <provisional api>` module provides "
"standard definitions and tools for function type annotations. See :ref:`Type "
"Hints <whatsnew-pep-484>` for more information."
msgstr ""
#: whatsnew/3.5.rst:723
msgid "zipapp"
msgstr ""
#: whatsnew/3.5.rst:725
msgid ""
"The new :mod:`zipapp` module (specified in :pep:`441`) provides an API and "
"command line tool for creating executable Python Zip Applications, which "
"were introduced in Python 2.6 in :issue:`1739468`, but which were not well "
"publicized, either at the time or since."
msgstr ""
#: whatsnew/3.5.rst:730
msgid ""
"With the new module, bundling your application is as simple as putting all "
"the files, including a ``__main__.py`` file, into a directory ``myapp`` and "
"running::"
msgstr ""
#: whatsnew/3.5.rst:737
msgid ""
"The module implementation has been contributed by Paul Moore in :issue:"
"`23491`."
msgstr ""
#: whatsnew/3.5.rst:742
msgid ":pep:`441` -- Improving Python ZIP Application Support"
msgstr ""
#: whatsnew/3.5.rst:751
msgid ""
"The :class:`~argparse.ArgumentParser` class now allows to disable :ref:"
"`abbreviated usage <prefix-matching>` of long options by setting :ref:"
"`allow_abbrev` to ``False``. (Contributed by Jonathan Paugh, Steven "
"Bethard, paul j3 and Daniel Eriksson in :issue:`14910`.)"
msgstr ""
#: whatsnew/3.5.rst:760
msgid ""
"Since the :mod:`asyncio` module is :term:`provisional <provisional api>`, "
"all changes introduced in Python 3.5 have also been backported to Python 3.4."
"x."
msgstr ""
#: whatsnew/3.5.rst:763
msgid "Notable changes in the :mod:`asyncio` module since Python 3.4.0:"
msgstr ""
#: whatsnew/3.5.rst:765
msgid ""
"New debugging APIs: :meth:`loop.set_debug() <asyncio.BaseEventLoop."
"set_debug>` and :meth:`loop.get_debug() <asyncio.BaseEventLoop.get_debug>` "
"methods. (Contributed by Victor Stinner.)"
msgstr ""
#: whatsnew/3.5.rst:769
msgid ""
"The proactor event loop now supports SSL. (Contributed by Antoine Pitrou and "
"Victor Stinner in :issue:`22560`.)"
msgstr ""
#: whatsnew/3.5.rst:772
msgid ""
"A new :meth:`loop.is_closed() <asyncio.BaseEventLoop.is_closed>` method to "
"check if the event loop is closed. (Contributed by Victor Stinner in :issue:"
"`21326`.)"
msgstr ""
#: whatsnew/3.5.rst:776
msgid ""
"A new :meth:`loop.create_task() <asyncio.BaseEventLoop.create_task>` to "
"conveniently create and schedule a new :class:`~asyncio.Task` for a "
"coroutine. The ``create_task`` method is also used by all asyncio functions "
"that wrap coroutines into tasks, such as :func:`asyncio.wait`, :func:"
"`asyncio.gather`, etc. (Contributed by Victor Stinner.)"
msgstr ""
#: whatsnew/3.5.rst:783
msgid ""
"A new :meth:`transport.get_write_buffer_limits() <asyncio.WriteTransport."
"get_write_buffer_limits>` method to inquire for *high-* and *low-* water "
"limits of the flow control. (Contributed by Victor Stinner.)"
msgstr ""
#: whatsnew/3.5.rst:788
msgid ""
"The :func:`~asyncio.async` function is deprecated in favor of :func:"
"`~asyncio.ensure_future`. (Contributed by Yury Selivanov.)"
msgstr ""
#: whatsnew/3.5.rst:792
msgid ""
"New :meth:`loop.set_task_factory() <asyncio.BaseEventLoop.set_task_factory>` "
"and :meth:`loop.set_task_factory() <asyncio.BaseEventLoop.get_task_factory>` "
"methods to customize the task factory that :meth:`loop.create_task() "
"<asyncio.BaseEventLoop.create_task>` method uses. (Contributed by Yury "
"Selivanov.)"
msgstr ""
#: whatsnew/3.5.rst:798
msgid ""
"New :meth:`Queue.join() <asyncio.Queue.join>` and :meth:`Queue.task_done() "
"<asyncio.Queue.task_done>` queue methods. (Contributed by Victor Stinner.)"
msgstr ""
#: whatsnew/3.5.rst:802
msgid ""
"The ``JoinableQueue`` class was removed, in favor of the :class:`asyncio."
"Queue` class. (Contributed by Victor Stinner.)"
msgstr ""
#: whatsnew/3.5.rst:806
msgid "Updates in 3.5.1:"
msgstr ""
#: whatsnew/3.5.rst:808
msgid ""
"The :func:`~asyncio.ensure_future` function and all functions that use it, "
"such as :meth:`loop.run_until_complete() <asyncio.BaseEventLoop."
"run_until_complete>`, now accept all kinds of :term:`awaitable objects "
"<awaitable>`. (Contributed by Yury Selivanov.)"
msgstr ""
#: whatsnew/3.5.rst:813
msgid ""
"New :func:`~asyncio.run_coroutine_threadsafe` function to submit coroutines "
"to event loops from other threads. (Contributed by Vincent Michel.)"
msgstr ""
#: whatsnew/3.5.rst:817
msgid ""
"New :meth:`Transport.is_closing() <asyncio.BaseTransport.is_closing>` method "
"to check if the transport is closing or closed. (Contributed by Yury "
"Selivanov.)"
msgstr ""
#: whatsnew/3.5.rst:821
msgid ""
"The :meth:`loop.create_server() <asyncio.BaseEventLoop.create_server>` "
"method can now accept a list of hosts. (Contributed by Yann Sionneau.)"
msgstr ""
#: whatsnew/3.5.rst:829
msgid ""
"The :meth:`BZ2Decompressor.decompress <bz2.BZ2Decompressor.decompress>` "
"method now accepts an optional *max_length* argument to limit the maximum "
"size of decompressed data. (Contributed by Nikolaus Rath in :issue:`15955`.)"
msgstr ""
#: whatsnew/3.5.rst:835
msgid "cgi"
msgstr ""
#: whatsnew/3.5.rst:837
msgid ""
"The :class:`~cgi.FieldStorage` class now supports the :term:`context "
"manager` protocol. (Contributed by Berker Peksag in :issue:`20289`.)"
msgstr ""
#: whatsnew/3.5.rst:842
msgid "cmath"
msgstr ""
#: whatsnew/3.5.rst:844
msgid ""
"A new function :func:`~cmath.isclose` provides a way to test for approximate "
"equality. (Contributed by Chris Barker and Tal Einat in :issue:`24270`.)"
msgstr ""
#: whatsnew/3.5.rst:849
msgid "code"
msgstr ""
#: whatsnew/3.5.rst:851
msgid ""
"The :func:`InteractiveInterpreter.showtraceback() <code."
"InteractiveInterpreter.showtraceback>` method now prints the full chained "
"traceback, just like the interactive interpreter. (Contributed by Claudiu "
"Popa in :issue:`17442`.)"
msgstr ""
#: whatsnew/3.5.rst:861
msgid ""
"The :class:`~collections.OrderedDict` class is now implemented in C, which "
"makes it 4 to 100 times faster. (Contributed by Eric Snow in :issue:"
"`16991`.)"
msgstr ""
#: whatsnew/3.5.rst:864
msgid ""
":meth:`OrderedDict.items() <collections.OrderedDict.items>`, :meth:"
"`OrderedDict.keys() <collections.OrderedDict.keys>`, :meth:`OrderedDict."
"values() <collections.OrderedDict.values>` views now support :func:"
"`reversed` iteration. (Contributed by Serhiy Storchaka in :issue:`19505`.)"
msgstr ""
#: whatsnew/3.5.rst:870
msgid ""
"The :class:`~collections.deque` class now defines :meth:`~collections.deque."
"index`, :meth:`~collections.deque.insert`, and :meth:`~collections.deque."
"copy`, and supports the ``+`` and ``*`` operators. This allows deques to be "
"recognized as a :class:`~collections.abc.MutableSequence` and improves their "
"substitutability for lists. (Contributed by Raymond Hettinger in :issue:"
"`23704`.)"
msgstr ""
#: whatsnew/3.5.rst:877
msgid ""
"Docstrings produced by :func:`~collections.namedtuple` can now be updated::"
msgstr ""
#: whatsnew/3.5.rst:884
msgid "(Contributed by Berker Peksag in :issue:`24064`.)"
msgstr ""
#: whatsnew/3.5.rst:886
msgid ""
"The :class:`~collections.UserString` class now implements the :meth:"
"`__getnewargs__`, :meth:`__rmod__`, :meth:`~str.casefold`, :meth:`~str."
"format_map`, :meth:`~str.isprintable`, and :meth:`~str.maketrans` methods to "
"match the corresponding methods of :class:`str`. (Contributed by Joe Jevnik "
"in :issue:`22189`.)"
msgstr ""
#: whatsnew/3.5.rst:894
msgid "collections.abc"
msgstr ""
#: whatsnew/3.5.rst:896
msgid ""
"The :meth:`Sequence.index() <collections.abc.Sequence.index>` method now "
"accepts *start* and *stop* arguments to match the corresponding methods of :"
"class:`tuple`, :class:`list`, etc. (Contributed by Devin Jeanpierre in :"
"issue:`23086`.)"
msgstr ""
#: whatsnew/3.5.rst:901
msgid ""
"A new :class:`~collections.abc.Generator` abstract base class. (Contributed "
"by Stefan Behnel in :issue:`24018`.)"
msgstr ""
#: whatsnew/3.5.rst:904
msgid ""
"New :class:`~collections.abc.Awaitable`, :class:`~collections.abc."
"Coroutine`, :class:`~collections.abc.AsyncIterator`, and :class:"
"`~collections.abc.AsyncIterable` abstract base classes. (Contributed by Yury "
"Selivanov in :issue:`24184`.)"
msgstr ""
#: whatsnew/3.5.rst:909
msgid ""
"For earlier Python versions, a backport of the new ABCs is available in an "
"external `PyPI package <https://pypi.python.org/pypi/backports_abc>`_."
msgstr ""
#: whatsnew/3.5.rst:914
msgid "compileall"
msgstr ""
#: whatsnew/3.5.rst:916
msgid ""
"A new :mod:`compileall` option, :samp:`-j {N}`, allows to run *N* workers "
"sumultaneously to perform parallel bytecode compilation. The :func:"
"`~compileall.compile_dir` function has a corresponding ``workers`` "
"parameter. (Contributed by Claudiu Popa in :issue:`16104`.)"
msgstr ""
#: whatsnew/3.5.rst:921
msgid ""
"Another new option, ``-r``, allows to control the maximum recursion level "
"for subdirectories. (Contributed by Claudiu Popa in :issue:`19628`.)"
msgstr ""
#: whatsnew/3.5.rst:924
msgid ""
"The ``-q`` command line option can now be specified more than once, in which "
"case all output, including errors, will be suppressed. The corresponding "
"``quiet`` parameter in :func:`~compileall.compile_dir`, :func:`~compileall."
"compile_file`, and :func:`~compileall.compile_path` can now accept an "
"integer value indicating the level of output suppression. (Contributed by "
"Thomas Kluyver in :issue:`21338`.)"
msgstr ""
#: whatsnew/3.5.rst:933
msgid "concurrent.futures"
msgstr ""
#: whatsnew/3.5.rst:935
msgid ""
"The :meth:`Executor.map() <concurrent.futures.Executor.map>` method now "
"accepts a *chunksize* argument to allow batching of tasks to improve "
"performance when :meth:`~concurrent.futures.ProcessPoolExecutor` is used. "
"(Contributed by Dan O'Reilly in :issue:`11271`.)"
msgstr ""
#: whatsnew/3.5.rst:940
msgid ""
"The number of workers in the :class:`~concurrent.futures.ThreadPoolExecutor` "
"constructor is optional now. The default value is 5 times the number of "
"CPUs. (Contributed by Claudiu Popa in :issue:`21527`.)"
msgstr ""
#: whatsnew/3.5.rst:948
msgid ""
":mod:`configparser` now provides a way to customize the conversion of values "
"by specifying a dictionary of converters in the :class:`~configparser."
"ConfigParser` constructor, or by defining them as methods in "
"``ConfigParser`` subclasses. Converters defined in a parser instance are "
"inherited by its section proxies."
msgstr ""
#: whatsnew/3.5.rst:954
#, fuzzy
msgid "Example::"
msgstr "Exemples ::"
#: whatsnew/3.5.rst:972
msgid "(Contributed by Łukasz Langa in :issue:`18159`.)"
msgstr ""
#: whatsnew/3.5.rst:978
msgid ""
"The new :func:`~contextlib.redirect_stderr` :term:`context manager` (similar "
"to :func:`~contextlib.redirect_stdout`) makes it easier for utility scripts "
"to handle inflexible APIs that write their output to :data:`sys.stderr` and "
"don't provide any options to redirect it::"
msgstr ""
#: whatsnew/3.5.rst:991
msgid "(Contributed by Berker Peksag in :issue:`22389`.)"
msgstr ""
#: whatsnew/3.5.rst:997
msgid ""
"The :meth:`~csv.csvwriter.writerow` method now supports arbitrary iterables, "
"not just sequences. (Contributed by Serhiy Storchaka in :issue:`23171`.)"
msgstr ""
#: whatsnew/3.5.rst:1004
msgid ""
"The new :func:`~curses.update_lines_cols` function updates the :envvar:"
"`LINES` and :envvar:`COLS` environment variables. This is useful for "
"detecting manual screen resizing. (Contributed by Arnon Yaari in :issue:"
"`4254`.)"
msgstr ""
#: whatsnew/3.5.rst:1012
msgid ""
":func:`dumb.open <dbm.dumb.open>` always creates a new database when the "
"flag has the value ``\"n\"``. (Contributed by Claudiu Popa in :issue:"
"`18039`.)"
msgstr ""
#: whatsnew/3.5.rst:1017
msgid "difflib"
msgstr ""
#: whatsnew/3.5.rst:1019
msgid ""
"The charset of HTML documents generated by :meth:`HtmlDiff.make_file() "
"<difflib.HtmlDiff.make_file>` can now be customized by using a new *charset* "
"keyword-only argument. The default charset of HTML document changed from ``"
"\"ISO-8859-1\"`` to ``\"utf-8\"``. (Contributed by Berker Peksag in :issue:"
"`2052`.)"
msgstr ""
#: whatsnew/3.5.rst:1026
msgid ""
"The :func:`~difflib.diff_bytes` function can now compare lists of byte "
"strings. This fixes a regression from Python 2. (Contributed by Terry J. "
"Reedy and Greg Ward in :issue:`17445`.)"
msgstr ""
#: whatsnew/3.5.rst:1032
msgid "distutils"
msgstr ""
#: whatsnew/3.5.rst:1034
msgid ""
"Both the ``build`` and ``build_ext`` commands now accept a ``-j`` option to "
"enable parallel building of extension modules. (Contributed by Antoine "
"Pitrou in :issue:`5309`.)"
msgstr ""
#: whatsnew/3.5.rst:1038
msgid ""
"The :mod:`distutils` module now supports ``xz`` compression, and can be "
"enabled by passing ``xztar`` as an argument to ``bdist --format``. "
"(Contributed by Serhiy Storchaka in :issue:`16314`.)"
msgstr ""
#: whatsnew/3.5.rst:1046
msgid ""
"The :func:`~doctest.DocTestSuite` function returns an empty :class:`unittest."
"TestSuite` if *module* contains no docstrings, instead of raising :exc:"
"`ValueError`. (Contributed by Glenn Jones in :issue:`15916`.)"
msgstr ""
#: whatsnew/3.5.rst:1054
msgid ""
"A new policy option :attr:`Policy.mangle_from_ <email.policy.Policy."
"mangle_from_>` controls whether or not lines that start with ``\"From \"`` "
"in email bodies are prefixed with a ``\">\"`` character by generators. The "
"default is ``True`` for :attr:`~email.policy.compat32` and ``False`` for all "
"other policies. (Contributed by Milan Oberkirch in :issue:`20098`.)"
msgstr ""
#: whatsnew/3.5.rst:1060
msgid ""
"A new :meth:`Message.get_content_disposition() <email.message.Message."
"get_content_disposition>` method provides easy access to a canonical value "
"for the :mailheader:`Content-Disposition` header. (Contributed by Abhilash "
"Raj in :issue:`21083`.)"
msgstr ""
#: whatsnew/3.5.rst:1066
msgid ""
"A new policy option :attr:`EmailPolicy.utf8 <email.policy.EmailPolicy.utf8>` "
"can be set to ``True`` to encode email headers using the UTF-8 charset "
"instead of using encoded words. This allows ``Messages`` to be formatted "
"according to :rfc:`6532` and used with an SMTP server that supports the :rfc:"
"`6531` ``SMTPUTF8`` extension. (Contributed by R. David Murray in :issue:"
"`24211`.)"
msgstr ""
#: whatsnew/3.5.rst:1073
msgid ""
"The :class:`mime.text.MIMEText <email.mime.text.MIMEText>` constructor now "
"accepts a :class:`charset.Charset <email.charset.Charset>` instance. "
"(Contributed by Claude Paroz and Berker Peksag in :issue:`16324`.)"
msgstr ""
#: whatsnew/3.5.rst:1081
msgid ""
"The :class:`~enum.Enum` callable has a new parameter *start* to specify the "
"initial number of enum values if only *names* are provided::"
msgstr ""
#: whatsnew/3.5.rst:1090
msgid "(Contributed by Ethan Furman in :issue:`21706`.)"
msgstr ""
#: whatsnew/3.5.rst:1096
msgid ""
"The :func:`~faulthandler.enable`, :func:`~faulthandler.register`, :func:"
"`~faulthandler.dump_traceback` and :func:`~faulthandler."
"dump_traceback_later` functions now accept file descriptors in addition to "
"file-like objects. (Contributed by Wei Wu in :issue:`23566`.)"
msgstr ""
#: whatsnew/3.5.rst:1108
msgid ""
"Most of the :func:`~functools.lru_cache` machinery is now implemented in C, "
"making it significantly faster. (Contributed by Matt Joiner, Alexey "
"Kachayev, and Serhiy Storchaka in :issue:`14373`.)"
msgstr ""
#: whatsnew/3.5.rst:1116
msgid ""
"The :func:`~glob.iglob` and :func:`~glob.glob` functions now support "
"recursive search in subdirectories, using the ``\"**\"`` pattern. "
"(Contributed by Serhiy Storchaka in :issue:`13968`.)"
msgstr ""
#: whatsnew/3.5.rst:1122
msgid "gzip"
msgstr ""
#: whatsnew/3.5.rst:1124
msgid ""
"The *mode* argument of the :class:`~gzip.GzipFile` constructor now accepts ``"
"\"x\"`` to request exclusive creation. (Contributed by Tim Heaney in :issue:"
"`19222`.)"
msgstr ""
#: whatsnew/3.5.rst:1130
msgid "heapq"
msgstr ""
#: whatsnew/3.5.rst:1132
msgid ""
"Element comparison in :func:`~heapq.merge` can now be customized by passing "
"a :term:`key function` in a new optional *key* keyword argument, and a new "
"optional *reverse* keyword argument can be used to reverse element "
"comparison::"
msgstr ""
#: whatsnew/3.5.rst:1145
msgid "(Contributed by Raymond Hettinger in :issue:`13742`.)"
msgstr ""
#: whatsnew/3.5.rst:1151
msgid ""
"A new :class:`HTTPStatus <http.HTTPStatus>` enum that defines a set of HTTP "
"status codes, reason phrases and long descriptions written in English. "
"(Contributed by Demian Brecht in :issue:`21793`.)"
msgstr ""
#: whatsnew/3.5.rst:1159
msgid ""
":meth:`HTTPConnection.getresponse() <http.client.HTTPConnection."
"getresponse>` now raises a :exc:`~http.client.RemoteDisconnected` exception "
"when a remote server connection is closed unexpectedly. Additionally, if a :"
"exc:`ConnectionError` (of which ``RemoteDisconnected`` is a subclass) is "
"raised, the client socket is now closed automatically, and will reconnect on "
"the next request::"
msgstr ""
#: whatsnew/3.5.rst:1175
msgid "(Contributed by Martin Panter in :issue:`3566`.)"
msgstr ""
#: whatsnew/3.5.rst:1181
msgid ""
"Since idlelib implements the IDLE shell and editor and is not intended for "
"import by other programs, it gets improvements with every release. See :"
"file:`Lib/idlelib/NEWS.txt` for a cumulative list of changes since 3.4.0, as "
"well as changes made in future 3.5.x releases. This file is also available "
"from the IDLE :menuselection:`Help --> About IDLE` dialog."
msgstr ""
#: whatsnew/3.5.rst:1191
msgid ""
"The :class:`~imaplib.IMAP4` class now supports the :term:`context manager` "
"protocol. When used in a :keyword:`with` statement, the IMAP4 ``LOGOUT`` "
"command will be called automatically at the end of the block. (Contributed "
"by Tarek Ziadé and Serhiy Storchaka in :issue:`4972`.)"
msgstr ""
#: whatsnew/3.5.rst:1196
msgid ""
"The :mod:`imaplib` module now supports :rfc:`5161` (ENABLE Extension) and :"
"rfc:`6855` (UTF-8 Support) via the :meth:`IMAP4.enable() <imaplib.IMAP4."
"enable>` method. A new :attr:`IMAP4.utf8_enabled <imaplib.IMAP4."
"utf8_enabled>` attribute tracks whether or not :rfc:`6855` support is "
"enabled. (Contributed by Milan Oberkirch, R. David Murray, and Maciej Szulik "
"in :issue:`21800`.)"
msgstr ""
#: whatsnew/3.5.rst:1203
msgid ""
"The :mod:`imaplib` module now automatically encodes non-ASCII string "
"usernames and passwords using UTF-8, as recommended by the RFCs. "
"(Contributed by Milan Oberkirch in :issue:`21800`.)"
msgstr ""
#: whatsnew/3.5.rst:1209
msgid "imghdr"
msgstr ""
#: whatsnew/3.5.rst:1211
msgid ""
"The :func:`~imghdr.what` function now recognizes the `OpenEXR <http://www."
"openexr.com>`_ format (contributed by Martin Vignali and Claudiu Popa in :"
"issue:`20295`), and the `WebP <https://en.wikipedia.org/wiki/WebP>`_ format "
"(contributed by Fabrice Aneche and Claudiu Popa in :issue:`20197`.)"
msgstr ""
#: whatsnew/3.5.rst:1221
msgid ""
"The :class:`util.LazyLoader <importlib.util.LazyLoader>` class allows for "
"lazy loading of modules in applications where startup time is important. "
"(Contributed by Brett Cannon in :issue:`17621`.)"
msgstr ""
#: whatsnew/3.5.rst:1225
msgid ""
"The :func:`abc.InspectLoader.source_to_code() <importlib.abc.InspectLoader."
"source_to_code>` method is now a static method. This makes it easier to "
"initialize a module object with code compiled from a string by running "
"``exec(code, module.__dict__)``. (Contributed by Brett Cannon in :issue:"
"`21156`.)"
msgstr ""
#: whatsnew/3.5.rst:1231
msgid ""
"The new :func:`util.module_from_spec() <importlib.util.module_from_spec>` "
"function is now the preferred way to create a new module. As opposed to "
"creating a :class:`types.ModuleType` instance directly, this new function "
"will set the various import-controlled attributes based on the passed-in "
"spec object. (Contributed by Brett Cannon in :issue:`20383`.)"
msgstr ""
#: whatsnew/3.5.rst:1241
msgid ""
"Both the :class:`~inspect.Signature` and :class:`~inspect.Parameter` classes "
"are now picklable and hashable. (Contributed by Yury Selivanov in :issue:"
"`20726` and :issue:`20334`.)"
msgstr ""
#: whatsnew/3.5.rst:1245
msgid ""
"A new :meth:`BoundArguments.apply_defaults() <inspect.BoundArguments."
"apply_defaults>` method provides a way to set default values for missing "
"arguments::"
msgstr ""
#: whatsnew/3.5.rst:1255
msgid "(Contributed by Yury Selivanov in :issue:`24190`.)"
msgstr ""
#: whatsnew/3.5.rst:1257
msgid ""
"A new class method :meth:`Signature.from_callable() <inspect.Signature."
"from_callable>` makes subclassing of :class:`~inspect.Signature` easier. "
"(Contributed by Yury Selivanov and Eric Snow in :issue:`17373`.)"
msgstr ""
#: whatsnew/3.5.rst:1262
msgid ""
"The :func:`~inspect.signature` function now accepts a *follow_wrapped* "
"optional keyword argument, which, when set to ``False``, disables automatic "
"following of ``__wrapped__`` links. (Contributed by Yury Selivanov in :issue:"
"`20691`.)"
msgstr ""
#: whatsnew/3.5.rst:1267
msgid ""
"A set of new functions to inspect :term:`coroutine functions <coroutine "
"function>` and :term:`coroutine objects <coroutine>` has been added: :func:"
"`~inspect.iscoroutine`, :func:`~inspect.iscoroutinefunction`, :func:"
"`~inspect.isawaitable`, :func:`~inspect.getcoroutinelocals`, and :func:"
"`~inspect.getcoroutinestate`. (Contributed by Yury Selivanov in :issue:"
"`24017` and :issue:`24400`.)"
msgstr ""
#: whatsnew/3.5.rst:1275
msgid ""
"The :func:`~inspect.stack`, :func:`~inspect.trace`, :func:`~inspect."
"getouterframes`, and :func:`~inspect.getinnerframes` functions now return a "
"list of named tuples. (Contributed by Daniel Shahaf in :issue:`16808`.)"
msgstr ""
#: whatsnew/3.5.rst:1284
msgid ""
"A new :meth:`BufferedIOBase.readinto1() <io.BufferedIOBase.readinto1>` "
"method, that uses at most one call to the underlying raw stream's :meth:"
"`RawIOBase.read() <io.RawIOBase.read>` or :meth:`RawIOBase.readinto() <io."
"RawIOBase.readinto>` methods. (Contributed by Nikolaus Rath in :issue:"
"`20578`.)"
msgstr ""
#: whatsnew/3.5.rst:1294
msgid ""
"Both the :class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` "
"classes now accept an ``(address, netmask)`` tuple argument, so as to easily "
"construct network objects from existing addresses::"
msgstr ""
#: whatsnew/3.5.rst:1304
msgid "(Contributed by Peter Moody and Antoine Pitrou in :issue:`16531`.)"
msgstr ""
#: whatsnew/3.5.rst:1306
msgid ""
"A new :attr:`~ipaddress.IPv4Network.reverse_pointer` attribute for the :"
"class:`~ipaddress.IPv4Network` and :class:`~ipaddress.IPv6Network` classes "
"returns the name of the reverse DNS PTR record::"
msgstr ""
#: whatsnew/3.5.rst:1318
msgid "(Contributed by Leon Weber in :issue:`20480`.)"
msgstr ""
#: whatsnew/3.5.rst:1322
msgid "json"
msgstr ""
#: whatsnew/3.5.rst:1324
msgid ""
"The :mod:`json.tool` command line interface now preserves the order of keys "
"in JSON objects passed in input. The new ``--sort-keys`` option can be used "
"to sort the keys alphabetically. (Contributed by Berker Peksag in :issue:"
"`21650`.)"
msgstr ""
#: whatsnew/3.5.rst:1329
msgid ""
"JSON decoder now raises :exc:`~json.JSONDecodeError` instead of :exc:"
"`ValueError` to provide better context information about the error. "
"(Contributed by Serhiy Storchaka in :issue:`19361`.)"
msgstr ""
#: whatsnew/3.5.rst:1335
msgid "linecache"
msgstr ""
#: whatsnew/3.5.rst:1337
msgid ""
"A new :func:`~linecache.lazycache` function can be used to capture "
"information about a non-file-based module to permit getting its lines later "
"via :func:`~linecache.getline`. This avoids doing I/O until a line is "
"actually needed, without having to carry the module globals around "
"indefinitely. (Contributed by Robert Collins in :issue:`17911`.)"
msgstr ""
#: whatsnew/3.5.rst:1345
msgid "locale"
msgstr ""
#: whatsnew/3.5.rst:1347
msgid ""
"A new :func:`~locale.delocalize` function can be used to convert a string "
"into a normalized number string, taking the ``LC_NUMERIC`` settings into "
"account::"
msgstr ""
#: whatsnew/3.5.rst:1360
msgid "(Contributed by Cédric Krier in :issue:`13918`.)"
msgstr ""
#: whatsnew/3.5.rst:1366
msgid ""
"All logging methods (:class:`~logging.Logger` :meth:`~logging.Logger.log`, :"
"meth:`~logging.Logger.exception`, :meth:`~logging.Logger.critical`, :meth:"
"`~logging.Logger.debug`, etc.), now accept exception instances as an "
"*exc_info* argument, in addition to boolean values and exception tuples::"
msgstr ""
#: whatsnew/3.5.rst:1379
msgid "(Contributed by Yury Selivanov in :issue:`20537`.)"
msgstr ""
#: whatsnew/3.5.rst:1381
msgid ""
"The :class:`handlers.HTTPHandler <logging.handlers.HTTPHandler>` class now "
"accepts an optional :class:`ssl.SSLContext` instance to configure SSL "
"settings used in an HTTP connection. (Contributed by Alex Gaynor in :issue:"
"`22788`.)"
msgstr ""
#: whatsnew/3.5.rst:1386
msgid ""
"The :class:`handlers.QueueListener <logging.handlers.QueueListener>` class "
"now takes a *respect_handler_level* keyword argument which, if set to "
"``True``, will pass messages to handlers taking handler levels into account. "
"(Contributed by Vinay Sajip.)"
msgstr ""
#: whatsnew/3.5.rst:1395
msgid ""
"The :meth:`LZMADecompressor.decompress() <lzma.LZMADecompressor.decompress>` "
"method now accepts an optional *max_length* argument to limit the maximum "
"size of decompressed data. (Contributed by Martin Panter in :issue:`15955`.)"
msgstr ""
#: whatsnew/3.5.rst:1404
msgid ""
"Two new constants have been added to the :mod:`math` module: :data:`~math."
"inf` and :data:`~math.nan`. (Contributed by Mark Dickinson in :issue:"
"`23185`.)"
msgstr ""
#: whatsnew/3.5.rst:1407
msgid ""
"A new function :func:`~math.isclose` provides a way to test for approximate "
"equality. (Contributed by Chris Barker and Tal Einat in :issue:`24270`.)"
msgstr ""
#: whatsnew/3.5.rst:1410
msgid ""
"A new :func:`~math.gcd` function has been added. The :func:`fractions.gcd` "
"function is now deprecated. (Contributed by Mark Dickinson and Serhiy "
"Storchaka in :issue:`22486`.)"
msgstr ""
#: whatsnew/3.5.rst:1418
msgid ""
":func:`sharedctypes.synchronized() <multiprocessing.sharedctypes."
"synchronized>` objects now support the :term:`context manager` protocol. "
"(Contributed by Charles-François Natali in :issue:`21565`.)"
msgstr ""
#: whatsnew/3.5.rst:1426
msgid ""
":func:`~operator.attrgetter`, :func:`~operator.itemgetter`, and :func:"
"`~operator.methodcaller` objects now support pickling. (Contributed by Josh "
"Rosenberg and Serhiy Storchaka in :issue:`22955`.)"
msgstr ""
#: whatsnew/3.5.rst:1430
msgid ""
"New :func:`~operator.matmul` and :func:`~operator.imatmul` functions to "
"perform matrix multiplication. (Contributed by Benjamin Peterson in :issue:"
"`21176`.)"
msgstr ""
#: whatsnew/3.5.rst:1438
msgid ""
"The new :func:`~os.scandir` function returning an iterator of :class:`~os."
"DirEntry` objects has been added. If possible, :func:`~os.scandir` extracts "
"file attributes while scanning a directory, removing the need to perform "
"subsequent system calls to determine file type or attributes, which may "
"significantly improve performance. (Contributed by Ben Hoyt with the help "
"of Victor Stinner in :issue:`22524`.)"
msgstr ""
#: whatsnew/3.5.rst:1445
msgid ""
"On Windows, a new :attr:`stat_result.st_file_attributes <os.stat_result."
"st_file_attributes>` attribute is now available. It corresponds to the "
"``dwFileAttributes`` member of the ``BY_HANDLE_FILE_INFORMATION`` structure "
"returned by ``GetFileInformationByHandle()``. (Contributed by Ben Hoyt in :"
"issue:`21719`.)"
msgstr ""
#: whatsnew/3.5.rst:1451
msgid ""
"The :func:`~os.urandom` function now uses the ``getrandom()`` syscall on "
"Linux 3.17 or newer, and ``getentropy()`` on OpenBSD 5.6 and newer, removing "
"the need to use ``/dev/urandom`` and avoiding failures due to potential file "
"descriptor exhaustion. (Contributed by Victor Stinner in :issue:`22181`.)"
msgstr ""
#: whatsnew/3.5.rst:1456
msgid ""
"New :func:`~os.get_blocking` and :func:`~os.set_blocking` functions allow to "
"get and set a file descriptor's blocking mode (:data:`~os.O_NONBLOCK`.) "
"(Contributed by Victor Stinner in :issue:`22054`.)"
msgstr ""
#: whatsnew/3.5.rst:1460
msgid ""
"The :func:`~os.truncate` and :func:`~os.ftruncate` functions are now "
"supported on Windows. (Contributed by Steve Dower in :issue:`23668`.)"
msgstr ""
#: whatsnew/3.5.rst:1463
msgid ""
"There is a new :func:`os.path.commonpath` function returning the longest "
"common sub-path of each passed pathname. Unlike the :func:`os.path."
"commonprefix` function, it always returns a valid path::"
msgstr ""
#: whatsnew/3.5.rst:1474
msgid "(Contributed by Rafik Draoui and Serhiy Storchaka in :issue:`10395`.)"
msgstr ""
#: whatsnew/3.5.rst:1480
msgid ""
"The new :meth:`Path.samefile() <pathlib.Path.samefile>` method can be used "
"to check whether the path points to the same file as another path, which can "
"be either another :class:`~pathlib.Path` object, or a string::"
msgstr ""
#: whatsnew/3.5.rst:1490
msgid "(Contributed by Vajrasky Kok and Antoine Pitrou in :issue:`19775`.)"
msgstr ""
#: whatsnew/3.5.rst:1492
msgid ""
"The :meth:`Path.mkdir() <pathlib.Path.mkdir>` method now accepts a new "
"optional *exist_ok* argument to match ``mkdir -p`` and :func:`os.makedirs` "
"functionality. (Contributed by Berker Peksag in :issue:`21539`.)"
msgstr ""
#: whatsnew/3.5.rst:1496
msgid ""
"There is a new :meth:`Path.expanduser() <pathlib.Path.expanduser>` method to "
"expand ``~`` and ``~user`` prefixes. (Contributed by Serhiy Storchaka and "
"Claudiu Popa in :issue:`19776`.)"
msgstr ""
#: whatsnew/3.5.rst:1500
msgid ""
"A new :meth:`Path.home() <pathlib.Path.home>` class method can be used to "
"get a :class:`~pathlib.Path` instance representing the users home "
"directory. (Contributed by Victor Salgado and Mayank Tripathi in :issue:"
"`19777`.)"
msgstr ""
#: whatsnew/3.5.rst:1505
msgid ""
"New :meth:`Path.write_text() <pathlib.Path.write_text>`, :meth:`Path."
"read_text() <pathlib.Path.read_text>`, :meth:`Path.write_bytes() <pathlib."
"Path.write_bytes>`, :meth:`Path.read_bytes() <pathlib.Path.read_bytes>` "
"methods to simplify read/write operations on files."
msgstr ""
#: whatsnew/3.5.rst:1511
msgid ""
"The following code snippet will create or rewrite existing file ``~/"
"spam42``::"
msgstr ""
#: whatsnew/3.5.rst:1519
msgid "(Contributed by Christopher Welborn in :issue:`20218`.)"
msgstr ""
#: whatsnew/3.5.rst:1525
msgid ""
"Nested objects, such as unbound methods or nested classes, can now be "
"pickled using :ref:`pickle protocols <pickle-protocols>` older than protocol "
"version 4. Protocol version 4 already supports these cases. (Contributed by "
"Serhiy Storchaka in :issue:`23611`.)"
msgstr ""
#: whatsnew/3.5.rst:1534
msgid ""
"A new :meth:`POP3.utf8() <poplib.POP3.utf8>` command enables :rfc:`6856` "
"(Internationalized Email) support, if a POP server supports it. (Contributed "
"by Milan OberKirch in :issue:`21804`.)"
msgstr ""
#: whatsnew/3.5.rst:1542
msgid ""
"References and conditional references to groups with fixed length are now "
"allowed in lookbehind assertions::"
msgstr ""
#: whatsnew/3.5.rst:1552
#, fuzzy
msgid "(Contributed by Serhiy Storchaka in :issue:`9179`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.5.rst:1554
msgid ""
"The number of capturing groups in regular expressions is no longer limited "
"to 100. (Contributed by Serhiy Storchaka in :issue:`22437`.)"
msgstr ""
#: whatsnew/3.5.rst:1557
msgid ""
"The :func:`~re.sub` and :func:`~re.subn` functions now replace unmatched "
"groups with empty strings instead of raising an exception. (Contributed by "
"Serhiy Storchaka in :issue:`1519638`.)"
msgstr ""
#: whatsnew/3.5.rst:1561
msgid ""
"The :class:`re.error` exceptions have new attributes, :attr:`~re.error."
"msg`, :attr:`~re.error.pattern`, :attr:`~re.error.pos`, :attr:`~re.error."
"lineno`, and :attr:`~re.error.colno`, that provide better context "
"information about the error::"
msgstr ""
#: whatsnew/3.5.rst:1575
#, fuzzy
msgid "(Contributed by Serhiy Storchaka in :issue:`22578`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.5.rst:1579
msgid "readline"
msgstr ""
#: whatsnew/3.5.rst:1581
msgid ""
"A new :func:`~readline.append_history_file` function can be used to append "
"the specified number of trailing elements in history to the given file. "
"(Contributed by Bruno Cauet in :issue:`22940`.)"
msgstr ""
#: whatsnew/3.5.rst:1589
msgid ""
"The new :class:`~selectors.DevpollSelector` supports efficient ``/dev/poll`` "
"polling on Solaris. (Contributed by Giampaolo Rodola' in :issue:`18931`.)"
msgstr ""
#: whatsnew/3.5.rst:1597
msgid ""
"The :func:`~shutil.move` function now accepts a *copy_function* argument, "
"allowing, for example, the :func:`~shutil.copy` function to be used instead "
"of the default :func:`~shutil.copy2` if there is a need to ignore file "
"metadata when moving. (Contributed by Claudiu Popa in :issue:`19840`.)"
msgstr ""
#: whatsnew/3.5.rst:1603
msgid ""
"The :func:`~shutil.make_archive` function now supports the *xztar* format. "
"(Contributed by Serhiy Storchaka in :issue:`5411`.)"
msgstr ""
#: whatsnew/3.5.rst:1610
msgid ""
"On Windows, the :func:`~signal.set_wakeup_fd` function now also supports "
"socket handles. (Contributed by Victor Stinner in :issue:`22018`.)"
msgstr ""
#: whatsnew/3.5.rst:1613
msgid ""
"Various ``SIG*`` constants in the :mod:`signal` module have been converted "
"into :mod:`Enums <enum>`. This allows meaningful names to be printed during "
"debugging, instead of integer \"magic numbers\". (Contributed by Giampaolo "
"Rodola' in :issue:`21076`.)"
msgstr ""
#: whatsnew/3.5.rst:1622
msgid ""
"Both the :class:`~smtpd.SMTPServer` and :class:`~smtpd.SMTPChannel` classes "
"now accept a *decode_data* keyword argument to determine if the ``DATA`` "
"portion of the SMTP transaction is decoded using the ``\"utf-8\"`` codec or "
"is instead provided to the :meth:`SMTPServer.process_message() <smtpd."
"SMTPServer.process_message>` method as a byte string. The default is "
"``True`` for backward compatibility reasons, but will change to ``False`` in "
"Python 3.6. If *decode_data* is set to ``False``, the ``process_message`` "
"method must be prepared to accept keyword arguments. (Contributed by Maciej "
"Szulik in :issue:`19662`.)"
msgstr ""
#: whatsnew/3.5.rst:1633
msgid ""
"The :class:`~smtpd.SMTPServer` class now advertises the ``8BITMIME`` "
"extension (:rfc:`6152`) if *decode_data* has been set ``True``. If the "
"client specifies ``BODY=8BITMIME`` on the ``MAIL`` command, it is passed to :"
"meth:`SMTPServer.process_message() <smtpd.SMTPServer.process_message>` via "
"the *mail_options* keyword. (Contributed by Milan Oberkirch and R. David "
"Murray in :issue:`21795`.)"
msgstr ""
#: whatsnew/3.5.rst:1640
msgid ""
"The :class:`~smtpd.SMTPServer` class now also supports the ``SMTPUTF8`` "
"extension (:rfc:`6531`: Internationalized Email). If the client specified "
"``SMTPUTF8 BODY=8BITMIME`` on the ``MAIL`` command, they are passed to :meth:"
"`SMTPServer.process_message() <smtpd.SMTPServer.process_message>` via the "
"*mail_options* keyword. It is the responsibility of the ``process_message`` "
"method to correctly handle the ``SMTPUTF8`` data. (Contributed by Milan "
"Oberkirch in :issue:`21725`.)"
msgstr ""
#: whatsnew/3.5.rst:1648
msgid ""
"It is now possible to provide, directly or via name resolution, IPv6 "
"addresses in the :class:`~smtpd.SMTPServer` constructor, and have it "
"successfully connect. (Contributed by Milan Oberkirch in :issue:`14758`.)"
msgstr ""
#: whatsnew/3.5.rst:1656
msgid ""
"A new :meth:`SMTP.auth() <smtplib.SMTP.auth>` method provides a convenient "
"way to implement custom authentication mechanisms. (Contributed by Milan "
"Oberkirch in :issue:`15014`.)"
msgstr ""
#: whatsnew/3.5.rst:1660
msgid ""
"The :meth:`SMTP.set_debuglevel() <smtplib.SMTP.set_debuglevel>` method now "
"accepts an additional debuglevel (2), which enables timestamps in debug "
"messages. (Contributed by Gavin Chappell and Maciej Szulik in :issue:"
"`16914`.)"
msgstr ""
#: whatsnew/3.5.rst:1664
msgid ""
"Both the :meth:`SMTP.sendmail() <smtplib.SMTP.sendmail>` and :meth:`SMTP."
"send_message() <smtplib.SMTP.send_message>` methods now support support :rfc:"
"`6531` (SMTPUTF8). (Contributed by Milan Oberkirch and R. David Murray in :"
"issue:`22027`.)"
msgstr ""
#: whatsnew/3.5.rst:1671
msgid "sndhdr"
msgstr ""
#: whatsnew/3.5.rst:1673
msgid ""
"The :func:`~sndhdr.what` and :func:`~sndhdr.whathdr` functions now return "
"a :func:`~collections.namedtuple`. (Contributed by Claudiu Popa in :issue:"
"`18615`.)"
msgstr ""
#: whatsnew/3.5.rst:1681
msgid ""
"Functions with timeouts now use a monotonic clock, instead of a system "
"clock. (Contributed by Victor Stinner in :issue:`22043`.)"
msgstr ""
#: whatsnew/3.5.rst:1684
msgid ""
"A new :meth:`socket.sendfile() <socket.socket.sendfile>` method allows to "
"send a file over a socket by using the high-performance :func:`os.sendfile` "
"function on UNIX, resulting in uploads being from 2 to 3 times faster than "
"when using plain :meth:`socket.send() <socket.socket.send>`. (Contributed by "
"Giampaolo Rodola' in :issue:`17552`.)"
msgstr ""
#: whatsnew/3.5.rst:1690
msgid ""
"The :meth:`socket.sendall() <socket.socket.sendall>` method no longer resets "
"the socket timeout every time bytes are received or sent. The socket "
"timeout is now the maximum total duration to send all data. (Contributed by "
"Victor Stinner in :issue:`23853`.)"
msgstr ""
#: whatsnew/3.5.rst:1695
msgid ""
"The *backlog* argument of the :meth:`socket.listen() <socket.socket.listen>` "
"method is now optional. By default it is set to :data:`SOMAXCONN <socket."
"SOMAXCONN>` or to ``128``, whichever is less. (Contributed by Charles-"
"François Natali in :issue:`21455`.)"
msgstr ""
#: whatsnew/3.5.rst:1707
msgid "Memory BIO Support"
msgstr ""
#: whatsnew/3.5.rst:1709
msgid "(Contributed by Geert Jansen in :issue:`21965`.)"
msgstr ""
#: whatsnew/3.5.rst:1711
msgid ""
"The new :class:`~ssl.SSLObject` class has been added to provide SSL protocol "
"support for cases when the network I/O capabilities of :class:`~ssl."
"SSLSocket` are not necessary or are suboptimal. ``SSLObject`` represents an "
"SSL protocol instance, but does not implement any network I/O methods, and "
"instead provides a memory buffer interface. The new :class:`~ssl.MemoryBIO` "
"class can be used to pass data between Python and an SSL protocol instance."
msgstr ""
#: whatsnew/3.5.rst:1718
msgid ""
"The memory BIO SSL support is primarily intended to be used in frameworks "
"implementing asynchronous I/O for which :class:`~ssl.SSLSocket`'s readiness "
"model (\"select/poll\") is inefficient."
msgstr ""
#: whatsnew/3.5.rst:1722
msgid ""
"A new :meth:`SSLContext.wrap_bio() <ssl.SSLContext.wrap_bio>` method can be "
"used to create a new ``SSLObject`` instance."
msgstr ""
#: whatsnew/3.5.rst:1727
msgid "Application-Layer Protocol Negotiation Support"
msgstr ""
#: whatsnew/3.5.rst:1729
msgid "(Contributed by Benjamin Peterson in :issue:`20188`.)"
msgstr ""
#: whatsnew/3.5.rst:1731
msgid ""
"Where OpenSSL support is present, the :mod:`ssl` module now implements the "
"*Application-Layer Protocol Negotiation* TLS extension as described in :rfc:"
"`7301`."
msgstr ""
#: whatsnew/3.5.rst:1735
msgid ""
"The new :meth:`SSLContext.set_alpn_protocols() <ssl.SSLContext."
"set_alpn_protocols>` can be used to specify which protocols a socket should "
"advertise during the TLS handshake."
msgstr ""
#: whatsnew/3.5.rst:1739
msgid ""
"The new :meth:`SSLSocket.selected_alpn_protocol() <ssl.SSLSocket."
"selected_alpn_protocol>` returns the protocol that was selected during the "
"TLS handshake. The :data:`~ssl.HAS_ALPN` flag indicates whether ALPN support "
"is present."
msgstr ""
#: whatsnew/3.5.rst:1746
msgid "Other Changes"
msgstr ""
#: whatsnew/3.5.rst:1748
msgid ""
"There is a new :meth:`SSLSocket.version() <ssl.SSLSocket.version>` method to "
"query the actual protocol version in use. (Contributed by Antoine Pitrou in :"
"issue:`20421`.)"
msgstr ""
#: whatsnew/3.5.rst:1752
msgid ""
"The :class:`~ssl.SSLSocket` class now implements a :meth:`SSLSocket."
"sendfile() <ssl.SSLSocket.sendfile>` method. (Contributed by Giampaolo "
"Rodola' in :issue:`17552`.)"
msgstr ""
#: whatsnew/3.5.rst:1756
msgid ""
"The :meth:`SSLSocket.send() <ssl.SSLSocket.send>` method now raises either "
"the :exc:`ssl.SSLWantReadError` or :exc:`ssl.SSLWantWriteError` exception on "
"a non-blocking socket if the operation would block. Previously, it would "
"return ``0``. (Contributed by Nikolaus Rath in :issue:`20951`.)"
msgstr ""
#: whatsnew/3.5.rst:1761
msgid ""
"The :func:`~ssl.cert_time_to_seconds` function now interprets the input time "
"as UTC and not as local time, per :rfc:`5280`. Additionally, the return "
"value is always an :class:`int`. (Contributed by Akira Li in :issue:`19940`.)"
msgstr ""
#: whatsnew/3.5.rst:1765
msgid ""
"New :meth:`SSLObject.shared_ciphers() <ssl.SSLObject.shared_ciphers>` and :"
"meth:`SSLSocket.shared_ciphers() <ssl.SSLSocket.shared_ciphers>` methods "
"return the list of ciphers sent by the client during the handshake. "
"(Contributed by Benjamin Peterson in :issue:`23186`.)"
msgstr ""
#: whatsnew/3.5.rst:1770
msgid ""
"The :meth:`SSLSocket.do_handshake() <ssl.SSLSocket.do_handshake>`, :meth:"
"`SSLSocket.read() <ssl.SSLSocket.read>`, :meth:`SSLSocket.shutdown() <ssl."
"SSLSocket.shutdown>`, and :meth:`SSLSocket.write() <ssl.SSLSocket.write>` "
"methods of the :class:`~ssl.SSLSocket` class no longer reset the socket "
"timeout every time bytes are received or sent. The socket timeout is now the "
"maximum total duration of the method. (Contributed by Victor Stinner in :"
"issue:`23853`.)"
msgstr ""
#: whatsnew/3.5.rst:1778
msgid ""
"The :func:`~ssl.match_hostname` function now supports matching of IP "
"addresses. (Contributed by Antoine Pitrou in :issue:`23239`.)"
msgstr ""
#: whatsnew/3.5.rst:1785
msgid ""
"The :class:`~sqlite3.Row` class now fully supports the sequence protocol, in "
"particular :func:`reversed` iteration and slice indexing. (Contributed by "
"Claudiu Popa in :issue:`10203`; by Lucas Sinclair, Jessica McKellar, and "
"Serhiy Storchaka in :issue:`13583`.)"
msgstr ""
#: whatsnew/3.5.rst:1796
msgid ""
"The new :func:`~subprocess.run` function has been added. It runs the "
"specified command and returns a :class:`~subprocess.CompletedProcess` "
"object, which describes a finished process. The new API is more consistent "
"and is the recommended approach to invoking subprocesses in Python code that "
"does not need to maintain compatibility with earlier Python versions. "
"(Contributed by Thomas Kluyver in :issue:`23342`.)"
msgstr ""
#: whatsnew/3.5.rst:1822
msgid ""
"A new :func:`~sys.set_coroutine_wrapper` function allows setting a global "
"hook that will be called whenever a :term:`coroutine object <coroutine>` is "
"created by an :keyword:`async def` function. A corresponding :func:`~sys."
"get_coroutine_wrapper` can be used to obtain a currently set wrapper. Both "
"functions are :term:`provisional <provisional api>`, and are intended for "
"debugging purposes only. (Contributed by Yury Selivanov in :issue:`24017`.)"
msgstr ""
#: whatsnew/3.5.rst:1830
msgid ""
"A new :func:`~sys.is_finalizing` function can be used to check if the Python "
"interpreter is :term:`shutting down <interpreter shutdown>`. (Contributed by "
"Antoine Pitrou in :issue:`22696`.)"
msgstr ""
#: whatsnew/3.5.rst:1838
msgid ""
"The name of the user scripts directory on Windows now includes the first two "
"components of the Python version. (Contributed by Paul Moore in :issue:"
"`23437`.)"
msgstr ""
#: whatsnew/3.5.rst:1846
msgid ""
"The *mode* argument of the :func:`~tarfile.open` function now accepts ``\"x"
"\"`` to request exclusive creation. (Contributed by Berker Peksag in :issue:"
"`21717`.)"
msgstr ""
#: whatsnew/3.5.rst:1849
msgid ""
"The :meth:`TarFile.extractall() <tarfile.TarFile.extractall>` and :meth:"
"`TarFile.extract() <tarfile.TarFile.extract>` methods now take a keyword "
"argument *numeric_only*. If set to ``True``, the extracted files and "
"directories will be owned by the numeric ``uid`` and ``gid`` from the "
"tarfile. If set to ``False`` (the default, and the behavior in versions "
"prior to 3.5), they will be owned by the named user and group in the "
"tarfile. (Contributed by Michael Vogt and Eric Smith in :issue:`23193`.)"
msgstr ""
#: whatsnew/3.5.rst:1857
msgid ""
"The :meth:`TarFile.list() <tarfile.TarFile.list>` now accepts an optional "
"*members* keyword argument that can be set to a subset of the list returned "
"by :meth:`TarFile.getmembers() <tarfile.TarFile.getmembers>`. (Contributed "
"by Serhiy Storchaka in :issue:`21549`.)"
msgstr ""
#: whatsnew/3.5.rst:1866
msgid ""
"Both the :meth:`Lock.acquire() <threading.Lock.acquire>` and :meth:`RLock."
"acquire() <threading.RLock.acquire>` methods now use a monotonic clock for "
"timeout management. (Contributed by Victor Stinner in :issue:`22043`.)"
msgstr ""
#: whatsnew/3.5.rst:1875
msgid ""
"The :func:`~time.monotonic` function is now always available. (Contributed "
"by Victor Stinner in :issue:`22043`.)"
msgstr ""
#: whatsnew/3.5.rst:1880
msgid "timeit"
msgstr ""
#: whatsnew/3.5.rst:1882
msgid ""
"A new command line option ``-u`` or :samp:`--unit={U}` can be used to "
"specify the time unit for the timer output. Supported options are ``usec``, "
"``msec``, or ``sec``. (Contributed by Julian Gindi in :issue:`18983`.)"
msgstr ""
#: whatsnew/3.5.rst:1886
msgid ""
"The :func:`~timeit.timeit` function has a new *globals* parameter for "
"specifying the namespace in which the code will be running. (Contributed by "
"Ben Roberts in :issue:`2527`.)"
msgstr ""
#: whatsnew/3.5.rst:1892
msgid "tkinter"
msgstr ""
#: whatsnew/3.5.rst:1894
msgid ""
"The :mod:`tkinter._fix` module used for setting up the Tcl/Tk environment on "
"Windows has been replaced by a private function in the :mod:`_tkinter` "
"module which makes no permanent changes to environment variables. "
"(Contributed by Zachary Ware in :issue:`20035`.)"
msgstr ""
#: whatsnew/3.5.rst:1905
msgid ""
"New :func:`~traceback.walk_stack` and :func:`~traceback.walk_tb` functions "
"to conveniently traverse frame and traceback objects. (Contributed by Robert "
"Collins in :issue:`17911`.)"
msgstr ""
#: whatsnew/3.5.rst:1909
msgid ""
"New lightweight classes: :class:`~traceback.TracebackException`, :class:"
"`~traceback.StackSummary`, and :class:`~traceback.FrameSummary`. "
"(Contributed by Robert Collins in :issue:`17911`.)"
msgstr ""
#: whatsnew/3.5.rst:1913
msgid ""
"Both the :func:`~traceback.print_tb` and :func:`~traceback.print_stack` "
"functions now support negative values for the *limit* argument. (Contributed "
"by Dmitry Kazakov in :issue:`22619`.)"
msgstr ""
#: whatsnew/3.5.rst:1921
msgid ""
"A new :func:`~types.coroutine` function to transform :term:`generator "
"<generator iterator>` and :class:`generator-like <collections.abc."
"Generator>` objects into :term:`awaitables <awaitable>`. (Contributed by "
"Yury Selivanov in :issue:`24017`.)"
msgstr ""
#: whatsnew/3.5.rst:1927
msgid ""
"A new type called :class:`~types.CoroutineType`, which is used for :term:"
"`coroutine` objects created by :keyword:`async def` functions. (Contributed "
"by Yury Selivanov in :issue:`24400`.)"
msgstr ""
#: whatsnew/3.5.rst:1933
msgid "unicodedata"
msgstr ""
#: whatsnew/3.5.rst:1935
msgid ""
"The :mod:`unicodedata` module now uses data from `Unicode 8.0.0 <http://"
"unicode.org/versions/Unicode8.0.0/>`_."
msgstr ""
#: whatsnew/3.5.rst:1942
msgid ""
"The :meth:`TestLoader.loadTestsFromModule() <unittest.TestLoader."
"loadTestsFromModule>` method now accepts a keyword-only argument *pattern* "
"which is passed to ``load_tests`` as the third argument. Found packages are "
"now checked for ``load_tests`` regardless of whether their path matches "
"*pattern*, because it is impossible for a package name to match the default "
"pattern. (Contributed by Robert Collins and Barry A. Warsaw in :issue:"
"`16662`.)"
msgstr ""
#: whatsnew/3.5.rst:1949
msgid ""
"Unittest discovery errors now are exposed in the :data:`TestLoader.errors "
"<unittest.TestLoader.errors>` attribute of the :class:`~unittest.TestLoader` "
"instance. (Contributed by Robert Collins in :issue:`19746`.)"
msgstr ""
#: whatsnew/3.5.rst:1954
msgid ""
"A new command line option ``--locals`` to show local variables in "
"tracebacks. (Contributed by Robert Collins in :issue:`22936`.)"
msgstr ""
#: whatsnew/3.5.rst:1959
msgid "unittest.mock"
msgstr ""
#: whatsnew/3.5.rst:1961
msgid "The :class:`~unittest.mock.Mock` class has the following improvements:"
msgstr ""
#: whatsnew/3.5.rst:1963
msgid ""
"The class constructor has a new *unsafe* parameter, which causes mock "
"objects to raise :exc:`AttributeError` on attribute names starting with ``"
"\"assert\"``. (Contributed by Kushal Das in :issue:`21238`.)"
msgstr ""
#: whatsnew/3.5.rst:1968
msgid ""
"A new :meth:`Mock.assert_not_called() <unittest.mock.Mock."
"assert_not_called>` method to check if the mock object was called. "
"(Contributed by Kushal Das in :issue:`21262`.)"
msgstr ""
#: whatsnew/3.5.rst:1972
msgid ""
"The :class:`~unittest.mock.MagicMock` class now supports :meth:"
"`__truediv__`, :meth:`__divmod__` and :meth:`__matmul__` operators. "
"(Contributed by Johannes Baiter in :issue:`20968`, and Håkan Lövdahl in :"
"issue:`23581` and :issue:`23568`.)"
msgstr ""
#: whatsnew/3.5.rst:1977
msgid ""
"It is no longer necessary to explicitly pass ``create=True`` to the :func:"
"`~unittest.mock.patch` function when patching builtin names. (Contributed by "
"Kushal Das in :issue:`17660`.)"
msgstr ""
#: whatsnew/3.5.rst:1985
msgid ""
"A new :class:`request.HTTPPasswordMgrWithPriorAuth <urllib.request."
"HTTPPasswordMgrWithPriorAuth>` class allows HTTP Basic Authentication "
"credentials to be managed so as to eliminate unnecessary ``401`` response "
"handling, or to unconditionally send credentials on the first request in "
"order to communicate with servers that return a ``404`` response instead of "
"a ``401`` if the ``Authorization`` header is not sent. (Contributed by Matej "
"Cepl in :issue:`19494` and Akshit Khurana in :issue:`7159`.)"
msgstr ""
#: whatsnew/3.5.rst:1994
msgid ""
"A new *quote_via* argument for the :func:`parse.urlencode() <urllib.parse."
"urlencode>` function provides a way to control the encoding of query parts "
"if needed. (Contributed by Samwyse and Arnon Yaari in :issue:`13866`.)"
msgstr ""
#: whatsnew/3.5.rst:1999
msgid ""
"The :func:`request.urlopen() <urllib.request.urlopen>` function accepts an :"
"class:`ssl.SSLContext` object as a *context* argument, which will be used "
"for the HTTPS connection. (Contributed by Alex Gaynor in :issue:`22366`.)"
msgstr ""
#: whatsnew/3.5.rst:2003
msgid ""
"The :func:`parse.urljoin() <urllib.parse.urljoin>` was updated to use the :"
"rfc:`3986` semantics for the resolution of relative URLs, rather than :rfc:"
"`1808` and :rfc:`2396`. (Contributed by Demian Brecht and Senthil Kumaran "
"in :issue:`22118`.)"
msgstr ""
#: whatsnew/3.5.rst:2010
msgid "wsgiref"
msgstr ""
#: whatsnew/3.5.rst:2012
msgid ""
"The *headers* argument of the :class:`headers.Headers <wsgiref.headers."
"Headers>` class constructor is now optional. (Contributed by Pablo Torres "
"Navarrete and SilentGhost in :issue:`5800`.)"
msgstr ""
#: whatsnew/3.5.rst:2018
msgid "xmlrpc"
msgstr ""
#: whatsnew/3.5.rst:2020
msgid ""
"The :class:`client.ServerProxy <xmlrpc.client.ServerProxy>` class now "
"supports the :term:`context manager` protocol. (Contributed by Claudiu Popa "
"in :issue:`20627`.)"
msgstr ""
#: whatsnew/3.5.rst:2024
msgid ""
"The :class:`client.ServerProxy <xmlrpc.client.ServerProxy>` constructor now "
"accepts an optional :class:`ssl.SSLContext` instance. (Contributed by Alex "
"Gaynor in :issue:`22960`.)"
msgstr ""
#: whatsnew/3.5.rst:2030
msgid "xml.sax"
msgstr ""
#: whatsnew/3.5.rst:2032
msgid ""
"SAX parsers now support a character stream of the :class:`xmlreader."
"InputSource <xml.sax.xmlreader.InputSource>` object. (Contributed by Serhiy "
"Storchaka in :issue:`2175`.)"
msgstr ""
#: whatsnew/3.5.rst:2036
msgid ""
":func:`~xml.sax.parseString` now accepts a :class:`str` instance. "
"(Contributed by Serhiy Storchaka in :issue:`10590`.)"
msgstr ""
#: whatsnew/3.5.rst:2043
msgid ""
"ZIP output can now be written to unseekable streams. (Contributed by Serhiy "
"Storchaka in :issue:`23252`.)"
msgstr ""
#: whatsnew/3.5.rst:2046
msgid ""
"The *mode* argument of :meth:`ZipFile.open() <zipfile.ZipFile.open>` method "
"now accepts ``\"x\"`` to request exclusive creation. (Contributed by Serhiy "
"Storchaka in :issue:`21717`.)"
msgstr ""
#: whatsnew/3.5.rst:2052
msgid "Other module-level changes"
msgstr ""
#: whatsnew/3.5.rst:2054
msgid ""
"Many functions in the :mod:`mmap`, :mod:`ossaudiodev`, :mod:`socket`, :mod:"
"`ssl`, and :mod:`codecs` modules now accept writable :term:`bytes-like "
"objects <bytes-like object>`. (Contributed by Serhiy Storchaka in :issue:"
"`23001`.)"
msgstr ""
#: whatsnew/3.5.rst:2063
msgid ""
"The :func:`os.walk` function has been sped up by 3 to 5 times on POSIX "
"systems, and by 7 to 20 times on Windows. This was done using the new :func:"
"`os.scandir` function, which exposes file information from the underlying "
"``readdir`` or ``FindFirstFile``/``FindNextFile`` system calls. "
"(Contributed by Ben Hoyt with help from Victor Stinner in :issue:`23605`.)"
msgstr ""
#: whatsnew/3.5.rst:2069
msgid ""
"Construction of ``bytes(int)`` (filled by zero bytes) is faster and uses "
"less memory for large objects. ``calloc()`` is used instead of ``malloc()`` "
"to allocate memory for these objects. (Contributed by Victor Stinner in :"
"issue:`21233`.)"
msgstr ""
#: whatsnew/3.5.rst:2074
msgid ""
"Some operations on :mod:`ipaddress` :class:`~ipaddress.IPv4Network` and :"
"class:`~ipaddress.IPv6Network` have been massively sped up, such as :meth:"
"`~ipaddress.IPv4Network.subnets`, :meth:`~ipaddress.IPv4Network.supernet`, :"
"func:`~ipaddress.summarize_address_range`, :func:`~ipaddress."
"collapse_addresses`. The speed up can range from 3 to 15 times. (Contributed "
"by Antoine Pitrou, Michel Albert, and Markus in :issue:`21486`, :issue:"
"`21487`, :issue:`20826`, :issue:`23266`.)"
msgstr ""
#: whatsnew/3.5.rst:2082
msgid ""
"Pickling of :mod:`ipaddress` objects was optimized to produce significantly "
"smaller output. (Contributed by Serhiy Storchaka in :issue:`23133`.)"
msgstr ""
#: whatsnew/3.5.rst:2085
msgid ""
"Many operations on :class:`io.BytesIO` are now 50% to 100% faster. "
"(Contributed by Serhiy Storchaka in :issue:`15381` and David Wilson in :"
"issue:`22003`.)"
msgstr ""
#: whatsnew/3.5.rst:2089
msgid ""
"The :func:`marshal.dumps` function is now faster: 65-85% with versions 3 and "
"4, 20-25% with versions 0 to 2 on typical data, and up to 5 times in best "
"cases. (Contributed by Serhiy Storchaka in :issue:`20416` and :issue:"
"`23344`.)"
msgstr ""
#: whatsnew/3.5.rst:2094
msgid ""
"The UTF-32 encoder is now 3 to 7 times faster. (Contributed by Serhiy "
"Storchaka in :issue:`15027`.)"
msgstr ""
#: whatsnew/3.5.rst:2097
msgid ""
"Regular expressions are now parsed up to 10% faster. (Contributed by Serhiy "
"Storchaka in :issue:`19380`.)"
msgstr ""
#: whatsnew/3.5.rst:2100
msgid ""
"The :func:`json.dumps` function was optimized to run with "
"``ensure_ascii=False`` as fast as with ``ensure_ascii=True``. (Contributed "
"by Naoki Inada in :issue:`23206`.)"
msgstr ""
#: whatsnew/3.5.rst:2104
msgid ""
"The :c:func:`PyObject_IsInstance` and :c:func:`PyObject_IsSubclass` "
"functions have been sped up in the common case that the second argument has :"
"class:`type` as its metaclass. (Contributed Georg Brandl by in :issue:"
"`22540`.)"
msgstr ""
#: whatsnew/3.5.rst:2109
msgid ""
"Method caching was slightly improved, yielding up to 5% performance "
"improvement in some benchmarks. (Contributed by Antoine Pitrou in :issue:"
"`22847`.)"
msgstr ""
#: whatsnew/3.5.rst:2113
msgid ""
"Objects from the :mod:`random` module now use 50% less memory on 64-bit "
"builds. (Contributed by Serhiy Storchaka in :issue:`23488`.)"
msgstr ""
#: whatsnew/3.5.rst:2116
msgid ""
"The :func:`property` getter calls are up to 25% faster. (Contributed by Joe "
"Jevnik in :issue:`23910`.)"
msgstr ""
#: whatsnew/3.5.rst:2119
msgid ""
"Instantiation of :class:`fractions.Fraction` is now up to 30% faster. "
"(Contributed by Stefan Behnel in :issue:`22464`.)"
msgstr ""
#: whatsnew/3.5.rst:2122
msgid ""
"String methods :meth:`~str.find`, :meth:`~str.rfind`, :meth:`~str.split`, :"
"meth:`~str.partition` and the :keyword:`in` string operator are now "
"significantly faster for searching 1-character substrings. (Contributed by "
"Serhiy Storchaka in :issue:`23573`.)"
msgstr ""
#: whatsnew/3.5.rst:2131
msgid "New ``calloc`` functions were added:"
msgstr ""
#: whatsnew/3.5.rst:2133
msgid ":c:func:`PyMem_RawCalloc`,"
msgstr ""
#: whatsnew/3.5.rst:2134
msgid ":c:func:`PyMem_Calloc`,"
msgstr ""
#: whatsnew/3.5.rst:2135
msgid ":c:func:`PyObject_Calloc`,"
msgstr ""
#: whatsnew/3.5.rst:2136
msgid ":c:func:`_PyObject_GC_Calloc`."
msgstr ""
#: whatsnew/3.5.rst:2138
#, fuzzy
msgid "(Contributed by Victor Stinner in :issue:`21233`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.5.rst:2140
msgid "New encoding/decoding helper functions:"
msgstr ""
#: whatsnew/3.5.rst:2142
msgid ":c:func:`Py_DecodeLocale` (replaced ``_Py_char2wchar()``),"
msgstr ""
#: whatsnew/3.5.rst:2143
msgid ":c:func:`Py_EncodeLocale` (replaced ``_Py_wchar2char()``)."
msgstr ""
#: whatsnew/3.5.rst:2145
#, fuzzy
msgid "(Contributed by Victor Stinner in :issue:`18395`.)"
msgstr "(Contribution par Antoine Pitrou; :issue:`3001`.)"
#: whatsnew/3.5.rst:2147
msgid ""
"A new :c:func:`PyCodec_NameReplaceErrors` function to replace the unicode "
"encode error with ``\\N{...}`` escapes. (Contributed by Serhiy Storchaka in :"
"issue:`19676`.)"
msgstr ""
#: whatsnew/3.5.rst:2151
msgid ""
"A new :c:func:`PyErr_FormatV` function similar to :c:func:`PyErr_Format`, "
"but accepts a ``va_list`` argument. (Contributed by Antoine Pitrou in :issue:"
"`18711`.)"
msgstr ""
#: whatsnew/3.5.rst:2155
msgid ""
"A new :c:data:`PyExc_RecursionError` exception. (Contributed by Georg Brandl "
"in :issue:`19235`.)"
msgstr ""
#: whatsnew/3.5.rst:2158
msgid ""
"New :c:func:`PyModule_FromDefAndSpec`, :c:func:`PyModule_FromDefAndSpec2`, "
"and :c:func:`PyModule_ExecDef` functions introduced by :pep:`489` -- multi-"
"phase extension module initialization. (Contributed by Petr Viktorin in :"
"issue:`24268`.)"
msgstr ""
#: whatsnew/3.5.rst:2163
msgid ""
"New :c:func:`PyNumber_MatrixMultiply` and :c:func:"
"`PyNumber_InPlaceMatrixMultiply` functions to perform matrix multiplication. "
"(Contributed by Benjamin Peterson in :issue:`21176`. See also :pep:`465` "
"for details.)"
msgstr ""
#: whatsnew/3.5.rst:2169
msgid ""
"The :c:member:`PyTypeObject.tp_finalize` slot is now part of the stable ABI."
msgstr ""
#: whatsnew/3.5.rst:2171
msgid ""
"Windows builds now require Microsoft Visual C++ 14.0, which is available as "
"part of `Visual Studio 2015 <http://www.visualstudio.com>`_."
msgstr ""
#: whatsnew/3.5.rst:2174
msgid ""
"Extension modules now include a platform information tag in their filename "
"on some platforms (the tag is optional, and CPython will import extensions "
"without it, although if the tag is present and mismatched, the extension "
"won't be loaded):"
msgstr ""
#: whatsnew/3.5.rst:2179
msgid ""
"On Linux, extension module filenames end with ``.cpython-<major><minor>m-"
"<architecture>-<os>.pyd``:"
msgstr ""
#: whatsnew/3.5.rst:2182 whatsnew/3.5.rst:2199
msgid ""
"``<major>`` is the major number of the Python version; for Python 3.5 this "
"is ``3``."
msgstr ""
#: whatsnew/3.5.rst:2185 whatsnew/3.5.rst:2202
msgid ""
"``<minor>`` is the minor number of the Python version; for Python 3.5 this "
"is ``5``."
msgstr ""
#: whatsnew/3.5.rst:2188
msgid ""
"``<architecture>`` is the hardware architecture the extension module was "
"built to run on. It's most commonly either ``i386`` for 32-bit Intel "
"platforms or ``x86_64`` for 64-bit Intel (and AMD) platforms."
msgstr ""
#: whatsnew/3.5.rst:2192
msgid ""
"``<os>`` is always ``linux-gnu``, except for extensions built to talk to the "
"32-bit ABI on 64-bit platforms, in which case it is ``linux-gnu32`` (and "
"``<architecture>`` will be ``x86_64``)."
msgstr ""
#: whatsnew/3.5.rst:2196
msgid ""
"On Windows, extension module filenames end with ``<debug>.cp<major><minor>-"
"<platform>.pyd``:"
msgstr ""
#: whatsnew/3.5.rst:2205
msgid ""
"``<platform>`` is the platform the extension module was built for, either "
"``win32`` for Win32, ``win_amd64`` for Win64, ``win_ia64`` for Windows "
"Itanium 64, and ``win_arm`` for Windows on ARM."
msgstr ""
#: whatsnew/3.5.rst:2209
msgid ""
"If built in debug mode, ``<debug>`` will be ``_d``, otherwise it will be "
"blank."
msgstr ""
#: whatsnew/3.5.rst:2212
msgid ""
"On OS X platforms, extension module filenames now end with ``-darwin.so``."
msgstr ""
#: whatsnew/3.5.rst:2214
msgid ""
"On all other platforms, extension module filenames are the same as they were "
"with Python 3.4."
msgstr ""
#: whatsnew/3.5.rst:2222
msgid "New Keywords"
msgstr ""
#: whatsnew/3.5.rst:2224
msgid ""
"``async`` and ``await`` are not recommended to be used as variable, class, "
"function or module names. Introduced by :pep:`492` in Python 3.5, they will "
"become proper keywords in Python 3.7."
msgstr ""
#: whatsnew/3.5.rst:2230
msgid "Deprecated Python Behavior"
msgstr ""
#: whatsnew/3.5.rst:2232
msgid ""
"Raising the :exc:`StopIteration` exception inside a generator will now "
"generate a silent :exc:`PendingDeprecationWarning`, which will become a non-"
"silent deprecation warning in Python 3.6 and will trigger a :exc:"
"`RuntimeError` in Python 3.7. See :ref:`PEP 479: Change StopIteration "
"handling inside generators <whatsnew-pep-479>` for details."
msgstr ""
#: whatsnew/3.5.rst:2242
msgid ""
"Windows XP is no longer supported by Microsoft, thus, per :PEP:`11`, CPython "
"3.5 is no longer officially supported on this OS."
msgstr ""
#: whatsnew/3.5.rst:2249
msgid ""
"The :mod:`formatter` module has now graduated to full deprecation and is "
"still slated for removal in Python 3.6."
msgstr ""
#: whatsnew/3.5.rst:2252
msgid ""
"The :func:`asyncio.async` function is deprecated in favor of :func:`~asyncio."
"ensure_future`."
msgstr ""
#: whatsnew/3.5.rst:2255
msgid ""
"The :mod:`smtpd` module has in the past always decoded the DATA portion of "
"email messages using the ``utf-8`` codec. This can now be controlled by the "
"new *decode_data* keyword to :class:`~smtpd.SMTPServer`. The default value "
"is ``True``, but this default is deprecated. Specify the *decode_data* "
"keyword with an appropriate value to avoid the deprecation warning."
msgstr ""
#: whatsnew/3.5.rst:2261
msgid ""
"Directly assigning values to the :attr:`~http.cookies.Morsel.key`, :attr:"
"`~http.cookies.Morsel.value` and :attr:`~http.cookies.Morsel.coded_value` "
"of :class:`http.cookies.Morsel` objects is deprecated. Use the :meth:`~http."
"cookies.Morsel.set` method instead. In addition, the undocumented "
"*LegalChars* parameter of :meth:`~http.cookies.Morsel.set` is deprecated, "
"and is now ignored."
msgstr ""
#: whatsnew/3.5.rst:2268
msgid ""
"Passing a format string as keyword argument *format_string* to the :meth:"
"`~string.Formatter.format` method of the :class:`string.Formatter` class has "
"been deprecated. (Contributed by Serhiy Storchaka in :issue:`23671`.)"
msgstr ""
#: whatsnew/3.5.rst:2273
msgid ""
"The :func:`platform.dist` and :func:`platform.linux_distribution` functions "
"are now deprecated and will be removed in Python 3.7. Linux distributions "
"use too many different ways of describing themselves, so the functionality "
"is left to a package. (Contributed by Vajrasky Kok and Berker Peksag in :"
"issue:`1322`.)"
msgstr ""
#: whatsnew/3.5.rst:2279
msgid ""
"The previously undocumented ``from_function`` and ``from_builtin`` methods "
"of :class:`inspect.Signature` are deprecated. Use the new :meth:`Signature."
"from_callable() <inspect.Signature.from_callable>` method instead. "
"(Contributed by Yury Selivanov in :issue:`24248`.)"
msgstr ""
#: whatsnew/3.5.rst:2284
msgid ""
"The :func:`inspect.getargspec` function is deprecated and scheduled to be "
"removed in Python 3.6. (See :issue:`20438` for details.)"
msgstr ""
#: whatsnew/3.5.rst:2287
msgid ""
"The :mod:`inspect` :func:`~inspect.getfullargspec`, :func:`~inspect."
"getargvalues`, :func:`~inspect.getcallargs`, :func:`~inspect.getargvalues`, :"
"func:`~inspect.formatargspec`, and :func:`~inspect.formatargvalues` "
"functions are deprecated in favor of the :func:`inspect.signature` API. "
"(Contributed by Yury Selivanov in :issue:`20438`.)"
msgstr ""
#: whatsnew/3.5.rst:2294
msgid ""
"Use of :const:`re.LOCALE` flag with str patterns or :const:`re.ASCII` is now "
"deprecated. (Contributed by Serhiy Storchaka in :issue:`22407`.)"
msgstr ""
#: whatsnew/3.5.rst:2297
msgid ""
"Use of unrecognized special sequences consisting of ``'\\'`` and an ASCII "
"letter in regular expression patterns and replacement patterns now raises a "
"deprecation warning and will be forbidden in Python 3.6. (Contributed by "
"Serhiy Storchaka in :issue:`23622`.)"
msgstr ""
#: whatsnew/3.5.rst:2302
msgid ""
"The undocumented and unofficial *use_load_tests* default argument of the :"
"meth:`unittest.TestLoader.loadTestsFromModule` method now is deprecated and "
"ignored. (Contributed by Robert Collins and Barry A. Warsaw in :issue:"
"`16662`.)"
msgstr ""
#: whatsnew/3.5.rst:2317
msgid ""
"The ``__version__`` attribute has been dropped from the email package. The "
"email code hasn't been shipped separately from the stdlib for a long time, "
"and the ``__version__`` string was not updated in the last few releases."
msgstr ""
#: whatsnew/3.5.rst:2321
msgid ""
"The internal ``Netrc`` class in the :mod:`ftplib` module was deprecated in "
"3.4, and has now been removed. (Contributed by Matt Chaput in :issue:`6623`.)"
msgstr ""
#: whatsnew/3.5.rst:2325
msgid "The concept of ``.pyo`` files has been removed."
msgstr ""
#: whatsnew/3.5.rst:2327
msgid ""
"The JoinableQueue class in the provisional :mod:`asyncio` module was "
"deprecated in 3.4.4 and is now removed. (Contributed by A. Jesse Jiryu Davis "
"in :issue:`23464`.)"
msgstr ""
#: whatsnew/3.5.rst:2333
#, fuzzy
msgid "Porting to Python 3.5"
msgstr "Portage vers Python 3.2"
#: whatsnew/3.5.rst:2340
msgid "Changes in Python behavior"
msgstr ""
#: whatsnew/3.5.rst:2342
msgid ""
"Due to an oversight, earlier Python versions erroneously accepted the "
"following syntax::"
msgstr ""
#: whatsnew/3.5.rst:2348
msgid ""
"Python 3.5 now correctly raises a :exc:`SyntaxError`, as generator "
"expressions must be put in parentheses if not a sole argument to a function."
msgstr ""
#: whatsnew/3.5.rst:2355
msgid ""
":pep:`475`: System calls are now retried when interrupted by a signal "
"instead of raising :exc:`InterruptedError` if the Python signal handler does "
"not raise an exception."
msgstr ""
#: whatsnew/3.5.rst:2359
msgid ""
"Before Python 3.5, a :class:`datetime.time` object was considered to be "
"false if it represented midnight in UTC. This behavior was considered "
"obscure and error-prone and has been removed in Python 3.5. See :issue:"
"`13936` for full details."
msgstr ""
#: whatsnew/3.5.rst:2364
msgid ""
"The :meth:`ssl.SSLSocket.send()` method now raises either :exc:`ssl."
"SSLWantReadError` or :exc:`ssl.SSLWantWriteError` on a non-blocking socket "
"if the operation would block. Previously, it would return ``0``. "
"(Contributed by Nikolaus Rath in :issue:`20951`.)"
msgstr ""
#: whatsnew/3.5.rst:2369
msgid ""
"The ``__name__`` attribute of generators is now set from the function name, "
"instead of being set from the code name. Use ``gen.gi_code.co_name`` to "
"retrieve the code name. Generators also have a new ``__qualname__`` "
"attribute, the qualified name, which is now used for the representation of a "
"generator (``repr(gen)``). (Contributed by Victor Stinner in :issue:`21205`.)"
msgstr ""
#: whatsnew/3.5.rst:2376
msgid ""
"The deprecated \"strict\" mode and argument of :class:`~html.parser."
"HTMLParser`, :meth:`HTMLParser.error`, and the :exc:`HTMLParserError` "
"exception have been removed. (Contributed by Ezio Melotti in :issue:"
"`15114`.) The *convert_charrefs* argument of :class:`~html.parser."
"HTMLParser` is now ``True`` by default. (Contributed by Berker Peksag in :"
"issue:`21047`.)"
msgstr ""
#: whatsnew/3.5.rst:2382
msgid ""
"Although it is not formally part of the API, it is worth noting for porting "
"purposes (ie: fixing tests) that error messages that were previously of the "
"form \"'sometype' does not support the buffer protocol\" are now of the form "
"\"a :term:`bytes-like object` is required, not 'sometype'\". (Contributed by "
"Ezio Melotti in :issue:`16518`.)"
msgstr ""
#: whatsnew/3.5.rst:2388
msgid ""
"If the current directory is set to a directory that no longer exists then :"
"exc:`FileNotFoundError` will no longer be raised and instead :meth:"
"`~importlib.machinery.FileFinder.find_spec` will return ``None`` **without** "
"caching ``None`` in :data:`sys.path_importer_cache`, which is different than "
"the typical case (:issue:`22834`)."
msgstr ""
#: whatsnew/3.5.rst:2394
msgid ""
"HTTP status code and messages from :mod:`http.client` and :mod:`http.server` "
"were refactored into a common :class:`~http.HTTPStatus` enum. The values "
"in :mod:`http.client` and :mod:`http.server` remain available for backwards "
"compatibility. (Contributed by Demian Brecht in :issue:`21793`.)"
msgstr ""
#: whatsnew/3.5.rst:2399
msgid ""
"When an import loader defines :meth:`importlib.machinery.Loader.exec_module` "
"it is now expected to also define :meth:`~importlib.machinery.Loader."
"create_module` (raises a :exc:`DeprecationWarning` now, will be an error in "
"Python 3.6). If the loader inherits from :class:`importlib.abc.Loader` then "
"there is nothing to do, else simply define :meth:`~importlib.machinery."
"Loader.create_module` to return ``None``. (Contributed by Brett Cannon in :"
"issue:`23014`.)"
msgstr ""
#: whatsnew/3.5.rst:2407
msgid ""
"The :func:`re.split` function always ignored empty pattern matches, so the ``"
"\"x*\"`` pattern worked the same as ``\"x+\"``, and the ``\"\\b\"`` pattern "
"never worked. Now :func:`re.split` raises a warning if the pattern could "
"match an empty string. For compatibility, use patterns that never match an "
"empty string (e.g. ``\"x+\"`` instead of ``\"x*\"``). Patterns that could "
"only match an empty string (such as ``\"\\b\"``) now raise an error. "
"(Contributed by Serhiy Storchaka in :issue:`22818`.)"
msgstr ""
#: whatsnew/3.5.rst:2415
msgid ""
"The :class:`http.cookies.Morsel` dict-like interface has been made self "
"consistent: morsel comparison now takes the :attr:`~http.cookies.Morsel."
"key` and :attr:`~http.cookies.Morsel.value` into account, :meth:`~http."
"cookies.Morsel.copy` now results in a :class:`~http.cookies.Morsel` instance "
"rather than a :class:`dict`, and :meth:`~http.cookies.Morsel.update` will "
"now raise an exception if any of the keys in the update dictionary are "
"invalid. In addition, the undocumented *LegalChars* parameter of :func:"
"`~http.cookies.Morsel.set` is deprecated and is now ignored. (Contributed "
"by Demian Brecht in :issue:`2211`.)"
msgstr ""
#: whatsnew/3.5.rst:2425
msgid ""
":pep:`488` has removed ``.pyo`` files from Python and introduced the "
"optional ``opt-`` tag in ``.pyc`` file names. The :func:`importlib.util."
"cache_from_source` has gained an *optimization* parameter to help control "
"the ``opt-`` tag. Because of this, the *debug_override* parameter of the "
"function is now deprecated. `.pyo` files are also no longer supported as a "
"file argument to the Python interpreter and thus serve no purpose when "
"distributed on their own (i.e. sourcless code distribution). Due to the fact "
"that the magic number for bytecode has changed in Python 3.5, all old `.pyo` "
"files from previous versions of Python are invalid regardless of this PEP."
msgstr ""
#: whatsnew/3.5.rst:2436
msgid ""
"The :mod:`socket` module now exports the :data:`~socket.CAN_RAW_FD_FRAMES` "
"constant on linux 3.6 and greater."
msgstr ""
#: whatsnew/3.5.rst:2439
msgid ""
"The :func:`ssl.cert_time_to_seconds` function now interprets the input time "
"as UTC and not as local time, per :rfc:`5280`. Additionally, the return "
"value is always an :class:`int`. (Contributed by Akira Li in :issue:`19940`.)"
msgstr ""
#: whatsnew/3.5.rst:2443
msgid ""
"The ``pygettext.py`` Tool now uses the standard +NNNN format for timezones "
"in the POT-Creation-Date header."
msgstr ""
#: whatsnew/3.5.rst:2446
msgid ""
"The :mod:`smtplib` module now uses :data:`sys.stderr` instead of the "
"previous module-level :data:`stderr` variable for debug output. If your "
"(test) program depends on patching the module-level variable to capture the "
"debug output, you will need to update it to capture sys.stderr instead."
msgstr ""
#: whatsnew/3.5.rst:2451
msgid ""
"The :meth:`str.startswith` and :meth:`str.endswith` methods no longer return "
"``True`` when finding the empty string and the indexes are completely out of "
"range. (Contributed by Serhiy Storchaka in :issue:`24284`.)"
msgstr ""
#: whatsnew/3.5.rst:2455
msgid ""
"The :func:`inspect.getdoc` function now returns documentation strings "
"inherited from base classes. Documentation strings no longer need to be "
"duplicated if the inherited documentation is appropriate. To suppress an "
"inherited string, an empty string must be specified (or the documentation "
"may be filled in). This change affects the output of the :mod:`pydoc` "
"module and the :func:`help` function. (Contributed by Serhiy Storchaka in :"
"issue:`15582`.)"
msgstr ""
#: whatsnew/3.5.rst:2463
msgid ""
"Nested :func:`functools.partial` calls are now flattened. If you were "
"relying on the previous behavior, you can now either add an attribute to a :"
"func:`functools.partial` object or you can create a subclass of :func:"
"`functools.partial`. (Contributed by Alexander Belopolsky in :issue:`7830`.)"
msgstr ""
#: whatsnew/3.5.rst:2472
msgid ""
"The undocumented :c:member:`~PyMemoryViewObject.format` member of the (non-"
"public) :c:type:`PyMemoryViewObject` structure has been removed. All "
"extensions relying on the relevant parts in ``memoryobject.h`` must be "
"rebuilt."
msgstr ""
#: whatsnew/3.5.rst:2477
msgid ""
"The :c:type:`PyMemAllocator` structure was renamed to :c:type:"
"`PyMemAllocatorEx` and a new ``calloc`` field was added."
msgstr ""
#: whatsnew/3.5.rst:2480
msgid ""
"Removed non-documented macro :c:macro:`PyObject_REPR` which leaked "
"references. Use format character ``%R`` in :c:func:`PyUnicode_FromFormat`-"
"like functions to format the :func:`repr` of the object. (Contributed by "
"Serhiy Storchaka in :issue:`22453`.)"
msgstr ""
#: whatsnew/3.5.rst:2485
msgid ""
"Because the lack of the :attr:`__module__` attribute breaks pickling and "
"introspection, a deprecation warning is now raised for builtin types without "
"the :attr:`__module__` attribute. This would be an AttributeError in the "
"future. (Contributed by Serhiy Storchaka in :issue:`20204`.)"
msgstr ""
#: whatsnew/3.5.rst:2491
msgid ""
"As part of the :pep:`492` implementation, the ``tp_reserved`` slot of :c:"
"type:`PyTypeObject` was replaced with a :c:member:`tp_as_async` slot. Refer "
"to :ref:`coro-objects` for new types, structures and functions."
msgstr ""
#: whatsnew/changelog.rst:3
msgid "Changelog"
msgstr ""
#: ../../../Misc/NEWS:5
msgid "Python 3.5.2 release candidate 1"
msgstr ""
#: ../../../Misc/NEWS:7
msgid "Release date: tba"
msgstr ""
#: ../../../Misc/NEWS:10 ../../../Misc/NEWS:172 ../../../Misc/NEWS:190
#: ../../../Misc/NEWS:707 ../../../Misc/NEWS:742 ../../../Misc/NEWS:770
#: ../../../Misc/NEWS:861 ../../../Misc/NEWS:948 ../../../Misc/NEWS:1053
#: ../../../Misc/NEWS:1095 ../../../Misc/NEWS:1368 ../../../Misc/NEWS:1599
#: ../../../Misc/NEWS:1785 ../../../Misc/NEWS:1925 ../../../Misc/NEWS:3758
#: ../../../Misc/NEWS:3795 ../../../Misc/NEWS:3874 ../../../Misc/NEWS:4137
#: ../../../Misc/NEWS:4377 ../../../Misc/NEWS:4753 ../../../Misc/NEWS:5224
#: ../../../Misc/NEWS:5454 ../../../Misc/NEWS:5575 ../../../Misc/NEWS:5839
msgid "Core and Builtins"
msgstr ""
#: ../../../Misc/NEWS:12
msgid ""
"`Issue #22995 <https://bugs.python.org/22995>`__: [UPDATE] Comment out the "
"one of the pickleability tests in _PyObject_GetState() due to regressions "
"observed in Cython-based projects."
msgstr ""
#: ../../../Misc/NEWS:15
msgid ""
"`Issue #25961 <https://bugs.python.org/25961>`__: Disallowed null characters "
"in the type name."
msgstr ""
#: ../../../Misc/NEWS:17
msgid ""
"`Issue #25973 <https://bugs.python.org/25973>`__: Fix segfault when an "
"invalid nonlocal statement binds a name starting with two underscores."
msgstr ""
#: ../../../Misc/NEWS:20
msgid ""
"`Issue #22995 <https://bugs.python.org/22995>`__: Instances of extension "
"types with a state that aren't subclasses of list or dict and haven't "
"implemented any pickle-related methods (__reduce__, __reduce_ex__, "
"__getnewargs__, __getnewargs_ex__, or __getstate__), can no longer be "
"pickled. Including memoryview."
msgstr ""
#: ../../../Misc/NEWS:25
msgid ""
"`Issue #20440 <https://bugs.python.org/20440>`__: Massive replacing unsafe "
"attribute setting code with special macro Py_SETREF."
msgstr ""
#: ../../../Misc/NEWS:28
msgid ""
"`Issue #25766 <https://bugs.python.org/25766>`__: Special method __bytes__() "
"now works in str subclasses."
msgstr ""
#: ../../../Misc/NEWS:30
msgid ""
"`Issue #25421 <https://bugs.python.org/25421>`__: __sizeof__ methods of "
"builtin types now use dynamic basic size. This allows sys.getsize() to work "
"correctly with their subclasses with __slots__ defined."
msgstr ""
#: ../../../Misc/NEWS:34 ../../../Misc/NEWS:174
msgid ""
"`Issue #25709 <https://bugs.python.org/25709>`__: Fixed problem with in-"
"place string concatenation and utf-8 cache."
msgstr ""
#: ../../../Misc/NEWS:36
msgid ""
"`Issue #24097 <https://bugs.python.org/24097>`__: Fixed crash in object."
"__reduce__() if slot name is freed inside __getattr__."
msgstr ""
#: ../../../Misc/NEWS:39
msgid ""
"`Issue #24731 <https://bugs.python.org/24731>`__: Fixed crash on converting "
"objects with special methods __bytes__, __trunc__, and __float__ returning "
"instances of subclasses of bytes, int, and float to subclasses of bytes, "
"int, and float correspondingly."
msgstr ""
#: ../../../Misc/NEWS:44 ../../../Misc/NEWS:256 ../../../Misc/NEWS:690
#: ../../../Misc/NEWS:717 ../../../Misc/NEWS:755 ../../../Misc/NEWS:775
#: ../../../Misc/NEWS:882 ../../../Misc/NEWS:975 ../../../Misc/NEWS:1071
#: ../../../Misc/NEWS:1145 ../../../Misc/NEWS:1400 ../../../Misc/NEWS:1619
#: ../../../Misc/NEWS:1792 ../../../Misc/NEWS:2152 ../../../Misc/NEWS:3741
#: ../../../Misc/NEWS:3764 ../../../Misc/NEWS:3811 ../../../Misc/NEWS:3901
#: ../../../Misc/NEWS:4158 ../../../Misc/NEWS:4422 ../../../Misc/NEWS:4811
#: ../../../Misc/NEWS:5276 ../../../Misc/NEWS:5462 ../../../Misc/NEWS:5621
#: ../../../Misc/NEWS:6253
msgid "Library"
msgstr ""
#: ../../../Misc/NEWS:46
msgid ""
"`Issue #24705 <https://bugs.python.org/24705>`__: Fix sysconfig."
"_parse_makefile not expanding ${} vars appearing before $() vars."
msgstr ""
#: ../../../Misc/NEWS:49
msgid ""
"`Issue #22138 <https://bugs.python.org/22138>`__: Fix mock.patch behavior "
"when patching descriptors. Restore original values after patching. Patch "
"contributed by Sean McCully."
msgstr ""
#: ../../../Misc/NEWS:52
msgid ""
"`Issue #25672 <https://bugs.python.org/25672>`__: In the ssl module, enable "
"the SSL_MODE_RELEASE_BUFFERS mode option if it is safe to do so."
msgstr ""
#: ../../../Misc/NEWS:55
msgid ""
"`Issue #22570 <https://bugs.python.org/22570>`__: Add 'path' attribute to "
"pathlib.Path objects, returning the same as str(), to make it more similar "
"to DirEntry. Library code can now write getattr(p, 'path', p) to get the "
"path as a string from a Path, a DirEntry, or a plain string. This is "
"essentially a small one-off protocol."
msgstr ""
#: ../../../Misc/NEWS:61
msgid ""
"`Issue #26012 <https://bugs.python.org/26012>`__: Don't traverse into "
"symlinks for ** pattern in pathlib.Path.[r]glob()."
msgstr ""
#: ../../../Misc/NEWS:64
msgid ""
"`Issue #24120 <https://bugs.python.org/24120>`__: Ignore PermissionError "
"when traversing a tree with pathlib.Path.[r]glob(). Patch by Ulrich Petri."
msgstr ""
#: ../../../Misc/NEWS:67
msgid ""
"`Issue #25447 <https://bugs.python.org/25447>`__: fileinput now uses sys."
"stdin as-is if it does not have a buffer attribute (restores backward "
"compatibility)."
msgstr ""
#: ../../../Misc/NEWS:70
msgid ""
"`Issue #25447 <https://bugs.python.org/25447>`__: Copying the lru_cache() "
"wrapper object now always works, independedly from the type of the wrapped "
"object (by returning the original object unchanged)."
msgstr ""
#: ../../../Misc/NEWS:74
msgid ""
"`Issue #24103 <https://bugs.python.org/24103>`__: Fixed possible use after "
"free in ElementTree.XMLPullParser."
msgstr ""
#: ../../../Misc/NEWS:76
msgid ""
"`Issue #25860 <https://bugs.python.org/25860>`__: os.fwalk() no longer skips "
"remaining directories when error occurs. Original patch by Samson Lee."
msgstr ""
#: ../../../Misc/NEWS:79
msgid ""
"`Issue #25914 <https://bugs.python.org/25914>`__: Fixed and simplified "
"OrderedDict.__sizeof__."
msgstr ""
#: ../../../Misc/NEWS:81
msgid ""
"`Issue #25902 <https://bugs.python.org/25902>`__: Fixed various refcount "
"issues in ElementTree iteration."
msgstr ""
#: ../../../Misc/NEWS:83
msgid ""
"`Issue #25717 <https://bugs.python.org/25717>`__: Restore the previous "
"behaviour of tolerating most fstat() errors when opening files. This was a "
"regression in 3.5a1, and stopped anonymous temporary files from working in "
"special cases."
msgstr ""
#: ../../../Misc/NEWS:87
msgid ""
"`Issue #24903 <https://bugs.python.org/24903>`__: Fix regression in number "
"of arguments compileall accepts when '-d' is specified. The check on the "
"number of arguments has been dropped completely as it never worked correctly "
"anyway."
msgstr ""
#: ../../../Misc/NEWS:91
msgid ""
"`Issue #25764 <https://bugs.python.org/25764>`__: In the subprocess module, "
"preserve any exception caused by fork() failure when preexec_fn is used."
msgstr ""
#: ../../../Misc/NEWS:94
msgid ""
"`Issue #6478 <https://bugs.python.org/6478>`__: _strptime's regexp cache now "
"is reset after changing timezone with time.tzset()."
msgstr ""
#: ../../../Misc/NEWS:97
msgid ""
"`Issue #14285 <https://bugs.python.org/14285>`__: When executing a package "
"with the \"python -m package\" option, and package initialization fails, a "
"proper traceback is now reported. The \"runpy\" module now lets exceptions "
"from package initialization pass back to the caller, rather than raising "
"ImportError."
msgstr ""
#: ../../../Misc/NEWS:102
msgid ""
"`Issue #19771 <https://bugs.python.org/19771>`__: Also in runpy and the \"-m"
"\" option, omit the irrelevant message \". . . is a package and cannot be "
"directly executed\" if the package could not even be initialized (e.g. due "
"to a bad ``*.pyc`` file)."
msgstr ""
#: ../../../Misc/NEWS:106
msgid ""
"`Issue #25177 <https://bugs.python.org/25177>`__: Fixed problem with the "
"mean of very small and very large numbers. As a side effect, statistics.mean "
"and statistics.variance should be significantly faster."
msgstr ""
#: ../../../Misc/NEWS:110
msgid ""
"`Issue #25718 <https://bugs.python.org/25718>`__: Fixed copying object with "
"state with boolean value is false."
msgstr ""
#: ../../../Misc/NEWS:112
msgid ""
"`Issue #10131 <https://bugs.python.org/10131>`__: Fixed deep copying of "
"minidom documents. Based on patch by Marian Ganisin."
msgstr ""
#: ../../../Misc/NEWS:115
msgid ""
"`Issue #25725 <https://bugs.python.org/25725>`__: Fixed a reference leak in "
"pickle.loads() when unpickling invalid data including tuple instructions."
msgstr ""
#: ../../../Misc/NEWS:118
msgid ""
"`Issue #25663 <https://bugs.python.org/25663>`__: In the Readline completer, "
"avoid listing duplicate global names, and search the global namespace before "
"searching builtins."
msgstr ""
#: ../../../Misc/NEWS:121
msgid ""
"`Issue #25688 <https://bugs.python.org/25688>`__: Fixed file leak in "
"ElementTree.iterparse() raising an error."
msgstr ""
#: ../../../Misc/NEWS:123
msgid ""
"`Issue #23914 <https://bugs.python.org/23914>`__: Fixed SystemError raised "
"by unpickler on broken pickle data."
msgstr ""
#: ../../../Misc/NEWS:125
msgid ""
"`Issue #25691 <https://bugs.python.org/25691>`__: Fixed crash on deleting "
"ElementTree.Element attributes."
msgstr ""
#: ../../../Misc/NEWS:127
msgid ""
"`Issue #25624 <https://bugs.python.org/25624>`__: ZipFile now always writes "
"a ZIP_STORED header for directory entries. Patch by Dingyuan Wang."
msgstr ""
#: ../../../Misc/NEWS:130
msgid ""
"Skip getaddrinfo if host is already resolved. Patch by A. Jesse Jiryu Davis."
msgstr ""
#: ../../../Misc/NEWS:133
msgid "Add asyncio.timeout() context manager."
msgstr ""
#: ../../../Misc/NEWS:135
msgid ""
"`Issue #26050 <https://bugs.python.org/26050>`__: Add asyncio.StreamReader."
"readuntil() method. Patch by Марк Коренберг."
msgstr ""
#: ../../../Misc/NEWS:141
msgid ""
"`Issue #25500 <https://bugs.python.org/25500>`__: Fix documentation to not "
"claim that __import__ is searched for in the global scope."
msgstr ""
#: ../../../Misc/NEWS:145 ../../../Misc/NEWS:605 ../../../Misc/NEWS:848
#: ../../../Misc/NEWS:1025 ../../../Misc/NEWS:1330 ../../../Misc/NEWS:1556
#: ../../../Misc/NEWS:1765 ../../../Misc/NEWS:3563 ../../../Misc/NEWS:4065
#: ../../../Misc/NEWS:4264 ../../../Misc/NEWS:4667 ../../../Misc/NEWS:5124
#: ../../../Misc/NEWS:5411 ../../../Misc/NEWS:5535 ../../../Misc/NEWS:5783
#: ../../../Misc/NEWS:7505
msgid "Tests"
msgstr ""
#: ../../../Misc/NEWS:147
msgid ""
"`Issue #25616 <https://bugs.python.org/25616>`__: Tests for OrderedDict are "
"extracted from test_collections into separate file test_ordered_dict."
msgstr ""
#: ../../../Misc/NEWS:151 ../../../Misc/NEWS:618 ../../../Misc/NEWS:678
#: ../../../Misc/NEWS:695 ../../../Misc/NEWS:936 ../../../Misc/NEWS:1041
#: ../../../Misc/NEWS:1548 ../../../Misc/NEWS:1760 ../../../Misc/NEWS:1896
#: ../../../Misc/NEWS:3414 ../../../Misc/NEWS:3771 ../../../Misc/NEWS:3856
#: ../../../Misc/NEWS:4109 ../../../Misc/NEWS:4365 ../../../Misc/NEWS:4703
#: ../../../Misc/NEWS:5156 ../../../Misc/NEWS:5430 ../../../Misc/NEWS:5556
#: ../../../Misc/NEWS:5816 ../../../Misc/NEWS:7726
msgid "Build"
msgstr ""
#: ../../../Misc/NEWS:153
msgid ""
"`Issue #25348 <https://bugs.python.org/25348>`__: Added ``--pgo`` and ``--"
"pgo-job`` arguments to ``PCbuild\\build.bat`` for building with Profile-"
"Guided Optimization. The old ``PCbuild\\build_pgo.bat`` script is now "
"deprecated, and simply calls ``PCbuild\\build.bat --pgo %*``."
msgstr ""
#: ../../../Misc/NEWS:158
msgid ""
"`Issue #25827 <https://bugs.python.org/25827>`__: Add support for building "
"with ICC to ``configure``, including a new ``--with-icc`` flag."
msgstr ""
#: ../../../Misc/NEWS:161
msgid ""
"`Issue #25696 <https://bugs.python.org/25696>`__: Fix installation of Python "
"on UNIX with make -j9."
msgstr ""
#: ../../../Misc/NEWS:163
msgid ""
"`Issue #25798 <https://bugs.python.org/25798>`__: Update OS X 10.5 installer "
"to use OpenSSL 1.0.2e."
msgstr ""
#: ../../../Misc/NEWS:167
msgid "Python 3.5.1 final"
msgstr ""
#: ../../../Misc/NEWS:169
msgid "Release date: 2015-12-06"
msgstr ""
#: ../../../Misc/NEWS:178 ../../../Misc/NEWS:629 ../../../Misc/NEWS:1910
#: ../../../Misc/NEWS:3709 ../../../Misc/NEWS:8015
msgid "Windows"
msgstr "Windows"
#: ../../../Misc/NEWS:180
msgid ""
"`Issue #25715 <https://bugs.python.org/25715>`__: Python 3.5.1 installer "
"shows wrong upgrade path and incorrect logic for launcher detection."
msgstr ""
#: ../../../Misc/NEWS:185
msgid "Python 3.5.1 release candidate 1"
msgstr ""
#: ../../../Misc/NEWS:187
msgid "Release date: 2015-11-22"
msgstr ""
#: ../../../Misc/NEWS:192
msgid ""
"`Issue #25630 <https://bugs.python.org/25630>`__: Fix a possible segfault "
"during argument parsing in functions that accept filesystem paths."
msgstr ""
#: ../../../Misc/NEWS:195
msgid ""
"`Issue #23564 <https://bugs.python.org/23564>`__: Fixed a partially broken "
"sanity check in the _posixsubprocess internals regarding how fds_to_pass "
"were passed to the child. The bug had no actual impact as subprocess.py "
"already avoided it."
msgstr ""
#: ../../../Misc/NEWS:199
msgid ""
"`Issue #25388 <https://bugs.python.org/25388>`__: Fixed tokenizer crash when "
"processing undecodable source code with a null byte."
msgstr ""
#: ../../../Misc/NEWS:202
msgid ""
"`Issue #25462 <https://bugs.python.org/25462>`__: The hash of the key now is "
"calculated only once in most operations in C implementation of OrderedDict."
msgstr ""
#: ../../../Misc/NEWS:205
msgid ""
"`Issue #22995 <https://bugs.python.org/22995>`__: Default implementation of "
"__reduce__ and __reduce_ex__ now rejects builtin types with not defined "
"__new__."
msgstr ""
#: ../../../Misc/NEWS:208
msgid ""
"`Issue #25555 <https://bugs.python.org/25555>`__: Fix parser and AST: fill "
"lineno and col_offset of \"arg\" node when compiling AST from Python objects."
msgstr ""
#: ../../../Misc/NEWS:211
msgid ""
"`Issue #24802 <https://bugs.python.org/24802>`__: Avoid buffer overreads "
"when int(), float(), compile(), exec() and eval() are passed bytes-like "
"objects. These objects are not necessarily terminated by a null byte, but "
"the functions assumed they were."
msgstr ""
#: ../../../Misc/NEWS:215
msgid ""
"`Issue #24726 <https://bugs.python.org/24726>`__: Fixed a crash and leaking "
"NULL in repr() of OrderedDict that was mutated by direct calls of dict "
"methods."
msgstr ""
#: ../../../Misc/NEWS:218
msgid ""
"`Issue #25449 <https://bugs.python.org/25449>`__: Iterating OrderedDict with "
"keys with unstable hash now raises KeyError in C implementations as well as "
"in Python implementation."
msgstr ""
#: ../../../Misc/NEWS:221
msgid ""
"`Issue #25395 <https://bugs.python.org/25395>`__: Fixed crash when highly "
"nested OrderedDict structures were garbage collected."
msgstr ""
#: ../../../Misc/NEWS:224
msgid ""
"`Issue #25274 <https://bugs.python.org/25274>`__: sys.setrecursionlimit() "
"now raises a RecursionError if the new recursion limit is too low depending "
"at the current recursion depth. Modify also the \"lower-water mark\" formula "
"to make it monotonic. This mark is used to decide when the overflowed flag "
"of the thread state is reset."
msgstr ""
#: ../../../Misc/NEWS:229
msgid ""
"`Issue #24402 <https://bugs.python.org/24402>`__: Fix input() to prompt to "
"the redirected stdout when sys.stdout.fileno() fails."
msgstr ""
#: ../../../Misc/NEWS:232
msgid ""
"`Issue #24806 <https://bugs.python.org/24806>`__: Prevent builtin types that "
"are not allowed to be subclassed from being subclassed through multiple "
"inheritance."
msgstr ""
#: ../../../Misc/NEWS:235
msgid ""
"`Issue #24848 <https://bugs.python.org/24848>`__: Fixed a number of bugs in "
"UTF-7 decoding of misformed data."
msgstr ""
#: ../../../Misc/NEWS:237
msgid ""
"`Issue #25280 <https://bugs.python.org/25280>`__: Import trace messages "
"emitted in verbose (-v) mode are no longer formatted twice."
msgstr ""
#: ../../../Misc/NEWS:240
msgid ""
"`Issue #25003 <https://bugs.python.org/25003>`__: On Solaris 11.3 or newer, "
"os.urandom() now uses the getrandom() function instead of the getentropy() "
"function. The getentropy() function is blocking to generate very good "
"quality entropy, os.urandom() doesn't need such high-quality entropy."
msgstr ""
#: ../../../Misc/NEWS:245
msgid ""
"`Issue #25182 <https://bugs.python.org/25182>`__: The stdprinter (used as "
"sys.stderr before the io module is imported at startup) now uses the "
"backslashreplace error handler."
msgstr ""
#: ../../../Misc/NEWS:248
msgid ""
"`Issue #25131 <https://bugs.python.org/25131>`__: Make the line number and "
"column offset of set/dict literals and comprehensions correspond to the "
"opening brace."
msgstr ""
#: ../../../Misc/NEWS:251
msgid ""
"`Issue #25150 <https://bugs.python.org/25150>`__: Hide the private "
"_Py_atomic_xxx symbols from the public Python.h header to fix a compilation "
"error with OpenMP. PyThreadState_GET() becomes an alias to "
"PyThreadState_Get() to avoid ABI incompatibilies."
msgstr ""
#: ../../../Misc/NEWS:258
msgid ""
"`Issue #25626 <https://bugs.python.org/25626>`__: Change three zlib "
"functions to accept sizes that fit in Py_ssize_t, but internally cap those "
"sizes to UINT_MAX. This resolves a regression in 3.5 where GzipFile.read() "
"failed to read chunks larger than 2 or 4 GiB. The change affects the zlib."
"Decompress.decompress() max_length parameter, the zlib.decompress() bufsize "
"parameter, and the zlib.Decompress.flush() length parameter."
msgstr ""
#: ../../../Misc/NEWS:265
msgid ""
"`Issue #25583 <https://bugs.python.org/25583>`__: Avoid incorrect errors "
"raised by os.makedirs(exist_ok=True) when the OS gives priority to errors "
"such as EACCES over EEXIST."
msgstr ""
#: ../../../Misc/NEWS:268
msgid ""
"`Issue #25593 <https://bugs.python.org/25593>`__: Change semantics of "
"EventLoop.stop() in asyncio."
msgstr ""
#: ../../../Misc/NEWS:270
msgid ""
"`Issue #6973 <https://bugs.python.org/6973>`__: When we know a subprocess."
"Popen process has died, do not allow the send_signal(), terminate(), or "
"kill() methods to do anything as they could potentially signal a different "
"process."
msgstr ""
#: ../../../Misc/NEWS:274
msgid ""
"`Issue #25590 <https://bugs.python.org/25590>`__: In the Readline completer, "
"only call getattr() once per attribute."
msgstr ""
#: ../../../Misc/NEWS:277
msgid ""
"`Issue #25498 <https://bugs.python.org/25498>`__: Fix a crash when garbage-"
"collecting ctypes objects created by wrapping a memoryview. This was a "
"regression made in 3.5a1. Based on patch by Eryksun."
msgstr ""
#: ../../../Misc/NEWS:281
msgid ""
"`Issue #25584 <https://bugs.python.org/25584>`__: Added \"escape\" to the "
"__all__ list in the glob module."
msgstr ""
#: ../../../Misc/NEWS:283
msgid ""
"`Issue #25584 <https://bugs.python.org/25584>`__: Fixed recursive glob() "
"with patterns starting with '\\*\\*'."
msgstr ""
#: ../../../Misc/NEWS:285
msgid ""
"`Issue #25446 <https://bugs.python.org/25446>`__: Fix regression in "
"smtplib's AUTH LOGIN support."
msgstr ""
#: ../../../Misc/NEWS:287
msgid ""
"`Issue #18010 <https://bugs.python.org/18010>`__: Fix the pydoc web server's "
"module search function to handle exceptions from importing packages."
msgstr ""
#: ../../../Misc/NEWS:290
msgid ""
"`Issue #25554 <https://bugs.python.org/25554>`__: Got rid of circular "
"references in regular expression parsing."
msgstr ""
#: ../../../Misc/NEWS:292
msgid ""
"`Issue #25510 <https://bugs.python.org/25510>`__: fileinput.FileInput."
"readline() now returns b'' instead of '' at the end if the FileInput was "
"opened with binary mode. Patch by Ryosuke Ito."
msgstr ""
#: ../../../Misc/NEWS:296
msgid ""
"`Issue #25503 <https://bugs.python.org/25503>`__: Fixed inspect.getdoc() for "
"inherited docstrings of properties. Original patch by John Mark Vandenberg."
msgstr ""
#: ../../../Misc/NEWS:299
msgid ""
"`Issue #25515 <https://bugs.python.org/25515>`__: Always use os.urandom as a "
"source of randomness in uuid.uuid4."
msgstr ""
#: ../../../Misc/NEWS:301
msgid ""
"`Issue #21827 <https://bugs.python.org/21827>`__: Fixed textwrap.dedent() "
"for the case when largest common whitespace is a substring of smallest "
"leading whitespace. Based on patch by Robert Li."
msgstr ""
#: ../../../Misc/NEWS:305
msgid ""
"`Issue #25447 <https://bugs.python.org/25447>`__: The lru_cache() wrapper "
"objects now can be copied and pickled (by returning the original object "
"unchanged)."
msgstr ""
#: ../../../Misc/NEWS:308
msgid ""
"`Issue #25390 <https://bugs.python.org/25390>`__: typing: Don't crash on "
"Union[str, Pattern]."
msgstr ""
#: ../../../Misc/NEWS:310
msgid ""
"`Issue #25441 <https://bugs.python.org/25441>`__: asyncio: Raise error from "
"drain() when socket is closed."
msgstr ""
#: ../../../Misc/NEWS:312
msgid ""
"`Issue #25410 <https://bugs.python.org/25410>`__: Cleaned up and fixed minor "
"bugs in C implementation of OrderedDict."
msgstr ""
#: ../../../Misc/NEWS:315
msgid ""
"`Issue #25411 <https://bugs.python.org/25411>`__: Improved Unicode support "
"in SMTPHandler through better use of the email package. Thanks to user "
"simon04 for the patch."
msgstr ""
#: ../../../Misc/NEWS:318
msgid ""
"`Issue #25407 <https://bugs.python.org/25407>`__: Remove mentions of the "
"formatter module being removed in Python 3.6."
msgstr ""
#: ../../../Misc/NEWS:321
msgid ""
"`Issue #25406 <https://bugs.python.org/25406>`__: Fixed a bug in C "
"implementation of OrderedDict.move_to_end() that caused segmentation fault "
"or hang in iterating after moving several items to the start of ordered dict."
msgstr ""
#: ../../../Misc/NEWS:325
msgid ""
"`Issue #25364 <https://bugs.python.org/25364>`__: zipfile now works in "
"threads disabled builds."
msgstr ""
#: ../../../Misc/NEWS:327
msgid ""
"`Issue #25328 <https://bugs.python.org/25328>`__: smtpd's SMTPChannel now "
"correctly raises a ValueError if both decode_data and enable_SMTPUTF8 are "
"set to true."
msgstr ""
#: ../../../Misc/NEWS:330
msgid ""
"`Issue #25316 <https://bugs.python.org/25316>`__: distutils raises OSError "
"instead of DistutilsPlatformError when MSVC is not installed."
msgstr ""
#: ../../../Misc/NEWS:333
msgid ""
"`Issue #25380 <https://bugs.python.org/25380>`__: Fixed protocol for the "
"STACK_GLOBAL opcode in pickletools.opcodes."
msgstr ""
#: ../../../Misc/NEWS:336
msgid ""
"`Issue #23972 <https://bugs.python.org/23972>`__: Updates asyncio datagram "
"create method allowing reuseport and reuseaddr socket options to be set "
"prior to binding the socket. Mirroring the existing asyncio create_server "
"method the reuseaddr option for datagram sockets defaults to True if the O/S "
"is 'posix' (except if the platform is Cygwin). Patch by Chris Laws."
msgstr ""
#: ../../../Misc/NEWS:342
msgid ""
"`Issue #25304 <https://bugs.python.org/25304>`__: Add asyncio."
"run_coroutine_threadsafe(). This lets you submit a coroutine to a loop from "
"another thread, returning a concurrent.futures.Future. By Vincent Michel."
msgstr ""
#: ../../../Misc/NEWS:346
msgid ""
"`Issue #25232 <https://bugs.python.org/25232>`__: Fix CGIRequestHandler to "
"split the query from the URL at the first question mark (?) rather than the "
"last. Patch from Xiang Zhang."
msgstr ""
#: ../../../Misc/NEWS:349
msgid ""
"`Issue #24657 <https://bugs.python.org/24657>`__: Prevent CGIRequestHandler "
"from collapsing slashes in the query part of the URL as if it were a path. "
"Patch from Xiang Zhang."
msgstr ""
#: ../../../Misc/NEWS:352
msgid ""
"`Issue #24483 <https://bugs.python.org/24483>`__: C implementation of "
"functools.lru_cache() now calculates key's hash only once."
msgstr ""
#: ../../../Misc/NEWS:355
msgid ""
"`Issue #22958 <https://bugs.python.org/22958>`__: Constructor and update "
"method of weakref.WeakValueDictionary now accept the self and the dict "
"keyword arguments."
msgstr ""
#: ../../../Misc/NEWS:358
msgid ""
"`Issue #22609 <https://bugs.python.org/22609>`__: Constructor of collections."
"UserDict now accepts the self keyword argument."
msgstr ""
#: ../../../Misc/NEWS:361
msgid ""
"`Issue #25111 <https://bugs.python.org/25111>`__: Fixed comparison of "
"traceback.FrameSummary."
msgstr ""
#: ../../../Misc/NEWS:363
msgid ""
"`Issue #25262 <https://bugs.python.org/25262>`__. Added support for "
"BINBYTES8 opcode in Python implementation of unpickler. Highest 32 bits of "
"64-bit size for BINUNICODE8 and BINBYTES8 opcodes no longer silently ignored "
"on 32-bit platforms in C implementation."
msgstr ""
#: ../../../Misc/NEWS:367
msgid ""
"`Issue #25034 <https://bugs.python.org/25034>`__: Fix string.Formatter "
"problem with auto-numbering and nested format_specs. Patch by Anthon van der "
"Neut."
msgstr ""
#: ../../../Misc/NEWS:370
msgid ""
"`Issue #25233 <https://bugs.python.org/25233>`__: Rewrite the guts of "
"asyncio.Queue and asyncio.Semaphore to be more understandable and correct."
msgstr ""
#: ../../../Misc/NEWS:373
msgid ""
"`Issue #25203 <https://bugs.python.org/25203>`__: Failed readline."
"set_completer_delims() no longer left the module in inconsistent state."
msgstr ""
#: ../../../Misc/NEWS:376
msgid ""
"`Issue #23600 <https://bugs.python.org/23600>`__: Default implementation of "
"tzinfo.fromutc() was returning wrong results in some cases."
msgstr ""
#: ../../../Misc/NEWS:379
msgid ""
"`Issue #23329 <https://bugs.python.org/23329>`__: Allow the ssl module to be "
"built with older versions of LibreSSL."
msgstr ""
#: ../../../Misc/NEWS:382
msgid "Prevent overflow in _Unpickler_Read."
msgstr ""
#: ../../../Misc/NEWS:384
msgid ""
"`Issue #25047 <https://bugs.python.org/25047>`__: The XML encoding "
"declaration written by Element Tree now respects the letter case given by "
"the user. This restores the ability to write encoding names in uppercase "
"like \"UTF-8\", which worked in Python 2."
msgstr ""
#: ../../../Misc/NEWS:388
msgid ""
"`Issue #25135 <https://bugs.python.org/25135>`__: Make deque_clear() safer "
"by emptying the deque before clearing. This helps avoid possible reentrancy "
"issues."
msgstr ""
#: ../../../Misc/NEWS:391
msgid ""
"`Issue #19143 <https://bugs.python.org/19143>`__: platform module now reads "
"Windows version from kernel32.dll to avoid compatibility shims."
msgstr ""
#: ../../../Misc/NEWS:394
msgid ""
"`Issue #25092 <https://bugs.python.org/25092>`__: Fix datetime.strftime() "
"failure when errno was already set to EINVAL."
msgstr ""
#: ../../../Misc/NEWS:397
msgid ""
"`Issue #23517 <https://bugs.python.org/23517>`__: Fix rounding in "
"fromtimestamp() and utcfromtimestamp() methods of datetime.datetime: "
"microseconds are now rounded to nearest with ties going to nearest even "
"integer (ROUND_HALF_EVEN), instead of being rounding towards minus infinity "
"(ROUND_FLOOR). It's important that these methods use the same rounding mode "
"than datetime.timedelta to keep the property: (datetime(1970,1,1) + "
"timedelta(seconds=t)) == datetime.utcfromtimestamp(t). It also the rounding "
"mode used by round(float) for example."
msgstr ""
#: ../../../Misc/NEWS:405
msgid ""
"`Issue #25155 <https://bugs.python.org/25155>`__: Fix datetime.datetime."
"now() and datetime.datetime.utcnow() on Windows to support date after year "
"2038. It was a regression introduced in Python 3.5.0."
msgstr ""
#: ../../../Misc/NEWS:409
msgid ""
"`Issue #25108 <https://bugs.python.org/25108>`__: Omitted internal frames in "
"traceback functions print_stack(), format_stack(), and extract_stack() "
"called without arguments."
msgstr ""
#: ../../../Misc/NEWS:412
msgid ""
"`Issue #25118 <https://bugs.python.org/25118>`__: Fix a regression of Python "
"3.5.0 in os.waitpid() on Windows."
msgstr ""
#: ../../../Misc/NEWS:414
msgid ""
"`Issue #24684 <https://bugs.python.org/24684>`__: socket.socket."
"getaddrinfo() now calls PyUnicode_AsEncodedString() instead of calling the "
"encode() method of the host, to handle correctly custom string with an "
"encode() method which doesn't return a byte string. The encoder of the IDNA "
"codec is now called directly instead of calling the encode() method of the "
"string."
msgstr ""
#: ../../../Misc/NEWS:420
msgid ""
"`Issue #25060 <https://bugs.python.org/25060>`__: Correctly compute stack "
"usage of the BUILD_MAP opcode."
msgstr ""
#: ../../../Misc/NEWS:422
msgid ""
"`Issue #24857 <https://bugs.python.org/24857>`__: Comparing call_args to a "
"long sequence now correctly returns a boolean result instead of raising an "
"exception. Patch by A Kaptur."
msgstr ""
#: ../../../Misc/NEWS:425
msgid ""
"`Issue #23144 <https://bugs.python.org/23144>`__: Make sure that HTMLParser."
"feed() returns all the data, even when convert_charrefs is True."
msgstr ""
#: ../../../Misc/NEWS:428
msgid ""
"`Issue #24982 <https://bugs.python.org/24982>`__: shutil.make_archive() with "
"the \"zip\" format now adds entries for directories (including empty "
"directories) in ZIP file."
msgstr ""
#: ../../../Misc/NEWS:431
msgid ""
"`Issue #25019 <https://bugs.python.org/25019>`__: Fixed a crash caused by "
"setting non-string key of expat parser. Based on patch by John Leitch."
msgstr ""
#: ../../../Misc/NEWS:434
msgid ""
"`Issue #16180 <https://bugs.python.org/16180>`__: Exit pdb if file has "
"syntax error, instead of trapping user in an infinite loop. Patch by Xavier "
"de Gaye."
msgstr ""
#: ../../../Misc/NEWS:437
msgid ""
"`Issue #24891 <https://bugs.python.org/24891>`__: Fix a race condition at "
"Python startup if the file descriptor of stdin (0), stdout (1) or stderr (2) "
"is closed while Python is creating sys.stdin, sys.stdout and sys.stderr "
"objects. These attributes are now set to None if the creation of the object "
"failed, instead of raising an OSError exception. Initial patch written by "
"Marco Paolini."
msgstr ""
#: ../../../Misc/NEWS:443
msgid ""
"`Issue #24992 <https://bugs.python.org/24992>`__: Fix error handling and a "
"race condition (related to garbage collection) in collections.OrderedDict "
"constructor."
msgstr ""
#: ../../../Misc/NEWS:446
msgid ""
"`Issue #24881 <https://bugs.python.org/24881>`__: Fixed setting binary mode "
"in Python implementation of FileIO on Windows and Cygwin. Patch from Akira "
"Li."
msgstr ""
#: ../../../Misc/NEWS:449
msgid ""
"`Issue #25578 <https://bugs.python.org/25578>`__: Fix (another) memory leak "
"in SSLSocket.getpeercer()."
msgstr ""
#: ../../../Misc/NEWS:451
msgid ""
"`Issue #25530 <https://bugs.python.org/25530>`__: Disable the vulnerable "
"SSLv3 protocol by default when creating ssl.SSLContext."
msgstr ""
#: ../../../Misc/NEWS:454
msgid ""
"`Issue #25569 <https://bugs.python.org/25569>`__: Fix memory leak in "
"SSLSocket.getpeercert()."
msgstr ""
#: ../../../Misc/NEWS:456
msgid ""
"`Issue #25471 <https://bugs.python.org/25471>`__: Sockets returned from "
"accept() shouldn't appear to be nonblocking."
msgstr ""
#: ../../../Misc/NEWS:459
msgid ""
"`Issue #25319 <https://bugs.python.org/25319>`__: When threading.Event is "
"reinitialized, the underlying condition should use a regular lock rather "
"than a recursive lock."
msgstr ""
#: ../../../Misc/NEWS:462
msgid ""
"`Issue #21112 <https://bugs.python.org/21112>`__: Fix regression in unittest."
"expectedFailure on subclasses. Patch from Berker Peksag."
msgstr ""
#: ../../../Misc/NEWS:465
msgid ""
"`Issue #24764 <https://bugs.python.org/24764>`__: cgi.FieldStorage."
"read_multi() now ignores the Content-Length header in part headers. Patch "
"written by Peter Landry and reviewed by Pierre Quentel."
msgstr ""
#: ../../../Misc/NEWS:469 ../../../Misc/NEWS:732
msgid ""
"`Issue #24913 <https://bugs.python.org/24913>`__: Fix overrun error in deque."
"index(). Found by John Leitch and Bryce Darling."
msgstr ""
#: ../../../Misc/NEWS:472
msgid ""
"`Issue #24774 <https://bugs.python.org/24774>`__: Fix docstring in http."
"server.test. Patch from Chiu-Hsiang Hsu."
msgstr ""
#: ../../../Misc/NEWS:474
msgid ""
"`Issue #21159 <https://bugs.python.org/21159>`__: Improve message in "
"configparser.InterpolationMissingOptionError. Patch from Łukasz Langa."
msgstr ""
#: ../../../Misc/NEWS:477
msgid ""
"`Issue #20362 <https://bugs.python.org/20362>`__: Honour TestCase."
"longMessage correctly in assertRegex. Patch from Ilia Kurenkov."
msgstr ""
#: ../../../Misc/NEWS:480
msgid ""
"`Issue #23572 <https://bugs.python.org/23572>`__: Fixed functools."
"singledispatch on classes with falsy metaclasses. Patch by Ethan Furman."
msgstr ""
#: ../../../Misc/NEWS:483
msgid "asyncio: ensure_future() now accepts awaitable objects."
msgstr ""
#: ../../../Misc/NEWS:488
msgid ""
"Issue 15348: Stop the debugger engine (normally in a user process) before "
"closing the debugger window (running in the IDLE process). This prevents the "
"RuntimeErrors that were being caught and ignored."
msgstr ""
#: ../../../Misc/NEWS:492
msgid ""
"`Issue #24455 <https://bugs.python.org/24455>`__: Prevent IDLE from hanging "
"when a) closing the shell while the debugger is active (15347); b) closing "
"the debugger with the [X] button (15348); and c) activating the debugger "
"when already active (24455). The patch by Mark Roseman does this by making "
"two changes. 1. Suspend and resume the gui.interaction method with the tcl "
"vwait mechanism intended for this purpose (instead of root.mainloop & ."
"quit). 2. In gui.run, allow any existing interaction to terminate first."
msgstr ""
#: ../../../Misc/NEWS:500
msgid ""
"Change 'The program' to 'Your program' in an IDLE 'kill program?' message to "
"make it clearer that the program referred to is the currently running user "
"program, not IDLE itself."
msgstr ""
#: ../../../Misc/NEWS:504
msgid ""
"`Issue #24750 <https://bugs.python.org/24750>`__: Improve the appearance of "
"the IDLE editor window status bar. Patch by Mark Roseman."
msgstr ""
#: ../../../Misc/NEWS:507
msgid ""
"`Issue #25313 <https://bugs.python.org/25313>`__: Change the handling of new "
"built-in text color themes to better address the compatibility problem "
"introduced by the addition of IDLE Dark. Consistently use the revised "
"idleConf.CurrentTheme everywhere in idlelib."
msgstr ""
#: ../../../Misc/NEWS:511
msgid ""
"`Issue #24782 <https://bugs.python.org/24782>`__: Extension configuration is "
"now a tab in the IDLE Preferences dialog rather than a separate dialog. The "
"former tabs are now a sorted list. Patch by Mark Roseman."
msgstr ""
#: ../../../Misc/NEWS:515
msgid ""
"`Issue #22726 <https://bugs.python.org/22726>`__: Re-activate the config "
"dialog help button with some content about the other buttons and the new "
"IDLE Dark theme."
msgstr ""
#: ../../../Misc/NEWS:518
msgid ""
"`Issue #24820 <https://bugs.python.org/24820>`__: IDLE now has an 'IDLE "
"Dark' built-in text color theme. It is more or less IDLE Classic inverted, "
"with a cobalt blue background. Strings, comments, keywords, ... are still "
"green, red, orange, ... . To use it with IDLEs released before November "
"2015, hit the 'Save as New Custom Theme' button and enter a new name, such "
"as 'Custom Dark'. The custom theme will work with any IDLE release, and can "
"be modified."
msgstr ""
#: ../../../Misc/NEWS:526
msgid ""
"`Issue #25224 <https://bugs.python.org/25224>`__: README.txt is now an "
"idlelib index for IDLE developers and curious users. The previous user "
"content is now in the IDLE doc chapter. 'IDLE' now means 'Integrated "
"Development and Learning Environment'."
msgstr ""
#: ../../../Misc/NEWS:530
msgid ""
"`Issue #24820 <https://bugs.python.org/24820>`__: Users can now set "
"breakpoint colors in Settings -> Custom Highlighting. Original patch by "
"Mark Roseman."
msgstr ""
#: ../../../Misc/NEWS:533
msgid ""
"`Issue #24972 <https://bugs.python.org/24972>`__: Inactive selection "
"background now matches active selection background, as configured by users, "
"on all systems. Found items are now always highlighted on Windows. Initial "
"patch by Mark Roseman."
msgstr ""
#: ../../../Misc/NEWS:537
msgid ""
"`Issue #24570 <https://bugs.python.org/24570>`__: Idle: make calltip and "
"completion boxes appear on Macs affected by a tk regression. Initial patch "
"by Mark Roseman."
msgstr ""
#: ../../../Misc/NEWS:540
msgid ""
"`Issue #24988 <https://bugs.python.org/24988>`__: Idle ScrolledList context "
"menus (used in debugger) now work on Mac Aqua. Patch by Mark Roseman."
msgstr ""
#: ../../../Misc/NEWS:543
msgid ""
"`Issue #24801 <https://bugs.python.org/24801>`__: Make right-click for "
"context menu work on Mac Aqua. Patch by Mark Roseman."
msgstr ""
#: ../../../Misc/NEWS:546
msgid ""
"`Issue #25173 <https://bugs.python.org/25173>`__: Associate tkinter "
"messageboxes with a specific widget. For Mac OSX, make them a 'sheet'. "
"Patch by Mark Roseman."
msgstr ""
#: ../../../Misc/NEWS:549
msgid ""
"`Issue #25198 <https://bugs.python.org/25198>`__: Enhance the initial html "
"viewer now used for Idle Help. * Properly indent fixed-pitch text (patch by "
"Mark Roseman). * Give code snippet a very Sphinx-like light blueish-gray "
"background. * Re-use initial width and height set by users for shell and "
"editor. * When the Table of Contents (TOC) menu is used, put the section "
"header at the top of the screen."
msgstr ""
#: ../../../Misc/NEWS:556
msgid ""
"`Issue #25225 <https://bugs.python.org/25225>`__: Condense and rewrite Idle "
"doc section on text colors."
msgstr ""
#: ../../../Misc/NEWS:558
msgid ""
"`Issue #21995 <https://bugs.python.org/21995>`__: Explain some differences "
"between IDLE and console Python."
msgstr ""
#: ../../../Misc/NEWS:560
msgid ""
"`Issue #22820 <https://bugs.python.org/22820>`__: Explain need for *print* "
"when running file from Idle editor."
msgstr ""
#: ../../../Misc/NEWS:562
msgid ""
"`Issue #25224 <https://bugs.python.org/25224>`__: Doc: augment Idle feature "
"list and no-subprocess section."
msgstr ""
#: ../../../Misc/NEWS:564
msgid ""
"`Issue #25219 <https://bugs.python.org/25219>`__: Update doc for Idle "
"command line options. Some were missing and notes were not correct."
msgstr ""
#: ../../../Misc/NEWS:567
msgid ""
"`Issue #24861 <https://bugs.python.org/24861>`__: Most of idlelib is private "
"and subject to change. Use idleib.idle.* to start Idle. See idlelib.__init__."
"__doc__."
msgstr ""
#: ../../../Misc/NEWS:570
msgid ""
"`Issue #25199 <https://bugs.python.org/25199>`__: Idle: add synchronization "
"comments for future maintainers."
msgstr ""
#: ../../../Misc/NEWS:572
msgid ""
"`Issue #16893 <https://bugs.python.org/16893>`__: Replace help.txt with help."
"html for Idle doc display. The new idlelib/help.html is rstripped Doc/build/"
"html/library/idle.html. It looks better than help.txt and will better "
"document Idle as released. The tkinter html viewer that works for this file "
"was written by Mark Roseman. The now unused EditorWindow.HelpDialog class "
"and helt.txt file are deprecated."
msgstr ""
#: ../../../Misc/NEWS:578
msgid ""
"`Issue #24199 <https://bugs.python.org/24199>`__: Deprecate unused idlelib."
"idlever with possible removal in 3.6."
msgstr ""
#: ../../../Misc/NEWS:580
msgid ""
"`Issue #24790 <https://bugs.python.org/24790>`__: Remove extraneous code "
"(which also create 2 & 3 conflicts)."
msgstr ""
#: ../../../Misc/NEWS:585
msgid ""
"`Issue #12067 <https://bugs.python.org/12067>`__: Rewrite Comparisons "
"section in the Expressions chapter of the language reference. Some of the "
"details of comparing mixed types were incorrect or ambiguous. NotImplemented "
"is only relevant at a lower level than the Expressions chapter. Added "
"details of comparing range() objects, and default behaviour and consistency "
"suggestions for user-defined classes. Patch from Andy Maier."
msgstr ""
#: ../../../Misc/NEWS:592
msgid ""
"`Issue #24952 <https://bugs.python.org/24952>`__: Clarify the default size "
"argument of stack_size() in the \"threading\" and \"_thread\" modules. Patch "
"from Mattip."
msgstr ""
#: ../../../Misc/NEWS:595
msgid ""
"`Issue #23725 <https://bugs.python.org/23725>`__: Overhaul tempfile docs. "
"Note deprecated status of mktemp. Patch from Zbigniew Jędrzejewski-Szmek."
msgstr ""
#: ../../../Misc/NEWS:598
msgid ""
"`Issue #24808 <https://bugs.python.org/24808>`__: Update the types of some "
"PyTypeObject fields. Patch by Joseph Weston."
msgstr ""
#: ../../../Misc/NEWS:601
msgid ""
"`Issue #22812 <https://bugs.python.org/22812>`__: Fix unittest discovery "
"examples. Patch from Pam McA'Nulty."
msgstr ""
#: ../../../Misc/NEWS:607
msgid ""
"`Issue #25449 <https://bugs.python.org/25449>`__: Added tests for "
"OrderedDict subclasses."
msgstr ""
#: ../../../Misc/NEWS:609
msgid ""
"`Issue #25099 <https://bugs.python.org/25099>`__: Make test_compileall not "
"fail when an entry on sys.path cannot be written to (commonly seen in "
"administrative installs on Windows)."
msgstr ""
#: ../../../Misc/NEWS:612
msgid ""
"`Issue #23919 <https://bugs.python.org/23919>`__: Prevents assert dialogs "
"appearing in the test suite."
msgstr ""
#: ../../../Misc/NEWS:614
msgid ""
"``PCbuild\\rt.bat`` now accepts an unlimited number of arguments to pass "
"along to regrtest.py. Previously there was a limit of 9."
msgstr ""
#: ../../../Misc/NEWS:620
msgid ""
"`Issue #24915 <https://bugs.python.org/24915>`__: Add LLVM support for PGO "
"builds and use the test suite to generate the profile data. Initial patch by "
"Alecsandru Patrascu of Intel."
msgstr ""
#: ../../../Misc/NEWS:623
msgid ""
"`Issue #24910 <https://bugs.python.org/24910>`__: Windows MSIs now have "
"unique display names."
msgstr ""
#: ../../../Misc/NEWS:625
msgid ""
"`Issue #24986 <https://bugs.python.org/24986>`__: It is now possible to "
"build Python on Windows without errors when external libraries are not "
"available."
msgstr ""
#: ../../../Misc/NEWS:631
msgid ""
"`Issue #25450 <https://bugs.python.org/25450>`__: Updates shortcuts to start "
"Python in installation directory."
msgstr ""
#: ../../../Misc/NEWS:633
msgid ""
"`Issue #25164 <https://bugs.python.org/25164>`__: Changes default all-users "
"install directory to match per-user directory."
msgstr ""
#: ../../../Misc/NEWS:636
msgid ""
"`Issue #25143 <https://bugs.python.org/25143>`__: Improves installer error "
"messages for unsupported platforms."
msgstr ""
#: ../../../Misc/NEWS:638
msgid ""
"`Issue #25163 <https://bugs.python.org/25163>`__: Display correct directory "
"in installer when using non-default settings."
msgstr ""
#: ../../../Misc/NEWS:641
msgid ""
"`Issue #25361 <https://bugs.python.org/25361>`__: Disables use of SSE2 "
"instructions in Windows 32-bit build"
msgstr ""
#: ../../../Misc/NEWS:643
msgid ""
"`Issue #25089 <https://bugs.python.org/25089>`__: Adds logging to installer "
"for case where launcher is not selected on upgrade."
msgstr ""
#: ../../../Misc/NEWS:646
msgid ""
"`Issue #25165 <https://bugs.python.org/25165>`__: Windows uninstallation "
"should not remove launcher if other versions remain"
msgstr ""
#: ../../../Misc/NEWS:649
msgid ""
"`Issue #25112 <https://bugs.python.org/25112>`__: py.exe launcher is missing "
"icons"
msgstr ""
#: ../../../Misc/NEWS:651
msgid ""
"`Issue #25102 <https://bugs.python.org/25102>`__: Windows installer does not "
"precompile for -O or -OO."
msgstr ""
#: ../../../Misc/NEWS:653
msgid ""
"`Issue #25081 <https://bugs.python.org/25081>`__: Makes Back button in "
"installer go back to upgrade page when upgrading."
msgstr ""
#: ../../../Misc/NEWS:656
msgid ""
"`Issue #25091 <https://bugs.python.org/25091>`__: Increases font size of the "
"installer."
msgstr ""
#: ../../../Misc/NEWS:658
msgid ""
"`Issue #25126 <https://bugs.python.org/25126>`__: Clarifies that the non-web "
"installer will download some components."
msgstr ""
#: ../../../Misc/NEWS:661
msgid ""
"`Issue #25213 <https://bugs.python.org/25213>`__: Restores "
"requestedExecutionLevel to manifest to disable UAC virtualization."
msgstr ""
#: ../../../Misc/NEWS:664
msgid ""
"`Issue #25022 <https://bugs.python.org/25022>`__: Removed very outdated PC/"
"example_nt/ directory."
msgstr ""
#: ../../../Misc/NEWS:667 ../../../Misc/NEWS:1349 ../../../Misc/NEWS:1565
#: ../../../Misc/NEWS:1772 ../../../Misc/NEWS:3669 ../../../Misc/NEWS:4077
#: ../../../Misc/NEWS:4275 ../../../Misc/NEWS:4739 ../../../Misc/NEWS:5205
#: ../../../Misc/NEWS:5563 ../../../Misc/NEWS:5827 ../../../Misc/NEWS:7964
msgid "Tools/Demos"
msgstr ""
#: ../../../Misc/NEWS:669
msgid ""
"`Issue #25440 <https://bugs.python.org/25440>`__: Fix output of python-"
"config --extension-suffix."
msgstr ""
#: ../../../Misc/NEWS:673
msgid "Python 3.5.0 final"
msgstr ""
#: ../../../Misc/NEWS:675
msgid "Release date: 2015-09-13"
msgstr ""
#: ../../../Misc/NEWS:680
msgid ""
"`Issue #25071 <https://bugs.python.org/25071>`__: Windows installer should "
"not require TargetDir parameter when installing quietly."
msgstr ""
#: ../../../Misc/NEWS:685
msgid "Python 3.5.0 release candidate 4"
msgstr ""
#: ../../../Misc/NEWS:687
msgid "Release date: 2015-09-09"
msgstr ""
#: ../../../Misc/NEWS:692
msgid ""
"`Issue #25029 <https://bugs.python.org/25029>`__: Fixes MemoryError in "
"test_strptime."
msgstr ""
#: ../../../Misc/NEWS:697
msgid ""
"`Issue #25027 <https://bugs.python.org/25027>`__: Reverts partial-static "
"build options and adds vcruntime140.dll to Windows installation."
msgstr ""
#: ../../../Misc/NEWS:702
msgid "Python 3.5.0 release candidate 3"
msgstr ""
#: ../../../Misc/NEWS:704
msgid "Release date: 2015-09-07"
msgstr ""
#: ../../../Misc/NEWS:709
msgid ""
"`Issue #24305 <https://bugs.python.org/24305>`__: Prevent import subsystem "
"stack frames from being counted by the warnings.warn(stacklevel=) parameter."
msgstr ""
#: ../../../Misc/NEWS:712
msgid ""
"`Issue #24912 <https://bugs.python.org/24912>`__: Prevent __class__ "
"assignment to immutable built-in objects."
msgstr ""
#: ../../../Misc/NEWS:714
msgid ""
"`Issue #24975 <https://bugs.python.org/24975>`__: Fix AST compilation for "
"PEP 448 syntax."
msgstr ""
#: ../../../Misc/NEWS:719
msgid ""
"`Issue #24917 <https://bugs.python.org/24917>`__: time_strftime() buffer "
"over-read."
msgstr ""
#: ../../../Misc/NEWS:721
msgid ""
"`Issue #24748 <https://bugs.python.org/24748>`__: To resolve a compatibility "
"problem found with py2exe and pywin32, imp.load_dynamic() once again ignores "
"previously loaded modules to support Python modules replacing themselves "
"with extension modules. Patch by Petr Viktorin."
msgstr ""
#: ../../../Misc/NEWS:726
msgid ""
"`Issue #24635 <https://bugs.python.org/24635>`__: Fixed a bug in typing.py "
"where isinstance([], typing.Iterable) would return True once, then False on "
"subsequent calls."
msgstr ""
#: ../../../Misc/NEWS:729
msgid ""
"`Issue #24989 <https://bugs.python.org/24989>`__: Fixed buffer overread in "
"BytesIO.readline() if a position is set beyond size. Based on patch by John "
"Leitch."
msgstr ""
#: ../../../Misc/NEWS:737
msgid "Python 3.5.0 release candidate 2"
msgstr ""
#: ../../../Misc/NEWS:739
msgid "Release date: 2015-08-25"
msgstr ""
#: ../../../Misc/NEWS:744
msgid ""
"`Issue #24769 <https://bugs.python.org/24769>`__: Interpreter now starts "
"properly when dynamic loading is disabled. Patch by Petr Viktorin."
msgstr ""
#: ../../../Misc/NEWS:747
msgid ""
"`Issue #21167 <https://bugs.python.org/21167>`__: NAN operations are now "
"handled correctly when python is compiled with ICC even if -fp-model strict "
"is not specified."
msgstr ""
#: ../../../Misc/NEWS:750
msgid ""
"`Issue #24492 <https://bugs.python.org/24492>`__: A \"package\" lacking a "
"__name__ attribute when trying to perform a ``from .. import ...`` statement "
"will trigger an ImportError instead of an AttributeError."
msgstr ""
#: ../../../Misc/NEWS:757
msgid ""
"`Issue #24847 <https://bugs.python.org/24847>`__: Removes vcruntime140.dll "
"dependency from Tcl/Tk."
msgstr ""
#: ../../../Misc/NEWS:759
msgid ""
"`Issue #24839 <https://bugs.python.org/24839>`__: platform._syscmd_ver "
"raises DeprecationWarning"
msgstr ""
#: ../../../Misc/NEWS:761
msgid ""
"`Issue #24867 <https://bugs.python.org/24867>`__: Fix Task.get_stack() for "
"'async def' coroutines"
msgstr ""
#: ../../../Misc/NEWS:765
msgid "Python 3.5.0 release candidate 1"
msgstr ""
#: ../../../Misc/NEWS:767
msgid "Release date: 2015-08-09"
msgstr ""
#: ../../../Misc/NEWS:772
msgid ""
"`Issue #24667 <https://bugs.python.org/24667>`__: Resize odict in all cases "
"that the underlying dict resizes."
msgstr ""
#: ../../../Misc/NEWS:777
msgid ""
"`Issue #24824 <https://bugs.python.org/24824>`__: Signatures of codecs."
"encode() and codecs.decode() now are compatible with pydoc."
msgstr ""
#: ../../../Misc/NEWS:780
msgid ""
"`Issue #24634 <https://bugs.python.org/24634>`__: Importing uuid should not "
"try to load libc on Windows"
msgstr ""
#: ../../../Misc/NEWS:782
msgid ""
"`Issue #24798 <https://bugs.python.org/24798>`__: _msvccompiler.py doesn't "
"properly support manifests"
msgstr ""
#: ../../../Misc/NEWS:784
msgid ""
"`Issue #4395 <https://bugs.python.org/4395>`__: Better testing and "
"documentation of binary operators. Patch by Martin Panter."
msgstr ""
#: ../../../Misc/NEWS:787
msgid ""
"`Issue #23973 <https://bugs.python.org/23973>`__: Update typing.py from "
"GitHub repo."
msgstr ""
#: ../../../Misc/NEWS:789
msgid ""
"`Issue #23004 <https://bugs.python.org/23004>`__: mock_open() now reads "
"binary data correctly when the type of read_data is bytes. Initial patch by "
"Aaron Hill."
msgstr ""
#: ../../../Misc/NEWS:792
msgid ""
"`Issue #23888 <https://bugs.python.org/23888>`__: Handle fractional time in "
"cookie expiry. Patch by ssh."
msgstr ""
#: ../../../Misc/NEWS:794
msgid ""
"`Issue #23652 <https://bugs.python.org/23652>`__: Make it possible to "
"compile the select module against the libc headers from the Linux Standard "
"Base, which do not include some EPOLL macros. Patch by Matt Frank."
msgstr ""
#: ../../../Misc/NEWS:798
msgid ""
"`Issue #22932 <https://bugs.python.org/22932>`__: Fix timezones in email."
"utils.formatdate. Patch from Dmitry Shachnev."
msgstr ""
#: ../../../Misc/NEWS:801
msgid ""
"`Issue #23779 <https://bugs.python.org/23779>`__: imaplib raises TypeError "
"if authenticator tries to abort. Patch from Craig Holmquist."
msgstr ""
#: ../../../Misc/NEWS:804
msgid ""
"`Issue #23319 <https://bugs.python.org/23319>`__: Fix ctypes."
"BigEndianStructure, swap correctly bytes. Patch written by Matthieu Gautier."
msgstr ""
#: ../../../Misc/NEWS:807
msgid ""
"`Issue #23254 <https://bugs.python.org/23254>`__: Document how to close the "
"TCPServer listening socket. Patch from Martin Panter."
msgstr ""
#: ../../../Misc/NEWS:810
msgid ""
"`Issue #19450 <https://bugs.python.org/19450>`__: Update Windows and OS X "
"installer builds to use SQLite 3.8.11."
msgstr ""
#: ../../../Misc/NEWS:812
msgid ""
"`Issue #17527 <https://bugs.python.org/17527>`__: Add PATCH to wsgiref."
"validator. Patch from Luca Sbardella."
msgstr ""
#: ../../../Misc/NEWS:814
msgid ""
"`Issue #24791 <https://bugs.python.org/24791>`__: Fix grammar regression for "
"call syntax: 'g(\\*a or b)'."
msgstr ""
#: ../../../Misc/NEWS:819
msgid ""
"`Issue #23672 <https://bugs.python.org/23672>`__: Allow Idle to edit and run "
"files with astral chars in name. Patch by Mohd Sanad Zaki Rizvi."
msgstr ""
#: ../../../Misc/NEWS:822
msgid ""
"`Issue #24745 <https://bugs.python.org/24745>`__: Idle editor default font. "
"Switch from Courier to platform-sensitive TkFixedFont. This should not "
"affect current customized font selections. If there is a problem, edit "
"$HOME/.idlerc/config-main.cfg and remove 'fontxxx' entries from [Editor "
"Window]. Patch by Mark Roseman."
msgstr ""
#: ../../../Misc/NEWS:827
msgid ""
"`Issue #21192 <https://bugs.python.org/21192>`__: Idle editor. When a file "
"is run, put its name in the restart bar. Do not print false prompts. "
"Original patch by Adnan Umer."
msgstr ""
#: ../../../Misc/NEWS:830
msgid ""
"`Issue #13884 <https://bugs.python.org/13884>`__: Idle menus. Remove tearoff "
"lines. Patch by Roger Serwy."
msgstr ""
#: ../../../Misc/NEWS:835
msgid ""
"`Issue #24129 <https://bugs.python.org/24129>`__: Clarify the reference "
"documentation for name resolution. This includes removing the assumption "
"that readers will be familiar with the name resolution scheme Python used "
"prior to the introduction of lexical scoping for function namespaces. Patch "
"by Ivan Levkivskyi."
msgstr ""
#: ../../../Misc/NEWS:840
msgid ""
"`Issue #20769 <https://bugs.python.org/20769>`__: Improve reload() docs. "
"Patch by Dorian Pula."
msgstr ""
#: ../../../Misc/NEWS:842
msgid ""
"`Issue #23589 <https://bugs.python.org/23589>`__: Remove duplicate sentence "
"from the FAQ. Patch by Yongzhi Pan."
msgstr ""
#: ../../../Misc/NEWS:844
msgid ""
"`Issue #24729 <https://bugs.python.org/24729>`__: Correct IO tutorial to "
"match implementation regarding encoding parameter to open function."
msgstr ""
#: ../../../Misc/NEWS:850
msgid ""
"`Issue #24751 <https://bugs.python.org/24751>`__: When running regrtest with "
"the ``-w`` command line option, a test run is no longer marked as a failure "
"if all tests succeed when re-run."
msgstr ""
#: ../../../Misc/NEWS:856
msgid "Python 3.5.0 beta 4"
msgstr ""
#: ../../../Misc/NEWS:858
msgid "Release date: 2015-07-26"
msgstr ""
#: ../../../Misc/NEWS:863
msgid ""
"`Issue #23573 <https://bugs.python.org/23573>`__: Restored optimization of "
"bytes.rfind() and bytearray.rfind() for single-byte argument on Linux."
msgstr ""
#: ../../../Misc/NEWS:866
msgid ""
"`Issue #24569 <https://bugs.python.org/24569>`__: Make PEP 448 dictionary "
"evaluation more consistent."
msgstr ""
#: ../../../Misc/NEWS:868
msgid ""
"`Issue #24583 <https://bugs.python.org/24583>`__: Fix crash when set is "
"mutated while being updated."
msgstr ""
#: ../../../Misc/NEWS:870
msgid ""
"`Issue #24407 <https://bugs.python.org/24407>`__: Fix crash when dict is "
"mutated while being updated."
msgstr ""
#: ../../../Misc/NEWS:872
msgid ""
"`Issue #24619 <https://bugs.python.org/24619>`__: New approach for "
"tokenizing async/await. As a consequence, is is now possible to have one-"
"line 'async def foo(): await ..' functions."
msgstr ""
#: ../../../Misc/NEWS:875
msgid ""
"`Issue #24687 <https://bugs.python.org/24687>`__: Plug refleak on "
"SyntaxError in function parameters annotations."
msgstr ""
#: ../../../Misc/NEWS:878
msgid ""
"`Issue #15944 <https://bugs.python.org/15944>`__: memoryview: Allow "
"arbitrary formats when casting to bytes. Patch by Martin Panter."
msgstr ""
#: ../../../Misc/NEWS:884
msgid ""
"`Issue #23441 <https://bugs.python.org/23441>`__: rcompleter now prints a "
"tab character instead of displaying possible completions for an empty word. "
"Initial patch by Martin Sekera."
msgstr ""
#: ../../../Misc/NEWS:887
msgid ""
"`Issue #24683 <https://bugs.python.org/24683>`__: Fixed crashes in _json "
"functions called with arguments of inappropriate type."
msgstr ""
#: ../../../Misc/NEWS:890
msgid ""
"`Issue #21697 <https://bugs.python.org/21697>`__: shutil.copytree() now "
"correctly handles symbolic links that point to directories. Patch by "
"Eduardo Seabra and Thomas Kluyver."
msgstr ""
#: ../../../Misc/NEWS:893
msgid ""
"`Issue #14373 <https://bugs.python.org/14373>`__: Fixed segmentation fault "
"when gc.collect() is called during constructing lru_cache (C implementation)."
msgstr ""
#: ../../../Misc/NEWS:896
msgid ""
"`Issue #24695 <https://bugs.python.org/24695>`__: Fix a regression in "
"traceback.print_exception(). If exc_traceback is None we shouldn't print a "
"traceback header like described in the documentation."
msgstr ""
#: ../../../Misc/NEWS:900
msgid ""
"`Issue #24620 <https://bugs.python.org/24620>`__: Random.setstate() now "
"validates the value of state last element."
msgstr ""
#: ../../../Misc/NEWS:902
msgid ""
"`Issue #22485 <https://bugs.python.org/22485>`__: Fixed an issue that caused "
"`inspect.getsource` to return incorrect results on nested functions."
msgstr ""
#: ../../../Misc/NEWS:905
msgid ""
"`Issue #22153 <https://bugs.python.org/22153>`__: Improve unittest docs. "
"Patch from Martin Panter and evilzero."
msgstr ""
#: ../../../Misc/NEWS:907
msgid ""
"`Issue #24580 <https://bugs.python.org/24580>`__: Symbolic group references "
"to open group in re patterns now are explicitly forbidden as well as numeric "
"group references."
msgstr ""
#: ../../../Misc/NEWS:910
msgid ""
"`Issue #24206 <https://bugs.python.org/24206>`__: Fixed __eq__ and __ne__ "
"methods of inspect classes."
msgstr ""
#: ../../../Misc/NEWS:912
msgid ""
"`Issue #24631 <https://bugs.python.org/24631>`__: Fixed regression in the "
"timeit module with multiline setup."
msgstr ""
#: ../../../Misc/NEWS:914
msgid ""
"`Issue #18622 <https://bugs.python.org/18622>`__: unittest.mock.mock_open()."
"reset_mock would recurse infinitely. Patch from Nicola Palumbo and Laurent "
"De Buyst."
msgstr ""
#: ../../../Misc/NEWS:917
msgid ""
"`Issue #23661 <https://bugs.python.org/23661>`__: unittest.mock side_effects "
"can now be exceptions again. This was a regression vs Python 3.4. Patch from "
"Ignacio Rossi"
msgstr ""
#: ../../../Misc/NEWS:920
msgid ""
"`Issue #24608 <https://bugs.python.org/24608>`__: chunk.Chunk.read() now "
"always returns bytes, not str."
msgstr ""
#: ../../../Misc/NEWS:922
msgid ""
"`Issue #18684 <https://bugs.python.org/18684>`__: Fixed reading out of the "
"buffer in the re module."
msgstr ""
#: ../../../Misc/NEWS:924
msgid ""
"`Issue #24259 <https://bugs.python.org/24259>`__: tarfile now raises a "
"ReadError if an archive is truncated inside a data segment."
msgstr ""
#: ../../../Misc/NEWS:927
msgid ""
"`Issue #15014 <https://bugs.python.org/15014>`__: SMTP.auth() and SMTP."
"login() now support RFC 4954's optional initial-response argument to the "
"SMTP AUTH command."
msgstr ""
#: ../../../Misc/NEWS:930
msgid ""
"`Issue #24669 <https://bugs.python.org/24669>`__: Fix inspect.getsource() "
"for 'async def' functions. Patch by Kai Groner."
msgstr ""
#: ../../../Misc/NEWS:933
msgid ""
"`Issue #24688 <https://bugs.python.org/24688>`__: ast.get_docstring() for "
"'async def' functions."
msgstr ""
#: ../../../Misc/NEWS:938
msgid ""
"`Issue #24603 <https://bugs.python.org/24603>`__: Update Windows builds and "
"OS X 10.5 installer to use OpenSSL 1.0.2d."
msgstr ""
#: ../../../Misc/NEWS:943
msgid "Python 3.5.0 beta 3"
msgstr ""
#: ../../../Misc/NEWS:945
msgid "Release date: 2015-07-05"
msgstr ""
#: ../../../Misc/NEWS:950
msgid ""
"`Issue #24467 <https://bugs.python.org/24467>`__: Fixed possible buffer over-"
"read in bytearray. The bytearray object now always allocates place for "
"trailing null byte and it's buffer now is always null-terminated."
msgstr ""
#: ../../../Misc/NEWS:954
msgid "Upgrade to Unicode 8.0.0."
msgstr ""
#: ../../../Misc/NEWS:956
msgid ""
"`Issue #24345 <https://bugs.python.org/24345>`__: Add Py_tp_finalize slot "
"for the stable ABI."
msgstr ""
#: ../../../Misc/NEWS:958
msgid ""
"`Issue #24400 <https://bugs.python.org/24400>`__: Introduce a distinct type "
"for PEP 492 coroutines; add types.CoroutineType, inspect.getcoroutinestate, "
"inspect.getcoroutinelocals; coroutines no longer use CO_GENERATOR flag; sys."
"set_coroutine_wrapper works only for 'async def' coroutines; inspect."
"iscoroutine no longer uses collections.abc.Coroutine, it's intended to test "
"for pure 'async def' coroutines only; add new opcode: GET_YIELD_FROM_ITER; "
"fix generators wrapper used in types.coroutine to be instance of collections."
"abc.Generator; collections.abc.Awaitable and collections.abc.Coroutine can "
"no longer be used to detect generator-based coroutines--use inspect."
"isawaitable instead."
msgstr ""
#: ../../../Misc/NEWS:969
msgid ""
"`Issue #24450 <https://bugs.python.org/24450>`__: Add gi_yieldfrom to "
"generators and cr_await to coroutines. Contributed by Benno Leslie and Yury "
"Selivanov."
msgstr ""
#: ../../../Misc/NEWS:972
msgid ""
"`Issue #19235 <https://bugs.python.org/19235>`__: Add new RecursionError "
"exception. Patch by Georg Brandl."
msgstr ""
#: ../../../Misc/NEWS:977
msgid ""
"`Issue #21750 <https://bugs.python.org/21750>`__: mock_open.read_data can "
"now be read from each instance, as it could in Python 3.3."
msgstr ""
#: ../../../Misc/NEWS:980
msgid ""
"`Issue #24552 <https://bugs.python.org/24552>`__: Fix use after free in an "
"error case of the _pickle module."
msgstr ""
#: ../../../Misc/NEWS:982
msgid ""
"`Issue #24514 <https://bugs.python.org/24514>`__: tarfile now tolerates "
"number fields consisting of only whitespace."
msgstr ""
#: ../../../Misc/NEWS:985
msgid ""
"`Issue #19176 <https://bugs.python.org/19176>`__: Fixed doctype() related "
"bugs in C implementation of ElementTree. A deprecation warning no longer "
"issued by XMLParser subclass with default doctype() method. Direct call of "
"doctype() now issues a warning. Parser's doctype() now is not called if "
"target's doctype() is called. Based on patch by Martin Panter."
msgstr ""
#: ../../../Misc/NEWS:991
msgid ""
"`Issue #20387 <https://bugs.python.org/20387>`__: Restore semantic round-"
"trip correctness in tokenize/untokenize for tab-indented blocks."
msgstr ""
#: ../../../Misc/NEWS:994
msgid ""
"`Issue #24456 <https://bugs.python.org/24456>`__: Fixed possible buffer over-"
"read in adpcm2lin() and lin2adpcm() functions of the audioop module."
msgstr ""
#: ../../../Misc/NEWS:997
msgid ""
"`Issue #24336 <https://bugs.python.org/24336>`__: The contextmanager "
"decorator now works with functions with keyword arguments called \"func\" "
"and \"self\". Patch by Martin Panter."
msgstr ""
#: ../../../Misc/NEWS:1000
msgid ""
"`Issue #24522 <https://bugs.python.org/24522>`__: Fix possible integer "
"overflow in json accelerator module."
msgstr ""
#: ../../../Misc/NEWS:1002
msgid ""
"`Issue #24489 <https://bugs.python.org/24489>`__: ensure a previously set C "
"errno doesn't disturb cmath.polar()."
msgstr ""
#: ../../../Misc/NEWS:1004
msgid ""
"`Issue #24408 <https://bugs.python.org/24408>`__: Fixed AttributeError in "
"measure() and metrics() methods of tkinter.Font."
msgstr ""
#: ../../../Misc/NEWS:1007
msgid ""
"`Issue #14373 <https://bugs.python.org/14373>`__: C implementation of "
"functools.lru_cache() now can be used with methods."
msgstr ""
#: ../../../Misc/NEWS:1010
msgid ""
"`Issue #24347 <https://bugs.python.org/24347>`__: Set KeyError if "
"PyDict_GetItemWithError returns NULL."
msgstr ""
#: ../../../Misc/NEWS:1012
msgid ""
"`Issue #24348 <https://bugs.python.org/24348>`__: Drop superfluous incref/"
"decref."
msgstr ""
#: ../../../Misc/NEWS:1014
msgid ""
"`Issue #24359 <https://bugs.python.org/24359>`__: Check for changed "
"OrderedDict size during iteration."
msgstr ""
#: ../../../Misc/NEWS:1016
msgid ""
"`Issue #24368 <https://bugs.python.org/24368>`__: Support keyword arguments "
"in OrderedDict methods."
msgstr ""
#: ../../../Misc/NEWS:1018
msgid ""
"`Issue #24362 <https://bugs.python.org/24362>`__: Simplify the C OrderedDict "
"fast nodes resize logic."
msgstr ""
#: ../../../Misc/NEWS:1020
msgid ""
"`Issue #24377 <https://bugs.python.org/24377>`__: Fix a ref leak in "
"OrderedDict.__repr__."
msgstr ""
#: ../../../Misc/NEWS:1022
msgid ""
"`Issue #24369 <https://bugs.python.org/24369>`__: Defend against key-changes "
"during iteration."
msgstr ""
#: ../../../Misc/NEWS:1027
msgid ""
"`Issue #24373 <https://bugs.python.org/24373>`__: _testmultiphase and "
"xxlimited now use tp_traverse and tp_finalize to avoid reference leaks "
"encountered when combining tp_dealloc with PyType_FromSpec (see `issue "
"#16690 <https://bugs.python.org/16690>`__ for details)"
msgstr ""
#: ../../../Misc/NEWS:1034
msgid ""
"`Issue #24458 <https://bugs.python.org/24458>`__: Update documentation to "
"cover multi-phase initialization for extension modules (PEP 489). Patch by "
"Petr Viktorin."
msgstr ""
#: ../../../Misc/NEWS:1037
msgid ""
"`Issue #24351 <https://bugs.python.org/24351>`__: Clarify what is meant by "
"\"identifier\" in the context of string.Template instances."
msgstr ""
#: ../../../Misc/NEWS:1043
msgid ""
"`Issue #24432 <https://bugs.python.org/24432>`__: Update Windows builds and "
"OS X 10.5 installer to use OpenSSL 1.0.2c."
msgstr ""
#: ../../../Misc/NEWS:1048
msgid "Python 3.5.0 beta 2"
msgstr ""
#: ../../../Misc/NEWS:1050
msgid "Release date: 2015-05-31"
msgstr ""
#: ../../../Misc/NEWS:1055
msgid ""
"`Issue #24284 <https://bugs.python.org/24284>`__: The startswith and "
"endswith methods of the str class no longer return True when finding the "
"empty string and the indexes are completely out of range."
msgstr ""
#: ../../../Misc/NEWS:1059
msgid ""
"`Issue #24115 <https://bugs.python.org/24115>`__: Update uses of "
"PyObject_IsTrue(), PyObject_Not(), PyObject_IsInstance(), "
"PyObject_RichCompareBool() and _PyDict_Contains() to check for and handle "
"errors correctly."
msgstr ""
#: ../../../Misc/NEWS:1063
msgid ""
"`Issue #24328 <https://bugs.python.org/24328>`__: Fix importing one "
"character extension modules."
msgstr ""
#: ../../../Misc/NEWS:1065
msgid ""
"`Issue #11205 <https://bugs.python.org/11205>`__: In dictionary displays, "
"evaluate the key before the value."
msgstr ""
#: ../../../Misc/NEWS:1067
msgid ""
"`Issue #24285 <https://bugs.python.org/24285>`__: Fixed regression that "
"prevented importing extension modules from inside packages. Patch by Petr "
"Viktorin."
msgstr ""
#: ../../../Misc/NEWS:1073
msgid ""
"`Issue #23247 <https://bugs.python.org/23247>`__: Fix a crash in the "
"StreamWriter.reset() of CJK codecs."
msgstr ""
#: ../../../Misc/NEWS:1075
msgid ""
"`Issue #24270 <https://bugs.python.org/24270>`__: Add math.isclose() and "
"cmath.isclose() functions as per PEP 485. Contributed by Chris Barker and "
"Tal Einat."
msgstr ""
#: ../../../Misc/NEWS:1078
msgid ""
"`Issue #5633 <https://bugs.python.org/5633>`__: Fixed timeit when the "
"statement is a string and the setup is not."
msgstr ""
#: ../../../Misc/NEWS:1080
msgid ""
"`Issue #24326 <https://bugs.python.org/24326>`__: Fixed audioop.ratecv() "
"with non-default weightB argument. Original patch by David Moore."
msgstr ""
#: ../../../Misc/NEWS:1083
msgid ""
"`Issue #16991 <https://bugs.python.org/16991>`__: Add a C implementation of "
"OrderedDict."
msgstr ""
#: ../../../Misc/NEWS:1085
msgid ""
"`Issue #23934 <https://bugs.python.org/23934>`__: Fix inspect.signature to "
"fail correctly for builtin types lacking signature information. Initial "
"patch by James Powell."
msgstr ""
#: ../../../Misc/NEWS:1090
msgid "Python 3.5.0 beta 1"
msgstr ""
#: ../../../Misc/NEWS:1092
msgid "Release date: 2015-05-24"
msgstr ""
#: ../../../Misc/NEWS:1097
msgid ""
"`Issue #24276 <https://bugs.python.org/24276>`__: Fixed optimization of "
"property descriptor getter."
msgstr ""
#: ../../../Misc/NEWS:1099
msgid ""
"`Issue #24268 <https://bugs.python.org/24268>`__: PEP 489: Multi-phase "
"extension module initialization. Patch by Petr Viktorin."
msgstr ""
#: ../../../Misc/NEWS:1102
msgid ""
"`Issue #23955 <https://bugs.python.org/23955>`__: Add pyvenv.cfg option to "
"suppress registry/environment lookup for generating sys.path on Windows."
msgstr ""
#: ../../../Misc/NEWS:1105
msgid ""
"`Issue #24257 <https://bugs.python.org/24257>`__: Fixed system error in the "
"comparison of faked types.SimpleNamespace."
msgstr ""
#: ../../../Misc/NEWS:1108
msgid ""
"`Issue #22939 <https://bugs.python.org/22939>`__: Fixed integer overflow in "
"iterator object. Patch by Clement Rouault."
msgstr ""
#: ../../../Misc/NEWS:1111
msgid ""
"`Issue #23985 <https://bugs.python.org/23985>`__: Fix a possible buffer "
"overrun when deleting a slice from the front of a bytearray and then "
"appending some other bytes data."
msgstr ""
#: ../../../Misc/NEWS:1114
msgid ""
"`Issue #24102 <https://bugs.python.org/24102>`__: Fixed exception type "
"checking in standard error handlers."
msgstr ""
#: ../../../Misc/NEWS:1116
msgid ""
"`Issue #15027 <https://bugs.python.org/15027>`__: The UTF-32 encoder is now "
"3x to 7x faster."
msgstr ""
#: ../../../Misc/NEWS:1118
msgid ""
"`Issue #23290 <https://bugs.python.org/23290>`__: Optimize set_merge() for "
"cases where the target is empty. (Contributed by Serhiy Storchaka.)"
msgstr ""
#: ../../../Misc/NEWS:1121
msgid ""
"`Issue #2292 <https://bugs.python.org/2292>`__: PEP 448: Additional "
"Unpacking Generalizations."
msgstr ""
#: ../../../Misc/NEWS:1123
msgid ""
"`Issue #24096 <https://bugs.python.org/24096>`__: Make warnings."
"warn_explicit more robust against mutation of the warnings.filters list."
msgstr ""
#: ../../../Misc/NEWS:1126
msgid ""
"`Issue #23996 <https://bugs.python.org/23996>`__: Avoid a crash when a "
"delegated generator raises an unnormalized StopIteration exception. Patch "
"by Stefan Behnel."
msgstr ""
#: ../../../Misc/NEWS:1129
msgid ""
"`Issue #23910 <https://bugs.python.org/23910>`__: Optimize property() getter "
"calls. Patch by Joe Jevnik."
msgstr ""
#: ../../../Misc/NEWS:1131
msgid ""
"`Issue #23911 <https://bugs.python.org/23911>`__: Move path-based importlib "
"bootstrap code to a separate frozen module."
msgstr ""
#: ../../../Misc/NEWS:1134
msgid ""
"`Issue #24192 <https://bugs.python.org/24192>`__: Fix namespace package "
"imports."
msgstr ""
#: ../../../Misc/NEWS:1136
msgid ""
"`Issue #24022 <https://bugs.python.org/24022>`__: Fix tokenizer crash when "
"processing undecodable source code."
msgstr ""
#: ../../../Misc/NEWS:1138
msgid ""
"`Issue #9951 <https://bugs.python.org/9951>`__: Added a hex() method to "
"bytes, bytearray, and memoryview."
msgstr ""
#: ../../../Misc/NEWS:1140
msgid ""
"`Issue #22906 <https://bugs.python.org/22906>`__: PEP 479: Change "
"StopIteration handling inside generators."
msgstr ""
#: ../../../Misc/NEWS:1142
msgid ""
"`Issue #24017 <https://bugs.python.org/24017>`__: PEP 492: Coroutines with "
"async and await syntax."
msgstr ""
#: ../../../Misc/NEWS:1147
msgid ""
"`Issue #14373 <https://bugs.python.org/14373>`__: Added C implementation of "
"functools.lru_cache(). Based on patches by Matt Joiner and Alexey Kachayev."
msgstr ""
#: ../../../Misc/NEWS:1150
msgid ""
"`Issue #24230 <https://bugs.python.org/24230>`__: The tempfile module now "
"accepts bytes for prefix, suffix and dir parameters and returns bytes in "
"such situations (matching the os module APIs)."
msgstr ""
#: ../../../Misc/NEWS:1153
msgid ""
"`Issue #22189 <https://bugs.python.org/22189>`__: collections.UserString now "
"supports __getnewargs__(), __rmod__(), casefold(), format_map(), "
"isprintable(), and maketrans(). Patch by Joe Jevnik."
msgstr ""
#: ../../../Misc/NEWS:1157
msgid ""
"`Issue #24244 <https://bugs.python.org/24244>`__: Prevents termination when "
"an invalid format string is encountered on Windows in strftime."
msgstr ""
#: ../../../Misc/NEWS:1160
msgid ""
"`Issue #23973 <https://bugs.python.org/23973>`__: PEP 484: Add the typing "
"module."
msgstr ""
#: ../../../Misc/NEWS:1162
msgid ""
"`Issue #23086 <https://bugs.python.org/23086>`__: The collections.abc."
"Sequence() abstract base class added *start* and *stop* parameters to the "
"index() mixin. Patch by Devin Jeanpierre."
msgstr ""
#: ../../../Misc/NEWS:1166
msgid ""
"`Issue #20035 <https://bugs.python.org/20035>`__: Replaced the ``tkinter."
"_fix`` module used for setting up the Tcl/Tk environment on Windows with a "
"private function in the ``_tkinter`` module that makes no permanent changes "
"to the environment."
msgstr ""
#: ../../../Misc/NEWS:1170
msgid ""
"`Issue #24257 <https://bugs.python.org/24257>`__: Fixed segmentation fault "
"in sqlite3.Row constructor with faked cursor type."
msgstr ""
#: ../../../Misc/NEWS:1173
msgid ""
"`Issue #15836 <https://bugs.python.org/15836>`__: assertRaises(), "
"assertRaisesRegex(), assertWarns() and assertWarnsRegex() assertments now "
"check the type of the first argument to prevent possible user error. Based "
"on patch by Daniel Wagner-Hall."
msgstr ""
#: ../../../Misc/NEWS:1177
msgid ""
"`Issue #9858 <https://bugs.python.org/9858>`__: Add missing method stubs to "
"_io.RawIOBase. Patch by Laura Rupprecht."
msgstr ""
#: ../../../Misc/NEWS:1180
msgid ""
"`Issue #22955 <https://bugs.python.org/22955>`__: attrgetter, itemgetter and "
"methodcaller objects in the operator module now support pickling. Added "
"readable and evaluable repr for these objects. Based on patch by Josh "
"Rosenberg."
msgstr ""
#: ../../../Misc/NEWS:1184
msgid ""
"`Issue #22107 <https://bugs.python.org/22107>`__: tempfile.gettempdir() and "
"tempfile.mkdtemp() now try again when a directory with the chosen name "
"already exists on Windows as well as on Unix. tempfile.mkstemp() now fails "
"early if parent directory is not valid (not exists or is a file) on Windows."
msgstr ""
#: ../../../Misc/NEWS:1189
msgid ""
"`Issue #23780 <https://bugs.python.org/23780>`__: Improved error message in "
"os.path.join() with single argument."
msgstr ""
#: ../../../Misc/NEWS:1191
msgid ""
"`Issue #6598 <https://bugs.python.org/6598>`__: Increased time precision and "
"random number range in email.utils.make_msgid() to strengthen the uniqueness "
"of the message ID."
msgstr ""
#: ../../../Misc/NEWS:1194
msgid ""
"`Issue #24091 <https://bugs.python.org/24091>`__: Fixed various crashes in "
"corner cases in C implementation of ElementTree."
msgstr ""
#: ../../../Misc/NEWS:1197
msgid ""
"`Issue #21931 <https://bugs.python.org/21931>`__: msilib.FCICreate() now "
"raises TypeError in the case of a bad argument instead of a ValueError with "
"a bogus FCI error number. Patch by Jeffrey Armstrong."
msgstr ""
#: ../../../Misc/NEWS:1201
msgid ""
"`Issue #13866 <https://bugs.python.org/13866>`__: *quote_via* argument added "
"to urllib.parse.urlencode."
msgstr ""
#: ../../../Misc/NEWS:1203
msgid ""
"`Issue #20098 <https://bugs.python.org/20098>`__: New mangle_from policy "
"option for email, default True for compat32, but False for all other "
"policies."
msgstr ""
#: ../../../Misc/NEWS:1206
msgid ""
"`Issue #24211 <https://bugs.python.org/24211>`__: The email library now "
"supports RFC 6532: it can generate headers using utf-8 instead of encoded "
"words."
msgstr ""
#: ../../../Misc/NEWS:1209
msgid ""
"`Issue #16314 <https://bugs.python.org/16314>`__: Added support for the LZMA "
"compression in distutils."
msgstr ""
#: ../../../Misc/NEWS:1211
msgid ""
"`Issue #21804 <https://bugs.python.org/21804>`__: poplib now supports RFC "
"6856 (UTF8)."
msgstr ""
#: ../../../Misc/NEWS:1213
msgid ""
"`Issue #18682 <https://bugs.python.org/18682>`__: Optimized pprint functions "
"for builtin scalar types."
msgstr ""
#: ../../../Misc/NEWS:1215
msgid ""
"`Issue #22027 <https://bugs.python.org/22027>`__: smtplib now supports RFC "
"6531 (SMTPUTF8)."
msgstr ""
#: ../../../Misc/NEWS:1217
msgid ""
"`Issue #23488 <https://bugs.python.org/23488>`__: Random generator objects "
"now consume 2x less memory on 64-bit."
msgstr ""
#: ../../../Misc/NEWS:1219
msgid ""
"`Issue #1322 <https://bugs.python.org/1322>`__: platform.dist() and platform."
"linux_distribution() functions are now deprecated. Initial patch by "
"Vajrasky Kok."
msgstr ""
#: ../../../Misc/NEWS:1222
msgid ""
"`Issue #22486 <https://bugs.python.org/22486>`__: Added the math.gcd() "
"function. The fractions.gcd() function now is deprecated. Based on patch "
"by Mark Dickinson."
msgstr ""
#: ../../../Misc/NEWS:1225
msgid ""
"`Issue #24064 <https://bugs.python.org/24064>`__: Property() docstrings are "
"now writeable. (Patch by Berker Peksag.)"
msgstr ""
#: ../../../Misc/NEWS:1228
msgid ""
"`Issue #22681 <https://bugs.python.org/22681>`__: Added support for the "
"koi8_t encoding."
msgstr ""
#: ../../../Misc/NEWS:1230
msgid ""
"`Issue #22682 <https://bugs.python.org/22682>`__: Added support for the "
"kz1048 encoding."
msgstr ""
#: ../../../Misc/NEWS:1232
msgid ""
"`Issue #23796 <https://bugs.python.org/23796>`__: peek and read1 methods of "
"BufferedReader now raise ValueError if they called on a closed object. Patch "
"by John Hergenroeder."
msgstr ""
#: ../../../Misc/NEWS:1235
msgid ""
"`Issue #21795 <https://bugs.python.org/21795>`__: smtpd now supports the "
"8BITMIME extension whenever the new *decode_data* constructor argument is "
"set to False."
msgstr ""
#: ../../../Misc/NEWS:1238
msgid ""
"`Issue #24155 <https://bugs.python.org/24155>`__: optimize heapq.heapify() "
"for better cache performance when heapifying large lists."
msgstr ""
#: ../../../Misc/NEWS:1241
msgid ""
"`Issue #21800 <https://bugs.python.org/21800>`__: imaplib now supports RFC "
"5161 (enable), RFC 6855 (utf8/internationalized email) and automatically "
"encodes non-ASCII usernames and passwords to UTF8."
msgstr ""
#: ../../../Misc/NEWS:1245
msgid ""
"`Issue #20274 <https://bugs.python.org/20274>`__: When calling a _sqlite."
"Connection, it now complains if passed any keyword arguments. Previously it "
"silently ignored them."
msgstr ""
#: ../../../Misc/NEWS:1248
msgid ""
"`Issue #20274 <https://bugs.python.org/20274>`__: Remove ignored and "
"erroneous \"kwargs\" parameters from three METH_VARARGS methods on _sqlite."
"Connection."
msgstr ""
#: ../../../Misc/NEWS:1251
msgid ""
"`Issue #24134 <https://bugs.python.org/24134>`__: assertRaises(), "
"assertRaisesRegex(), assertWarns() and assertWarnsRegex() checks now emits a "
"deprecation warning when callable is None or keyword arguments except msg is "
"passed in the context manager mode."
msgstr ""
#: ../../../Misc/NEWS:1255
msgid ""
"`Issue #24018 <https://bugs.python.org/24018>`__: Add a collections.abc."
"Generator abstract base class. Contributed by Stefan Behnel."
msgstr ""
#: ../../../Misc/NEWS:1258
msgid ""
"`Issue #23880 <https://bugs.python.org/23880>`__: Tkinter's getint() and "
"getdouble() now support Tcl_Obj. Tkinter's getdouble() now supports any "
"numbers (in particular int)."
msgstr ""
#: ../../../Misc/NEWS:1261
msgid ""
"`Issue #22619 <https://bugs.python.org/22619>`__: Added negative limit "
"support in the traceback module. Based on patch by Dmitry Kazakov."
msgstr ""
#: ../../../Misc/NEWS:1264
msgid ""
"`Issue #24094 <https://bugs.python.org/24094>`__: Fix possible crash in json."
"encode with poorly behaved dict subclasses."
msgstr ""
#: ../../../Misc/NEWS:1267
msgid ""
"`Issue #9246 <https://bugs.python.org/9246>`__: On POSIX, os.getcwd() now "
"supports paths longer than 1025 bytes. Patch written by William Orr."
msgstr ""
#: ../../../Misc/NEWS:1270
msgid ""
"`Issue #17445 <https://bugs.python.org/17445>`__: add difflib.diff_bytes() "
"to support comparison of byte strings (fixes a regression from Python 2)."
msgstr ""
#: ../../../Misc/NEWS:1273
msgid ""
"`Issue #23917 <https://bugs.python.org/23917>`__: Fall back to sequential "
"compilation when ProcessPoolExecutor doesn't exist. Patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:1276
msgid ""
"`Issue #23008 <https://bugs.python.org/23008>`__: Fixed resolving attributes "
"with boolean value is False in pydoc."
msgstr ""
#: ../../../Misc/NEWS:1278
msgid ""
"Fix asyncio issue 235: LifoQueue and PriorityQueue's put didn't increment "
"unfinished tasks (this bug was introduced when JoinableQueue was merged with "
"Queue)."
msgstr ""
#: ../../../Misc/NEWS:1282
msgid ""
"`Issue #23908 <https://bugs.python.org/23908>`__: os functions now reject "
"paths with embedded null character on Windows instead of silently truncate "
"them."
msgstr ""
#: ../../../Misc/NEWS:1285
msgid ""
"`Issue #23728 <https://bugs.python.org/23728>`__: binascii.crc_hqx() could "
"return an integer outside of the range 0-0xffff for empty data."
msgstr ""
#: ../../../Misc/NEWS:1288
msgid ""
"`Issue #23887 <https://bugs.python.org/23887>`__: urllib.error.HTTPError now "
"has a proper repr() representation. Patch by Berker Peksag."
msgstr ""
#: ../../../Misc/NEWS:1291
msgid ""
"asyncio: New event loop APIs: set_task_factory() and get_task_factory()."
msgstr ""
#: ../../../Misc/NEWS:1293
msgid "asyncio: async() function is deprecated in favour of ensure_future()."
msgstr ""
#: ../../../Misc/NEWS:1295
msgid ""
"`Issue #24178 <https://bugs.python.org/24178>`__: asyncio.Lock, Condition, "
"Semaphore, and BoundedSemaphore support new 'async with' syntax. "
"Contributed by Yury Selivanov."
msgstr ""
#: ../../../Misc/NEWS:1298
msgid ""
"`Issue #24179 <https://bugs.python.org/24179>`__: Support 'async for' for "
"asyncio.StreamReader. Contributed by Yury Selivanov."
msgstr ""
#: ../../../Misc/NEWS:1301
msgid ""
"`Issue #24184 <https://bugs.python.org/24184>`__: Add AsyncIterator and "
"AsyncIterable ABCs to collections.abc. Contributed by Yury Selivanov."
msgstr ""
#: ../../../Misc/NEWS:1304
msgid ""
"`Issue #22547 <https://bugs.python.org/22547>`__: Implement informative "
"__repr__ for inspect.BoundArguments. Contributed by Yury Selivanov."
msgstr ""
#: ../../../Misc/NEWS:1307
msgid ""
"`Issue #24190 <https://bugs.python.org/24190>`__: Implement inspect."
"BoundArgument.apply_defaults() method. Contributed by Yury Selivanov."
msgstr ""
#: ../../../Misc/NEWS:1310
msgid ""
"`Issue #20691 <https://bugs.python.org/20691>`__: Add 'follow_wrapped' "
"argument to inspect.Signature.from_callable() and inspect.signature(). "
"Contributed by Yury Selivanov."
msgstr ""
#: ../../../Misc/NEWS:1314
msgid ""
"`Issue #24248 <https://bugs.python.org/24248>`__: Deprecate inspect."
"Signature.from_function() and inspect.Signature.from_builtin()."
msgstr ""
#: ../../../Misc/NEWS:1317
msgid ""
"`Issue #23898 <https://bugs.python.org/23898>`__: Fix inspect."
"classify_class_attrs() to support attributes with overloaded __eq__ and "
"__bool__. Patch by Mike Bayer."
msgstr ""
#: ../../../Misc/NEWS:1320
msgid ""
"`Issue #24298 <https://bugs.python.org/24298>`__: Fix inspect.signature() to "
"correctly unwrap wrappers around bound methods."
msgstr ""
#: ../../../Misc/NEWS:1326
msgid ""
"`Issue #23184 <https://bugs.python.org/23184>`__: remove unused names and "
"imports in idlelib. Initial patch by Al Sweigart."
msgstr ""
#: ../../../Misc/NEWS:1332
msgid ""
"`Issue #21520 <https://bugs.python.org/21520>`__: test_zipfile no longer "
"fails if the word 'bad' appears anywhere in the name of the current "
"directory."
msgstr ""
#: ../../../Misc/NEWS:1335
msgid ""
"`Issue #9517 <https://bugs.python.org/9517>`__: Move script_helper into the "
"support package. Patch by Christie Wilson."
msgstr ""
#: ../../../Misc/NEWS:1341
msgid ""
"`Issue #22155 <https://bugs.python.org/22155>`__: Add File Handlers "
"subsection with createfilehandler to tkinter doc. Remove obsolete example "
"from FAQ. Patch by Martin Panter."
msgstr ""
#: ../../../Misc/NEWS:1344
msgid ""
"`Issue #24029 <https://bugs.python.org/24029>`__: Document the name binding "
"behavior for submodule imports."
msgstr ""
#: ../../../Misc/NEWS:1346
msgid ""
"`Issue #24077 <https://bugs.python.org/24077>`__: Fix typo in man page for -"
"I command option: -s, not -S"
msgstr ""
#: ../../../Misc/NEWS:1351
msgid ""
"`Issue #24000 <https://bugs.python.org/24000>`__: Improved Argument Clinic's "
"mapping of converters to legacy \"format units\". Updated the documentation "
"to match."
msgstr ""
#: ../../../Misc/NEWS:1354
msgid ""
"`Issue #24001 <https://bugs.python.org/24001>`__: Argument Clinic converters "
"now use accept={type} instead of types={'type'} to specify the types the "
"converter accepts."
msgstr ""
#: ../../../Misc/NEWS:1357
msgid ""
"`Issue #23330 <https://bugs.python.org/23330>`__: h2py now supports "
"arbitrary filenames in #include."
msgstr ""
#: ../../../Misc/NEWS:1359
msgid ""
"`Issue #24031 <https://bugs.python.org/24031>`__: make patchcheck now "
"supports git checkouts, too."
msgstr ""
#: ../../../Misc/NEWS:1363
msgid "Python 3.5.0 alpha 4"
msgstr ""
#: ../../../Misc/NEWS:1365
msgid "Release date: 2015-04-19"
msgstr ""
#: ../../../Misc/NEWS:1370
msgid ""
"`Issue #22980 <https://bugs.python.org/22980>`__: Under Linux, GNU/KFreeBSD "
"and the Hurd, C extensions now include the architecture triplet in the "
"extension name, to make it easy to test builds for different ABIs in the "
"same working tree. Under OS X, the extension name now includes PEP 3149-"
"style information."
msgstr ""
#: ../../../Misc/NEWS:1375
msgid ""
"`Issue #22631 <https://bugs.python.org/22631>`__: Added Linux-specific "
"socket constant CAN_RAW_FD_FRAMES. Patch courtesy of Joe Jevnik."
msgstr ""
#: ../../../Misc/NEWS:1378
msgid ""
"`Issue #23731 <https://bugs.python.org/23731>`__: Implement PEP 488: removal "
"of .pyo files."
msgstr ""
#: ../../../Misc/NEWS:1380
msgid ""
"`Issue #23726 <https://bugs.python.org/23726>`__: Don't enable GC for user "
"subclasses of non-GC types that don't add any new fields. Patch by Eugene "
"Toder."
msgstr ""
#: ../../../Misc/NEWS:1383
msgid ""
"`Issue #23309 <https://bugs.python.org/23309>`__: Avoid a deadlock at "
"shutdown if a daemon thread is aborted while it is holding a lock to a "
"buffered I/O object, and the main thread tries to use the same I/O object "
"(typically stdout or stderr). A fatal error is emitted instead."
msgstr ""
#: ../../../Misc/NEWS:1388
msgid ""
"`Issue #22977 <https://bugs.python.org/22977>`__: Fixed formatting Windows "
"error messages on Wine. Patch by Martin Panter."
msgstr ""
#: ../../../Misc/NEWS:1391
msgid ""
"`Issue #23466 <https://bugs.python.org/23466>`__: %c, %o, %x, and %X in "
"bytes formatting now raise TypeError on non-integer input."
msgstr ""
#: ../../../Misc/NEWS:1394
msgid ""
"`Issue #24044 <https://bugs.python.org/24044>`__: Fix possible null pointer "
"dereference in list.sort in out of memory conditions."
msgstr ""
#: ../../../Misc/NEWS:1397
msgid ""
"`Issue #21354 <https://bugs.python.org/21354>`__: PyCFunction_New function "
"is exposed by python DLL again."
msgstr ""
#: ../../../Misc/NEWS:1402
msgid ""
"`Issue #23840 <https://bugs.python.org/23840>`__: tokenize.open() now closes "
"the temporary binary file on error to fix a resource warning."
msgstr ""
#: ../../../Misc/NEWS:1405
msgid ""
"`Issue #16914 <https://bugs.python.org/16914>`__: new debuglevel 2 in "
"smtplib adds timestamps to debug output."
msgstr ""
#: ../../../Misc/NEWS:1407
msgid ""
"`Issue #7159 <https://bugs.python.org/7159>`__: urllib.request now supports "
"sending auth credentials automatically after the first 401. This "
"enhancement is a superset of the enhancement from `issue #19494 <https://"
"bugs.python.org/19494>`__ and supersedes that change."
msgstr ""
#: ../../../Misc/NEWS:1411
msgid ""
"`Issue #23703 <https://bugs.python.org/23703>`__: Fix a regression in "
"urljoin() introduced in 901e4e52b20a. Patch by Demian Brecht."
msgstr ""
#: ../../../Misc/NEWS:1414
msgid ""
"`Issue #4254 <https://bugs.python.org/4254>`__: Adds _curses."
"update_lines_cols(). Patch by Arnon Yaari"
msgstr ""
#: ../../../Misc/NEWS:1416
msgid ""
"`Issue #19933 <https://bugs.python.org/19933>`__: Provide default argument "
"for ndigits in round. Patch by Vajrasky Kok."
msgstr ""
#: ../../../Misc/NEWS:1419
msgid ""
"`Issue #23193 <https://bugs.python.org/23193>`__: Add a numeric_owner "
"parameter to tarfile.TarFile.extract and tarfile.TarFile.extractall. Patch "
"by Michael Vogt and Eric Smith."
msgstr ""
#: ../../../Misc/NEWS:1423
msgid ""
"`Issue #23342 <https://bugs.python.org/23342>`__: Add a subprocess.run() "
"function than returns a CalledProcess instance for a more consistent API "
"than the existing call* functions."
msgstr ""
#: ../../../Misc/NEWS:1426
msgid ""
"`Issue #21217 <https://bugs.python.org/21217>`__: inspect.getsourcelines() "
"now tries to compute the start and end lines from the code object, fixing an "
"issue when a lambda function is used as decorator argument. Patch by Thomas "
"Ballinger and Allison Kaptur."
msgstr ""
#: ../../../Misc/NEWS:1430
msgid ""
"`Issue #24521 <https://bugs.python.org/24521>`__: Fix possible integer "
"overflows in the pickle module."
msgstr ""
#: ../../../Misc/NEWS:1432
msgid ""
"`Issue #22931 <https://bugs.python.org/22931>`__: Allow '[' and ']' in "
"cookie values."
msgstr ""
#: ../../../Misc/NEWS:1434
msgid "The keywords attribute of functools.partial is now always a dictionary."
msgstr ""
#: ../../../Misc/NEWS:1436
msgid ""
"`Issue #23811 <https://bugs.python.org/23811>`__: Add missing newline to the "
"PyCompileError error message. Patch by Alex Shkop."
msgstr ""
#: ../../../Misc/NEWS:1439
msgid ""
"`Issue #21116 <https://bugs.python.org/21116>`__: Avoid blowing memory when "
"allocating a multiprocessing shared array that's larger than 50% of the "
"available RAM. Patch by Médéric Boquien."
msgstr ""
#: ../../../Misc/NEWS:1442
msgid ""
"`Issue #22982 <https://bugs.python.org/22982>`__: Improve BOM handling when "
"seeking to multiple positions of a writable text file."
msgstr ""
#: ../../../Misc/NEWS:1445
msgid ""
"`Issue #23464 <https://bugs.python.org/23464>`__: Removed deprecated asyncio "
"JoinableQueue."
msgstr ""
#: ../../../Misc/NEWS:1447
msgid ""
"`Issue #23529 <https://bugs.python.org/23529>`__: Limit the size of "
"decompressed data when reading from GzipFile, BZ2File or LZMAFile. This "
"defeats denial of service attacks using compressed bombs (i.e. compressed "
"payloads which decompress to a huge size). Patch by Martin Panter and "
"Nikolaus Rath."
msgstr ""
#: ../../../Misc/NEWS:1452
msgid ""
"`Issue #21859 <https://bugs.python.org/21859>`__: Added Python "
"implementation of io.FileIO."
msgstr ""
#: ../../../Misc/NEWS:1454
msgid ""
"`Issue #23865 <https://bugs.python.org/23865>`__: close() methods in "
"multiple modules now are idempotent and more robust at shutdown. If they "
"need to release multiple resources, all are released even if errors occur."
msgstr ""
#: ../../../Misc/NEWS:1458
msgid ""
"`Issue #23400 <https://bugs.python.org/23400>`__: Raise same exception on "
"both Python 2 and 3 if sem_open is not available. Patch by Davin Potts."
msgstr ""
#: ../../../Misc/NEWS:1461
msgid ""
"`Issue #10838 <https://bugs.python.org/10838>`__: The subprocess now module "
"includes SubprocessError and TimeoutError in its list of exported names for "
"the users wild enough to use ``from subprocess import *``."
msgstr ""
#: ../../../Misc/NEWS:1465
msgid ""
"`Issue #23411 <https://bugs.python.org/23411>`__: Added DefragResult, "
"ParseResult, SplitResult, DefragResultBytes, ParseResultBytes, and "
"SplitResultBytes to urllib.parse.__all__. Patch by Martin Panter."
msgstr ""
#: ../../../Misc/NEWS:1469
msgid ""
"`Issue #23881 <https://bugs.python.org/23881>`__: urllib.request.ftpwrapper "
"constructor now closes the socket if the FTP connection failed to fix a "
"ResourceWarning."
msgstr ""
#: ../../../Misc/NEWS:1472
msgid ""
"`Issue #23853 <https://bugs.python.org/23853>`__: :meth:`socket.socket."
"sendall` does no more reset the socket timeout each time data is sent "
"successfuly. The socket timeout is now the maximum total duration to send "
"all data."
msgstr ""
#: ../../../Misc/NEWS:1476
msgid ""
"`Issue #22721 <https://bugs.python.org/22721>`__: An order of multiline "
"pprint output of set or dict containing orderable and non-orderable elements "
"no longer depends on iteration order of set or dict."
msgstr ""
#: ../../../Misc/NEWS:1480
msgid ""
"`Issue #15133 <https://bugs.python.org/15133>`__: _tkinter.tkapp."
"getboolean() now supports Tcl_Obj and always returns bool. tkinter."
"BooleanVar now validates input values (accepted bool, int, str, and "
"Tcl_Obj). tkinter.BooleanVar.get() now always returns bool."
msgstr ""
#: ../../../Misc/NEWS:1484
msgid ""
"`Issue #10590 <https://bugs.python.org/10590>`__: xml.sax.parseString() now "
"supports string argument."
msgstr ""
#: ../../../Misc/NEWS:1486
msgid ""
"`Issue #23338 <https://bugs.python.org/23338>`__: Fixed formatting ctypes "
"error messages on Cygwin. Patch by Makoto Kato."
msgstr ""
#: ../../../Misc/NEWS:1489
msgid ""
"`Issue #15582 <https://bugs.python.org/15582>`__: inspect.getdoc() now "
"follows inheritance chains."
msgstr ""
#: ../../../Misc/NEWS:1491
msgid ""
"`Issue #2175 <https://bugs.python.org/2175>`__: SAX parsers now support a "
"character stream of InputSource object."
msgstr ""
#: ../../../Misc/NEWS:1493
msgid ""
"`Issue #16840 <https://bugs.python.org/16840>`__: Tkinter now supports 64-"
"bit integers added in Tcl 8.4 and arbitrary precision integers added in Tcl "
"8.5."
msgstr ""
#: ../../../Misc/NEWS:1496
msgid ""
"`Issue #23834 <https://bugs.python.org/23834>`__: Fix socket.sendto(), use "
"the C Py_ssize_t type to store the result of sendto() instead of the C int "
"type."
msgstr ""
#: ../../../Misc/NEWS:1499
msgid ""
"`Issue #23618 <https://bugs.python.org/23618>`__: :meth:`socket.socket."
"connect` now waits until the connection completes instead of raising :exc:"
"`InterruptedError` if the connection is interrupted by signals, signal "
"handlers don't raise an exception and the socket is blocking or has a "
"timeout. :meth:`socket.socket.connect` still raise :exc:`InterruptedError` "
"for non-blocking sockets."
msgstr ""
#: ../../../Misc/NEWS:1505
msgid ""
"`Issue #21526 <https://bugs.python.org/21526>`__: Tkinter now supports new "
"boolean type in Tcl 8.5."
msgstr ""
#: ../../../Misc/NEWS:1507
msgid ""
"`Issue #23836 <https://bugs.python.org/23836>`__: Fix the faulthandler "
"module to handle reentrant calls to its signal handlers."
msgstr ""
#: ../../../Misc/NEWS:1510
msgid ""
"`Issue #23838 <https://bugs.python.org/23838>`__: linecache now clears the "
"cache and returns an empty result on MemoryError."
msgstr ""
#: ../../../Misc/NEWS:1513
msgid ""
"`Issue #10395 <https://bugs.python.org/10395>`__: Added os.path."
"commonpath(). Implemented in posixpath and ntpath. Based on patch by Rafik "
"Draoui."
msgstr ""
#: ../../../Misc/NEWS:1516
msgid ""
"`Issue #23611 <https://bugs.python.org/23611>`__: Serializing more "
"\"lookupable\" objects (such as unbound methods or nested classes) now are "
"supported with pickle protocols < 4."
msgstr ""
#: ../../../Misc/NEWS:1519
msgid ""
"`Issue #13583 <https://bugs.python.org/13583>`__: sqlite3.Row now supports "
"slice indexing."
msgstr ""
#: ../../../Misc/NEWS:1521
msgid ""
"`Issue #18473 <https://bugs.python.org/18473>`__: Fixed 2to3 and 3to2 "
"compatible pickle mappings. Fixed ambigious reverse mappings. Added many "
"new mappings. Import mapping is no longer applied to modules already mapped "
"with full name mapping."
msgstr ""
#: ../../../Misc/NEWS:1525
msgid ""
"`Issue #23485 <https://bugs.python.org/23485>`__: select.select() is now "
"retried automatically with the recomputed timeout when interrupted by a "
"signal, except if the signal handler raises an exception. This change is "
"part of the PEP 475."
msgstr ""
#: ../../../Misc/NEWS:1529
msgid ""
"`Issue #23752 <https://bugs.python.org/23752>`__: When built from an "
"existing file descriptor, io.FileIO() now only calls fstat() once. Before "
"fstat() was called twice, which was not necessary."
msgstr ""
#: ../../../Misc/NEWS:1533
msgid ""
"`Issue #23704 <https://bugs.python.org/23704>`__: collections.deque() "
"objects now support __add__, __mul__, and __imul__()."
msgstr ""
#: ../../../Misc/NEWS:1536
msgid ""
"`Issue #23171 <https://bugs.python.org/23171>`__: csv.Writer.writerow() now "
"supports arbitrary iterables."
msgstr ""
#: ../../../Misc/NEWS:1538
msgid ""
"`Issue #23745 <https://bugs.python.org/23745>`__: The new email header "
"parser now handles duplicate MIME parameter names without error, similar to "
"how get_param behaves."
msgstr ""
#: ../../../Misc/NEWS:1541
msgid ""
"`Issue #22117 <https://bugs.python.org/22117>`__: Fix os.utime(), it now "
"rounds the timestamp towards minus infinity (-inf) instead of rounding "
"towards zero."
msgstr ""
#: ../../../Misc/NEWS:1544
msgid ""
"`Issue #23310 <https://bugs.python.org/23310>`__: Fix MagicMock's "
"initializer to work with __methods__, just like configure_mock(). Patch by "
"Kasia Jachim."
msgstr ""
#: ../../../Misc/NEWS:1550
msgid ""
"`Issue #23817 <https://bugs.python.org/23817>`__: FreeBSD now uses \"1.0\" "
"the the SOVERSION as other operating systems, instead of just \"1\"."
msgstr ""
#: ../../../Misc/NEWS:1553
msgid ""
"`Issue #23501 <https://bugs.python.org/23501>`__: Argument Clinic now "
"generates code into separate files by default."
msgstr ""
#: ../../../Misc/NEWS:1558
msgid ""
"`Issue #23799 <https://bugs.python.org/23799>`__: Added test.support."
"start_threads() for running and cleaning up multiple threads."
msgstr ""
#: ../../../Misc/NEWS:1561
msgid ""
"`Issue #22390 <https://bugs.python.org/22390>`__: test.regrtest now emits a "
"warning if temporary files or directories are left after running a test."
msgstr ""
#: ../../../Misc/NEWS:1567
msgid ""
"`Issue #18128 <https://bugs.python.org/18128>`__: pygettext now uses "
"standard +NNNN format in the POT-Creation-Date header."
msgstr ""
#: ../../../Misc/NEWS:1570
msgid ""
"`Issue #23935 <https://bugs.python.org/23935>`__: Argument Clinic's "
"understanding of format units accepting bytes, bytearrays, and buffers is "
"now consistent with both the documentation and the implementation."
msgstr ""
#: ../../../Misc/NEWS:1574
msgid ""
"`Issue #23944 <https://bugs.python.org/23944>`__: Argument Clinic now wraps "
"long impl prototypes at column 78."
msgstr ""
#: ../../../Misc/NEWS:1576
msgid ""
"`Issue #20586 <https://bugs.python.org/20586>`__: Argument Clinic now "
"ensures that functions without docstrings have signatures."
msgstr ""
#: ../../../Misc/NEWS:1579
msgid ""
"`Issue #23492 <https://bugs.python.org/23492>`__: Argument Clinic now "
"generates argument parsing code with PyArg_Parse instead of PyArg_ParseTuple "
"if possible."
msgstr ""
#: ../../../Misc/NEWS:1582
msgid ""
"`Issue #23500 <https://bugs.python.org/23500>`__: Argument Clinic is now "
"smarter about generating the \"#ifndef\" (empty) definition of the methoddef "
"macro: it's only generated once, even if Argument Clinic processes the same "
"symbol multiple times, and it's emitted at the end of all processing rather "
"than immediately after the first use."
msgstr ""
#: ../../../Misc/NEWS:1588 ../../../Misc/NEWS:1904 ../../../Misc/NEWS:3494
#: ../../../Misc/NEWS:5401
msgid "C API"
msgstr ""
#: ../../../Misc/NEWS:1590
msgid ""
"`Issue #23998 <https://bugs.python.org/23998>`__: PyImport_ReInitLock() now "
"checks for lock allocation error"
msgstr ""
#: ../../../Misc/NEWS:1594
msgid "Python 3.5.0 alpha 3"
msgstr ""
#: ../../../Misc/NEWS:1596
msgid "Release date: 2015-03-28"
msgstr ""
#: ../../../Misc/NEWS:1601
msgid ""
"`Issue #23573 <https://bugs.python.org/23573>`__: Increased performance of "
"string search operations (str.find, str.index, str.count, the in operator, "
"str.split, str.partition) with arguments of different kinds (UCS1, UCS2, "
"UCS4)."
msgstr ""
#: ../../../Misc/NEWS:1605
msgid ""
"`Issue #23753 <https://bugs.python.org/23753>`__: Python doesn't support "
"anymore platforms without stat() or fstat(), these functions are always "
"required."
msgstr ""
#: ../../../Misc/NEWS:1608
msgid ""
"`Issue #23681 <https://bugs.python.org/23681>`__: The -b option now affects "
"comparisons of bytes with int."
msgstr ""
#: ../../../Misc/NEWS:1610
msgid ""
"`Issue #23632 <https://bugs.python.org/23632>`__: Memoryviews now allow "
"tuple indexing (including for multi-dimensional memoryviews)."
msgstr ""
#: ../../../Misc/NEWS:1613
msgid ""
"`Issue #23192 <https://bugs.python.org/23192>`__: Fixed generator lambdas. "
"Patch by Bruno Cauet."
msgstr ""
#: ../../../Misc/NEWS:1615
msgid ""
"`Issue #23629 <https://bugs.python.org/23629>`__: Fix the default __sizeof__ "
"implementation for variable-sized objects."
msgstr ""
#: ../../../Misc/NEWS:1621
msgid ""
"`Issue #14260 <https://bugs.python.org/14260>`__: The groupindex attribute "
"of regular expression pattern object now is non-modifiable mapping."
msgstr ""
#: ../../../Misc/NEWS:1624
msgid ""
"`Issue #23792 <https://bugs.python.org/23792>`__: Ignore KeyboardInterrupt "
"when the pydoc pager is active. This mimics the behavior of the standard "
"unix pagers, and prevents pipepager from shutting down while the pager "
"itself is still running."
msgstr ""
#: ../../../Misc/NEWS:1628
msgid ""
"`Issue #23775 <https://bugs.python.org/23775>`__: pprint() of OrderedDict "
"now outputs the same representation as repr()."
msgstr ""
#: ../../../Misc/NEWS:1631
msgid ""
"`Issue #23765 <https://bugs.python.org/23765>`__: Removed IsBadStringPtr "
"calls in ctypes"
msgstr ""
#: ../../../Misc/NEWS:1633
msgid ""
"`Issue #22364 <https://bugs.python.org/22364>`__: Improved some re error "
"messages using regex for hints."
msgstr ""
#: ../../../Misc/NEWS:1635
msgid ""
"`Issue #23742 <https://bugs.python.org/23742>`__: ntpath.expandvars() no "
"longer loses unbalanced single quotes."
msgstr ""
#: ../../../Misc/NEWS:1637
msgid ""
"`Issue #21717 <https://bugs.python.org/21717>`__: The zipfile.ZipFile.open "
"function now supports 'x' (exclusive creation) mode."
msgstr ""
#: ../../../Misc/NEWS:1640
msgid ""
"`Issue #21802 <https://bugs.python.org/21802>`__: The reader in "
"BufferedRWPair now is closed even when closing writer failed in "
"BufferedRWPair.close()."
msgstr ""
#: ../../../Misc/NEWS:1643
msgid ""
"`Issue #23622 <https://bugs.python.org/23622>`__: Unknown escapes in regular "
"expressions that consist of ``'\\'`` and ASCII letter now raise a "
"deprecation warning and will be forbidden in Python 3.6."
msgstr ""
#: ../../../Misc/NEWS:1647
msgid ""
"`Issue #23671 <https://bugs.python.org/23671>`__: string.Template now allows "
"to specify the \"self\" parameter as keyword argument. string.Formatter now "
"allows to specify the \"self\" and the \"format_string\" parameters as "
"keyword arguments."
msgstr ""
#: ../../../Misc/NEWS:1651
msgid ""
"`Issue #23502 <https://bugs.python.org/23502>`__: The pprint module now "
"supports mapping proxies."
msgstr ""
#: ../../../Misc/NEWS:1653
msgid ""
"`Issue #17530 <https://bugs.python.org/17530>`__: pprint now wraps long "
"bytes objects and bytearrays."
msgstr ""
#: ../../../Misc/NEWS:1655
msgid ""
"`Issue #22687 <https://bugs.python.org/22687>`__: Fixed some corner cases in "
"breaking words in tetxtwrap. Got rid of quadratic complexity in breaking "
"long words."
msgstr ""
#: ../../../Misc/NEWS:1658
msgid ""
"`Issue #4727 <https://bugs.python.org/4727>`__: The copy module now uses "
"pickle protocol 4 (PEP 3154) and supports copying of instances of classes "
"whose __new__ method takes keyword-only arguments."
msgstr ""
#: ../../../Misc/NEWS:1662
msgid ""
"`Issue #23491 <https://bugs.python.org/23491>`__: Added a zipapp module to "
"support creating executable zip file archives of Python code. Registered \"."
"pyz\" and \".pyzw\" extensions on Windows for these archives (PEP 441)."
msgstr ""
#: ../../../Misc/NEWS:1666
msgid ""
"`Issue #23657 <https://bugs.python.org/23657>`__: Avoid explicit checks for "
"str in zipapp, adding support for pathlib.Path objects as arguments."
msgstr ""
#: ../../../Misc/NEWS:1669
msgid ""
"`Issue #23688 <https://bugs.python.org/23688>`__: Added support of arbitrary "
"bytes-like objects and avoided unnecessary copying of memoryview in gzip."
"GzipFile.write(). Original patch by Wolfgang Maier."
msgstr ""
#: ../../../Misc/NEWS:1673
msgid ""
"`Issue #23252 <https://bugs.python.org/23252>`__: Added support for writing "
"ZIP files to unseekable streams."
msgstr ""
#: ../../../Misc/NEWS:1675
msgid ""
"`Issue #23647 <https://bugs.python.org/23647>`__: Increase impalib's MAXLINE "
"to accommodate modern mailbox sizes."
msgstr ""
#: ../../../Misc/NEWS:1677
msgid ""
"`Issue #23539 <https://bugs.python.org/23539>`__: If body is None, http."
"client.HTTPConnection.request now sets Content-Length to 0 for PUT, POST, "
"and PATCH headers to avoid 411 errors from some web servers."
msgstr ""
#: ../../../Misc/NEWS:1681
msgid ""
"`Issue #22351 <https://bugs.python.org/22351>`__: The nntplib.NNTP "
"constructor no longer leaves the connection and socket open until the "
"garbage collector cleans them up. Patch by Martin Panter."
msgstr ""
#: ../../../Misc/NEWS:1685
msgid ""
"`Issue #23704 <https://bugs.python.org/23704>`__: collections.deque() "
"objects now support methods for index(), insert(), and copy(). This allows "
"deques to be registered as a MutableSequence and it improves their "
"substitutablity for lists."
msgstr ""
#: ../../../Misc/NEWS:1689
msgid ""
"`Issue #23715 <https://bugs.python.org/23715>`__: :func:`signal.sigwaitinfo` "
"and :func:`signal.sigtimedwait` are now retried when interrupted by a signal "
"not in the *sigset* parameter, if the signal handler does not raise an "
"exception. signal.sigtimedwait() recomputes the timeout with a monotonic "
"clock when it is retried."
msgstr ""
#: ../../../Misc/NEWS:1694
msgid ""
"`Issue #23001 <https://bugs.python.org/23001>`__: Few functions in modules "
"mmap, ossaudiodev, socket, ssl, and codecs, that accepted only read-only "
"bytes-like object now accept writable bytes-like object too."
msgstr ""
#: ../../../Misc/NEWS:1698
msgid ""
"`Issue #23646 <https://bugs.python.org/23646>`__: If time.sleep() is "
"interrupted by a signal, the sleep is now retried with the recomputed delay, "
"except if the signal handler raises an exception (PEP 475)."
msgstr ""
#: ../../../Misc/NEWS:1702
msgid ""
"`Issue #23136 <https://bugs.python.org/23136>`__: _strptime now uniformly "
"handles all days in week 0, including Dec 30 of previous year. Based on "
"patch by Jim Carroll."
msgstr ""
#: ../../../Misc/NEWS:1705
msgid ""
"`Issue #23700 <https://bugs.python.org/23700>`__: Iterator of "
"NamedTemporaryFile now keeps a reference to NamedTemporaryFile instance. "
"Patch by Bohuslav Kabrda."
msgstr ""
#: ../../../Misc/NEWS:1708
msgid ""
"`Issue #22903 <https://bugs.python.org/22903>`__: The fake test case created "
"by unittest.loader when it fails importing a test module is now picklable."
msgstr ""
#: ../../../Misc/NEWS:1711
msgid ""
"`Issue #22181 <https://bugs.python.org/22181>`__: On Linux, os.urandom() now "
"uses the new getrandom() syscall if available, syscall introduced in the "
"Linux kernel 3.17. It is more reliable and more secure, because it avoids "
"the need of a file descriptor and waits until the kernel has enough entropy."
msgstr ""
#: ../../../Misc/NEWS:1716
msgid ""
"`Issue #2211 <https://bugs.python.org/2211>`__: Updated the implementation "
"of the http.cookies.Morsel class. Setting attributes key, value and "
"coded_value directly now is deprecated. update() and setdefault() now "
"transform and check keys. Comparing for equality now takes into account "
"attributes key, value and coded_value. copy() now returns a Morsel, not a "
"dict. repr() now contains all attributes. Optimized checking keys and "
"quoting values. Added new tests. Original patch by Demian Brecht."
msgstr ""
#: ../../../Misc/NEWS:1724
msgid ""
"`Issue #18983 <https://bugs.python.org/18983>`__: Allow selection of output "
"units in timeit. Patch by Julian Gindi."
msgstr ""
#: ../../../Misc/NEWS:1727
msgid ""
"`Issue #23631 <https://bugs.python.org/23631>`__: Fix traceback.format_list "
"when a traceback has been mutated."
msgstr ""
#: ../../../Misc/NEWS:1729
msgid ""
"`Issue #23568 <https://bugs.python.org/23568>`__: Add rdivmod support to "
"MagicMock() objects. Patch by Håkan Lövdahl."
msgstr ""
#: ../../../Misc/NEWS:1732
msgid ""
"`Issue #2052 <https://bugs.python.org/2052>`__: Add charset parameter to "
"HtmlDiff.make_file()."
msgstr ""
#: ../../../Misc/NEWS:1734
msgid ""
"`Issue #23668 <https://bugs.python.org/23668>`__: Support os.truncate and os."
"ftruncate on Windows."
msgstr ""
#: ../../../Misc/NEWS:1736
msgid ""
"`Issue #23138 <https://bugs.python.org/23138>`__: Fixed parsing cookies with "
"absent keys or values in cookiejar. Patch by Demian Brecht."
msgstr ""
#: ../../../Misc/NEWS:1739
msgid ""
"`Issue #23051 <https://bugs.python.org/23051>`__: multiprocessing.Pool "
"methods imap() and imap_unordered() now handle exceptions raised by an "
"iterator. Patch by Alon Diamant and Davin Potts."
msgstr ""
#: ../../../Misc/NEWS:1743
msgid ""
"`Issue #23581 <https://bugs.python.org/23581>`__: Add matmul support to "
"MagicMock. Patch by Håkan Lövdahl."
msgstr ""
#: ../../../Misc/NEWS:1745
msgid ""
"`Issue #23566 <https://bugs.python.org/23566>`__: enable(), register(), "
"dump_traceback() and dump_traceback_later() functions of faulthandler now "
"accept file descriptors. Patch by Wei Wu."
msgstr ""
#: ../../../Misc/NEWS:1749
msgid ""
"`Issue #22928 <https://bugs.python.org/22928>`__: Disabled HTTP header "
"injections in http.client. Original patch by Demian Brecht."
msgstr ""
#: ../../../Misc/NEWS:1752
msgid ""
"`Issue #23615 <https://bugs.python.org/23615>`__: Modules bz2, tarfile and "
"tokenize now can be reloaded with imp.reload(). Patch by Thomas Kluyver."
msgstr ""
#: ../../../Misc/NEWS:1755
msgid ""
"`Issue #23605 <https://bugs.python.org/23605>`__: os.walk() now calls os."
"scandir() instead of os.listdir(). The usage of os.scandir() reduces the "
"number of calls to os.stat(). Initial patch written by Ben Hoyt."
msgstr ""
#: ../../../Misc/NEWS:1762
msgid ""
"`Issue #23585 <https://bugs.python.org/23585>`__: make patchcheck will "
"ensure the interpreter is built."
msgstr ""
#: ../../../Misc/NEWS:1767
msgid ""
"`Issue #23583 <https://bugs.python.org/23583>`__: Added tests for standard "
"IO streams in IDLE."
msgstr ""
#: ../../../Misc/NEWS:1769
msgid ""
"`Issue #22289 <https://bugs.python.org/22289>`__: Prevent test_urllib2net "
"failures due to ftp connection timeout."
msgstr ""
#: ../../../Misc/NEWS:1774
msgid ""
"`Issue #22826 <https://bugs.python.org/22826>`__: The result of open() in "
"Tools/freeze/bkfile.py is now better compatible with regular files (in "
"particular it now supports the context management protocol)."
msgstr ""
#: ../../../Misc/NEWS:1780
msgid "Python 3.5 alpha 2"
msgstr ""
#: ../../../Misc/NEWS:1782
msgid "Release date: 2015-03-09"
msgstr ""
#: ../../../Misc/NEWS:1787
msgid ""
"`Issue #23571 <https://bugs.python.org/23571>`__: PyObject_Call() and "
"PyCFunction_Call() now raise a SystemError if a function returns a result "
"and raises an exception. The SystemError is chained to the previous "
"exception."
msgstr ""
#: ../../../Misc/NEWS:1794
msgid ""
"`Issue #22524 <https://bugs.python.org/22524>`__: New os.scandir() function, "
"part of the PEP 471: \"os.scandir() function -- a better and faster "
"directory iterator\". Patch written by Ben Hoyt."
msgstr ""
#: ../../../Misc/NEWS:1798
msgid ""
"`Issue #23103 <https://bugs.python.org/23103>`__: Reduced the memory "
"consumption of IPv4Address and IPv6Address."
msgstr ""
#: ../../../Misc/NEWS:1800
msgid ""
"`Issue #21793 <https://bugs.python.org/21793>`__: BaseHTTPRequestHandler "
"again logs response code as numeric, not as stringified enum. Patch by "
"Demian Brecht."
msgstr ""
#: ../../../Misc/NEWS:1803
msgid ""
"`Issue #23476 <https://bugs.python.org/23476>`__: In the ssl module, enable "
"OpenSSL's X509_V_FLAG_TRUSTED_FIRST flag on certificate stores when it is "
"available."
msgstr ""
#: ../../../Misc/NEWS:1806
msgid ""
"`Issue #23576 <https://bugs.python.org/23576>`__: Avoid stalling in SSL "
"reads when EOF has been reached in the SSL layer but the underlying "
"connection hasn't been closed."
msgstr ""
#: ../../../Misc/NEWS:1809
msgid ""
"`Issue #23504 <https://bugs.python.org/23504>`__: Added an __all__ to the "
"types module."
msgstr ""
#: ../../../Misc/NEWS:1811
msgid ""
"`Issue #23563 <https://bugs.python.org/23563>`__: Optimized utility "
"functions in urllib.parse."
msgstr ""
#: ../../../Misc/NEWS:1813
msgid ""
"`Issue #7830 <https://bugs.python.org/7830>`__: Flatten nested functools."
"partial."
msgstr ""
#: ../../../Misc/NEWS:1815
msgid ""
"`Issue #20204 <https://bugs.python.org/20204>`__: Added the __module__ "
"attribute to _tkinter classes."
msgstr ""
#: ../../../Misc/NEWS:1817
msgid ""
"`Issue #19980 <https://bugs.python.org/19980>`__: Improved help() for non-"
"recognized strings. help('') now shows the help on str. help('help') now "
"shows the help on help(). Original patch by Mark Lawrence."
msgstr ""
#: ../../../Misc/NEWS:1821
msgid ""
"`Issue #23521 <https://bugs.python.org/23521>`__: Corrected pure python "
"implementation of timedelta division."
msgstr ""
#: ../../../Misc/NEWS:1823
msgid "Eliminated OverflowError from timedelta * float for some floats;"
msgstr ""
#: ../../../Misc/NEWS:1824
msgid "Corrected rounding in timedlta true division."
msgstr ""
#: ../../../Misc/NEWS:1826
msgid ""
"`Issue #21619 <https://bugs.python.org/21619>`__: Popen objects no longer "
"leave a zombie after exit in the with statement if the pipe was broken. "
"Patch by Martin Panter."
msgstr ""
#: ../../../Misc/NEWS:1829
msgid ""
"`Issue #22936 <https://bugs.python.org/22936>`__: Make it possible to show "
"local variables in tracebacks for both the traceback module and unittest."
msgstr ""
#: ../../../Misc/NEWS:1832
msgid ""
"`Issue #15955 <https://bugs.python.org/15955>`__: Add an option to limit the "
"output size in bz2.decompress(). Patch by Nikolaus Rath."
msgstr ""
#: ../../../Misc/NEWS:1835
msgid ""
"`Issue #6639 <https://bugs.python.org/6639>`__: Module-level turtle "
"functions no longer raise TclError after closing the window."
msgstr ""
#: ../../../Misc/NEWS:1838
msgid ""
"Issues #814253, #9179: Group references and conditional group references now "
"work in lookbehind assertions in regular expressions."
msgstr ""
#: ../../../Misc/NEWS:1841
msgid ""
"`Issue #23215 <https://bugs.python.org/23215>`__: Multibyte codecs with "
"custom error handlers that ignores errors consumed too much memory and "
"raised SystemError or MemoryError. Original patch by Aleksi Torhamo."
msgstr ""
#: ../../../Misc/NEWS:1845
msgid ""
"`Issue #5700 <https://bugs.python.org/5700>`__: io.FileIO() called flush() "
"after closing the file. flush() was not called in close() if closefd=False."
msgstr ""
#: ../../../Misc/NEWS:1848
msgid ""
"`Issue #23374 <https://bugs.python.org/23374>`__: Fixed pydoc failure with "
"non-ASCII files when stdout encoding differs from file system encoding (e.g. "
"on Mac OS)."
msgstr ""
#: ../../../Misc/NEWS:1851
msgid ""
"`Issue #23481 <https://bugs.python.org/23481>`__: Remove RC4 from the SSL "
"module's default cipher list."
msgstr ""
#: ../../../Misc/NEWS:1853
msgid ""
"`Issue #21548 <https://bugs.python.org/21548>`__: Fix pydoc.synopsis() and "
"pydoc.apropos() on modules with empty docstrings."
msgstr ""
#: ../../../Misc/NEWS:1856
msgid ""
"`Issue #22885 <https://bugs.python.org/22885>`__: Fixed arbitrary code "
"execution vulnerability in the dbm.dumb module. Original patch by Claudiu "
"Popa."
msgstr ""
#: ../../../Misc/NEWS:1859
msgid ""
"`Issue #23239 <https://bugs.python.org/23239>`__: ssl.match_hostname() now "
"supports matching of IP addresses."
msgstr ""
#: ../../../Misc/NEWS:1861
msgid ""
"`Issue #23146 <https://bugs.python.org/23146>`__: Fix mishandling of "
"absolute Windows paths with forward slashes in pathlib."
msgstr ""
#: ../../../Misc/NEWS:1864
msgid ""
"`Issue #23096 <https://bugs.python.org/23096>`__: Pickle representation of "
"floats with protocol 0 now is the same for both Python and C implementations."
msgstr ""
#: ../../../Misc/NEWS:1867
msgid ""
"`Issue #19105 <https://bugs.python.org/19105>`__: pprint now more "
"efficiently uses free space at the right."
msgstr ""
#: ../../../Misc/NEWS:1869
msgid ""
"`Issue #14910 <https://bugs.python.org/14910>`__: Add allow_abbrev parameter "
"to argparse.ArgumentParser. Patch by Jonathan Paugh, Steven Bethard, paul j3 "
"and Daniel Eriksson."
msgstr ""
#: ../../../Misc/NEWS:1872
msgid ""
"`Issue #21717 <https://bugs.python.org/21717>`__: tarfile.open() now "
"supports 'x' (exclusive creation) mode."
msgstr ""
#: ../../../Misc/NEWS:1874
msgid ""
"`Issue #23344 <https://bugs.python.org/23344>`__: marshal.dumps() is now "
"20-25% faster on average."
msgstr ""
#: ../../../Misc/NEWS:1876
msgid ""
"`Issue #20416 <https://bugs.python.org/20416>`__: marshal.dumps() with "
"protocols 3 and 4 is now 40-50% faster on average."
msgstr ""
#: ../../../Misc/NEWS:1879
msgid ""
"`Issue #23421 <https://bugs.python.org/23421>`__: Fixed compression in "
"tarfile CLI. Patch by wdv4758h."
msgstr ""
#: ../../../Misc/NEWS:1881
msgid ""
"`Issue #23367 <https://bugs.python.org/23367>`__: Fix possible overflows in "
"the unicodedata module."
msgstr ""
#: ../../../Misc/NEWS:1883
msgid ""
"`Issue #23361 <https://bugs.python.org/23361>`__: Fix possible overflow in "
"Windows subprocess creation code."
msgstr ""
#: ../../../Misc/NEWS:1885
msgid ""
"logging.handlers.QueueListener now takes a respect_handler_level keyword "
"argument which, if set to True, will pass messages to handlers taking "
"handler levels into account."
msgstr ""
#: ../../../Misc/NEWS:1889
msgid ""
"`Issue #19705 <https://bugs.python.org/19705>`__: turtledemo now has a "
"visual sorting algorithm demo. Original patch from Jason Yeo."
msgstr ""
#: ../../../Misc/NEWS:1892
msgid ""
"`Issue #23801 <https://bugs.python.org/23801>`__: Fix issue where cgi."
"FieldStorage did not always ignore the entire preamble to a multipart body."
msgstr ""
#: ../../../Misc/NEWS:1898
msgid ""
"`Issue #23445 <https://bugs.python.org/23445>`__: pydebug builds now use "
"\"gcc -Og\" where possible, to make the resulting executable faster."
msgstr ""
#: ../../../Misc/NEWS:1901
msgid ""
"`Issue #23686 <https://bugs.python.org/23686>`__: Update OS X 10.5 installer "
"build to use OpenSSL 1.0.2a."
msgstr ""
#: ../../../Misc/NEWS:1906
msgid ""
"`Issue #20204 <https://bugs.python.org/20204>`__: Deprecation warning is now "
"raised for builtin types without the __module__ attribute."
msgstr ""
#: ../../../Misc/NEWS:1912
msgid ""
"`Issue #23465 <https://bugs.python.org/23465>`__: Implement PEP 486 - Make "
"the Python Launcher aware of virtual environments. Patch by Paul Moore."
msgstr ""
#: ../../../Misc/NEWS:1915
msgid ""
"`Issue #23437 <https://bugs.python.org/23437>`__: Make user scripts "
"directory versioned on Windows. Patch by Paul Moore."
msgstr ""
#: ../../../Misc/NEWS:1920
msgid "Python 3.5 alpha 1"
msgstr ""
#: ../../../Misc/NEWS:1922
msgid "Release date: 2015-02-08"
msgstr ""
#: ../../../Misc/NEWS:1927
msgid ""
"`Issue #23285 <https://bugs.python.org/23285>`__: PEP 475 - EINTR handling."
msgstr ""
#: ../../../Misc/NEWS:1929
msgid ""
"`Issue #22735 <https://bugs.python.org/22735>`__: Fix many edge cases "
"(including crashes) involving custom mro() implementations."
msgstr ""
#: ../../../Misc/NEWS:1932
msgid ""
"`Issue #22896 <https://bugs.python.org/22896>`__: Avoid using "
"PyObject_AsCharBuffer(), PyObject_AsReadBuffer() and "
"PyObject_AsWriteBuffer()."
msgstr ""
#: ../../../Misc/NEWS:1935
msgid ""
"`Issue #21295 <https://bugs.python.org/21295>`__: Revert some changes "
"(`issue #16795 <https://bugs.python.org/16795>`__) to AST line numbers and "
"column offsets that constituted a regression."
msgstr ""
#: ../../../Misc/NEWS:1938
msgid ""
"`Issue #22986 <https://bugs.python.org/22986>`__: Allow changing an object's "
"__class__ between a dynamic type and static type in some cases."
msgstr ""
#: ../../../Misc/NEWS:1941
msgid ""
"`Issue #15859 <https://bugs.python.org/15859>`__: "
"PyUnicode_EncodeFSDefault(), PyUnicode_EncodeMBCS() and "
"PyUnicode_EncodeCodePage() now raise an exception if the object is not an "
"Unicode object. For PyUnicode_EncodeFSDefault(), it was already the case on "
"platforms other than Windows. Patch written by Campbell Barton."
msgstr ""
#: ../../../Misc/NEWS:1946
msgid ""
"`Issue #21408 <https://bugs.python.org/21408>`__: The default __ne__() now "
"returns NotImplemented if __eq__() returned NotImplemented. Original patch "
"by Martin Panter."
msgstr ""
#: ../../../Misc/NEWS:1949
msgid ""
"`Issue #23321 <https://bugs.python.org/23321>`__: Fixed a crash in str."
"decode() when error handler returned replacment string longer than "
"mailformed input data."
msgstr ""
#: ../../../Misc/NEWS:1952
msgid ""
"`Issue #22286 <https://bugs.python.org/22286>`__: The \"backslashreplace\" "
"error handlers now works with decoding and translating."
msgstr ""
#: ../../../Misc/NEWS:1955
msgid ""
"`Issue #23253 <https://bugs.python.org/23253>`__: Delay-load "
"ShellExecute[AW] in os.startfile for reduced startup overhead on Windows."
msgstr ""
#: ../../../Misc/NEWS:1958
msgid ""
"`Issue #22038 <https://bugs.python.org/22038>`__: pyatomic.h now uses "
"stdatomic.h or GCC built-in functions for atomic memory access if available. "
"Patch written by Vitor de Lima and Gustavo Temple."
msgstr ""
#: ../../../Misc/NEWS:1962
msgid ""
"`Issue #20284 <https://bugs.python.org/20284>`__: %-interpolation (aka "
"printf) formatting added for bytes and bytearray."
msgstr ""
#: ../../../Misc/NEWS:1965
msgid ""
"`Issue #23048 <https://bugs.python.org/23048>`__: Fix jumping out of an "
"infinite while loop in the pdb."
msgstr ""
#: ../../../Misc/NEWS:1967
msgid ""
"`Issue #20335 <https://bugs.python.org/20335>`__: bytes constructor now "
"raises TypeError when encoding or errors is specified with non-string "
"argument. Based on patch by Renaud Blanch."
msgstr ""
#: ../../../Misc/NEWS:1970
msgid ""
"`Issue #22834 <https://bugs.python.org/22834>`__: If the current working "
"directory ends up being set to a non-existent directory then import will no "
"longer raise FileNotFoundError."
msgstr ""
#: ../../../Misc/NEWS:1973
msgid ""
"`Issue #22869 <https://bugs.python.org/22869>`__: Move the interpreter "
"startup & shutdown code to a new dedicated pylifecycle.c module"
msgstr ""
#: ../../../Misc/NEWS:1976
msgid ""
"`Issue #22847 <https://bugs.python.org/22847>`__: Improve method cache "
"efficiency."
msgstr ""
#: ../../../Misc/NEWS:1978
msgid ""
"`Issue #22335 <https://bugs.python.org/22335>`__: Fix crash when trying to "
"enlarge a bytearray to 0x7fffffff bytes on a 32-bit platform."
msgstr ""
#: ../../../Misc/NEWS:1981
msgid ""
"`Issue #22653 <https://bugs.python.org/22653>`__: Fix an assertion failure "
"in debug mode when doing a reentrant dict insertion in debug mode."
msgstr ""
#: ../../../Misc/NEWS:1984
msgid ""
"`Issue #22643 <https://bugs.python.org/22643>`__: Fix integer overflow in "
"Unicode case operations (upper, lower, title, swapcase, casefold)."
msgstr ""
#: ../../../Misc/NEWS:1987
msgid ""
"`Issue #17636 <https://bugs.python.org/17636>`__: Circular imports involving "
"relative imports are now supported."
msgstr ""
#: ../../../Misc/NEWS:1990
msgid ""
"`Issue #22604 <https://bugs.python.org/22604>`__: Fix assertion error in "
"debug mode when dividing a complex number by (nan+0j)."
msgstr ""
#: ../../../Misc/NEWS:1993
msgid ""
"`Issue #21052 <https://bugs.python.org/21052>`__: Do not raise ImportWarning "
"when sys.path_hooks or sys.meta_path are set to None."
msgstr ""
#: ../../../Misc/NEWS:1996
msgid ""
"`Issue #16518 <https://bugs.python.org/16518>`__: Use 'bytes-like object "
"required' in error messages that previously used the far more cryptic \"'x' "
"does not support the buffer protocol."
msgstr ""
#: ../../../Misc/NEWS:2000
msgid ""
"`Issue #22470 <https://bugs.python.org/22470>`__: Fixed integer overflow "
"issues in \"backslashreplace\", \"xmlcharrefreplace\", and \"surrogatepass\" "
"error handlers."
msgstr ""
#: ../../../Misc/NEWS:2003
msgid ""
"`Issue #22540 <https://bugs.python.org/22540>`__: speed up "
"`PyObject_IsInstance` and `PyObject_IsSubclass` in the common case that the "
"second argument has metaclass `type`."
msgstr ""
#: ../../../Misc/NEWS:2006
msgid ""
"`Issue #18711 <https://bugs.python.org/18711>`__: Add a new `PyErr_FormatV` "
"function, similar to `PyErr_Format` but accepting a `va_list` argument."
msgstr ""
#: ../../../Misc/NEWS:2009
msgid ""
"`Issue #22520 <https://bugs.python.org/22520>`__: Fix overflow checking when "
"generating the repr of a unicode object."
msgstr ""
#: ../../../Misc/NEWS:2012
msgid ""
"`Issue #22519 <https://bugs.python.org/22519>`__: Fix overflow checking in "
"PyBytes_Repr."
msgstr ""
#: ../../../Misc/NEWS:2014
msgid ""
"`Issue #22518 <https://bugs.python.org/22518>`__: Fix integer overflow "
"issues in latin-1 encoding."
msgstr ""
#: ../../../Misc/NEWS:2016
msgid ""
"`Issue #16324 <https://bugs.python.org/16324>`__: _charset parameter of "
"MIMEText now also accepts email.charset.Charset instances. Initial patch by "
"Claude Paroz."
msgstr ""
#: ../../../Misc/NEWS:2019
msgid ""
"`Issue #1764286 <https://bugs.python.org/1764286>`__: Fix inspect."
"getsource() to support decorated functions. Patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:2022
msgid ""
"`Issue #18554 <https://bugs.python.org/18554>`__: os.__all__ includes posix "
"functions."
msgstr ""
#: ../../../Misc/NEWS:2024
msgid ""
"`Issue #21391 <https://bugs.python.org/21391>`__: Use os.path.abspath in the "
"shutil module."
msgstr ""
#: ../../../Misc/NEWS:2026
msgid ""
"`Issue #11471 <https://bugs.python.org/11471>`__: avoid generating a "
"JUMP_FORWARD instruction at the end of an if-block if there is no else-"
"clause. Original patch by Eugene Toder."
msgstr ""
#: ../../../Misc/NEWS:2029
msgid ""
"`Issue #22215 <https://bugs.python.org/22215>`__: Now ValueError is raised "
"instead of TypeError when str or bytes argument contains not permitted null "
"character or byte."
msgstr ""
#: ../../../Misc/NEWS:2032
msgid ""
"`Issue #22258 <https://bugs.python.org/22258>`__: Fix the internal function "
"set_inheritable() on Illumos. This platform exposes the function "
"``ioctl(FIOCLEX)``, but calling it fails with errno is ENOTTY: "
"\"Inappropriate ioctl for device\". set_inheritable() now falls back to the "
"slower ``fcntl()`` (``F_GETFD`` and then ``F_SETFD``)."
msgstr ""
#: ../../../Misc/NEWS:2037
msgid ""
"`Issue #21389 <https://bugs.python.org/21389>`__: Displaying the "
"__qualname__ of the underlying function in the repr of a bound method."
msgstr ""
#: ../../../Misc/NEWS:2040
msgid ""
"`Issue #22206 <https://bugs.python.org/22206>`__: Using pthread, "
"PyThread_create_key() now sets errno to ENOMEM and returns -1 (error) on "
"integer overflow."
msgstr ""
#: ../../../Misc/NEWS:2043
msgid ""
"`Issue #20184 <https://bugs.python.org/20184>`__: Argument Clinic based "
"signature introspection added for 30 of the builtin functions."
msgstr ""
#: ../../../Misc/NEWS:2046
msgid ""
"`Issue #22116 <https://bugs.python.org/22116>`__: C functions and methods "
"(of the 'builtin_function_or_method' type) can now be weakref'ed. Patch by "
"Wei Wu."
msgstr ""
#: ../../../Misc/NEWS:2049
msgid ""
"`Issue #22077 <https://bugs.python.org/22077>`__: Improve index error "
"messages for bytearrays, bytes, lists, and tuples by adding 'or slices'. "
"Added ', not <typename>' for bytearrays. Original patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:2053
msgid ""
"`Issue #20179 <https://bugs.python.org/20179>`__: Apply Argument Clinic to "
"bytes and bytearray. Patch by Tal Einat."
msgstr ""
#: ../../../Misc/NEWS:2056
msgid ""
"`Issue #22082 <https://bugs.python.org/22082>`__: Clear interned strings in "
"slotdefs."
msgstr ""
#: ../../../Misc/NEWS:2058
msgid "Upgrade Unicode database to Unicode 7.0.0."
msgstr ""
#: ../../../Misc/NEWS:2060
msgid ""
"`Issue #21897 <https://bugs.python.org/21897>`__: Fix a crash with the "
"f_locals attribute with closure variables when frame.clear() has been called."
msgstr ""
#: ../../../Misc/NEWS:2063
msgid ""
"`Issue #21205 <https://bugs.python.org/21205>`__: Add a new ``__qualname__`` "
"attribute to generator, the qualified name, and use it in the representation "
"of a generator (``repr(gen)``). The default name of the generator "
"(``__name__`` attribute) is now get from the function instead of the code. "
"Use ``gen.gi_code.co_name`` to get the name of the code."
msgstr ""
#: ../../../Misc/NEWS:2069
msgid ""
"`Issue #21669 <https://bugs.python.org/21669>`__: With the aid of heuristics "
"in SyntaxError.__init__, the parser now attempts to generate more meaningful "
"(or at least more search engine friendly) error messages when \"exec\" and "
"\"print\" are used as statements."
msgstr ""
#: ../../../Misc/NEWS:2074
msgid ""
"`Issue #21642 <https://bugs.python.org/21642>`__: In the conditional if-else "
"expression, allow an integer written with no space between itself and the "
"``else`` keyword (e.g. ``True if 42else False``) to be valid syntax."
msgstr ""
#: ../../../Misc/NEWS:2078
msgid ""
"`Issue #21523 <https://bugs.python.org/21523>`__: Fix over-pessimistic "
"computation of the stack effect of some opcodes in the compiler. This also "
"fixes a quadratic compilation time issue noticeable when compiling code with "
"a large number of \"and\" and \"or\" operators."
msgstr ""
#: ../../../Misc/NEWS:2083
msgid ""
"`Issue #21418 <https://bugs.python.org/21418>`__: Fix a crash in the builtin "
"function super() when called without argument and without current frame (ex: "
"embedded Python)."
msgstr ""
#: ../../../Misc/NEWS:2086
msgid ""
"`Issue #21425 <https://bugs.python.org/21425>`__: Fix flushing of standard "
"streams in the interactive interpreter."
msgstr ""
#: ../../../Misc/NEWS:2089
msgid ""
"`Issue #21435 <https://bugs.python.org/21435>`__: In rare cases, when "
"running finalizers on objects in cyclic trash a bad pointer dereference "
"could occur due to a subtle flaw in internal iteration logic."
msgstr ""
#: ../../../Misc/NEWS:2093
msgid ""
"`Issue #21377 <https://bugs.python.org/21377>`__: PyBytes_Concat() now tries "
"to concatenate in-place when the first argument has a reference count of 1. "
"Patch by Nikolaus Rath."
msgstr ""
#: ../../../Misc/NEWS:2096
msgid ""
"`Issue #20355 <https://bugs.python.org/20355>`__: -W command line options "
"now have higher priority than the PYTHONWARNINGS environment variable. "
"Patch by Arfrever."
msgstr ""
#: ../../../Misc/NEWS:2099
msgid ""
"`Issue #21274 <https://bugs.python.org/21274>`__: Define PATH_MAX for GNU/"
"Hurd in Python/pythonrun.c."
msgstr ""
#: ../../../Misc/NEWS:2101
msgid ""
"`Issue #20904 <https://bugs.python.org/20904>`__: Support setting FPU "
"precision on m68k."
msgstr ""
#: ../../../Misc/NEWS:2103
msgid ""
"`Issue #21209 <https://bugs.python.org/21209>`__: Fix sending tuples to "
"custom generator objects with the yield from syntax."
msgstr ""
#: ../../../Misc/NEWS:2106
msgid ""
"`Issue #21193 <https://bugs.python.org/21193>`__: pow(a, b, c) now raises "
"ValueError rather than TypeError when b is negative. Patch by Josh "
"Rosenberg."
msgstr ""
#: ../../../Misc/NEWS:2109
msgid ""
"PEP 465 and `Issue #21176 <https://bugs.python.org/21176>`__: Add the '@' "
"operator for matrix multiplication."
msgstr ""
#: ../../../Misc/NEWS:2111
msgid ""
"`Issue #21134 <https://bugs.python.org/21134>`__: Fix segfault when str is "
"called on an uninitialized UnicodeEncodeError, UnicodeDecodeError, or "
"UnicodeTranslateError object."
msgstr ""
#: ../../../Misc/NEWS:2114
msgid ""
"`Issue #19537 <https://bugs.python.org/19537>`__: Fix PyUnicode_DATA() "
"alignment under m68k. Patch by Andreas Schwab."
msgstr ""
#: ../../../Misc/NEWS:2117
msgid ""
"`Issue #20929 <https://bugs.python.org/20929>`__: Add a type cast to avoid "
"shifting a negative number."
msgstr ""
#: ../../../Misc/NEWS:2119
msgid ""
"`Issue #20731 <https://bugs.python.org/20731>`__: Properly position in "
"source code files even if they are opened in text mode. Patch by Serhiy "
"Storchaka."
msgstr ""
#: ../../../Misc/NEWS:2122
msgid ""
"`Issue #20637 <https://bugs.python.org/20637>`__: Key-sharing now also works "
"for instance dictionaries of subclasses. Patch by Peter Ingebretson."
msgstr ""
#: ../../../Misc/NEWS:2125
msgid ""
"`Issue #8297 <https://bugs.python.org/8297>`__: Attributes missing from "
"modules now include the module name in the error text. Original patch by "
"ysj.ray."
msgstr ""
#: ../../../Misc/NEWS:2128
msgid ""
"`Issue #19995 <https://bugs.python.org/19995>`__: %c, %o, %x, and %X now "
"raise TypeError on non-integer input."
msgstr ""
#: ../../../Misc/NEWS:2130
msgid ""
"`Issue #19655 <https://bugs.python.org/19655>`__: The ASDL parser - used by "
"the build process to generate code for managing the Python AST in C - was "
"rewritten. The new parser is self contained and does not require to carry "
"long the spark.py parser-generator library; spark.py was removed from the "
"source base."
msgstr ""
#: ../../../Misc/NEWS:2135
msgid ""
"`Issue #12546 <https://bugs.python.org/12546>`__: Allow ``\\x00`` to be used "
"as a fill character when using str, int, float, and complex __format__ "
"methods."
msgstr ""
#: ../../../Misc/NEWS:2138
msgid ""
"`Issue #20480 <https://bugs.python.org/20480>`__: Add ipaddress."
"reverse_pointer. Patch by Leon Weber."
msgstr ""
#: ../../../Misc/NEWS:2140
msgid ""
"`Issue #13598 <https://bugs.python.org/13598>`__: Modify string.Formatter to "
"support auto-numbering of replacement fields. It now matches the behavior of "
"str.format() in this regard. Patches by Phil Elson and Ramchandra Apte."
msgstr ""
#: ../../../Misc/NEWS:2144
msgid ""
"`Issue #8931 <https://bugs.python.org/8931>`__: Make alternate formatting "
"('#') for type 'c' raise an exception. In versions prior to 3.5, '#' with "
"'c' had no effect. Now specifying it is an error. Patch by Torsten "
"Landschoff."
msgstr ""
#: ../../../Misc/NEWS:2148
msgid ""
"`Issue #23165 <https://bugs.python.org/23165>`__: Perform overflow checks "
"before allocating memory in the _Py_char2wchar function."
msgstr ""
#: ../../../Misc/NEWS:2154
msgid ""
"`Issue #23399 <https://bugs.python.org/23399>`__: pyvenv creates relative "
"symlinks where possible."
msgstr ""
#: ../../../Misc/NEWS:2156
msgid ""
"`Issue #20289 <https://bugs.python.org/20289>`__: cgi.FieldStorage() now "
"supports the context management protocol."
msgstr ""
#: ../../../Misc/NEWS:2159
msgid ""
"`Issue #13128 <https://bugs.python.org/13128>`__: Print response headers for "
"CONNECT requests when debuglevel > 0. Patch by Demian Brecht."
msgstr ""
#: ../../../Misc/NEWS:2162
msgid ""
"`Issue #15381 <https://bugs.python.org/15381>`__: Optimized io.BytesIO to "
"make less allocations and copyings."
msgstr ""
#: ../../../Misc/NEWS:2164
msgid ""
"`Issue #22818 <https://bugs.python.org/22818>`__: Splitting on a pattern "
"that could match an empty string now raises a warning. Patterns that can "
"only match empty strings are now rejected."
msgstr ""
#: ../../../Misc/NEWS:2168
msgid ""
"`Issue #23099 <https://bugs.python.org/23099>`__: Closing io.BytesIO with "
"exported buffer is rejected now to prevent corrupting exported buffer."
msgstr ""
#: ../../../Misc/NEWS:2171
msgid ""
"`Issue #23326 <https://bugs.python.org/23326>`__: Removed __ne__ "
"implementations. Since fixing default __ne__ implementation in `issue "
"#21408 <https://bugs.python.org/21408>`__ they are redundant."
msgstr ""
#: ../../../Misc/NEWS:2174
msgid ""
"`Issue #23363 <https://bugs.python.org/23363>`__: Fix possible overflow in "
"itertools.permutations."
msgstr ""
#: ../../../Misc/NEWS:2176
msgid ""
"`Issue #23364 <https://bugs.python.org/23364>`__: Fix possible overflow in "
"itertools.product."
msgstr ""
#: ../../../Misc/NEWS:2178
msgid ""
"`Issue #23366 <https://bugs.python.org/23366>`__: Fixed possible integer "
"overflow in itertools.combinations."
msgstr ""
#: ../../../Misc/NEWS:2180
msgid ""
"`Issue #23369 <https://bugs.python.org/23369>`__: Fixed possible integer "
"overflow in _json.encode_basestring_ascii."
msgstr ""
#: ../../../Misc/NEWS:2183
msgid ""
"`Issue #23353 <https://bugs.python.org/23353>`__: Fix the exception handling "
"of generators in PyEval_EvalFrameEx(). At entry, save or swap the exception "
"state even if PyEval_EvalFrameEx() is called with throwflag=0. At exit, the "
"exception state is now always restored or swapped, not only if why is "
"WHY_YIELD or WHY_RETURN. Patch co-written with Antoine Pitrou."
msgstr ""
#: ../../../Misc/NEWS:2189
msgid ""
"`Issue #14099 <https://bugs.python.org/14099>`__: Restored support of "
"writing ZIP files to tellable but non-seekable streams."
msgstr ""
#: ../../../Misc/NEWS:2192
msgid ""
"`Issue #14099 <https://bugs.python.org/14099>`__: Writing to ZipFile and "
"reading multiple ZipExtFiles is threadsafe now."
msgstr ""
#: ../../../Misc/NEWS:2195
msgid ""
"`Issue #19361 <https://bugs.python.org/19361>`__: JSON decoder now raises "
"JSONDecodeError instead of ValueError."
msgstr ""
#: ../../../Misc/NEWS:2197
msgid ""
"`Issue #18518 <https://bugs.python.org/18518>`__: timeit now rejects "
"statements which can't be compiled outside a function or a loop (e.g. "
"\"return\" or \"break\")."
msgstr ""
#: ../../../Misc/NEWS:2200
msgid ""
"`Issue #23094 <https://bugs.python.org/23094>`__: Fixed readline with frames "
"in Python implementation of pickle."
msgstr ""
#: ../../../Misc/NEWS:2202
msgid ""
"`Issue #23268 <https://bugs.python.org/23268>`__: Fixed bugs in the "
"comparison of ipaddress classes."
msgstr ""
#: ../../../Misc/NEWS:2204
msgid ""
"`Issue #21408 <https://bugs.python.org/21408>`__: Removed incorrect "
"implementations of __ne__() which didn't returned NotImplemented if __eq__() "
"returned NotImplemented. The default __ne__() now works correctly."
msgstr ""
#: ../../../Misc/NEWS:2208
msgid ""
"`Issue #19996 <https://bugs.python.org/19996>`__: :class:`email.feedparser."
"FeedParser` now handles (malformed) headers with no key rather than assuming "
"the body has started."
msgstr ""
#: ../../../Misc/NEWS:2211
msgid ""
"`Issue #20188 <https://bugs.python.org/20188>`__: Support Application-Layer "
"Protocol Negotiation (ALPN) in the ssl module."
msgstr ""
#: ../../../Misc/NEWS:2214
msgid ""
"`Issue #23133 <https://bugs.python.org/23133>`__: Pickling of ipaddress "
"objects now produces more compact and portable representation."
msgstr ""
#: ../../../Misc/NEWS:2217
msgid ""
"`Issue #23248 <https://bugs.python.org/23248>`__: Update ssl error codes "
"from latest OpenSSL git master."
msgstr ""
#: ../../../Misc/NEWS:2219
msgid ""
"`Issue #23266 <https://bugs.python.org/23266>`__: Much faster implementation "
"of ipaddress.collapse_addresses() when there are many non-consecutive "
"addresses."
msgstr ""
#: ../../../Misc/NEWS:2222
msgid ""
"`Issue #23098 <https://bugs.python.org/23098>`__: 64-bit dev_t is now "
"supported in the os module."
msgstr ""
#: ../../../Misc/NEWS:2224
msgid ""
"`Issue #21817 <https://bugs.python.org/21817>`__: When an exception is "
"raised in a task submitted to a ProcessPoolExecutor, the remote traceback is "
"now displayed in the parent process. Patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:2228
msgid ""
"`Issue #15955 <https://bugs.python.org/15955>`__: Add an option to limit "
"output size when decompressing LZMA data. Patch by Nikolaus Rath and Martin "
"Panter."
msgstr ""
#: ../../../Misc/NEWS:2231
msgid ""
"`Issue #23250 <https://bugs.python.org/23250>`__: In the http.cookies "
"module, capitalize \"HttpOnly\" and \"Secure\" as they are written in the "
"standard."
msgstr ""
#: ../../../Misc/NEWS:2234
msgid ""
"`Issue #23063 <https://bugs.python.org/23063>`__: In the disutils' check "
"command, fix parsing of reST with code or code-block directives."
msgstr ""
#: ../../../Misc/NEWS:2237
msgid ""
"`Issue #23209 <https://bugs.python.org/23209>`__, #23225: selectors."
"BaseSelector.get_key() now raises a RuntimeError if the selector is closed. "
"And selectors.BaseSelector.close() now clears its internal reference to the "
"selector mapping to break a reference cycle. Initial patch written by Martin "
"Richard."
msgstr ""
#: ../../../Misc/NEWS:2242
msgid ""
"`Issue #17911 <https://bugs.python.org/17911>`__: Provide a way to seed the "
"linecache for a PEP-302 module without actually loading the code."
msgstr ""
#: ../../../Misc/NEWS:2245
msgid ""
"`Issue #17911 <https://bugs.python.org/17911>`__: Provide a new object API "
"for traceback, including the ability to not lookup lines at all until the "
"traceback is actually rendered, without any trace of the original objects "
"being kept alive."
msgstr ""
#: ../../../Misc/NEWS:2249
msgid ""
"`Issue #19777 <https://bugs.python.org/19777>`__: Provide a home() "
"classmethod on Path objects. Contributed by Victor Salgado and Mayank "
"Tripathi."
msgstr ""
#: ../../../Misc/NEWS:2252
msgid ""
"`Issue #23206 <https://bugs.python.org/23206>`__: Make ``json.dumps(..., "
"ensure_ascii=False)`` as fast as the default case of ``ensure_ascii=True``. "
"Patch by Naoki Inada."
msgstr ""
#: ../../../Misc/NEWS:2255
msgid ""
"`Issue #23185 <https://bugs.python.org/23185>`__: Add math.inf and math.nan "
"constants."
msgstr ""
#: ../../../Misc/NEWS:2257
msgid ""
"`Issue #23186 <https://bugs.python.org/23186>`__: Add ssl.SSLObject."
"shared_ciphers() and ssl.SSLSocket.shared_ciphers() to fetch the client's "
"list ciphers sent at handshake."
msgstr ""
#: ../../../Misc/NEWS:2261
msgid ""
"`Issue #23143 <https://bugs.python.org/23143>`__: Remove compatibility with "
"OpenSSLs older than 0.9.8."
msgstr ""
#: ../../../Misc/NEWS:2263
msgid ""
"`Issue #23132 <https://bugs.python.org/23132>`__: Improve performance and "
"introspection support of comparison methods created by functool."
"total_ordering."
msgstr ""
#: ../../../Misc/NEWS:2266
msgid ""
"`Issue #19776 <https://bugs.python.org/19776>`__: Add an expanduser() method "
"on Path objects."
msgstr ""
#: ../../../Misc/NEWS:2268
msgid ""
"`Issue #23112 <https://bugs.python.org/23112>`__: Fix SimpleHTTPServer to "
"correctly carry the query string and fragment when it redirects to add a "
"trailing slash."
msgstr ""
#: ../../../Misc/NEWS:2271
msgid ""
"`Issue #21793 <https://bugs.python.org/21793>`__: Added http.HTTPStatus "
"enums (i.e. HTTPStatus.OK, HTTPStatus.NOT_FOUND). Patch by Demian Brecht."
msgstr ""
#: ../../../Misc/NEWS:2274
msgid ""
"`Issue #23093 <https://bugs.python.org/23093>`__: In the io, module allow "
"more operations to work on detached streams."
msgstr ""
#: ../../../Misc/NEWS:2277
msgid ""
"`Issue #23111 <https://bugs.python.org/23111>`__: In the ftplib, make ssl."
"PROTOCOL_SSLv23 the default protocol version."
msgstr ""
#: ../../../Misc/NEWS:2280
msgid ""
"`Issue #22585 <https://bugs.python.org/22585>`__: On OpenBSD 5.6 and newer, "
"os.urandom() now calls getentropy(), instead of reading /dev/urandom, to get "
"pseudo-random bytes."
msgstr ""
#: ../../../Misc/NEWS:2283
msgid ""
"`Issue #19104 <https://bugs.python.org/19104>`__: pprint now produces "
"evaluable output for wrapped strings."
msgstr ""
#: ../../../Misc/NEWS:2285
msgid ""
"`Issue #23071 <https://bugs.python.org/23071>`__: Added missing names to "
"codecs.__all__. Patch by Martin Panter."
msgstr ""
#: ../../../Misc/NEWS:2287
msgid ""
"`Issue #22783 <https://bugs.python.org/22783>`__: Pickling now uses the "
"NEWOBJ opcode instead of the NEWOBJ_EX opcode if possible."
msgstr ""
#: ../../../Misc/NEWS:2290
msgid ""
"`Issue #15513 <https://bugs.python.org/15513>`__: Added a __sizeof__ "
"implementation for pickle classes."
msgstr ""
#: ../../../Misc/NEWS:2292
msgid ""
"`Issue #19858 <https://bugs.python.org/19858>`__: pickletools.optimize() now "
"aware of the MEMOIZE opcode, can produce more compact result and no longer "
"produces invalid output if input data contains MEMOIZE opcodes together with "
"PUT or BINPUT opcodes."
msgstr ""
#: ../../../Misc/NEWS:2296
msgid ""
"`Issue #22095 <https://bugs.python.org/22095>`__: Fixed HTTPConnection."
"set_tunnel with default port. The port value in the host header was set to "
"\"None\". Patch by Demian Brecht."
msgstr ""
#: ../../../Misc/NEWS:2299
msgid ""
"`Issue #23016 <https://bugs.python.org/23016>`__: A warning no longer "
"produces an AttributeError when the program is run with pythonw.exe."
msgstr ""
#: ../../../Misc/NEWS:2302
msgid ""
"`Issue #21775 <https://bugs.python.org/21775>`__: shutil.copytree(): fix "
"crash when copying to VFAT. An exception handler assumed that that OSError "
"objects always have a 'winerror' attribute. That is not the case, so the "
"exception handler itself raised AttributeError when run on Linux (and, "
"presumably, any other non-Windows OS). Patch by Greg Ward."
msgstr ""
#: ../../../Misc/NEWS:2308
msgid ""
"`Issue #1218234 <https://bugs.python.org/1218234>`__: Fix inspect."
"getsource() to load updated source of reloaded module. Initial patch by "
"Berker Peksag."
msgstr ""
#: ../../../Misc/NEWS:2311
msgid ""
"`Issue #21740 <https://bugs.python.org/21740>`__: Support wrapped callables "
"in doctest. Patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:2313
msgid ""
"`Issue #23009 <https://bugs.python.org/23009>`__: Make sure selectors."
"EpollSelecrtor.select() works when no FD is registered."
msgstr ""
#: ../../../Misc/NEWS:2316
msgid ""
"`Issue #22959 <https://bugs.python.org/22959>`__: In the constructor of http."
"client.HTTPSConnection, prefer the context's check_hostname attribute over "
"the *check_hostname* parameter."
msgstr ""
#: ../../../Misc/NEWS:2319
msgid ""
"`Issue #22696 <https://bugs.python.org/22696>`__: Add function :func:`sys."
"is_finalizing` to know about interpreter shutdown."
msgstr ""
#: ../../../Misc/NEWS:2322
msgid ""
"`Issue #16043 <https://bugs.python.org/16043>`__: Add a default limit for "
"the amount of data xmlrpclib.gzip_decode will return. This resolves "
"CVE-2013-1753."
msgstr ""
#: ../../../Misc/NEWS:2325
msgid ""
"`Issue #14099 <https://bugs.python.org/14099>`__: ZipFile.open() no longer "
"reopen the underlying file. Objects returned by ZipFile.open() can now "
"operate independently of the ZipFile even if the ZipFile was created by "
"passing in a file-like object as the first argument to the constructor."
msgstr ""
#: ../../../Misc/NEWS:2330
msgid ""
"`Issue #22966 <https://bugs.python.org/22966>`__: Fix __pycache__ pyc file "
"name clobber when pyc_compile is asked to compile a source file containing "
"multiple dots in the source file name."
msgstr ""
#: ../../../Misc/NEWS:2334
msgid ""
"`Issue #21971 <https://bugs.python.org/21971>`__: Update turtledemo doc and "
"add module to the index."
msgstr ""
#: ../../../Misc/NEWS:2336
msgid ""
"`Issue #21032 <https://bugs.python.org/21032>`__. Fixed socket leak if "
"HTTPConnection.getresponse() fails. Original patch by Martin Panter."
msgstr ""
#: ../../../Misc/NEWS:2339
msgid ""
"`Issue #22407 <https://bugs.python.org/22407>`__: Deprecated the use of re."
"LOCALE flag with str patterns or re.ASCII. It was newer worked."
msgstr ""
#: ../../../Misc/NEWS:2342
msgid ""
"`Issue #22902 <https://bugs.python.org/22902>`__: The \"ip\" command is now "
"used on Linux to determine MAC address in uuid.getnode(). Pach by Bruno "
"Cauet."
msgstr ""
#: ../../../Misc/NEWS:2345
msgid ""
"`Issue #22960 <https://bugs.python.org/22960>`__: Add a context argument to "
"xmlrpclib.ServerProxy constructor."
msgstr ""
#: ../../../Misc/NEWS:2347
msgid ""
"`Issue #22389 <https://bugs.python.org/22389>`__: Add contextlib."
"redirect_stderr()."
msgstr ""
#: ../../../Misc/NEWS:2349
msgid ""
"`Issue #21356 <https://bugs.python.org/21356>`__: Make ssl.RAND_egd() "
"optional to support LibreSSL. The availability of the function is checked "
"during the compilation. Patch written by Bernard Spil."
msgstr ""
#: ../../../Misc/NEWS:2353
msgid ""
"`Issue #22915 <https://bugs.python.org/22915>`__: SAX parser now supports "
"files opened with file descriptor or bytes path."
msgstr ""
#: ../../../Misc/NEWS:2356
msgid ""
"`Issue #22609 <https://bugs.python.org/22609>`__: Constructors and update "
"methods of mapping classes in the collections module now accept the self "
"keyword argument."
msgstr ""
#: ../../../Misc/NEWS:2359
msgid ""
"`Issue #22940 <https://bugs.python.org/22940>`__: Add readline."
"append_history_file."
msgstr ""
#: ../../../Misc/NEWS:2361
msgid ""
"`Issue #19676 <https://bugs.python.org/19676>`__: Added the \"namereplace\" "
"error handler."
msgstr ""
#: ../../../Misc/NEWS:2363
msgid ""
"`Issue #22788 <https://bugs.python.org/22788>`__: Add *context* parameter to "
"logging.handlers.HTTPHandler."
msgstr ""
#: ../../../Misc/NEWS:2365
msgid ""
"`Issue #22921 <https://bugs.python.org/22921>`__: Allow SSLContext to take "
"the *hostname* parameter even if OpenSSL doesn't support SNI."
msgstr ""
#: ../../../Misc/NEWS:2368
msgid ""
"`Issue #22894 <https://bugs.python.org/22894>`__: TestCase.subTest() would "
"cause the test suite to be stopped when in failfast mode, even in the "
"absence of failures."
msgstr ""
#: ../../../Misc/NEWS:2371
msgid ""
"`Issue #22796 <https://bugs.python.org/22796>`__: HTTP cookie parsing is now "
"stricter, in order to protect against potential injection attacks."
msgstr ""
#: ../../../Misc/NEWS:2374
msgid ""
"`Issue #22370 <https://bugs.python.org/22370>`__: Windows detection in "
"pathlib is now more robust."
msgstr ""
#: ../../../Misc/NEWS:2376
msgid ""
"`Issue #22841 <https://bugs.python.org/22841>`__: Reject coroutines in "
"asyncio add_signal_handler(). Patch by Ludovic.Gasc."
msgstr ""
#: ../../../Misc/NEWS:2379
msgid ""
"`Issue #19494 <https://bugs.python.org/19494>`__: Added urllib.request."
"HTTPBasicPriorAuthHandler. Patch by Matej Cepl."
msgstr ""
#: ../../../Misc/NEWS:2382
msgid ""
"`Issue #22578 <https://bugs.python.org/22578>`__: Added attributes to the re."
"error class."
msgstr ""
#: ../../../Misc/NEWS:2384
msgid ""
"`Issue #22849 <https://bugs.python.org/22849>`__: Fix possible double free "
"in the io.TextIOWrapper constructor."
msgstr ""
#: ../../../Misc/NEWS:2386
msgid ""
"`Issue #12728 <https://bugs.python.org/12728>`__: Different Unicode "
"characters having the same uppercase but different lowercase are now matched "
"in case-insensitive regular expressions."
msgstr ""
#: ../../../Misc/NEWS:2389
msgid ""
"`Issue #22821 <https://bugs.python.org/22821>`__: Fixed fcntl() with integer "
"argument on 64-bit big-endian platforms."
msgstr ""
#: ../../../Misc/NEWS:2392
msgid ""
"`Issue #21650 <https://bugs.python.org/21650>`__: Add an `--sort-keys` "
"option to json.tool CLI."
msgstr ""
#: ../../../Misc/NEWS:2394
msgid ""
"`Issue #22824 <https://bugs.python.org/22824>`__: Updated reprlib output "
"format for sets to use set literals. Patch contributed by Berker Peksag."
msgstr ""
#: ../../../Misc/NEWS:2397
msgid ""
"`Issue #22824 <https://bugs.python.org/22824>`__: Updated reprlib output "
"format for arrays to display empty arrays without an unnecessary empty "
"list. Suggested by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:2400
msgid ""
"`Issue #22406 <https://bugs.python.org/22406>`__: Fixed the uu_codec codec "
"incorrectly ported to 3.x. Based on patch by Martin Panter."
msgstr ""
#: ../../../Misc/NEWS:2403
msgid ""
"`Issue #17293 <https://bugs.python.org/17293>`__: uuid.getnode() now "
"determines MAC address on AIX using netstat. Based on patch by Aivars "
"Kalvāns."
msgstr ""
#: ../../../Misc/NEWS:2406
msgid ""
"`Issue #22769 <https://bugs.python.org/22769>`__: Fixed ttk.Treeview."
"tag_has() when called without arguments."
msgstr ""
#: ../../../Misc/NEWS:2408
msgid ""
"`Issue #22417 <https://bugs.python.org/22417>`__: Verify certificates by "
"default in httplib (PEP 476)."
msgstr ""
#: ../../../Misc/NEWS:2410
msgid ""
"`Issue #22775 <https://bugs.python.org/22775>`__: Fixed unpickling of http."
"cookies.SimpleCookie with protocol 2 and above. Patch by Tim Graham."
msgstr ""
#: ../../../Misc/NEWS:2413
msgid ""
"`Issue #22776 <https://bugs.python.org/22776>`__: Brought excluded code into "
"the scope of a try block in SysLogHandler.emit()."
msgstr ""
#: ../../../Misc/NEWS:2416
msgid ""
"`Issue #22665 <https://bugs.python.org/22665>`__: Add missing "
"get_terminal_size and SameFileError to shutil.__all__."
msgstr ""
#: ../../../Misc/NEWS:2419
msgid ""
"`Issue #6623 <https://bugs.python.org/6623>`__: Remove deprecated Netrc "
"class in the ftplib module. Patch by Matt Chaput."
msgstr ""
#: ../../../Misc/NEWS:2422
msgid ""
"`Issue #17381 <https://bugs.python.org/17381>`__: Fixed handling of case-"
"insensitive ranges in regular expressions."
msgstr ""
#: ../../../Misc/NEWS:2425
msgid ""
"`Issue #22410 <https://bugs.python.org/22410>`__: Module level functions in "
"the re module now cache compiled locale-dependent regular expressions taking "
"into account the locale."
msgstr ""
#: ../../../Misc/NEWS:2428
msgid ""
"`Issue #22759 <https://bugs.python.org/22759>`__: Query methods on pathlib."
"Path() (exists(), is_dir(), etc.) now return False when the underlying stat "
"call raises NotADirectoryError."
msgstr ""
#: ../../../Misc/NEWS:2431
msgid ""
"`Issue #8876 <https://bugs.python.org/8876>`__: distutils now falls back to "
"copying files when hard linking doesn't work. This allows use with special "
"filesystems such as VirtualBox shared folders."
msgstr ""
#: ../../../Misc/NEWS:2435
msgid ""
"`Issue #22217 <https://bugs.python.org/22217>`__: Implemented reprs of "
"classes in the zipfile module."
msgstr ""
#: ../../../Misc/NEWS:2437
msgid ""
"`Issue #22457 <https://bugs.python.org/22457>`__: Honour load_tests in the "
"start_dir of discovery."
msgstr ""
#: ../../../Misc/NEWS:2439
msgid ""
"`Issue #18216 <https://bugs.python.org/18216>`__: gettext now raises an "
"error when a .mo file has an unsupported major version number. Patch by "
"Aaron Hill."
msgstr ""
#: ../../../Misc/NEWS:2442
msgid ""
"`Issue #13918 <https://bugs.python.org/13918>`__: Provide a locale."
"delocalize() function which can remove locale-specific number formatting "
"from a string representing a number, without then converting it to a "
"specific type. Patch by Cédric Krier."
msgstr ""
#: ../../../Misc/NEWS:2446
msgid ""
"`Issue #22676 <https://bugs.python.org/22676>`__: Make the pickling of "
"global objects which don't have a __module__ attribute less slow."
msgstr ""
#: ../../../Misc/NEWS:2449
msgid ""
"`Issue #18853 <https://bugs.python.org/18853>`__: Fixed ResourceWarning in "
"shlex.__nain__."
msgstr ""
#: ../../../Misc/NEWS:2451
msgid ""
"`Issue #9351 <https://bugs.python.org/9351>`__: Defaults set with "
"set_defaults on an argparse subparser are no longer ignored when also set on "
"the parent parser."
msgstr ""
#: ../../../Misc/NEWS:2454
msgid ""
"`Issue #7559 <https://bugs.python.org/7559>`__: unittest test loading "
"ImportErrors are reported as import errors with their import exception "
"rather than as attribute errors after the import has already failed."
msgstr ""
#: ../../../Misc/NEWS:2458
msgid ""
"`Issue #19746 <https://bugs.python.org/19746>`__: Make it possible to "
"examine the errors from unittest discovery without executing the test suite. "
"The new `errors` attribute on TestLoader exposes these non-fatal errors "
"encountered during discovery."
msgstr ""
#: ../../../Misc/NEWS:2462
msgid ""
"`Issue #21991 <https://bugs.python.org/21991>`__: Make email."
"headerregistry's header 'params' attributes be read-only "
"(MappingProxyType). Previously the dictionary was modifiable but a new one "
"was created on each access of the attribute."
msgstr ""
#: ../../../Misc/NEWS:2466
msgid ""
"`Issue #22638 <https://bugs.python.org/22638>`__: SSLv3 is now disabled "
"throughout the standard library. It can still be enabled by instantiating a "
"SSLContext manually."
msgstr ""
#: ../../../Misc/NEWS:2469
msgid ""
"`Issue #22641 <https://bugs.python.org/22641>`__: In asyncio, the default "
"SSL context for client connections is now created using ssl."
"create_default_context(), for stronger security."
msgstr ""
#: ../../../Misc/NEWS:2472
msgid ""
"`Issue #17401 <https://bugs.python.org/17401>`__: Include closefd in io."
"FileIO repr."
msgstr ""
#: ../../../Misc/NEWS:2474
msgid ""
"`Issue #21338 <https://bugs.python.org/21338>`__: Add silent mode for "
"compileall. quiet parameters of compile_{dir, file, path} functions now have "
"a multilevel value. Also, -q option of the CLI now have a multilevel value. "
"Patch by Thomas Kluyver."
msgstr ""
#: ../../../Misc/NEWS:2478
msgid ""
"`Issue #20152 <https://bugs.python.org/20152>`__: Convert the array and "
"cmath modules to Argument Clinic."
msgstr ""
#: ../../../Misc/NEWS:2480
msgid ""
"`Issue #18643 <https://bugs.python.org/18643>`__: Add socket.socketpair() on "
"Windows."
msgstr ""
#: ../../../Misc/NEWS:2482
msgid ""
"`Issue #22435 <https://bugs.python.org/22435>`__: Fix a file descriptor leak "
"when SocketServer bind fails."
msgstr ""
#: ../../../Misc/NEWS:2484
msgid ""
"`Issue #13096 <https://bugs.python.org/13096>`__: Fixed segfault in CTypes "
"POINTER handling of large values."
msgstr ""
#: ../../../Misc/NEWS:2487
msgid ""
"`Issue #11694 <https://bugs.python.org/11694>`__: Raise ConversionError in "
"xdrlib as documented. Patch by Filip Gruszczyński and Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:2490
msgid ""
"`Issue #19380 <https://bugs.python.org/19380>`__: Optimized parsing of "
"regular expressions."
msgstr ""
#: ../../../Misc/NEWS:2492
msgid ""
"`Issue #1519638 <https://bugs.python.org/1519638>`__: Now unmatched groups "
"are replaced with empty strings in re.sub() and re.subn()."
msgstr ""
#: ../../../Misc/NEWS:2495
msgid ""
"`Issue #18615 <https://bugs.python.org/18615>`__: sndhdr.what/whathdr now "
"return a namedtuple."
msgstr ""
#: ../../../Misc/NEWS:2497
msgid ""
"`Issue #22462 <https://bugs.python.org/22462>`__: Fix pyexpat's creation of "
"a dummy frame to make it appear in exception tracebacks."
msgstr ""
#: ../../../Misc/NEWS:2500
msgid ""
"`Issue #21965 <https://bugs.python.org/21965>`__: Add support for in-memory "
"SSL to the ssl module. Patch by Geert Jansen."
msgstr ""
#: ../../../Misc/NEWS:2503
msgid ""
"`Issue #21173 <https://bugs.python.org/21173>`__: Fix len() on a "
"WeakKeyDictionary when .clear() was called with an iterator alive."
msgstr ""
#: ../../../Misc/NEWS:2506
msgid ""
"`Issue #11866 <https://bugs.python.org/11866>`__: Eliminated race condition "
"in the computation of names for new threads."
msgstr ""
#: ../../../Misc/NEWS:2509
msgid ""
"`Issue #21905 <https://bugs.python.org/21905>`__: Avoid RuntimeError in "
"pickle.whichmodule() when sys.modules is mutated while iterating. Patch by "
"Olivier Grisel."
msgstr ""
#: ../../../Misc/NEWS:2512
msgid ""
"`Issue #11271 <https://bugs.python.org/11271>`__: concurrent.futures."
"Executor.map() now takes a *chunksize* argument to allow batching of tasks "
"in child processes and improve performance of ProcessPoolExecutor. Patch by "
"Dan O'Reilly."
msgstr ""
#: ../../../Misc/NEWS:2516
msgid ""
"`Issue #21883 <https://bugs.python.org/21883>`__: os.path.join() and os.path."
"relpath() now raise a TypeError with more helpful error message for "
"unsupported or mismatched types of arguments."
msgstr ""
#: ../../../Misc/NEWS:2519
msgid ""
"`Issue #22219 <https://bugs.python.org/22219>`__: The zipfile module CLI now "
"adds entries for directories (including empty directories) in ZIP file."
msgstr ""
#: ../../../Misc/NEWS:2522
msgid ""
"`Issue #22449 <https://bugs.python.org/22449>`__: In the ssl.SSLContext."
"load_default_certs, consult the environmental variables SSL_CERT_DIR and "
"SSL_CERT_FILE on Windows."
msgstr ""
#: ../../../Misc/NEWS:2525
msgid ""
"`Issue #22508 <https://bugs.python.org/22508>`__: The email.__version__ "
"variable has been removed; the email code is no longer shipped separately "
"from the stdlib, and __version__ hasn't been updated in several releases."
msgstr ""
#: ../../../Misc/NEWS:2529
msgid ""
"`Issue #20076 <https://bugs.python.org/20076>`__: Added non derived UTF-8 "
"aliases to locale aliases table."
msgstr ""
#: ../../../Misc/NEWS:2531
msgid ""
"`Issue #20079 <https://bugs.python.org/20079>`__: Added locales supported in "
"glibc 2.18 to locale alias table."
msgstr ""
#: ../../../Misc/NEWS:2533
msgid ""
"`Issue #20218 <https://bugs.python.org/20218>`__: Added convenience methods "
"read_text/write_text and read_bytes/ write_bytes to pathlib.Path objects."
msgstr ""
#: ../../../Misc/NEWS:2536
msgid ""
"`Issue #22437 <https://bugs.python.org/22437>`__: Number of capturing groups "
"in regular expression is no longer limited by 100."
msgstr ""
#: ../../../Misc/NEWS:2539
msgid ""
"`Issue #17442 <https://bugs.python.org/17442>`__: InteractiveInterpreter now "
"displays the full chained traceback in its showtraceback method, to match "
"the built in interactive interpreter."
msgstr ""
#: ../../../Misc/NEWS:2542
msgid ""
"`Issue #23392 <https://bugs.python.org/23392>`__: Added tests for marshal C "
"API that works with FILE*."
msgstr ""
#: ../../../Misc/NEWS:2545
msgid ""
"`Issue #10510 <https://bugs.python.org/10510>`__: distutils register and "
"upload methods now use HTML standards compliant CRLF line endings."
msgstr ""
#: ../../../Misc/NEWS:2548
msgid ""
"`Issue #9850 <https://bugs.python.org/9850>`__: Fixed macpath.join() for "
"empty first component. Patch by Oleg Oshmyan."
msgstr ""
#: ../../../Misc/NEWS:2551
msgid ""
"`Issue #5309 <https://bugs.python.org/5309>`__: distutils' build and "
"build_ext commands now accept a ``-j`` option to enable parallel building of "
"extension modules."
msgstr ""
#: ../../../Misc/NEWS:2554
msgid ""
"`Issue #22448 <https://bugs.python.org/22448>`__: Improve canceled timer "
"handles cleanup to prevent unbound memory usage. Patch by Joshua Moore-Oliva."
msgstr ""
#: ../../../Misc/NEWS:2557
msgid ""
"`Issue #22427 <https://bugs.python.org/22427>`__: TemporaryDirectory no "
"longer attempts to clean up twice when used in the with statement in "
"generator."
msgstr ""
#: ../../../Misc/NEWS:2560
msgid ""
"`Issue #22362 <https://bugs.python.org/22362>`__: Forbidden ambiguous octal "
"escapes out of range 0-0o377 in regular expressions."
msgstr ""
#: ../../../Misc/NEWS:2563
msgid ""
"`Issue #20912 <https://bugs.python.org/20912>`__: Now directories added to "
"ZIP file have correct Unix and MS-DOS directory attributes."
msgstr ""
#: ../../../Misc/NEWS:2566
msgid ""
"`Issue #21866 <https://bugs.python.org/21866>`__: ZipFile.close() no longer "
"writes ZIP64 central directory records if allowZip64 is false."
msgstr ""
#: ../../../Misc/NEWS:2569
msgid ""
"`Issue #22278 <https://bugs.python.org/22278>`__: Fix urljoin problem with "
"relative urls, a regression observed after changes to issue22118 were "
"submitted."
msgstr ""
#: ../../../Misc/NEWS:2572
msgid ""
"`Issue #22415 <https://bugs.python.org/22415>`__: Fixed debugging output of "
"the GROUPREF_EXISTS opcode in the re module. Removed trailing spaces in "
"debugging output."
msgstr ""
#: ../../../Misc/NEWS:2575
msgid ""
"`Issue #22423 <https://bugs.python.org/22423>`__: Unhandled exception in "
"thread no longer causes unhandled AttributeError when sys.stderr is None."
msgstr ""
#: ../../../Misc/NEWS:2578
msgid ""
"`Issue #21332 <https://bugs.python.org/21332>`__: Ensure that ``bufsize=1`` "
"in subprocess.Popen() selects line buffering, rather than block buffering. "
"Patch by Akira Li."
msgstr ""
#: ../../../Misc/NEWS:2581
msgid ""
"`Issue #21091 <https://bugs.python.org/21091>`__: Fix API bug: email.message."
"EmailMessage.is_attachment is now a method."
msgstr ""
#: ../../../Misc/NEWS:2584
msgid ""
"`Issue #21079 <https://bugs.python.org/21079>`__: Fix email.message."
"EmailMessage.is_attachment to return the correct result when the header has "
"parameters as well as a value."
msgstr ""
#: ../../../Misc/NEWS:2587
msgid ""
"`Issue #22247 <https://bugs.python.org/22247>`__: Add NNTPError to nntplib."
"__all__."
msgstr ""
#: ../../../Misc/NEWS:2589
msgid ""
"`Issue #22366 <https://bugs.python.org/22366>`__: urllib.request.urlopen "
"will accept a context object (SSLContext) as an argument which will then "
"used be for HTTPS connection. Patch by Alex Gaynor."
msgstr ""
#: ../../../Misc/NEWS:2593
msgid ""
"`Issue #4180 <https://bugs.python.org/4180>`__: The warnings registries are "
"now reset when the filters are modified."
msgstr ""
#: ../../../Misc/NEWS:2596
msgid ""
"`Issue #22419 <https://bugs.python.org/22419>`__: Limit the length of "
"incoming HTTP request in wsgiref server to 65536 bytes and send a 414 error "
"code for higher lengths. Patch contributed by Devin Cook."
msgstr ""
#: ../../../Misc/NEWS:2600
msgid ""
"Lax cookie parsing in http.cookies could be a security issue when combined "
"with non-standard cookie handling in some Web browsers. Reported by Sergey "
"Bobrov."
msgstr ""
#: ../../../Misc/NEWS:2604
msgid ""
"`Issue #20537 <https://bugs.python.org/20537>`__: logging methods now accept "
"an exception instance as well as a Boolean value or exception tuple. Thanks "
"to Yury Selivanov for the patch."
msgstr ""
#: ../../../Misc/NEWS:2607
msgid ""
"`Issue #22384 <https://bugs.python.org/22384>`__: An exception in Tkinter "
"callback no longer crashes the program when it is run with pythonw.exe."
msgstr ""
#: ../../../Misc/NEWS:2610
msgid ""
"`Issue #22168 <https://bugs.python.org/22168>`__: Prevent turtle "
"AttributeError with non-default Canvas on OS X."
msgstr ""
#: ../../../Misc/NEWS:2612
msgid ""
"`Issue #21147 <https://bugs.python.org/21147>`__: sqlite3 now raises an "
"exception if the request contains a null character instead of truncate it. "
"Based on patch by Victor Stinner."
msgstr ""
#: ../../../Misc/NEWS:2615
msgid ""
"`Issue #13968 <https://bugs.python.org/13968>`__: The glob module now "
"supports recursive search in subdirectories using the \"**\" pattern."
msgstr ""
#: ../../../Misc/NEWS:2618
msgid ""
"`Issue #21951 <https://bugs.python.org/21951>`__: Fixed a crash in Tkinter "
"on AIX when called Tcl command with empty string or tuple argument."
msgstr ""
#: ../../../Misc/NEWS:2621
msgid ""
"`Issue #21951 <https://bugs.python.org/21951>`__: Tkinter now most likely "
"raises MemoryError instead of crash if the memory allocation fails."
msgstr ""
#: ../../../Misc/NEWS:2624
msgid ""
"`Issue #22338 <https://bugs.python.org/22338>`__: Fix a crash in the json "
"module on memory allocation failure."
msgstr ""
#: ../../../Misc/NEWS:2626
msgid ""
"`Issue #12410 <https://bugs.python.org/12410>`__: imaplib.IMAP4 now supports "
"the context management protocol. Original patch by Tarek Ziadé."
msgstr ""
#: ../../../Misc/NEWS:2629
msgid ""
"`Issue #21270 <https://bugs.python.org/21270>`__: We now override tuple "
"methods in mock.call objects so that they can be used as normal call "
"attributes."
msgstr ""
#: ../../../Misc/NEWS:2632
msgid ""
"`Issue #16662 <https://bugs.python.org/16662>`__: load_tests() is now "
"unconditionally run when it is present in a package's __init__.py. "
"TestLoader.loadTestsFromModule() still accepts use_load_tests, but it is "
"deprecated and ignored. A new keyword-only attribute `pattern` is added and "
"documented. Patch given by Robert Collins, tweaked by Barry Warsaw."
msgstr ""
#: ../../../Misc/NEWS:2638
msgid ""
"`Issue #22226 <https://bugs.python.org/22226>`__: First letter no longer is "
"stripped from the \"status\" key in the result of Treeview.heading()."
msgstr ""
#: ../../../Misc/NEWS:2641
msgid ""
"`Issue #19524 <https://bugs.python.org/19524>`__: Fixed resource leak in the "
"HTTP connection when an invalid response is received. Patch by Martin "
"Panter."
msgstr ""
#: ../../../Misc/NEWS:2644
msgid ""
"`Issue #20421 <https://bugs.python.org/20421>`__: Add a .version() method to "
"SSL sockets exposing the actual protocol version in use."
msgstr ""
#: ../../../Misc/NEWS:2647
msgid ""
"`Issue #19546 <https://bugs.python.org/19546>`__: configparser exceptions no "
"longer expose implementation details. Chained KeyErrors are removed, which "
"leads to cleaner tracebacks. Patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:2651
msgid ""
"`Issue #22051 <https://bugs.python.org/22051>`__: turtledemo no longer "
"reloads examples to re-run them. Initialization of variables and gui setup "
"should be done in main(), which is called each time a demo is run, but not "
"on import."
msgstr ""
#: ../../../Misc/NEWS:2655
msgid ""
"`Issue #21933 <https://bugs.python.org/21933>`__: Turtledemo users can "
"change the code font size with a menu selection or control(command) '-' or "
"'+' or control-mousewheel. Original patch by Lita Cho."
msgstr ""
#: ../../../Misc/NEWS:2659
msgid ""
"`Issue #21597 <https://bugs.python.org/21597>`__: The separator between the "
"turtledemo text pane and the drawing canvas can now be grabbed and dragged "
"with a mouse. The code text pane can be widened to easily view or copy the "
"full width of the text. The canvas can be widened on small screens. "
"Original patches by Jan Kanis and Lita Cho."
msgstr ""
#: ../../../Misc/NEWS:2664
msgid ""
"`Issue #18132 <https://bugs.python.org/18132>`__: Turtledemo buttons no "
"longer disappear when the window is shrunk. Original patches by Jan Kanis "
"and Lita Cho."
msgstr ""
#: ../../../Misc/NEWS:2667
msgid ""
"`Issue #22043 <https://bugs.python.org/22043>`__: time.monotonic() is now "
"always available. ``threading.Lock.acquire()``, ``threading.RLock."
"acquire()`` and socket operations now use a monotonic clock, instead of the "
"system clock, when a timeout is used."
msgstr ""
#: ../../../Misc/NEWS:2672
msgid ""
"`Issue #21527 <https://bugs.python.org/21527>`__: Add a default number of "
"workers to ThreadPoolExecutor equal to 5 times the number of CPUs. Patch by "
"Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:2675
msgid ""
"`Issue #22216 <https://bugs.python.org/22216>`__: smtplib now resets its "
"state more completely after a quit. The most obvious consequence of the "
"previous behavior was a STARTTLS failure during a connect/starttls/quit/"
"connect/starttls sequence."
msgstr ""
#: ../../../Misc/NEWS:2679
msgid ""
"`Issue #22098 <https://bugs.python.org/22098>`__: ctypes' BigEndianStructure "
"and LittleEndianStructure now define an empty __slots__ so that subclasses "
"don't always get an instance dict. Patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:2683
msgid ""
"`Issue #22185 <https://bugs.python.org/22185>`__: Fix an occasional "
"RuntimeError in threading.Condition.wait() caused by mutation of the waiters "
"queue without holding the lock. Patch by Doug Zongker."
msgstr ""
#: ../../../Misc/NEWS:2687
msgid ""
"`Issue #22287 <https://bugs.python.org/22287>`__: On UNIX, "
"_PyTime_gettimeofday() now uses clock_gettime(CLOCK_REALTIME) if available. "
"As a side effect, Python now depends on the librt library on Solaris and on "
"Linux (only with glibc older than 2.17)."
msgstr ""
#: ../../../Misc/NEWS:2692
msgid ""
"`Issue #22182 <https://bugs.python.org/22182>`__: Use e.args to unpack "
"exceptions correctly in distutils.file_util.move_file. Patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:2695
msgid ""
"The webbrowser module now uses subprocess's start_new_session=True rather "
"than a potentially risky preexec_fn=os.setsid call."
msgstr ""
#: ../../../Misc/NEWS:2698
msgid ""
"`Issue #22042 <https://bugs.python.org/22042>`__: signal.set_wakeup_fd(fd) "
"now raises an exception if the file descriptor is in blocking mode."
msgstr ""
#: ../../../Misc/NEWS:2701
msgid ""
"`Issue #16808 <https://bugs.python.org/16808>`__: inspect.stack() now "
"returns a named tuple instead of a tuple. Patch by Daniel Shahaf."
msgstr ""
#: ../../../Misc/NEWS:2704
msgid ""
"`Issue #22236 <https://bugs.python.org/22236>`__: Fixed Tkinter images "
"copying operations in NoDefaultRoot mode."
msgstr ""
#: ../../../Misc/NEWS:2706
msgid ""
"`Issue #2527 <https://bugs.python.org/2527>`__: Add a *globals* argument to "
"timeit functions, in order to override the globals namespace in which the "
"timed code is executed. Patch by Ben Roberts."
msgstr ""
#: ../../../Misc/NEWS:2710
msgid ""
"`Issue #22118 <https://bugs.python.org/22118>`__: Switch urllib.parse to use "
"RFC 3986 semantics for the resolution of relative URLs, rather than RFCs "
"1808 and 2396. Patch by Demian Brecht."
msgstr ""
#: ../../../Misc/NEWS:2714
msgid ""
"`Issue #21549 <https://bugs.python.org/21549>`__: Added the \"members\" "
"parameter to TarFile.list()."
msgstr ""
#: ../../../Misc/NEWS:2716
msgid ""
"`Issue #19628 <https://bugs.python.org/19628>`__: Allow compileall recursion "
"depth to be specified with a -r option."
msgstr ""
#: ../../../Misc/NEWS:2719
msgid ""
"`Issue #15696 <https://bugs.python.org/15696>`__: Add a __sizeof__ "
"implementation for mmap objects on Windows."
msgstr ""
#: ../../../Misc/NEWS:2721
msgid ""
"`Issue #22068 <https://bugs.python.org/22068>`__: Avoided reference loops "
"with Variables and Fonts in Tkinter."
msgstr ""
#: ../../../Misc/NEWS:2723
msgid ""
"`Issue #22165 <https://bugs.python.org/22165>`__: SimpleHTTPRequestHandler "
"now supports undecodable file names."
msgstr ""
#: ../../../Misc/NEWS:2725
msgid ""
"`Issue #15381 <https://bugs.python.org/15381>`__: Optimized line reading in "
"io.BytesIO."
msgstr ""
#: ../../../Misc/NEWS:2727
msgid ""
"`Issue #8797 <https://bugs.python.org/8797>`__: Raise HTTPError on failed "
"Basic Authentication immediately. Initial patch by Sam Bull."
msgstr ""
#: ../../../Misc/NEWS:2730
msgid ""
"`Issue #20729 <https://bugs.python.org/20729>`__: Restored the use of lazy "
"iterkeys()/itervalues()/iteritems() in the mailbox module."
msgstr ""
#: ../../../Misc/NEWS:2733
msgid ""
"`Issue #21448 <https://bugs.python.org/21448>`__: Changed FeedParser feed() "
"to avoid O(N**2) behavior when parsing long line. Original patch by Raymond "
"Hettinger."
msgstr ""
#: ../../../Misc/NEWS:2736
msgid ""
"`Issue #22184 <https://bugs.python.org/22184>`__: The functools LRU Cache "
"decorator factory now gives an earlier and clearer error message when the "
"user forgets the required parameters."
msgstr ""
#: ../../../Misc/NEWS:2739
msgid ""
"`Issue #17923 <https://bugs.python.org/17923>`__: glob() patterns ending "
"with a slash no longer match non-dirs on AIX. Based on patch by Delhallt."
msgstr ""
#: ../../../Misc/NEWS:2742
msgid ""
"`Issue #21725 <https://bugs.python.org/21725>`__: Added support for RFC 6531 "
"(SMTPUTF8) in smtpd."
msgstr ""
#: ../../../Misc/NEWS:2744
msgid ""
"`Issue #22176 <https://bugs.python.org/22176>`__: Update the ctypes module's "
"libffi to v3.1. This release adds support for the Linux AArch64 and POWERPC "
"ELF ABIv2 little endian architectures."
msgstr ""
#: ../../../Misc/NEWS:2748
msgid ""
"`Issue #5411 <https://bugs.python.org/5411>`__: Added support for the \"xztar"
"\" format in the shutil module."
msgstr ""
#: ../../../Misc/NEWS:2750
msgid ""
"`Issue #21121 <https://bugs.python.org/21121>`__: Don't force 3rd party C "
"extensions to be built with -Werror=declaration-after-statement."
msgstr ""
#: ../../../Misc/NEWS:2753
msgid ""
"`Issue #21975 <https://bugs.python.org/21975>`__: Fixed crash when using "
"uninitialized sqlite3.Row (in particular when unpickling pickled sqlite3."
"Row). sqlite3.Row is now initialized in the __new__() method."
msgstr ""
#: ../../../Misc/NEWS:2757
msgid ""
"`Issue #20170 <https://bugs.python.org/20170>`__: Convert posixmodule to use "
"Argument Clinic."
msgstr ""
#: ../../../Misc/NEWS:2759
msgid ""
"`Issue #21539 <https://bugs.python.org/21539>`__: Add an *exists_ok* "
"argument to `Pathlib.mkdir()` to mimic `mkdir -p` and `os.makedirs()` "
"functionality. When true, ignore FileExistsErrors. Patch by Berker Peksag."
msgstr ""
#: ../../../Misc/NEWS:2763
msgid ""
"`Issue #22127 <https://bugs.python.org/22127>`__: Bypass IDNA for pure-ASCII "
"host names in the socket module (in particular for numeric IPs)."
msgstr ""
#: ../../../Misc/NEWS:2766
msgid ""
"`Issue #21047 <https://bugs.python.org/21047>`__: set the default value for "
"the *convert_charrefs* argument of HTMLParser to True. Patch by Berker "
"Peksag."
msgstr ""
#: ../../../Misc/NEWS:2769
msgid "Add an __all__ to html.entities."
msgstr ""
#: ../../../Misc/NEWS:2771
msgid ""
"`Issue #15114 <https://bugs.python.org/15114>`__: the strict mode and "
"argument of HTMLParser, HTMLParser.error, and the HTMLParserError exception "
"have been removed."
msgstr ""
#: ../../../Misc/NEWS:2774
msgid ""
"`Issue #22085 <https://bugs.python.org/22085>`__: Dropped support of Tk 8.3 "
"in Tkinter."
msgstr ""
#: ../../../Misc/NEWS:2776
msgid ""
"`Issue #21580 <https://bugs.python.org/21580>`__: Now Tkinter correctly "
"handles bytes arguments passed to Tk. In particular this allows to "
"initialize images from binary data."
msgstr ""
#: ../../../Misc/NEWS:2779
msgid ""
"`Issue #22003 <https://bugs.python.org/22003>`__: When initialized from a "
"bytes object, io.BytesIO() now defers making a copy until it is mutated, "
"improving performance and memory use on some use cases. Patch by David "
"Wilson."
msgstr ""
#: ../../../Misc/NEWS:2783
msgid ""
"`Issue #22018 <https://bugs.python.org/22018>`__: On Windows, signal."
"set_wakeup_fd() now also supports sockets. A side effect is that Python "
"depends to the WinSock library."
msgstr ""
#: ../../../Misc/NEWS:2786
msgid ""
"`Issue #22054 <https://bugs.python.org/22054>`__: Add os.get_blocking() and "
"os.set_blocking() functions to get and set the blocking mode of a file "
"descriptor (False if the O_NONBLOCK flag is set, True otherwise). These "
"functions are not available on Windows."
msgstr ""
#: ../../../Misc/NEWS:2790
msgid ""
"`Issue #17172 <https://bugs.python.org/17172>`__: Make turtledemo start as "
"active on OS X even when run with subprocess. Patch by Lita Cho."
msgstr ""
#: ../../../Misc/NEWS:2793
msgid ""
"`Issue #21704 <https://bugs.python.org/21704>`__: Fix build error for "
"_multiprocessing when semaphores are not available. Patch by Arfrever "
"Frehtes Taifersar Arahesis."
msgstr ""
#: ../../../Misc/NEWS:2796
msgid ""
"`Issue #20173 <https://bugs.python.org/20173>`__: Convert sha1, sha256, "
"sha512 and md5 to ArgumentClinic. Patch by Vajrasky Kok."
msgstr ""
#: ../../../Misc/NEWS:2799
msgid ""
"Fix repr(_socket.socket) on Windows 64-bit: don't fail with OverflowError on "
"closed socket. repr(socket.socket) already works fine."
msgstr ""
#: ../../../Misc/NEWS:2802
msgid ""
"`Issue #22033 <https://bugs.python.org/22033>`__: Reprs of most Python "
"implemened classes now contain actual class name instead of hardcoded one."
msgstr ""
#: ../../../Misc/NEWS:2805
msgid ""
"`Issue #21947 <https://bugs.python.org/21947>`__: The dis module can now "
"disassemble generator-iterator objects based on their gi_code attribute. "
"Patch by Clement Rouault."
msgstr ""
#: ../../../Misc/NEWS:2808
msgid ""
"`Issue #16133 <https://bugs.python.org/16133>`__: The asynchat.async_chat."
"handle_read() method now ignores BlockingIOError exceptions."
msgstr ""
#: ../../../Misc/NEWS:2811
msgid ""
"`Issue #22044 <https://bugs.python.org/22044>`__: Fixed premature DECREF in "
"call_tzinfo_method. Patch by Tom Flanagan."
msgstr ""
#: ../../../Misc/NEWS:2814
msgid ""
"`Issue #19884 <https://bugs.python.org/19884>`__: readline: Disable the meta "
"modifier key if stdout is not a terminal to not write the ANSI sequence ``"
"\"\\033[1034h\"`` into stdout. This sequence is used on some terminal (ex: "
"TERM=xterm-256color\") to enable support of 8 bit characters."
msgstr ""
#: ../../../Misc/NEWS:2819
msgid ""
"`Issue #4350 <https://bugs.python.org/4350>`__: Removed a number of out-of-"
"dated and non-working for a long time Tkinter methods."
msgstr ""
#: ../../../Misc/NEWS:2822
msgid ""
"`Issue #6167 <https://bugs.python.org/6167>`__: Scrollbar.activate() now "
"returns the name of active element if the argument is not specified. "
"Scrollbar.set() now always accepts only 2 arguments."
msgstr ""
#: ../../../Misc/NEWS:2826
msgid ""
"`Issue #15275 <https://bugs.python.org/15275>`__: Clean up and speed up the "
"ntpath module."
msgstr ""
#: ../../../Misc/NEWS:2828
msgid ""
"`Issue #21888 <https://bugs.python.org/21888>`__: plistlib's load() and "
"loads() now work if the fmt parameter is specified."
msgstr ""
#: ../../../Misc/NEWS:2831
msgid ""
"`Issue #22032 <https://bugs.python.org/22032>`__: __qualname__ instead of "
"__name__ is now always used to format fully qualified class names of Python "
"implemented classes."
msgstr ""
#: ../../../Misc/NEWS:2834
msgid ""
"`Issue #22031 <https://bugs.python.org/22031>`__: Reprs now always use "
"hexadecimal format with the \"0x\" prefix when contain an id in form \" at "
"0x...\"."
msgstr ""
#: ../../../Misc/NEWS:2837
msgid ""
"`Issue #22018 <https://bugs.python.org/22018>`__: signal.set_wakeup_fd() now "
"raises an OSError instead of a ValueError on ``fstat()`` failure."
msgstr ""
#: ../../../Misc/NEWS:2840
msgid ""
"`Issue #21044 <https://bugs.python.org/21044>`__: tarfile.open() now handles "
"fileobj with an integer 'name' attribute. Based on patch by Antoine Pietri."
msgstr ""
#: ../../../Misc/NEWS:2843
msgid ""
"`Issue #21966 <https://bugs.python.org/21966>`__: Respect -q command-line "
"option when code module is ran."
msgstr ""
#: ../../../Misc/NEWS:2845
msgid ""
"`Issue #19076 <https://bugs.python.org/19076>`__: Don't pass the redundant "
"'file' argument to self.error()."
msgstr ""
#: ../../../Misc/NEWS:2847
msgid ""
"`Issue #16382 <https://bugs.python.org/16382>`__: Improve exception message "
"of warnings.warn() for bad category. Initial patch by Phil Elson."
msgstr ""
#: ../../../Misc/NEWS:2850
msgid ""
"`Issue #21932 <https://bugs.python.org/21932>`__: os.read() now uses a :c:"
"func:`Py_ssize_t` type instead of :c:type:`int` for the size to support "
"reading more than 2 GB at once. On Windows, the size is truncted to INT_MAX. "
"As any call to os.read(), the OS may read less bytes than the number of "
"requested bytes."
msgstr ""
#: ../../../Misc/NEWS:2855
msgid ""
"`Issue #21942 <https://bugs.python.org/21942>`__: Fixed source file viewing "
"in pydoc's server mode on Windows."
msgstr ""
#: ../../../Misc/NEWS:2857
msgid ""
"`Issue #11259 <https://bugs.python.org/11259>`__: asynchat.async_chat()."
"set_terminator() now raises a ValueError if the number of received bytes is "
"negative."
msgstr ""
#: ../../../Misc/NEWS:2860
msgid ""
"`Issue #12523 <https://bugs.python.org/12523>`__: asynchat.async_chat.push() "
"now raises a TypeError if it doesn't get a bytes string"
msgstr ""
#: ../../../Misc/NEWS:2863
msgid ""
"`Issue #21707 <https://bugs.python.org/21707>`__: Add missing kwonlyargcount "
"argument to ModuleFinder.replace_paths_in_code()."
msgstr ""
#: ../../../Misc/NEWS:2866
msgid ""
"`Issue #20639 <https://bugs.python.org/20639>`__: calling Path."
"with_suffix('') allows removing the suffix again. Patch by July Tikhonov."
msgstr ""
#: ../../../Misc/NEWS:2869
msgid ""
"`Issue #21714 <https://bugs.python.org/21714>`__: Disallow the construction "
"of invalid paths using Path.with_name(). Original patch by Antony Lee."
msgstr ""
#: ../../../Misc/NEWS:2872
msgid ""
"`Issue #15014 <https://bugs.python.org/15014>`__: Added 'auth' method to "
"smtplib to make implementing auth mechanisms simpler, and used it internally "
"in the login method."
msgstr ""
#: ../../../Misc/NEWS:2875
msgid ""
"`Issue #21151 <https://bugs.python.org/21151>`__: Fixed a segfault in the "
"winreg module when ``None`` is passed as a ``REG_BINARY`` value to "
"SetValueEx. Patch by John Ehresman."
msgstr ""
#: ../../../Misc/NEWS:2878
msgid ""
"`Issue #21090 <https://bugs.python.org/21090>`__: io.FileIO.readall() does "
"not ignore I/O errors anymore. Before, it ignored I/O errors if at least the "
"first C call read() succeed."
msgstr ""
#: ../../../Misc/NEWS:2881
msgid ""
"`Issue #5800 <https://bugs.python.org/5800>`__: headers parameter of wsgiref."
"headers.Headers is now optional. Initial patch by Pablo Torres Navarrete and "
"SilentGhost."
msgstr ""
#: ../../../Misc/NEWS:2884
msgid ""
"`Issue #21781 <https://bugs.python.org/21781>`__: ssl.RAND_add() now "
"supports strings longer than 2 GB."
msgstr ""
#: ../../../Misc/NEWS:2886
msgid ""
"`Issue #21679 <https://bugs.python.org/21679>`__: Prevent extraneous fstat() "
"calls during open(). Patch by Bohuslav Kabrda."
msgstr ""
#: ../../../Misc/NEWS:2889
msgid ""
"`Issue #21863 <https://bugs.python.org/21863>`__: cProfile now displays the "
"module name of C extension functions, in addition to their own name."
msgstr ""
#: ../../../Misc/NEWS:2892
msgid ""
"`Issue #11453 <https://bugs.python.org/11453>`__: asyncore: emit a "
"ResourceWarning when an unclosed file_wrapper object is destroyed. The "
"destructor now closes the file if needed. The close() method can now be "
"called twice: the second call does nothing."
msgstr ""
#: ../../../Misc/NEWS:2896
msgid ""
"`Issue #21858 <https://bugs.python.org/21858>`__: Better handling of Python "
"exceptions in the sqlite3 module."
msgstr ""
#: ../../../Misc/NEWS:2898
msgid ""
"`Issue #21476 <https://bugs.python.org/21476>`__: Make sure the email.parser."
"BytesParser TextIOWrapper is discarded after parsing, so the input file "
"isn't unexpectedly closed."
msgstr ""
#: ../../../Misc/NEWS:2901
msgid ""
"`Issue #20295 <https://bugs.python.org/20295>`__: imghdr now recognizes "
"OpenEXR format images."
msgstr ""
#: ../../../Misc/NEWS:2903
msgid ""
"`Issue #21729 <https://bugs.python.org/21729>`__: Used the \"with\" "
"statement in the dbm.dumb module to ensure files closing. Patch by Claudiu "
"Popa."
msgstr ""
#: ../../../Misc/NEWS:2906
msgid ""
"`Issue #21491 <https://bugs.python.org/21491>`__: socketserver: Fix a race "
"condition in child processes reaping."
msgstr ""
#: ../../../Misc/NEWS:2908
msgid ""
"`Issue #21719 <https://bugs.python.org/21719>`__: Added the "
"``st_file_attributes`` field to os.stat_result on Windows."
msgstr ""
#: ../../../Misc/NEWS:2911
msgid ""
"`Issue #21832 <https://bugs.python.org/21832>`__: Require named tuple inputs "
"to be exact strings."
msgstr ""
#: ../../../Misc/NEWS:2913
msgid ""
"`Issue #21722 <https://bugs.python.org/21722>`__: The distutils \"upload\" "
"command now exits with a non-zero return code when uploading fails. Patch "
"by Martin Dengler."
msgstr ""
#: ../../../Misc/NEWS:2916
msgid ""
"`Issue #21723 <https://bugs.python.org/21723>`__: asyncio.Queue: support any "
"type of number (ex: float) for the maximum size. Patch written by Vajrasky "
"Kok."
msgstr ""
#: ../../../Misc/NEWS:2919
msgid ""
"`Issue #21711 <https://bugs.python.org/21711>`__: support for \"site-python"
"\" directories has now been removed from the site module (it was deprecated "
"in 3.4)."
msgstr ""
#: ../../../Misc/NEWS:2922
msgid ""
"`Issue #17552 <https://bugs.python.org/17552>`__: new socket.sendfile() "
"method allowing to send a file over a socket by using high-performance os."
"sendfile() on UNIX. Patch by Giampaolo Rodola'."
msgstr ""
#: ../../../Misc/NEWS:2926
msgid ""
"`Issue #18039 <https://bugs.python.org/18039>`__: dbm.dump.open() now always "
"creates a new database when the flag has the value 'n'. Patch by Claudiu "
"Popa."
msgstr ""
#: ../../../Misc/NEWS:2929
msgid ""
"`Issue #21326 <https://bugs.python.org/21326>`__: Add a new is_closed() "
"method to asyncio.BaseEventLoop. run_forever() and run_until_complete() "
"methods of asyncio.BaseEventLoop now raise an exception if the event loop "
"was closed."
msgstr ""
#: ../../../Misc/NEWS:2933
msgid ""
"`Issue #21766 <https://bugs.python.org/21766>`__: Prevent a security hole in "
"CGIHTTPServer by URL unquoting paths before checking for a CGI script at "
"that path."
msgstr ""
#: ../../../Misc/NEWS:2936
msgid ""
"`Issue #21310 <https://bugs.python.org/21310>`__: Fixed possible resource "
"leak in failed open()."
msgstr ""
#: ../../../Misc/NEWS:2938
msgid ""
"`Issue #21256 <https://bugs.python.org/21256>`__: Printout of keyword args "
"should be in deterministic order in a mock function call. This will help to "
"write better doctests."
msgstr ""
#: ../../../Misc/NEWS:2941
msgid ""
"`Issue #21677 <https://bugs.python.org/21677>`__: Fixed chaining "
"nonnormalized exceptions in io close() methods."
msgstr ""
#: ../../../Misc/NEWS:2943
msgid ""
"`Issue #11709 <https://bugs.python.org/11709>`__: Fix the pydoc.help "
"function to not fail when sys.stdin is not a valid file."
msgstr ""
#: ../../../Misc/NEWS:2946
msgid ""
"`Issue #21515 <https://bugs.python.org/21515>`__: tempfile.TemporaryFile now "
"uses os.O_TMPFILE flag is available."
msgstr ""
#: ../../../Misc/NEWS:2948
msgid ""
"`Issue #13223 <https://bugs.python.org/13223>`__: Fix pydoc.writedoc so that "
"the HTML documentation for methods that use 'self' in the example code is "
"generated correctly."
msgstr ""
#: ../../../Misc/NEWS:2951
msgid ""
"`Issue #21463 <https://bugs.python.org/21463>`__: In urllib.request, fix "
"pruning of the FTP cache."
msgstr ""
#: ../../../Misc/NEWS:2953
msgid ""
"`Issue #21618 <https://bugs.python.org/21618>`__: The subprocess module "
"could fail to close open fds that were inherited by the calling process and "
"already higher than POSIX resource limits would otherwise allow. On systems "
"with a functioning /proc/self/fd or /dev/fd interface the max is now ignored "
"and all fds are closed."
msgstr ""
#: ../../../Misc/NEWS:2958
msgid ""
"`Issue #20383 <https://bugs.python.org/20383>`__: Introduce importlib.util."
"module_from_spec() as the preferred way to create a new module."
msgstr ""
#: ../../../Misc/NEWS:2961
msgid ""
"`Issue #21552 <https://bugs.python.org/21552>`__: Fixed possible integer "
"overflow of too long string lengths in the tkinter module on 64-bit "
"platforms."
msgstr ""
#: ../../../Misc/NEWS:2964
msgid ""
"`Issue #14315 <https://bugs.python.org/14315>`__: The zipfile module now "
"ignores extra fields in the central directory that are too short to be "
"parsed instead of letting a struct.unpack error bubble up as this \"bad data"
"\" appears in many real world zip files in the wild and is ignored by other "
"zip tools."
msgstr ""
#: ../../../Misc/NEWS:2969
msgid ""
"`Issue #13742 <https://bugs.python.org/13742>`__: Added \"key\" and \"reverse"
"\" parameters to heapq.merge(). (First draft of patch contributed by Simon "
"Sapin.)"
msgstr ""
#: ../../../Misc/NEWS:2972
msgid ""
"`Issue #21402 <https://bugs.python.org/21402>`__: tkinter.ttk now works when "
"default root window is not set."
msgstr ""
#: ../../../Misc/NEWS:2974
msgid ""
"`Issue #3015 <https://bugs.python.org/3015>`__: _tkinter.create() now "
"creates tkapp object with wantobject=1 by default."
msgstr ""
#: ../../../Misc/NEWS:2977
msgid ""
"`Issue #10203 <https://bugs.python.org/10203>`__: sqlite3.Row now truly "
"supports sequence protocol. In particular it supports reverse() and "
"negative indices. Original patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:2980
msgid ""
"`Issue #18807 <https://bugs.python.org/18807>`__: If copying (no symlinks) "
"specified for a venv, then the python interpreter aliases (python, python3) "
"are now created by copying rather than symlinking."
msgstr ""
#: ../../../Misc/NEWS:2984
msgid ""
"`Issue #20197 <https://bugs.python.org/20197>`__: Added support for the WebP "
"image type in the imghdr module. Patch by Fabrice Aneche and Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:2987
msgid ""
"`Issue #21513 <https://bugs.python.org/21513>`__: Speedup some properties of "
"IP addresses (IPv4Address, IPv6Address) such as .is_private or .is_multicast."
msgstr ""
#: ../../../Misc/NEWS:2990
msgid ""
"`Issue #21137 <https://bugs.python.org/21137>`__: Improve the repr for "
"threading.Lock() and its variants by showing the \"locked\" or \"unlocked\" "
"status. Patch by Berker Peksag."
msgstr ""
#: ../../../Misc/NEWS:2993
msgid ""
"`Issue #21538 <https://bugs.python.org/21538>`__: The plistlib module now "
"supports loading of binary plist files when reference or offset size is not "
"a power of two."
msgstr ""
#: ../../../Misc/NEWS:2996
msgid ""
"`Issue #21455 <https://bugs.python.org/21455>`__: Add a default backlog to "
"socket.listen()."
msgstr ""
#: ../../../Misc/NEWS:2998
msgid ""
"`Issue #21525 <https://bugs.python.org/21525>`__: Most Tkinter methods which "
"accepted tuples now accept lists too."
msgstr ""
#: ../../../Misc/NEWS:3000
msgid ""
"`Issue #22166 <https://bugs.python.org/22166>`__: With the assistance of a "
"new internal _codecs._forget_codec helping function, test_codecs now clears "
"the encoding caches to avoid the appearance of a reference leak"
msgstr ""
#: ../../../Misc/NEWS:3004
msgid ""
"`Issue #22236 <https://bugs.python.org/22236>`__: Tkinter tests now don't "
"reuse default root window. New root window is created for every test class."
msgstr ""
#: ../../../Misc/NEWS:3007
msgid ""
"`Issue #10744 <https://bugs.python.org/10744>`__: Fix PEP 3118 format "
"strings on ctypes objects with a nontrivial shape."
msgstr ""
#: ../../../Misc/NEWS:3010
msgid ""
"`Issue #20826 <https://bugs.python.org/20826>`__: Optimize ipaddress."
"collapse_addresses()."
msgstr ""
#: ../../../Misc/NEWS:3012
msgid ""
"`Issue #21487 <https://bugs.python.org/21487>`__: Optimize ipaddress."
"summarize_address_range() and ipaddress.{IPv4Network,IPv6Network}.subnets()."
msgstr ""
#: ../../../Misc/NEWS:3015
msgid ""
"`Issue #21486 <https://bugs.python.org/21486>`__: Optimize parsing of "
"netmasks in ipaddress.IPv4Network and ipaddress.IPv6Network."
msgstr ""
#: ../../../Misc/NEWS:3018
msgid ""
"`Issue #13916 <https://bugs.python.org/13916>`__: Disallowed the "
"surrogatepass error handler for non UTF-\\* encodings."
msgstr ""
#: ../../../Misc/NEWS:3021
msgid ""
"`Issue #20998 <https://bugs.python.org/20998>`__: Fixed re.fullmatch() of "
"repeated single character pattern with ignore case. Original patch by "
"Matthew Barnett."
msgstr ""
#: ../../../Misc/NEWS:3024
msgid ""
"`Issue #21075 <https://bugs.python.org/21075>`__: fileinput.FileInput now "
"reads bytes from standard stream if binary mode is specified. Patch by Sam "
"Kimbrel."
msgstr ""
#: ../../../Misc/NEWS:3027
msgid ""
"`Issue #19775 <https://bugs.python.org/19775>`__: Add a samefile() method to "
"pathlib Path objects. Initial patch by Vajrasky Kok."
msgstr ""
#: ../../../Misc/NEWS:3030
msgid ""
"`Issue #21226 <https://bugs.python.org/21226>`__: Set up modules properly in "
"PyImport_ExecCodeModuleObject (and friends)."
msgstr ""
#: ../../../Misc/NEWS:3033
msgid ""
"`Issue #21398 <https://bugs.python.org/21398>`__: Fix an unicode error in "
"the pydoc pager when the documentation contains characters not encodable to "
"the stdout encoding."
msgstr ""
#: ../../../Misc/NEWS:3036
msgid ""
"`Issue #16531 <https://bugs.python.org/16531>`__: ipaddress.IPv4Network and "
"ipaddress.IPv6Network now accept an (address, netmask) tuple argument, so as "
"to easily construct network objects from existing addresses."
msgstr ""
#: ../../../Misc/NEWS:3040
msgid ""
"`Issue #21156 <https://bugs.python.org/21156>`__: importlib.abc."
"InspectLoader.source_to_code() is now a staticmethod."
msgstr ""
#: ../../../Misc/NEWS:3043
msgid ""
"`Issue #21424 <https://bugs.python.org/21424>`__: Simplified and optimized "
"heaqp.nlargest() and nmsmallest() to make fewer tuple comparisons."
msgstr ""
#: ../../../Misc/NEWS:3046
msgid ""
"`Issue #21396 <https://bugs.python.org/21396>`__: Fix TextIOWrapper(..., "
"write_through=True) to not force a flush() on the underlying binary stream. "
"Patch by akira."
msgstr ""
#: ../../../Misc/NEWS:3049
msgid ""
"`Issue #18314 <https://bugs.python.org/18314>`__: Unlink now removes "
"junctions on Windows. Patch by Kim Gräsman"
msgstr ""
#: ../../../Misc/NEWS:3051
msgid ""
"`Issue #21088 <https://bugs.python.org/21088>`__: Bugfix for curses.window."
"addch() regression in 3.4.0. In porting to Argument Clinic, the first two "
"arguments were reversed."
msgstr ""
#: ../../../Misc/NEWS:3054
msgid ""
"`Issue #21407 <https://bugs.python.org/21407>`__: _decimal: The module now "
"supports function signatures."
msgstr ""
#: ../../../Misc/NEWS:3056
msgid ""
"`Issue #10650 <https://bugs.python.org/10650>`__: Remove the non-standard "
"'watchexp' parameter from the Decimal.quantize() method in the Python "
"version. It had never been present in the C version."
msgstr ""
#: ../../../Misc/NEWS:3060
msgid ""
"`Issue #21469 <https://bugs.python.org/21469>`__: Reduced the risk of false "
"positives in robotparser by checking to make sure that robots.txt has been "
"read or does not exist prior to returning True in can_fetch()."
msgstr ""
#: ../../../Misc/NEWS:3064
msgid ""
"`Issue #19414 <https://bugs.python.org/19414>`__: Have the OrderedDict mark "
"deleted links as unusable. This gives an early failure if the link is "
"deleted during iteration."
msgstr ""
#: ../../../Misc/NEWS:3067
msgid ""
"`Issue #21421 <https://bugs.python.org/21421>`__: Add __slots__ to the "
"MappingViews ABC. Patch by Josh Rosenberg."
msgstr ""
#: ../../../Misc/NEWS:3070
msgid ""
"`Issue #21101 <https://bugs.python.org/21101>`__: Eliminate double hashing "
"in the C speed-up code for collections.Counter()."
msgstr ""
#: ../../../Misc/NEWS:3073
msgid ""
"`Issue #21321 <https://bugs.python.org/21321>`__: itertools.islice() now "
"releases the reference to the source iterator when the slice is exhausted. "
"Patch by Anton Afanasyev."
msgstr ""
#: ../../../Misc/NEWS:3076
msgid ""
"`Issue #21057 <https://bugs.python.org/21057>`__: TextIOWrapper now allows "
"the underlying binary stream's read() or read1() method to return an "
"arbitrary bytes-like object (such as a memoryview). Patch by Nikolaus Rath."
msgstr ""
#: ../../../Misc/NEWS:3080
msgid ""
"`Issue #20951 <https://bugs.python.org/20951>`__: SSLSocket.send() now "
"raises either SSLWantReadError or SSLWantWriteError on a non-blocking socket "
"if the operation would block. Previously, it would return 0. Patch by "
"Nikolaus Rath."
msgstr ""
#: ../../../Misc/NEWS:3084
msgid ""
"`Issue #13248 <https://bugs.python.org/13248>`__: removed previously "
"deprecated asyncore.dispatcher __getattr__ cheap inheritance hack."
msgstr ""
#: ../../../Misc/NEWS:3087
msgid ""
"`Issue #9815 <https://bugs.python.org/9815>`__: assertRaises now tries to "
"clear references to local variables in the exception's traceback."
msgstr ""
#: ../../../Misc/NEWS:3090
msgid ""
"`Issue #19940 <https://bugs.python.org/19940>`__: ssl.cert_time_to_seconds() "
"now interprets the given time string in the UTC timezone (as specified in "
"RFC 5280), not the local timezone."
msgstr ""
#: ../../../Misc/NEWS:3094
msgid ""
"`Issue #13204 <https://bugs.python.org/13204>`__: Calling sys.flags.__new__ "
"would crash the interpreter, now it raises a TypeError."
msgstr ""
#: ../../../Misc/NEWS:3097
msgid ""
"`Issue #19385 <https://bugs.python.org/19385>`__: Make operations on a "
"closed dbm.dumb database always raise the same exception."
msgstr ""
#: ../../../Misc/NEWS:3100
msgid ""
"`Issue #21207 <https://bugs.python.org/21207>`__: Detect when the os.urandom "
"cached fd has been closed or replaced, and open it anew."
msgstr ""
#: ../../../Misc/NEWS:3103
msgid ""
"`Issue #21291 <https://bugs.python.org/21291>`__: subprocess's Popen.wait() "
"is now thread safe so that multiple threads may be calling wait() or poll() "
"on a Popen instance at the same time without losing the Popen.returncode "
"value."
msgstr ""
#: ../../../Misc/NEWS:3107
msgid ""
"`Issue #21127 <https://bugs.python.org/21127>`__: Path objects can now be "
"instantiated from str subclass instances (such as ``numpy.str_``)."
msgstr ""
#: ../../../Misc/NEWS:3110
msgid ""
"`Issue #15002 <https://bugs.python.org/15002>`__: urllib.response object to "
"use _TemporaryFileWrapper (and _TemporaryFileCloser) facility. Provides a "
"better way to handle file descriptor close. Patch contributed by Christian "
"Theune."
msgstr ""
#: ../../../Misc/NEWS:3114
msgid ""
"`Issue #12220 <https://bugs.python.org/12220>`__: mindom now raises a custom "
"ValueError indicating it doesn't support spaces in URIs instead of letting a "
"'split' ValueError bubble up."
msgstr ""
#: ../../../Misc/NEWS:3117
msgid ""
"`Issue #21068 <https://bugs.python.org/21068>`__: The ssl.PROTOCOL* "
"constants are now enum members."
msgstr ""
#: ../../../Misc/NEWS:3119
msgid ""
"`Issue #21276 <https://bugs.python.org/21276>`__: posixmodule: Don't define "
"USE_XATTRS on KFreeBSD and the Hurd."
msgstr ""
#: ../../../Misc/NEWS:3121
msgid ""
"`Issue #21262 <https://bugs.python.org/21262>`__: New method "
"assert_not_called for Mock. It raises AssertionError if the mock has been "
"called."
msgstr ""
#: ../../../Misc/NEWS:3124
msgid ""
"`Issue #21238 <https://bugs.python.org/21238>`__: New keyword argument "
"`unsafe` to Mock. It raises `AttributeError` incase of an attribute "
"startswith assert or assret."
msgstr ""
#: ../../../Misc/NEWS:3127
msgid ""
"`Issue #20896 <https://bugs.python.org/20896>`__: ssl."
"get_server_certificate() now uses PROTOCOL_SSLv23, not PROTOCOL_SSLv3, for "
"maximum compatibility."
msgstr ""
#: ../../../Misc/NEWS:3130
msgid ""
"`Issue #21239 <https://bugs.python.org/21239>`__: patch.stopall() didn't "
"work deterministically when the same name was patched more than once."
msgstr ""
#: ../../../Misc/NEWS:3133
msgid ""
"`Issue #21203 <https://bugs.python.org/21203>`__: Updated fileConfig and "
"dictConfig to remove inconsistencies. Thanks to Jure Koren for the patch."
msgstr ""
#: ../../../Misc/NEWS:3136
msgid ""
"`Issue #21222 <https://bugs.python.org/21222>`__: Passing name keyword "
"argument to mock.create_autospec now works."
msgstr ""
#: ../../../Misc/NEWS:3139
msgid ""
"`Issue #21197 <https://bugs.python.org/21197>`__: Add lib64 -> lib symlink "
"in venvs on 64-bit non-OS X POSIX."
msgstr ""
#: ../../../Misc/NEWS:3141
msgid ""
"`Issue #17498 <https://bugs.python.org/17498>`__: Some SMTP servers "
"disconnect after certain errors, violating strict RFC conformance. Instead "
"of losing the error code when we issue the subsequent RSET, smtplib now "
"returns the error code and defers raising the SMTPServerDisconnected error "
"until the next command is issued."
msgstr ""
#: ../../../Misc/NEWS:3146
msgid ""
"`Issue #17826 <https://bugs.python.org/17826>`__: setting an iterable "
"side_effect on a mock function created by create_autospec now works. Patch "
"by Kushal Das."
msgstr ""
#: ../../../Misc/NEWS:3149
msgid ""
"`Issue #7776 <https://bugs.python.org/7776>`__: Fix ``Host:`` header and "
"reconnection when using http.client.HTTPConnection.set_tunnel(). Patch by "
"Nikolaus Rath."
msgstr ""
#: ../../../Misc/NEWS:3152
msgid ""
"`Issue #20968 <https://bugs.python.org/20968>`__: unittest.mock.MagicMock "
"now supports division. Patch by Johannes Baiter."
msgstr ""
#: ../../../Misc/NEWS:3155
msgid ""
"`Issue #21529 <https://bugs.python.org/21529>`__ (CVE-2014-4616): Fix "
"arbitrary memory access in JSONDecoder.raw_decode with a negative second "
"parameter. Bug reported by Guido Vranken."
msgstr ""
#: ../../../Misc/NEWS:3159
msgid ""
"`Issue #21169 <https://bugs.python.org/21169>`__: getpass now handles non-"
"ascii characters that the input stream encoding cannot encode by re-encoding "
"using the replace error handler."
msgstr ""
#: ../../../Misc/NEWS:3163
msgid ""
"`Issue #21171 <https://bugs.python.org/21171>`__: Fixed undocumented filter "
"API of the rot13 codec. Patch by Berker Peksag."
msgstr ""
#: ../../../Misc/NEWS:3166
msgid ""
"`Issue #20539 <https://bugs.python.org/20539>`__: Improved math.factorial "
"error message for large positive inputs and changed exception type "
"(OverflowError -> ValueError) for large negative inputs."
msgstr ""
#: ../../../Misc/NEWS:3170
msgid ""
"`Issue #21172 <https://bugs.python.org/21172>`__: isinstance check relaxed "
"from dict to collections.Mapping."
msgstr ""
#: ../../../Misc/NEWS:3172
msgid ""
"`Issue #21155 <https://bugs.python.org/21155>`__: asyncio.EventLoop."
"create_unix_server() now raises a ValueError if path and sock are specified "
"at the same time."
msgstr ""
#: ../../../Misc/NEWS:3175
msgid ""
"`Issue #21136 <https://bugs.python.org/21136>`__: Avoid unnecessary "
"normalization of Fractions resulting from power and other operations. Patch "
"by Raymond Hettinger."
msgstr ""
#: ../../../Misc/NEWS:3178
msgid ""
"`Issue #17621 <https://bugs.python.org/17621>`__: Introduce importlib.util."
"LazyLoader."
msgstr ""
#: ../../../Misc/NEWS:3180
msgid ""
"`Issue #21076 <https://bugs.python.org/21076>`__: signal module constants "
"were turned into enums. Patch by Giampaolo Rodola'."
msgstr ""
#: ../../../Misc/NEWS:3183
msgid ""
"`Issue #20636 <https://bugs.python.org/20636>`__: Improved the repr of "
"Tkinter widgets."
msgstr ""
#: ../../../Misc/NEWS:3185
msgid ""
"`Issue #19505 <https://bugs.python.org/19505>`__: The items, keys, and "
"values views of OrderedDict now support reverse iteration using reversed()."
msgstr ""
#: ../../../Misc/NEWS:3188
msgid ""
"`Issue #21149 <https://bugs.python.org/21149>`__: Improved thread-safety in "
"logging cleanup during interpreter shutdown. Thanks to Devin Jeanpierre for "
"the patch."
msgstr ""
#: ../../../Misc/NEWS:3191
msgid ""
"`Issue #21058 <https://bugs.python.org/21058>`__: Fix a leak of file "
"descriptor in :func:`tempfile.NamedTemporaryFile`, close the file descriptor "
"if :func:`io.open` fails"
msgstr ""
#: ../../../Misc/NEWS:3195
msgid ""
"`Issue #21200 <https://bugs.python.org/21200>`__: Return None from pkgutil."
"get_loader() when __spec__ is missing."
msgstr ""
#: ../../../Misc/NEWS:3197
msgid ""
"`Issue #21013 <https://bugs.python.org/21013>`__: Enhance ssl."
"create_default_context() when used for server side sockets to provide better "
"security by default."
msgstr ""
#: ../../../Misc/NEWS:3200
msgid ""
"`Issue #20145 <https://bugs.python.org/20145>`__: `assertRaisesRegex` and "
"`assertWarnsRegex` now raise a TypeError if the second argument is not a "
"string or compiled regex."
msgstr ""
#: ../../../Misc/NEWS:3203
msgid ""
"`Issue #20633 <https://bugs.python.org/20633>`__: Replace relative import by "
"absolute import."
msgstr ""
#: ../../../Misc/NEWS:3205
msgid ""
"`Issue #20980 <https://bugs.python.org/20980>`__: Stop wrapping exception "
"when using ThreadPool."
msgstr ""
#: ../../../Misc/NEWS:3207
msgid ""
"`Issue #21082 <https://bugs.python.org/21082>`__: In os.makedirs, do not set "
"the process-wide umask. Note this changes behavior of makedirs when "
"exist_ok=True."
msgstr ""
#: ../../../Misc/NEWS:3210
msgid ""
"`Issue #20990 <https://bugs.python.org/20990>`__: Fix issues found by "
"pyflakes for multiprocessing."
msgstr ""
#: ../../../Misc/NEWS:3212
msgid ""
"`Issue #21015 <https://bugs.python.org/21015>`__: SSL contexts will now "
"automatically select an elliptic curve for ECDH key exchange on OpenSSL "
"1.0.2 and later, and otherwise default to \"prime256v1\"."
msgstr ""
#: ../../../Misc/NEWS:3216
msgid ""
"`Issue #21000 <https://bugs.python.org/21000>`__: Improve the command-line "
"interface of json.tool."
msgstr ""
#: ../../../Misc/NEWS:3218
msgid ""
"`Issue #20995 <https://bugs.python.org/20995>`__: Enhance default ciphers "
"used by the ssl module to enable better security an prioritize perfect "
"forward secrecy."
msgstr ""
#: ../../../Misc/NEWS:3221
msgid ""
"`Issue #20884 <https://bugs.python.org/20884>`__: Don't assume that __file__ "
"is defined on importlib.__init__."
msgstr ""
#: ../../../Misc/NEWS:3223
msgid ""
"`Issue #21499 <https://bugs.python.org/21499>`__: Ignore __builtins__ in "
"several test_importlib.test_api tests."
msgstr ""
#: ../../../Misc/NEWS:3225
msgid ""
"`Issue #20627 <https://bugs.python.org/20627>`__: xmlrpc.client.ServerProxy "
"is now a context manager."
msgstr ""
#: ../../../Misc/NEWS:3227
msgid ""
"`Issue #19165 <https://bugs.python.org/19165>`__: The formatter module now "
"raises DeprecationWarning instead of PendingDeprecationWarning."
msgstr ""
#: ../../../Misc/NEWS:3230
msgid ""
"`Issue #13936 <https://bugs.python.org/13936>`__: Remove the ability of "
"datetime.time instances to be considered false in boolean contexts."
msgstr ""
#: ../../../Misc/NEWS:3233
msgid ""
"`Issue #18931 <https://bugs.python.org/18931>`__: selectors module now "
"supports /dev/poll on Solaris. Patch by Giampaolo Rodola'."
msgstr ""
#: ../../../Misc/NEWS:3236
msgid ""
"`Issue #19977 <https://bugs.python.org/19977>`__: When the ``LC_TYPE`` "
"locale is the POSIX locale (``C`` locale), :py:data:`sys.stdin` and :py:data:"
"`sys.stdout` are now using the ``surrogateescape`` error handler, instead of "
"the ``strict`` error handler."
msgstr ""
#: ../../../Misc/NEWS:3240
msgid ""
"`Issue #20574 <https://bugs.python.org/20574>`__: Implement incremental "
"decoder for cp65001 code (Windows code page 65001, Microsoft UTF-8)."
msgstr ""
#: ../../../Misc/NEWS:3243
msgid ""
"`Issue #20879 <https://bugs.python.org/20879>`__: Delay the initialization "
"of encoding and decoding tables for base32, ascii85 and base85 codecs in the "
"base64 module, and delay the initialization of the unquote_to_bytes() table "
"of the urllib.parse module, to not waste memory if these modules are not "
"used."
msgstr ""
#: ../../../Misc/NEWS:3248
msgid ""
"`Issue #19157 <https://bugs.python.org/19157>`__: Include the broadcast "
"address in the usuable hosts for IPv6 in ipaddress."
msgstr ""
#: ../../../Misc/NEWS:3251
msgid ""
"`Issue #11599 <https://bugs.python.org/11599>`__: When an external command "
"(e.g. compiler) fails, distutils now prints out the whole command line "
"(instead of just the command name) if the environment variable "
"DISTUTILS_DEBUG is set."
msgstr ""
#: ../../../Misc/NEWS:3255
msgid ""
"`Issue #4931 <https://bugs.python.org/4931>`__: distutils should not produce "
"unhelpful \"error: None\" messages anymore. distutils.util."
"grok_environment_error is kept but doc-deprecated."
msgstr ""
#: ../../../Misc/NEWS:3258
msgid ""
"`Issue #20875 <https://bugs.python.org/20875>`__: Prevent possible gzip "
"\"'read' is not defined\" NameError. Patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:3261
msgid ""
"`Issue #11558 <https://bugs.python.org/11558>`__: ``email.message.Message."
"attach`` now returns a more useful error message if ``attach`` is called on "
"a message for which ``is_multipart`` is False."
msgstr ""
#: ../../../Misc/NEWS:3265
msgid ""
"`Issue #20283 <https://bugs.python.org/20283>`__: RE pattern methods now "
"accept the string keyword parameters as documented. The pattern and source "
"keyword parameters are left as deprecated aliases."
msgstr ""
#: ../../../Misc/NEWS:3269
msgid ""
"`Issue #20778 <https://bugs.python.org/20778>`__: Fix modulefinder to work "
"with bytecode-only modules."
msgstr ""
#: ../../../Misc/NEWS:3271
msgid ""
"`Issue #20791 <https://bugs.python.org/20791>`__: copy.copy() now doesn't "
"make a copy when the input is a bytes object. Initial patch by Peter Otten."
msgstr ""
#: ../../../Misc/NEWS:3274
msgid ""
"`Issue #19748 <https://bugs.python.org/19748>`__: On AIX, time.mktime() now "
"raises an OverflowError for year outsize range [1902; 2037]."
msgstr ""
#: ../../../Misc/NEWS:3277
msgid ""
"`Issue #19573 <https://bugs.python.org/19573>`__: inspect.signature: Use "
"enum for parameter kind constants."
msgstr ""
#: ../../../Misc/NEWS:3279
msgid ""
"`Issue #20726 <https://bugs.python.org/20726>`__: inspect.signature: Make "
"Signature and Parameter picklable."
msgstr ""
#: ../../../Misc/NEWS:3281
msgid ""
"`Issue #17373 <https://bugs.python.org/17373>`__: Add inspect.Signature."
"from_callable method."
msgstr ""
#: ../../../Misc/NEWS:3283
msgid ""
"`Issue #20378 <https://bugs.python.org/20378>`__: Improve repr of inspect."
"Signature and inspect.Parameter."
msgstr ""
#: ../../../Misc/NEWS:3285
msgid ""
"`Issue #20816 <https://bugs.python.org/20816>`__: Fix inspect.getcallargs() "
"to raise correct TypeError for missing keyword-only arguments. Patch by "
"Jeremiah Lowin."
msgstr ""
#: ../../../Misc/NEWS:3288
msgid ""
"`Issue #20817 <https://bugs.python.org/20817>`__: Fix inspect.getcallargs() "
"to fail correctly if more than 3 arguments are missing. Patch by Jeremiah "
"Lowin."
msgstr ""
#: ../../../Misc/NEWS:3291
msgid ""
"`Issue #6676 <https://bugs.python.org/6676>`__: Ensure a meaningful "
"exception is raised when attempting to parse more than one XML document per "
"pyexpat xmlparser instance. (Original patches by Hirokazu Yamamoto and "
"Amaury Forgeot d'Arc, with suggested wording by David Gutteridge)"
msgstr ""
#: ../../../Misc/NEWS:3296
msgid ""
"`Issue #21117 <https://bugs.python.org/21117>`__: Fix inspect.signature to "
"better support functools.partial. Due to the specifics of functools.partial "
"implementation, positional-or-keyword arguments passed as keyword arguments "
"become keyword-only."
msgstr ""
#: ../../../Misc/NEWS:3301
msgid ""
"`Issue #20334 <https://bugs.python.org/20334>`__: inspect.Signature and "
"inspect.Parameter are now hashable. Thanks to Antony Lee for bug reports and "
"suggestions."
msgstr ""
#: ../../../Misc/NEWS:3304
msgid ""
"`Issue #15916 <https://bugs.python.org/15916>`__: doctest.DocTestSuite "
"returns an empty unittest.TestSuite instead of raising ValueError if it "
"finds no tests"
msgstr ""
#: ../../../Misc/NEWS:3307
msgid ""
"`Issue #21209 <https://bugs.python.org/21209>`__: Fix asyncio.tasks."
"CoroWrapper to workaround a bug in yield-from implementation in CPythons "
"prior to 3.4.1."
msgstr ""
#: ../../../Misc/NEWS:3310
msgid ""
"asyncio: Add gi_{frame,running,code} properties to CoroWrapper (upstream "
"`issue #163 <https://bugs.python.org/163>`__)."
msgstr ""
#: ../../../Misc/NEWS:3313
msgid ""
"`Issue #21311 <https://bugs.python.org/21311>`__: Avoid exception in "
"_osx_support with non-standard compiler configurations. Patch by John "
"Szakmeister."
msgstr ""
#: ../../../Misc/NEWS:3316
msgid ""
"`Issue #11571 <https://bugs.python.org/11571>`__: Ensure that the turtle "
"window becomes the topmost window when launched on OS X."
msgstr ""
#: ../../../Misc/NEWS:3319
msgid ""
"`Issue #21801 <https://bugs.python.org/21801>`__: Validate that "
"__signature__ is None or an instance of Signature."
msgstr ""
#: ../../../Misc/NEWS:3321
msgid ""
"`Issue #21923 <https://bugs.python.org/21923>`__: Prevent AttributeError in "
"distutils.sysconfig.customize_compiler due to possible uninitialized "
"_config_vars."
msgstr ""
#: ../../../Misc/NEWS:3324
msgid ""
"`Issue #21323 <https://bugs.python.org/21323>`__: Fix http.server to again "
"handle scripts in CGI subdirectories, broken by the fix for security `issue "
"#19435 <https://bugs.python.org/19435>`__. Patch by Zach Byrne."
msgstr ""
#: ../../../Misc/NEWS:3327
msgid ""
"`Issue #22733 <https://bugs.python.org/22733>`__: Fix ffi_prep_args not zero-"
"extending argument values correctly on 64-bit Windows."
msgstr ""
#: ../../../Misc/NEWS:3330
msgid ""
"`Issue #23302 <https://bugs.python.org/23302>`__: Default to TCP_NODELAY=1 "
"upon establishing an HTTPConnection. Removed use of hard-coded MSS as it's "
"an optimization that's no longer needed with Nagle disabled."
msgstr ""
#: ../../../Misc/NEWS:3337
msgid ""
"`Issue #20577 <https://bugs.python.org/20577>`__: Configuration of the max "
"line length for the FormatParagraph extension has been moved from the "
"General tab of the Idle preferences dialog to the FormatParagraph tab of the "
"Config Extensions dialog. Patch by Tal Einat."
msgstr ""
#: ../../../Misc/NEWS:3342
msgid ""
"`Issue #16893 <https://bugs.python.org/16893>`__: Update Idle doc chapter to "
"match current Idle and add new information."
msgstr ""
#: ../../../Misc/NEWS:3345
msgid ""
"`Issue #3068 <https://bugs.python.org/3068>`__: Add Idle extension "
"configuration dialog to Options menu. Changes are written to HOME/.idlerc/"
"config-extensions.cfg. Original patch by Tal Einat."
msgstr ""
#: ../../../Misc/NEWS:3349
msgid ""
"`Issue #16233 <https://bugs.python.org/16233>`__: A module browser (File : "
"Class Browser, Alt+C) requires an editor window with a filename. When Class "
"Browser is requested otherwise, from a shell, output window, or 'Untitled' "
"editor, Idle no longer displays an error box. It now pops up an Open Module "
"box (Alt+M). If a valid name is entered and a module is opened, a "
"corresponding browser is also opened."
msgstr ""
#: ../../../Misc/NEWS:3355
msgid ""
"`Issue #4832 <https://bugs.python.org/4832>`__: Save As to type Python files "
"automatically adds .py to the name you enter (even if your system does not "
"display it). Some systems automatically add .txt when type is Text files."
msgstr ""
#: ../../../Misc/NEWS:3359
msgid ""
"`Issue #21986 <https://bugs.python.org/21986>`__: Code objects are not "
"normally pickled by the pickle module. To match this, they are no longer "
"pickled when running under Idle."
msgstr ""
#: ../../../Misc/NEWS:3362
msgid ""
"`Issue #17390 <https://bugs.python.org/17390>`__: Adjust Editor window "
"title; remove 'Python', move version to end."
msgstr ""
#: ../../../Misc/NEWS:3365
msgid ""
"`Issue #14105 <https://bugs.python.org/14105>`__: Idle debugger breakpoints "
"no longer disappear when inseting or deleting lines."
msgstr ""
#: ../../../Misc/NEWS:3368
msgid ""
"`Issue #17172 <https://bugs.python.org/17172>`__: Turtledemo can now be run "
"from Idle. Currently, the entry is on the Help menu, but it may move to Run. "
"Patch by Ramchandra Apt and Lita Cho."
msgstr ""
#: ../../../Misc/NEWS:3372
msgid ""
"`Issue #21765 <https://bugs.python.org/21765>`__: Add support for non-ascii "
"identifiers to HyperParser."
msgstr ""
#: ../../../Misc/NEWS:3374
msgid ""
"`Issue #21940 <https://bugs.python.org/21940>`__: Add unittest for "
"WidgetRedirector. Initial patch by Saimadhav Heblikar."
msgstr ""
#: ../../../Misc/NEWS:3377
msgid ""
"`Issue #18592 <https://bugs.python.org/18592>`__: Add unittest for "
"SearchDialogBase. Patch by Phil Webster."
msgstr ""
#: ../../../Misc/NEWS:3379
msgid ""
"`Issue #21694 <https://bugs.python.org/21694>`__: Add unittest for "
"ParenMatch. Patch by Saimadhav Heblikar."
msgstr ""
#: ../../../Misc/NEWS:3381
msgid ""
"`Issue #21686 <https://bugs.python.org/21686>`__: add unittest for "
"HyperParser. Original patch by Saimadhav Heblikar."
msgstr ""
#: ../../../Misc/NEWS:3384
msgid ""
"`Issue #12387 <https://bugs.python.org/12387>`__: Add missing "
"upper(lower)case versions of default Windows key bindings for Idle so Caps "
"Lock does not disable them. Patch by Roger Serwy."
msgstr ""
#: ../../../Misc/NEWS:3387
msgid ""
"`Issue #21695 <https://bugs.python.org/21695>`__: Closing a Find-in-files "
"output window while the search is still in progress no longer closes Idle."
msgstr ""
#: ../../../Misc/NEWS:3390
msgid ""
"`Issue #18910 <https://bugs.python.org/18910>`__: Add unittest for textView. "
"Patch by Phil Webster."
msgstr ""
#: ../../../Misc/NEWS:3392
msgid ""
"`Issue #18292 <https://bugs.python.org/18292>`__: Add unittest for "
"AutoExpand. Patch by Saihadhav Heblikar."
msgstr ""
#: ../../../Misc/NEWS:3394
msgid ""
"`Issue #18409 <https://bugs.python.org/18409>`__: Add unittest for "
"AutoComplete. Patch by Phil Webster."
msgstr ""
#: ../../../Misc/NEWS:3396
msgid ""
"`Issue #21477 <https://bugs.python.org/21477>`__: htest.py - Improve "
"framework, complete set of tests. Patches by Saimadhav Heblikar"
msgstr ""
#: ../../../Misc/NEWS:3399
msgid ""
"`Issue #18104 <https://bugs.python.org/18104>`__: Add idlelib/idle_test/"
"htest.py with a few sample tests to begin consolidating and improving human-"
"validated tests of Idle. Change other files as needed to work with htest. "
"Running the module as __main__ runs all tests."
msgstr ""
#: ../../../Misc/NEWS:3403
msgid ""
"`Issue #21139 <https://bugs.python.org/21139>`__: Change default paragraph "
"width to 72, the PEP 8 recommendation."
msgstr ""
#: ../../../Misc/NEWS:3405
msgid ""
"`Issue #21284 <https://bugs.python.org/21284>`__: Paragraph reformat test "
"passes after user changes reformat width."
msgstr ""
#: ../../../Misc/NEWS:3407
msgid ""
"`Issue #17654 <https://bugs.python.org/17654>`__: Ensure IDLE menus are "
"customized properly on OS X for non-framework builds and for all variants of "
"Tk."
msgstr ""
#: ../../../Misc/NEWS:3410
msgid ""
"`Issue #23180 <https://bugs.python.org/23180>`__: Rename IDLE \"Windows\" "
"menu item to \"Window\". Patch by Al Sweigart."
msgstr ""
#: ../../../Misc/NEWS:3416
msgid ""
"`Issue #15506 <https://bugs.python.org/15506>`__: Use standard "
"PKG_PROG_PKG_CONFIG autoconf macro in the configure script."
msgstr ""
#: ../../../Misc/NEWS:3419
msgid ""
"`Issue #22935 <https://bugs.python.org/22935>`__: Allow the ssl module to be "
"compiled if openssl doesn't support SSL 3."
msgstr ""
#: ../../../Misc/NEWS:3422
msgid ""
"`Issue #22592 <https://bugs.python.org/22592>`__: Drop support of the "
"Borland C compiler to build Python. The distutils module still supports it "
"to build extensions."
msgstr ""
#: ../../../Misc/NEWS:3425
msgid ""
"`Issue #22591 <https://bugs.python.org/22591>`__: Drop support of MS-DOS, "
"especially of the DJGPP compiler (MS-DOS port of GCC)."
msgstr ""
#: ../../../Misc/NEWS:3428
msgid ""
"`Issue #16537 <https://bugs.python.org/16537>`__: Check whether self."
"extensions is empty in setup.py. Patch by Jonathan Hosmer."
msgstr ""
#: ../../../Misc/NEWS:3431
msgid ""
"`Issue #22359 <https://bugs.python.org/22359>`__: Remove incorrect uses of "
"recursive make. Patch by Jonas Wagner."
msgstr ""
#: ../../../Misc/NEWS:3434
msgid ""
"`Issue #21958 <https://bugs.python.org/21958>`__: Define HAVE_ROUND when "
"building with Visual Studio 2013 and above. Patch by Zachary Turner."
msgstr ""
#: ../../../Misc/NEWS:3437
msgid ""
"`Issue #18093 <https://bugs.python.org/18093>`__: the programs that embed "
"the CPython runtime are now in a separate \"Programs\" directory, rather "
"than being kept in the Modules directory."
msgstr ""
#: ../../../Misc/NEWS:3441
msgid ""
"`Issue #15759 <https://bugs.python.org/15759>`__: \"make suspicious\", "
"\"make linkcheck\" and \"make doctest\" in Doc/ now display special message "
"when and only when there are failures."
msgstr ""
#: ../../../Misc/NEWS:3444
msgid ""
"`Issue #21141 <https://bugs.python.org/21141>`__: The Windows build process "
"no longer attempts to find Perl, instead relying on OpenSSL source being "
"configured and ready to build. The ``PCbuild\\build_ssl.py`` script has "
"been re-written and re-named to ``PCbuild\\prepare_ssl.py``, and takes care "
"of configuring OpenSSL source for both 32 and 64 bit platforms. OpenSSL "
"sources obtained from svn.python.org will always be pre-configured and ready "
"to build."
msgstr ""
#: ../../../Misc/NEWS:3451
msgid ""
"`Issue #21037 <https://bugs.python.org/21037>`__: Add a build option to "
"enable AddressSanitizer support."
msgstr ""
#: ../../../Misc/NEWS:3453
msgid ""
"`Issue #19962 <https://bugs.python.org/19962>`__: The Windows build process "
"now creates \"python.bat\" in the root of the source tree, which passes all "
"arguments through to the most recently built interpreter."
msgstr ""
#: ../../../Misc/NEWS:3457
msgid ""
"`Issue #21285 <https://bugs.python.org/21285>`__: Refactor and fix curses "
"configure check to always search in a ncursesw directory."
msgstr ""
#: ../../../Misc/NEWS:3460
msgid ""
"`Issue #15234 <https://bugs.python.org/15234>`__: For BerkelyDB and Sqlite, "
"only add the found library and include directories if they aren't already "
"being searched. This avoids an explicit runtime library dependency."
msgstr ""
#: ../../../Misc/NEWS:3464
msgid ""
"`Issue #17861 <https://bugs.python.org/17861>`__: Tools/scripts/"
"generate_opcode_h.py automatically regenerates Include/opcode.h from Lib/"
"opcode.py if the later gets any change."
msgstr ""
#: ../../../Misc/NEWS:3467
msgid ""
"`Issue #20644 <https://bugs.python.org/20644>`__: OS X installer build "
"support for documentation build changes in 3.4.1: assume externally supplied "
"sphinx-build is available in /usr/bin."
msgstr ""
#: ../../../Misc/NEWS:3470
msgid ""
"`Issue #20022 <https://bugs.python.org/20022>`__: Eliminate use of "
"deprecated bundlebuilder in OS X builds."
msgstr ""
#: ../../../Misc/NEWS:3472
msgid ""
"`Issue #15968 <https://bugs.python.org/15968>`__: Incorporated Tcl, Tk, and "
"Tix builds into the Windows build solution."
msgstr ""
#: ../../../Misc/NEWS:3475
msgid ""
"`Issue #17095 <https://bugs.python.org/17095>`__: Fix Modules/Setup *shared* "
"support."
msgstr ""
#: ../../../Misc/NEWS:3477
msgid ""
"`Issue #21811 <https://bugs.python.org/21811>`__: Anticipated fixes to "
"support OS X versions > 10.9."
msgstr ""
#: ../../../Misc/NEWS:3479
msgid ""
"`Issue #21166 <https://bugs.python.org/21166>`__: Prevent possible segfaults "
"and other random failures of python --generate-posix-vars in pybuilddir.txt "
"build target."
msgstr ""
#: ../../../Misc/NEWS:3482
msgid ""
"`Issue #18096 <https://bugs.python.org/18096>`__: Fix library order returned "
"by python-config."
msgstr ""
#: ../../../Misc/NEWS:3484
msgid ""
"`Issue #17219 <https://bugs.python.org/17219>`__: Add library build dir for "
"Python extension cross-builds."
msgstr ""
#: ../../../Misc/NEWS:3486
msgid ""
"`Issue #22919 <https://bugs.python.org/22919>`__: Windows build updated to "
"support VC 14.0 (Visual Studio 2015), which will be used for the official "
"release."
msgstr ""
#: ../../../Misc/NEWS:3489
msgid ""
"`Issue #21236 <https://bugs.python.org/21236>`__: Build _msi.pyd with "
"cabinet.lib instead of fci.lib"
msgstr ""
#: ../../../Misc/NEWS:3491
msgid ""
"`Issue #17128 <https://bugs.python.org/17128>`__: Use private version of "
"OpenSSL for OS X 10.5+ installer."
msgstr ""
#: ../../../Misc/NEWS:3496
msgid ""
"`Issue #14203 <https://bugs.python.org/14203>`__: Remove obsolete support "
"for view==NULL in PyBuffer_FillInfo(), bytearray_getbuffer(), "
"bytesiobuf_getbuffer() and array_buffer_getbuf(). All functions now raise "
"BufferError in that case."
msgstr ""
#: ../../../Misc/NEWS:3500
msgid ""
"`Issue #22445 <https://bugs.python.org/22445>`__: PyBuffer_IsContiguous() "
"now implements precise contiguity tests, compatible with NumPy's "
"NPY_RELAXED_STRIDES_CHECKING compilation flag. Previously the function "
"reported false negatives for corner cases."
msgstr ""
#: ../../../Misc/NEWS:3504
msgid ""
"`Issue #22079 <https://bugs.python.org/22079>`__: PyType_Ready() now checks "
"that statically allocated type has no dynamically allocated bases."
msgstr ""
#: ../../../Misc/NEWS:3507
msgid ""
"`Issue #22453 <https://bugs.python.org/22453>`__: Removed non-documented "
"macro PyObject_REPR()."
msgstr ""
#: ../../../Misc/NEWS:3509
msgid ""
"`Issue #18395 <https://bugs.python.org/18395>`__: Rename "
"``_Py_char2wchar()`` to :c:func:`Py_DecodeLocale`, rename "
"``_Py_wchar2char()`` to :c:func:`Py_EncodeLocale`, and document these "
"functions."
msgstr ""
#: ../../../Misc/NEWS:3513
msgid ""
"`Issue #21233 <https://bugs.python.org/21233>`__: Add new C functions: "
"PyMem_RawCalloc(), PyMem_Calloc(), PyObject_Calloc(), _PyObject_GC_Calloc(). "
"bytes(int) is now using ``calloc()`` instead of ``malloc()`` for large "
"objects which is faster and use less memory."
msgstr ""
#: ../../../Misc/NEWS:3518
msgid ""
"`Issue #20942 <https://bugs.python.org/20942>`__: "
"PyImport_ImportFrozenModuleObject() no longer sets __file__ to match what "
"importlib does; this affects _frozen_importlib as well as any module loaded "
"using imp.init_frozen()."
msgstr ""
#: ../../../Misc/NEWS:3525
msgid ""
"`Issue #19548 <https://bugs.python.org/19548>`__: Update the codecs module "
"documentation to better cover the distinction between text encodings and "
"other codecs, together with other clarifications. Patch by Martin Panter."
msgstr ""
#: ../../../Misc/NEWS:3529
msgid ""
"`Issue #22394 <https://bugs.python.org/22394>`__: Doc/Makefile now supports "
"``make venv PYTHON=../python`` to create a venv for generating the "
"documentation, e.g., ``make html PYTHON=venv/bin/python3``."
msgstr ""
#: ../../../Misc/NEWS:3533
msgid ""
"`Issue #21514 <https://bugs.python.org/21514>`__: The documentation of the "
"json module now refers to new JSON RFC 7159 instead of obsoleted RFC 4627."
msgstr ""
#: ../../../Misc/NEWS:3536
msgid ""
"`Issue #21777 <https://bugs.python.org/21777>`__: The binary sequence "
"methods on bytes and bytearray are now documented explicitly, rather than "
"assuming users will be able to derive the expected behaviour from the "
"behaviour of the corresponding str methods."
msgstr ""
#: ../../../Misc/NEWS:3540
msgid ""
"`Issue #6916 <https://bugs.python.org/6916>`__: undocument deprecated "
"asynchat.fifo class."
msgstr ""
#: ../../../Misc/NEWS:3542
msgid ""
"`Issue #17386 <https://bugs.python.org/17386>`__: Expanded functionality of "
"the ``Doc/make.bat`` script to make it much more comparable to ``Doc/"
"Makefile``."
msgstr ""
#: ../../../Misc/NEWS:3545
msgid ""
"`Issue #21312 <https://bugs.python.org/21312>`__: Update the thread_foobar.h "
"template file to include newer threading APIs. Patch by Jack McCracken."
msgstr ""
#: ../../../Misc/NEWS:3548
msgid ""
"`Issue #21043 <https://bugs.python.org/21043>`__: Remove the recommendation "
"for specific CA organizations and to mention the ability to load the OS "
"certificates."
msgstr ""
#: ../../../Misc/NEWS:3551
msgid ""
"`Issue #20765 <https://bugs.python.org/20765>`__: Add missing documentation "
"for PurePath.with_name() and PurePath.with_suffix()."
msgstr ""
#: ../../../Misc/NEWS:3554
msgid ""
"`Issue #19407 <https://bugs.python.org/19407>`__: New package installation "
"and distribution guides based on the Python Packaging Authority tools. "
"Existing guides have been retained as legacy links from the distutils docs, "
"as they still contain some required reference material for tool developers "
"that isn't recorded anywhere else."
msgstr ""
#: ../../../Misc/NEWS:3560
msgid ""
"`Issue #19697 <https://bugs.python.org/19697>`__: Document cases where "
"__main__.__spec__ is None."
msgstr ""
#: ../../../Misc/NEWS:3565
msgid ""
"`Issue #18982 <https://bugs.python.org/18982>`__: Add tests for CLI of the "
"calendar module."
msgstr ""
#: ../../../Misc/NEWS:3567
msgid ""
"`Issue #19548 <https://bugs.python.org/19548>`__: Added some additional "
"checks to test_codecs to ensure that statements in the updated documentation "
"remain accurate. Patch by Martin Panter."
msgstr ""
#: ../../../Misc/NEWS:3571
msgid ""
"`Issue #22838 <https://bugs.python.org/22838>`__: All test_re tests now work "
"with unittest test discovery."
msgstr ""
#: ../../../Misc/NEWS:3573
msgid ""
"`Issue #22173 <https://bugs.python.org/22173>`__: Update lib2to3 tests to "
"use unittest test discovery."
msgstr ""
#: ../../../Misc/NEWS:3575
msgid ""
"`Issue #16000 <https://bugs.python.org/16000>`__: Convert test_curses to use "
"unittest."
msgstr ""
#: ../../../Misc/NEWS:3577
msgid ""
"`Issue #21456 <https://bugs.python.org/21456>`__: Skip two tests in "
"test_urllib2net.py if _ssl module not present. Patch by Remi Pointel."
msgstr ""
#: ../../../Misc/NEWS:3580
msgid ""
"`Issue #20746 <https://bugs.python.org/20746>`__: Fix test_pdb to run in "
"refleak mode (-R). Patch by Xavier de Gaye."
msgstr ""
#: ../../../Misc/NEWS:3583
msgid ""
"`Issue #22060 <https://bugs.python.org/22060>`__: test_ctypes has been "
"somewhat cleaned up and simplified; it now uses unittest test discovery to "
"find its tests."
msgstr ""
#: ../../../Misc/NEWS:3586
msgid ""
"`Issue #22104 <https://bugs.python.org/22104>`__: regrtest.py no longer "
"holds a reference to the suite of tests loaded from test modules that don't "
"define test_main()."
msgstr ""
#: ../../../Misc/NEWS:3589
msgid ""
"`Issue #22111 <https://bugs.python.org/22111>`__: Assorted cleanups in "
"test_imaplib. Patch by Milan Oberkirch."
msgstr ""
#: ../../../Misc/NEWS:3591
msgid ""
"`Issue #22002 <https://bugs.python.org/22002>`__: Added "
"``load_package_tests`` function to test.support and used it to implement/"
"augment test discovery in test_asyncio, test_email, test_importlib, "
"test_json, and test_tools."
msgstr ""
#: ../../../Misc/NEWS:3595
msgid ""
"`Issue #21976 <https://bugs.python.org/21976>`__: Fix test_ssl to accept "
"LibreSSL version strings. Thanks to William Orr."
msgstr ""
#: ../../../Misc/NEWS:3598
msgid ""
"`Issue #21918 <https://bugs.python.org/21918>`__: Converted test_tools from "
"a module to a package containing separate test files for each tested script."
msgstr ""
#: ../../../Misc/NEWS:3601
msgid ""
"`Issue #9554 <https://bugs.python.org/9554>`__: Use modern unittest features "
"in test_argparse. Initial patch by Denver Coneybeare and Radu Voicilas."
msgstr ""
#: ../../../Misc/NEWS:3604
msgid ""
"`Issue #20155 <https://bugs.python.org/20155>`__: Changed HTTP method names "
"in failing tests in test_httpservers so that packet filtering software "
"(specifically Windows Base Filtering Engine) does not interfere with the "
"transaction semantics expected by the tests."
msgstr ""
#: ../../../Misc/NEWS:3608
msgid ""
"`Issue #19493 <https://bugs.python.org/19493>`__: Refactored the ctypes test "
"package to skip tests explicitly rather than silently."
msgstr ""
#: ../../../Misc/NEWS:3611
msgid ""
"`Issue #18492 <https://bugs.python.org/18492>`__: All resources are now "
"allowed when tests are not run by regrtest.py."
msgstr ""
#: ../../../Misc/NEWS:3614
msgid ""
"`Issue #21634 <https://bugs.python.org/21634>`__: Fix pystone micro-"
"benchmark: use floor division instead of true division to benchmark integers "
"instead of floating point numbers. Set pystone version to 1.2. Patch written "
"by Lennart Regebro."
msgstr ""
#: ../../../Misc/NEWS:3618
msgid ""
"`Issue #21605 <https://bugs.python.org/21605>`__: Added tests for Tkinter "
"images."
msgstr ""
#: ../../../Misc/NEWS:3620
msgid ""
"`Issue #21493 <https://bugs.python.org/21493>`__: Added test for ntpath."
"expanduser(). Original patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:3623
msgid ""
"`Issue #19925 <https://bugs.python.org/19925>`__: Added tests for the spwd "
"module. Original patch by Vajrasky Kok."
msgstr ""
#: ../../../Misc/NEWS:3625
msgid ""
"`Issue #21522 <https://bugs.python.org/21522>`__: Added Tkinter tests for "
"Listbox.itemconfigure(), PanedWindow.paneconfigure(), and Menu."
"entryconfigure()."
msgstr ""
#: ../../../Misc/NEWS:3628
msgid ""
"`Issue #17756 <https://bugs.python.org/17756>`__: Fix test_code test when "
"run from the installed location."
msgstr ""
#: ../../../Misc/NEWS:3630
msgid ""
"`Issue #17752 <https://bugs.python.org/17752>`__: Fix distutils tests when "
"run from the installed location."
msgstr ""
#: ../../../Misc/NEWS:3632
msgid ""
"`Issue #18604 <https://bugs.python.org/18604>`__: Consolidated checks for "
"GUI availability. All platforms now at least check whether Tk can be "
"instantiated when the GUI resource is requested."
msgstr ""
#: ../../../Misc/NEWS:3636
msgid ""
"`Issue #21275 <https://bugs.python.org/21275>`__: Fix a socket test on "
"KFreeBSD."
msgstr ""
#: ../../../Misc/NEWS:3638
msgid ""
"`Issue #21223 <https://bugs.python.org/21223>`__: Pass test_site/"
"test_startup_imports when some of the extensions are built as builtins."
msgstr ""
#: ../../../Misc/NEWS:3641
msgid ""
"`Issue #20635 <https://bugs.python.org/20635>`__: Added tests for Tk "
"geometry managers."
msgstr ""
#: ../../../Misc/NEWS:3643
msgid "Add test case for freeze."
msgstr ""
#: ../../../Misc/NEWS:3645
msgid ""
"`Issue #20743 <https://bugs.python.org/20743>`__: Fix a reference leak in "
"test_tcl."
msgstr ""
#: ../../../Misc/NEWS:3647
msgid ""
"`Issue #21097 <https://bugs.python.org/21097>`__: Move test_namespace_pkgs "
"into test_importlib."
msgstr ""
#: ../../../Misc/NEWS:3649
msgid ""
"`Issue #21503 <https://bugs.python.org/21503>`__: Use test_both() "
"consistently in test_importlib."
msgstr ""
#: ../../../Misc/NEWS:3651
msgid ""
"`Issue #20939 <https://bugs.python.org/20939>`__: Avoid various network test "
"failures due to new redirect of http://www.python.org/ to https://www.python."
"org: use http://www.example.com instead."
msgstr ""
#: ../../../Misc/NEWS:3655
msgid ""
"`Issue #20668 <https://bugs.python.org/20668>`__: asyncio tests no longer "
"rely on tests.txt file. (Patch by Vajrasky Kok)"
msgstr ""
#: ../../../Misc/NEWS:3658
msgid ""
"`Issue #21093 <https://bugs.python.org/21093>`__: Prevent failures of ctypes "
"test_macholib on OS X if a copy of libz exists in $HOME/lib or /usr/local/"
"lib."
msgstr ""
#: ../../../Misc/NEWS:3661
msgid ""
"`Issue #22770 <https://bugs.python.org/22770>`__: Prevent some Tk segfaults "
"on OS X when running gui tests."
msgstr ""
#: ../../../Misc/NEWS:3663
msgid ""
"`Issue #23211 <https://bugs.python.org/23211>`__: Workaround test_logging "
"failure on some OS X 10.6 systems."
msgstr ""
#: ../../../Misc/NEWS:3665
msgid ""
"`Issue #23345 <https://bugs.python.org/23345>`__: Prevent test_ssl failures "
"with large OpenSSL patch level values (like 0.9.8zc)."
msgstr ""
#: ../../../Misc/NEWS:3671
msgid ""
"`Issue #22314 <https://bugs.python.org/22314>`__: pydoc now works when the "
"LINES environment variable is set."
msgstr ""
#: ../../../Misc/NEWS:3673
msgid ""
"`Issue #22615 <https://bugs.python.org/22615>`__: Argument Clinic now "
"supports the \"type\" argument for the int converter. This permits using "
"the int converter with enums and typedefs."
msgstr ""
#: ../../../Misc/NEWS:3677
msgid ""
"`Issue #20076 <https://bugs.python.org/20076>`__: The makelocalealias.py "
"script no longer ignores UTF-8 mapping."
msgstr ""
#: ../../../Misc/NEWS:3679
msgid ""
"`Issue #20079 <https://bugs.python.org/20079>`__: The makelocalealias.py "
"script now can parse the SUPPORTED file from glibc sources and supports "
"command line options for source paths."
msgstr ""
#: ../../../Misc/NEWS:3682
msgid ""
"`Issue #22201 <https://bugs.python.org/22201>`__: Command-line interface of "
"the zipfile module now correctly extracts ZIP files with directory entries. "
"Patch by Ryan Wilson."
msgstr ""
#: ../../../Misc/NEWS:3685
msgid ""
"`Issue #22120 <https://bugs.python.org/22120>`__: For functions using an "
"unsigned integer return converter, Argument Clinic now generates a cast to "
"that type for the comparison to -1 in the generated code. (This supresses a "
"compilation warning.)"
msgstr ""
#: ../../../Misc/NEWS:3689
msgid ""
"`Issue #18974 <https://bugs.python.org/18974>`__: Tools/scripts/diff.py now "
"uses argparse instead of optparse."
msgstr ""
#: ../../../Misc/NEWS:3691
msgid ""
"`Issue #21906 <https://bugs.python.org/21906>`__: Make Tools/scripts/md5sum."
"py work in Python 3. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:3694
msgid ""
"`Issue #21629 <https://bugs.python.org/21629>`__: Fix Argument Clinic's \"--"
"converters\" feature."
msgstr ""
#: ../../../Misc/NEWS:3696
msgid "Add support for ``yield from`` to 2to3."
msgstr ""
#: ../../../Misc/NEWS:3698
msgid "Add support for the PEP 465 matrix multiplication operator to 2to3."
msgstr ""
#: ../../../Misc/NEWS:3700
msgid ""
"`Issue #16047 <https://bugs.python.org/16047>`__: Fix module exception list "
"and __file__ handling in freeze. Patch by Meador Inge."
msgstr ""
#: ../../../Misc/NEWS:3703
msgid ""
"`Issue #11824 <https://bugs.python.org/11824>`__: Consider ABI tags in "
"freeze. Patch by Meador Inge."
msgstr ""
#: ../../../Misc/NEWS:3705
msgid ""
"`Issue #20535 <https://bugs.python.org/20535>`__: PYTHONWARNING no longer "
"affects the run_tests.py script. Patch by Arfrever Frehtes Taifersar "
"Arahesis."
msgstr ""
#: ../../../Misc/NEWS:3711
msgid ""
"`Issue #23260 <https://bugs.python.org/23260>`__: Update Windows installer"
msgstr ""
#: ../../../Misc/NEWS:3713
msgid ""
"The bundled version of Tcl/Tk has been updated to 8.6.3. The most visible "
"result of this change is the addition of new native file dialogs when "
"running on Windows Vista or newer. See Tcl/Tk's TIP 432 for more "
"information. Also, this version of Tcl/Tk includes support for Windows 10."
msgstr ""
#: ../../../Misc/NEWS:3718
msgid ""
"`Issue #17896 <https://bugs.python.org/17896>`__: The Windows build scripts "
"now expect external library sources to be in ``PCbuild\\..\\externals`` "
"rather than ``PCbuild\\..\\..``."
msgstr ""
#: ../../../Misc/NEWS:3721
msgid ""
"`Issue #17717 <https://bugs.python.org/17717>`__: The Windows build scripts "
"now use a copy of NASM pulled from svn.python.org to build OpenSSL."
msgstr ""
#: ../../../Misc/NEWS:3724
msgid ""
"`Issue #21907 <https://bugs.python.org/21907>`__: Improved the batch scripts "
"provided for building Python."
msgstr ""
#: ../../../Misc/NEWS:3726
msgid ""
"`Issue #22644 <https://bugs.python.org/22644>`__: The bundled version of "
"OpenSSL has been updated to 1.0.1j."
msgstr ""
#: ../../../Misc/NEWS:3728
msgid ""
"`Issue #10747 <https://bugs.python.org/10747>`__: Use versioned labels in "
"the Windows start menu. Patch by Olive Kilburn."
msgstr ""
#: ../../../Misc/NEWS:3731
msgid ""
"`Issue #22980 <https://bugs.python.org/22980>`__: .pyd files with a version "
"and platform tag (for example, \".cp35-win32.pyd\") will now be loaded in "
"preference to those without tags."
msgstr ""
#: ../../../Misc/NEWS:3736
#, fuzzy
msgid "Python 3.4.0"
msgstr "Python 3.0"
#: ../../../Misc/NEWS:3738
msgid "Release date: 2014-03-16"
msgstr ""
#: ../../../Misc/NEWS:3743
msgid ""
"`Issue #20939 <https://bugs.python.org/20939>`__: Fix test_geturl failure in "
"test_urllibnet due to new redirect of http://www.python.org/ to https://www."
"python.org."
msgstr ""
#: ../../../Misc/NEWS:3749
msgid "Merge in all documentation changes since branching 3.4.0rc1."
msgstr ""
#: ../../../Misc/NEWS:3753
msgid "Python 3.4.0 release candidate 3"
msgstr ""
#: ../../../Misc/NEWS:3755
msgid "Release date: 2014-03-09"
msgstr ""
#: ../../../Misc/NEWS:3760
msgid ""
"`Issue #20786 <https://bugs.python.org/20786>`__: Fix signatures for dict."
"__delitem__ and property.__delete__ builtins."
msgstr ""
#: ../../../Misc/NEWS:3766
msgid ""
"`Issue #20839 <https://bugs.python.org/20839>`__: Don't trigger a "
"DeprecationWarning in the still supported pkgutil.get_loader() API when "
"__loader__ isn't set on a module (nor when pkgutil.find_loader() is called "
"directly)."
msgstr ""
#: ../../../Misc/NEWS:3773
msgid ""
"`Issue #14512 <https://bugs.python.org/14512>`__: Launch pydoc -b instead of "
"pydocgui.pyw on Windows."
msgstr ""
#: ../../../Misc/NEWS:3775
msgid ""
"`Issue #20748 <https://bugs.python.org/20748>`__: Uninstalling pip does not "
"leave behind the pyc of the uninstaller anymore."
msgstr ""
#: ../../../Misc/NEWS:3778
msgid ""
"`Issue #20568 <https://bugs.python.org/20568>`__: The Windows installer now "
"installs the unversioned ``pip`` command in addition to the versioned "
"``pip3`` and ``pip3.4`` commands."
msgstr ""
#: ../../../Misc/NEWS:3781
msgid ""
"`Issue #20757 <https://bugs.python.org/20757>`__: The ensurepip helper for "
"the Windows uninstaller now skips uninstalling pip (rather than failing) if "
"the user has updated pip to a different version from the one bundled with "
"ensurepip."
msgstr ""
#: ../../../Misc/NEWS:3785
msgid ""
"`Issue #20465 <https://bugs.python.org/20465>`__: Update OS X and Windows "
"installer builds to use SQLite 3.8.3.1."
msgstr ""
#: ../../../Misc/NEWS:3790
msgid "Python 3.4.0 release candidate 2"
msgstr ""
#: ../../../Misc/NEWS:3792
msgid "Release date: 2014-02-23"
msgstr ""
#: ../../../Misc/NEWS:3797
msgid ""
"`Issue #20625 <https://bugs.python.org/20625>`__: Parameter names in "
"__annotations__ were not mangled properly. Discovered by Jonas Wielicki, "
"patch by Yury Selivanov."
msgstr ""
#: ../../../Misc/NEWS:3800
msgid ""
"`Issue #20261 <https://bugs.python.org/20261>`__: In pickle, lookup "
"__getnewargs__ and __getnewargs_ex__ on the type of the object."
msgstr ""
#: ../../../Misc/NEWS:3803
msgid ""
"`Issue #20619 <https://bugs.python.org/20619>`__: Give the AST nodes of "
"keyword-only arguments a column and line number."
msgstr ""
#: ../../../Misc/NEWS:3806
msgid ""
"`Issue #20526 <https://bugs.python.org/20526>`__: Revert changes of `issue "
"#19466 <https://bugs.python.org/19466>`__ which introduces a regression: "
"don't clear anymore the state of Python threads early during the Python "
"shutdown."
msgstr ""
#: ../../../Misc/NEWS:3813
msgid ""
"`Issue #20710 <https://bugs.python.org/20710>`__: The pydoc summary line no "
"longer displays the \"self\" parameter for bound methods."
msgstr ""
#: ../../../Misc/NEWS:3816
msgid ""
"`Issue #20566 <https://bugs.python.org/20566>`__: Change asyncio."
"as_completed() to use a Queue, to avoid O(N**2) behavior."
msgstr ""
#: ../../../Misc/NEWS:3819
msgid ""
"`Issue #20704 <https://bugs.python.org/20704>`__: Implement new debug API in "
"asyncio. Add new methods BaseEventLoop.set_debug() and BaseEventLoop."
"get_debug(). Add support for setting 'asyncio.tasks._DEBUG' variable with "
"'PYTHONASYNCIODEBUG' environment variable."
msgstr ""
#: ../../../Misc/NEWS:3824
msgid ""
"asyncio: Refactoring and fixes: BaseEventLoop.sock_connect() raises an error "
"if the address is not resolved; use __slots__ in Handle and TimerHandle; "
"as_completed() and wait() raise TypeError if the passed list of Futures is a "
"single Future; call_soon() and other 'call_*()' functions raise TypeError if "
"the passed callback is a coroutine function; _ProactorBasePipeTransport uses "
"_FlowControlMixin; WriteTransport.set_write_buffer_size() calls "
"_maybe_pause_protocol() to consider pausing receiving if the watermark "
"limits have changed; fix _check_resolved_address() for IPv6 address; and "
"other minor improvements, along with multiple documentation updates."
msgstr ""
#: ../../../Misc/NEWS:3835
msgid ""
"`Issue #20684 <https://bugs.python.org/20684>`__: Fix inspect."
"getfullargspec() to not to follow __wrapped__ chains. Make its behaviour "
"consistent with bound methods first argument. Patch by Nick Coghlan and Yury "
"Selivanov."
msgstr ""
#: ../../../Misc/NEWS:3839
msgid ""
"`Issue #20681 <https://bugs.python.org/20681>`__: Add new error handling API "
"in asyncio. New APIs: loop.set_exception_handler(), loop."
"default_exception_handler(), and loop.call_exception_handler()."
msgstr ""
#: ../../../Misc/NEWS:3843
msgid ""
"`Issue #20673 <https://bugs.python.org/20673>`__: Implement support for UNIX "
"Domain Sockets in asyncio. New APIs: loop.create_unix_connection(), loop."
"create_unix_server(), streams.open_unix_connection(), and streams."
"start_unix_server()."
msgstr ""
#: ../../../Misc/NEWS:3847
msgid ""
"`Issue #20616 <https://bugs.python.org/20616>`__: Add a format() method to "
"tracemalloc.Traceback."
msgstr ""
#: ../../../Misc/NEWS:3849
msgid ""
"`Issue #19744 <https://bugs.python.org/19744>`__: the ensurepip installation "
"step now just prints a warning to stderr rather than failing outright if SSL/"
"TLS is unavailable. This allows local installation of POSIX builds without "
"SSL/TLS support."
msgstr ""
#: ../../../Misc/NEWS:3853
msgid ""
"`Issue #20594 <https://bugs.python.org/20594>`__: Avoid name clash with the "
"libc function posix_close."
msgstr ""
#: ../../../Misc/NEWS:3858
msgid ""
"`Issue #20641 <https://bugs.python.org/20641>`__: Run MSI custom actions "
"(pip installation, pyc compilation) with the NoImpersonate flag, to support "
"elevated execution (UAC)."
msgstr ""
#: ../../../Misc/NEWS:3861
msgid ""
"`Issue #20221 <https://bugs.python.org/20221>`__: Removed conflicting (or "
"circular) hypot definition when compiled with VS 2010 or above. Initial "
"patch by Tabrez Mohammed."
msgstr ""
#: ../../../Misc/NEWS:3864
msgid ""
"`Issue #20609 <https://bugs.python.org/20609>`__: Restored the ability to "
"build 64-bit Windows binaries on 32-bit Windows, which was broken by the "
"change in `issue #19788 <https://bugs.python.org/19788>`__."
msgstr ""
#: ../../../Misc/NEWS:3869
msgid "Python 3.4.0 release candidate 1"
msgstr ""
#: ../../../Misc/NEWS:3871
msgid "Release date: 2014-02-10"
msgstr ""
#: ../../../Misc/NEWS:3876
msgid ""
"`Issue #19255 <https://bugs.python.org/19255>`__: The builtins module is "
"restored to initial value before cleaning other modules. The sys and "
"builtins modules are cleaned last."
msgstr ""
#: ../../../Misc/NEWS:3879
msgid ""
"`Issue #20588 <https://bugs.python.org/20588>`__: Make Python-ast.c C89 "
"compliant."
msgstr ""
#: ../../../Misc/NEWS:3881
msgid ""
"`Issue #20437 <https://bugs.python.org/20437>`__: Fixed 22 potential bugs "
"when deleting objects references."
msgstr ""
#: ../../../Misc/NEWS:3883
msgid ""
"`Issue #20500 <https://bugs.python.org/20500>`__: Displaying an exception at "
"interpreter shutdown no longer risks triggering an assertion failure in "
"PyObject_Str."
msgstr ""
#: ../../../Misc/NEWS:3886
msgid ""
"`Issue #20538 <https://bugs.python.org/20538>`__: UTF-7 incremental decoder "
"produced inconsistent string when input was truncated in BASE64 section."
msgstr ""
#: ../../../Misc/NEWS:3889
msgid ""
"`Issue #20404 <https://bugs.python.org/20404>`__: io.TextIOWrapper (and "
"hence the open() builtin) now uses the internal codec marking system added "
"for `issue #19619 <https://bugs.python.org/19619>`__ to throw LookupError "
"for known non-text encodings at stream construction time. The existing "
"output type checks remain in place to deal with unmarked third party codecs."
msgstr ""
#: ../../../Misc/NEWS:3895
msgid "`Issue #17162 <https://bugs.python.org/17162>`__: Add PyType_GetSlot."
msgstr ""
#: ../../../Misc/NEWS:3897
msgid ""
"`Issue #20162 <https://bugs.python.org/20162>`__: Fix an alignment issue in "
"the siphash24() hash function which caused a crash on PowerPC 64-bit (ppc64)."
msgstr ""
#: ../../../Misc/NEWS:3903
msgid ""
"`Issue #20530 <https://bugs.python.org/20530>`__: The signatures for slot "
"builtins have been updated to reflect the fact that they only accept "
"positional-only arguments."
msgstr ""
#: ../../../Misc/NEWS:3906
msgid ""
"`Issue #20517 <https://bugs.python.org/20517>`__: Functions in the os module "
"that accept two filenames now register both filenames in the exception on "
"failure."
msgstr ""
#: ../../../Misc/NEWS:3909
msgid ""
"`Issue #20563 <https://bugs.python.org/20563>`__: The ipaddress module API "
"is now considered stable."
msgstr ""
#: ../../../Misc/NEWS:3911
msgid ""
"`Issue #14983 <https://bugs.python.org/14983>`__: email.generator now always "
"adds a line end after each MIME boundary marker, instead of doing so only "
"when there is an epilogue. This fixes an RFC compliance bug and solves an "
"issue with signed MIME parts."
msgstr ""
#: ../../../Misc/NEWS:3915
msgid ""
"`Issue #20540 <https://bugs.python.org/20540>`__: Fix a performance "
"regression (vs. Python 3.2) when layering a multiprocessing Connection over "
"a TCP socket. For small payloads, Nagle's algorithm would introduce idle "
"delays before the entire transmission of a message."
msgstr ""
#: ../../../Misc/NEWS:3920
msgid ""
"`Issue #16983 <https://bugs.python.org/16983>`__: the new email header "
"parsing code will now decode encoded words that are (incorrectly) surrounded "
"by quotes, and register a defect."
msgstr ""
#: ../../../Misc/NEWS:3923
msgid ""
"`Issue #19772 <https://bugs.python.org/19772>`__: email.generator no longer "
"mutates the message object when doing a down-transform from 8bit to 7bit "
"CTEs."
msgstr ""
#: ../../../Misc/NEWS:3926
msgid ""
"`Issue #20536 <https://bugs.python.org/20536>`__: the statistics module now "
"correctly handle Decimal instances with positive exponents"
msgstr ""
#: ../../../Misc/NEWS:3929
msgid ""
"`Issue #18805 <https://bugs.python.org/18805>`__: the netmask/hostmask "
"parsing in ipaddress now more reliably filters out illegal values and "
"correctly allows any valid prefix length."
msgstr ""
#: ../../../Misc/NEWS:3932
msgid ""
"`Issue #20481 <https://bugs.python.org/20481>`__: For at least Python 3.4, "
"the statistics module will require that all inputs for a single operation be "
"of a single consistent type, or else a mixed of ints and a single other "
"consistent type. This avoids some interoperability issues that arose with "
"the previous approach of coercing to a suitable common type."
msgstr ""
#: ../../../Misc/NEWS:3938
msgid ""
"`Issue #20478 <https://bugs.python.org/20478>`__: the statistics module now "
"treats collections.Counter inputs like any other iterable."
msgstr ""
#: ../../../Misc/NEWS:3941
msgid ""
"`Issue #17369 <https://bugs.python.org/17369>`__: get_filename was raising "
"an exception if the filename parameter's RFC2231 encoding was broken in "
"certain ways. This was a regression relative to python2."
msgstr ""
#: ../../../Misc/NEWS:3945
msgid ""
"`Issue #20013 <https://bugs.python.org/20013>`__: Some imap servers "
"disconnect if the current mailbox is deleted, and imaplib did not handle "
"that case gracefully. Now it handles the 'bye' correctly."
msgstr ""
#: ../../../Misc/NEWS:3949
msgid ""
"`Issue #20531 <https://bugs.python.org/20531>`__: Revert 3.4 version of fix "
"for #19063, and apply the 3.3 version. That is, do *not* raise an error if "
"unicode is passed to email.message.Message.set_payload."
msgstr ""
#: ../../../Misc/NEWS:3953
msgid ""
"`Issue #20476 <https://bugs.python.org/20476>`__: If a non-compat32 policy "
"is used with any of the email parsers, EmailMessage is now used as the "
"factory class. The factory class should really come from the policy; that "
"will get fixed in 3.5."
msgstr ""
#: ../../../Misc/NEWS:3957
msgid ""
"`Issue #19920 <https://bugs.python.org/19920>`__: TarFile.list() no longer "
"fails when outputs a listing containing non-encodable characters. Based on "
"patch by Vajrasky Kok."
msgstr ""
#: ../../../Misc/NEWS:3960
msgid ""
"`Issue #20515 <https://bugs.python.org/20515>`__: Fix NULL pointer "
"dereference introduced by `issue #20368 <https://bugs.python.org/20368>`__."
msgstr ""
#: ../../../Misc/NEWS:3962
msgid ""
"`Issue #19186 <https://bugs.python.org/19186>`__: Restore namespacing of "
"expat symbols inside the pyexpat module."
msgstr ""
#: ../../../Misc/NEWS:3964
msgid ""
"`Issue #20053 <https://bugs.python.org/20053>`__: ensurepip (and hence venv) "
"are no longer affected by the settings in the default pip configuration file."
msgstr ""
#: ../../../Misc/NEWS:3967
msgid ""
"`Issue #20426 <https://bugs.python.org/20426>`__: When passing the re.DEBUG "
"flag, re.compile() displays the debug output every time it is called, "
"regardless of the compilation cache."
msgstr ""
#: ../../../Misc/NEWS:3970
msgid ""
"`Issue #20368 <https://bugs.python.org/20368>`__: The null character now "
"correctly passed from Tcl to Python. Improved error handling in variables-"
"related commands."
msgstr ""
#: ../../../Misc/NEWS:3973
msgid ""
"`Issue #20435 <https://bugs.python.org/20435>`__: Fix _pyio.StringIO."
"getvalue() to take into account newline translation settings."
msgstr ""
#: ../../../Misc/NEWS:3976
msgid "tracemalloc: Fix slicing traces and fix slicing a traceback."
msgstr ""
#: ../../../Misc/NEWS:3978
msgid ""
"`Issue #20354 <https://bugs.python.org/20354>`__: Fix an alignment issue in "
"the tracemalloc module on 64-bit platforms. Bug seen on 64-bit Linux when "
"using \"make profile-opt\"."
msgstr ""
#: ../../../Misc/NEWS:3981
msgid ""
"`Issue #17159 <https://bugs.python.org/17159>`__: inspect.signature now "
"accepts duck types of functions, which adds support for Cython functions. "
"Initial patch by Stefan Behnel."
msgstr ""
#: ../../../Misc/NEWS:3984
msgid ""
"`Issue #18801 <https://bugs.python.org/18801>`__: Fix inspect."
"classify_class_attrs to correctly classify object.__new__ and object."
"__init__."
msgstr ""
#: ../../../Misc/NEWS:3987
msgid "Fixed cmath.isinf's name in its argument parsing code."
msgstr ""
#: ../../../Misc/NEWS:3989
msgid ""
"`Issue #20311 <https://bugs.python.org/20311>`__, #20452: poll and epoll now "
"round the timeout away from zero, instead of rounding towards zero, in "
"select and selectors modules: select.epoll.poll(), selectors.PollSelector."
"poll() and selectors.EpollSelector.poll(). For example, a timeout of one "
"microsecond (1e-6) is now rounded to one millisecondi (1e-3), instead of "
"being rounded to zero. However, the granularity property and asyncio's "
"resolution feature were removed again."
msgstr ""
#: ../../../Misc/NEWS:3997
msgid ""
"asyncio: Some refactoring; various fixes; add write flow control to unix "
"pipes; Future.set_exception() instantiates the exception argument if it is a "
"class; improved proactor pipe transport; support wait_for(f, None); don't "
"log broken/disconnected pipes; use ValueError instead of assert for "
"forbidden subprocess_{shell,exec} arguments; added a convenience API for "
"subprocess management; added StreamReader.at_eof(); properly handle "
"duplicate coroutines/futures in gather(), wait(), as_completed(); use a "
"bytearray for buffering in StreamReader; and more."
msgstr ""
#: ../../../Misc/NEWS:4007
msgid ""
"`Issue #20288 <https://bugs.python.org/20288>`__: fix handling of invalid "
"numeric charrefs in HTMLParser."
msgstr ""
#: ../../../Misc/NEWS:4009
msgid ""
"`Issue #20424 <https://bugs.python.org/20424>`__: Python implementation of "
"io.StringIO now supports lone surrogates."
msgstr ""
#: ../../../Misc/NEWS:4011
msgid ""
"`Issue #20308 <https://bugs.python.org/20308>`__: inspect.signature now "
"works on classes without user-defined __init__ or __new__ methods."
msgstr ""
#: ../../../Misc/NEWS:4014
msgid ""
"`Issue #20372 <https://bugs.python.org/20372>`__: inspect.getfile (and a "
"bunch of other inspect functions that use it) doesn't crash with unexpected "
"AttributeError on classes defined in C without __module__."
msgstr ""
#: ../../../Misc/NEWS:4018
msgid ""
"`Issue #20356 <https://bugs.python.org/20356>`__: inspect.signature "
"formatting uses '/' to separate positional-only parameters from others."
msgstr ""
#: ../../../Misc/NEWS:4021
msgid ""
"`Issue #20223 <https://bugs.python.org/20223>`__: inspect.signature now "
"supports methods defined with functools.partialmethods."
msgstr ""
#: ../../../Misc/NEWS:4024
msgid ""
"`Issue #19456 <https://bugs.python.org/19456>`__: ntpath.join() now joins "
"relative paths correctly when a drive is present."
msgstr ""
#: ../../../Misc/NEWS:4027
msgid ""
"`Issue #19077 <https://bugs.python.org/19077>`__: tempfile."
"TemporaryDirectory cleanup no longer fails when called during shutdown. "
"Emitting resource warning in __del__ no longer fails. Original patch by "
"Antoine Pitrou."
msgstr ""
#: ../../../Misc/NEWS:4031
msgid ""
"`Issue #20394 <https://bugs.python.org/20394>`__: Silence Coverity warning "
"in audioop module."
msgstr ""
#: ../../../Misc/NEWS:4033
msgid ""
"`Issue #20367 <https://bugs.python.org/20367>`__: Fix behavior of concurrent."
"futures.as_completed() for duplicate arguments. Patch by Glenn Langford."
msgstr ""
#: ../../../Misc/NEWS:4036
msgid ""
"`Issue #8260 <https://bugs.python.org/8260>`__: The read(), readline() and "
"readlines() methods of codecs.StreamReader returned incomplete data when "
"were called after readline() or read(size). Based on patch by Amaury "
"Forgeot d'Arc."
msgstr ""
#: ../../../Misc/NEWS:4040
msgid ""
"`Issue #20105 <https://bugs.python.org/20105>`__: the codec exception "
"chaining now correctly sets the traceback of the original exception as its "
"__traceback__ attribute."
msgstr ""
#: ../../../Misc/NEWS:4043
msgid ""
"`Issue #17481 <https://bugs.python.org/17481>`__: inspect.getfullargspec() "
"now uses inspect.signature() API."
msgstr ""
#: ../../../Misc/NEWS:4045
msgid ""
"`Issue #15304 <https://bugs.python.org/15304>`__: concurrent.futures.wait() "
"can block forever even if Futures have completed. Patch by Glenn Langford."
msgstr ""
#: ../../../Misc/NEWS:4048
msgid ""
"`Issue #14455 <https://bugs.python.org/14455>`__: plistlib: fix serializing "
"integers in the range of an unsigned long long but outside of the range of "
"signed long long for binary plist files."
msgstr ""
#: ../../../Misc/NEWS:4055
msgid ""
"`Issue #20406 <https://bugs.python.org/20406>`__: Use Python application "
"icons for Idle window title bars. Patch mostly by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:4058
msgid ""
"Update the python.gif icon for the Idle classbrowser and pathbowser from the "
"old green snake to the new blue and yellow snakes."
msgstr ""
#: ../../../Misc/NEWS:4061
msgid ""
"`Issue #17721 <https://bugs.python.org/17721>`__: Remove non-functional "
"configuration dialog help button until we make it actually gives some help "
"when clicked. Patch by Guilherme Simões."
msgstr ""
#: ../../../Misc/NEWS:4067
msgid ""
"`Issue #20532 <https://bugs.python.org/20532>`__: Tests which use _testcapi "
"now are marked as CPython only."
msgstr ""
#: ../../../Misc/NEWS:4069
msgid ""
"`Issue #19920 <https://bugs.python.org/19920>`__: Added tests for TarFile."
"list(). Based on patch by Vajrasky Kok."
msgstr ""
#: ../../../Misc/NEWS:4071
msgid ""
"`Issue #19990 <https://bugs.python.org/19990>`__: Added tests for the imghdr "
"module. Based on patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:4074
msgid ""
"`Issue #20474 <https://bugs.python.org/20474>`__: Fix test_socket "
"\"unexpected success\" failures on OS X 10.7+."
msgstr ""
#: ../../../Misc/NEWS:4079
msgid ""
"`Issue #20530 <https://bugs.python.org/20530>`__: Argument Clinic's "
"signature format has been revised again. The new syntax is highly human "
"readable while still preventing false positives. The syntax also extends "
"Python syntax to denote \"self\" and positional-only parameters, allowing "
"inspect.Signature objects to be totally accurate for all supported builtins "
"in Python 3.4."
msgstr ""
#: ../../../Misc/NEWS:4085
msgid ""
"`Issue #20456 <https://bugs.python.org/20456>`__: Argument Clinic now "
"observes the C preprocessor conditional compilation statements of the C "
"files it parses. When a Clinic block is inside a conditional code, it "
"adjusts its output to match, including automatically generating an empty "
"methoddef macro."
msgstr ""
#: ../../../Misc/NEWS:4090
msgid ""
"`Issue #20456 <https://bugs.python.org/20456>`__: Cloned functions in "
"Argument Clinic now use the correct name, not the name of the function they "
"were cloned from, for text strings inside generated code."
msgstr ""
#: ../../../Misc/NEWS:4094
msgid ""
"`Issue #20456 <https://bugs.python.org/20456>`__: Fixed Argument Clinic's "
"test suite and \"--converters\" feature."
msgstr ""
#: ../../../Misc/NEWS:4096
msgid ""
"`Issue #20456 <https://bugs.python.org/20456>`__: Argument Clinic now allows "
"specifying different names for a parameter in Python and C, using \"as\" on "
"the parameter line."
msgstr ""
#: ../../../Misc/NEWS:4099
msgid ""
"`Issue #20326 <https://bugs.python.org/20326>`__: Argument Clinic now uses a "
"simple, unique signature to annotate text signatures in docstrings, "
"resulting in fewer false positives. \"self\" parameters are also explicitly "
"marked, allowing inspect.Signature() to authoritatively detect (and skip) "
"said parameters."
msgstr ""
#: ../../../Misc/NEWS:4104
msgid ""
"`Issue #20326 <https://bugs.python.org/20326>`__: Argument Clinic now "
"generates separate checksums for the input and output sections of the block, "
"allowing external tools to verify that the input has not changed (and thus "
"the output is not out-of-date)."
msgstr ""
#: ../../../Misc/NEWS:4111
msgid ""
"`Issue #20465 <https://bugs.python.org/20465>`__: Update SQLite shipped with "
"OS X installer to 3.8.3."
msgstr ""
#: ../../../Misc/NEWS:4114 ../../../Misc/NEWS:7821
msgid "C-API"
msgstr ""
#: ../../../Misc/NEWS:4116
msgid ""
"`Issue #20517 <https://bugs.python.org/20517>`__: Added new functions "
"allowing OSError exceptions to reference two filenames instead of one: "
"PyErr_SetFromErrnoWithFilenameObjects() and "
"PyErr_SetExcFromWindowsErrWithFilenameObjects()."
msgstr ""
#: ../../../Misc/NEWS:4123
msgid ""
"`Issue #20488 <https://bugs.python.org/20488>`__: Change wording to say "
"importlib is *the* implementation of import instead of just *an* "
"implementation."
msgstr ""
#: ../../../Misc/NEWS:4126
msgid ""
"`Issue #6386 <https://bugs.python.org/6386>`__: Clarify in the tutorial that "
"specifying a symlink to execute means the directory containing the executed "
"script and not the symlink is added to sys.path."
msgstr ""
#: ../../../Misc/NEWS:4132
msgid "Python 3.4.0 Beta 3"
msgstr ""
#: ../../../Misc/NEWS:4134
msgid "Release date: 2014-01-26"
msgstr ""
#: ../../../Misc/NEWS:4139
msgid ""
"`Issue #20189 <https://bugs.python.org/20189>`__: Four additional builtin "
"types (PyTypeObject, PyMethodDescr_Type, _PyMethodWrapper_Type, and "
"PyWrapperDescr_Type) have been modified to provide introspection information "
"for builtins."
msgstr ""
#: ../../../Misc/NEWS:4143
msgid ""
"`Issue #17825 <https://bugs.python.org/17825>`__: Cursor \"^\" is correctly "
"positioned for SyntaxError and IndentationError."
msgstr ""
#: ../../../Misc/NEWS:4146
msgid ""
"`Issue #2382 <https://bugs.python.org/2382>`__: SyntaxError cursor \"^\" is "
"now written at correct position in most cases when multibyte characters are "
"in line (before \"^\"). This still not works correctly with wide East Asian "
"characters."
msgstr ""
#: ../../../Misc/NEWS:4150
msgid ""
"`Issue #18960 <https://bugs.python.org/18960>`__: The first line of Python "
"script could be executed twice when the source encoding was specified on the "
"second line. Now the source encoding declaration on the second line isn't "
"effective if the first line contains anything except a comment. 'python -x' "
"works now again with files with the source encoding declarations, and can be "
"used to make Python batch files on Windows."
msgstr ""
#: ../../../Misc/NEWS:4160
msgid ""
"asyncio: Various improvements and small changes not all covered by issues "
"listed below. E.g. wait_for() now cancels the inner task if the timeout "
"occcurs; tweaked the set of exported symbols; renamed Empty/Full to "
"QueueEmpty/QueueFull; \"with (yield from lock)\" now uses a separate context "
"manager; readexactly() raises if not enough data was read; PTY support "
"tweaks."
msgstr ""
#: ../../../Misc/NEWS:4167
msgid ""
"`Issue #20311 <https://bugs.python.org/20311>`__: asyncio: Add a granularity "
"attribute to BaseEventLoop: maximum between the resolution of the "
"BaseEventLoop.time() method and the resolution of the selector. The "
"granuarility is used in the scheduler to round time and deadline."
msgstr ""
#: ../../../Misc/NEWS:4172
msgid ""
"`Issue #20311 <https://bugs.python.org/20311>`__: selectors: Add a "
"resolution attribute to BaseSelector."
msgstr ""
#: ../../../Misc/NEWS:4174
msgid ""
"`Issue #20189 <https://bugs.python.org/20189>`__: unittest.mock now no "
"longer assumes that any object for which it could get an inspect.Signature "
"is a callable written in Python. Fix courtesy of Michael Foord."
msgstr ""
#: ../../../Misc/NEWS:4178
msgid ""
"`Issue #20317 <https://bugs.python.org/20317>`__: ExitStack.__exit__ could "
"create a self-referential loop if an exception raised by a cleanup operation "
"already had its context set correctly (for example, by the @contextmanager "
"decorator). The infinite loop this caused is now avoided by checking if the "
"expected context is already set before trying to fix it."
msgstr ""
#: ../../../Misc/NEWS:4184
msgid ""
"`Issue #20374 <https://bugs.python.org/20374>`__: Fix build with GNU "
"readline >= 6.3."
msgstr ""
#: ../../../Misc/NEWS:4186
msgid ""
"`Issue #20262 <https://bugs.python.org/20262>`__: Warnings are raised now "
"when duplicate names are added in the ZIP file or too long ZIP file comment "
"is truncated."
msgstr ""
#: ../../../Misc/NEWS:4189
msgid ""
"`Issue #20165 <https://bugs.python.org/20165>`__: The unittest module no "
"longer considers tests marked with @expectedFailure successful if they pass."
msgstr ""
#: ../../../Misc/NEWS:4192
msgid ""
"`Issue #18574 <https://bugs.python.org/18574>`__: Added missing newline in "
"100-Continue reply from http.server.BaseHTTPRequestHandler. Patch by "
"Nikolaus Rath."
msgstr ""
#: ../../../Misc/NEWS:4195
msgid ""
"`Issue #20270 <https://bugs.python.org/20270>`__: urllib.urlparse now "
"supports empty ports."
msgstr ""
#: ../../../Misc/NEWS:4197
msgid ""
"`Issue #20243 <https://bugs.python.org/20243>`__: TarFile no longer raise "
"ReadError when opened in write mode."
msgstr ""
#: ../../../Misc/NEWS:4199
msgid ""
"`Issue #20238 <https://bugs.python.org/20238>`__: TarFile opened with "
"external fileobj and \"w:gz\" mode didn't write complete output on close."
msgstr ""
#: ../../../Misc/NEWS:4202
msgid ""
"`Issue #20245 <https://bugs.python.org/20245>`__: The open functions in the "
"tarfile module now correctly handle empty mode."
msgstr ""
#: ../../../Misc/NEWS:4205
msgid ""
"`Issue #20242 <https://bugs.python.org/20242>`__: Fixed basicConfig() format "
"strings for the alternative formatting styles. Thanks to kespindler for the "
"bug report and patch."
msgstr ""
#: ../../../Misc/NEWS:4208
msgid ""
"`Issue #20246 <https://bugs.python.org/20246>`__: Fix buffer overflow in "
"socket.recvfrom_into."
msgstr ""
#: ../../../Misc/NEWS:4210
msgid ""
"Issues #20206 and #5803: Fix edge case in email.quoprimime.encode where it "
"truncated lines ending in a character needing encoding but no newline by "
"using a more efficient algorithm that doesn't have the bug."
msgstr ""
#: ../../../Misc/NEWS:4214
msgid ""
"`Issue #19082 <https://bugs.python.org/19082>`__: Working xmlrpc.server and "
"xmlrpc.client examples. Both in modules and in documentation. Initial patch "
"contributed by Vajrasky Kok."
msgstr ""
#: ../../../Misc/NEWS:4217
msgid ""
"`Issue #20138 <https://bugs.python.org/20138>`__: The wsgiref."
"application_uri() and wsgiref.request_uri() functions now conform to PEP "
"3333 when handle non-ASCII URLs."
msgstr ""
#: ../../../Misc/NEWS:4220
msgid ""
"`Issue #19097 <https://bugs.python.org/19097>`__: Raise the correct "
"Exception when cgi.FieldStorage is given an invalid fileobj."
msgstr ""
#: ../../../Misc/NEWS:4223
msgid ""
"`Issue #20152 <https://bugs.python.org/20152>`__: Ported Python/import.c "
"over to Argument Clinic."
msgstr ""
#: ../../../Misc/NEWS:4225
msgid ""
"`Issue #13107 <https://bugs.python.org/13107>`__: argparse and optparse no "
"longer raises an exception when output a help on environment with too small "
"COLUMNS. Based on patch by Elazar Gershuni."
msgstr ""
#: ../../../Misc/NEWS:4229
msgid ""
"`Issue #20207 <https://bugs.python.org/20207>`__: Always disable SSLv2 "
"except when PROTOCOL_SSLv2 is explicitly asked for."
msgstr ""
#: ../../../Misc/NEWS:4232
msgid ""
"`Issue #18960 <https://bugs.python.org/18960>`__: The tokenize module now "
"ignore the source encoding declaration on the second line if the first line "
"contains anything except a comment."
msgstr ""
#: ../../../Misc/NEWS:4235
msgid ""
"`Issue #20078 <https://bugs.python.org/20078>`__: Reading malformed zipfiles "
"no longer hangs with 100% CPU consumption."
msgstr ""
#: ../../../Misc/NEWS:4238
msgid ""
"`Issue #20113 <https://bugs.python.org/20113>`__: os.readv() and os.writev() "
"now raise an OSError exception on error instead of returning -1."
msgstr ""
#: ../../../Misc/NEWS:4241
msgid ""
"`Issue #19719 <https://bugs.python.org/19719>`__: Make importlib.abc."
"MetaPathFinder.find_module(), PathEntryFinder.find_loader(), and Loader."
"load_module() use PEP 451 APIs to help with backwards-compatibility."
msgstr ""
#: ../../../Misc/NEWS:4245
msgid ""
"`Issue #20144 <https://bugs.python.org/20144>`__: inspect.Signature now "
"supports parsing simple symbolic constants as parameter default values in "
"__text_signature__."
msgstr ""
#: ../../../Misc/NEWS:4248
msgid ""
"`Issue #20072 <https://bugs.python.org/20072>`__: Fixed multiple errors in "
"tkinter with wantobjects is False."
msgstr ""
#: ../../../Misc/NEWS:4250
msgid ""
"`Issue #20229 <https://bugs.python.org/20229>`__: Avoid plistlib deprecation "
"warning in platform.mac_ver()."
msgstr ""
#: ../../../Misc/NEWS:4252
msgid ""
"`Issue #14455 <https://bugs.python.org/14455>`__: Fix some problems with the "
"new binary plist support in plistlib."
msgstr ""
#: ../../../Misc/NEWS:4257
msgid ""
"`Issue #17390 <https://bugs.python.org/17390>`__: Add Python version to Idle "
"editor window title bar. Original patches by Edmond Burnett and Kent Johnson."
msgstr ""
#: ../../../Misc/NEWS:4260
msgid ""
"`Issue #18960 <https://bugs.python.org/18960>`__: IDLE now ignores the "
"source encoding declaration on the second line if the first line contains "
"anything except a comment."
msgstr ""
#: ../../../Misc/NEWS:4266
msgid ""
"`Issue #20358 <https://bugs.python.org/20358>`__: Tests for curses.window."
"overlay and curses.window.overwrite no longer specify min{row,col} > max{row,"
"col}."
msgstr ""
#: ../../../Misc/NEWS:4269
msgid ""
"`Issue #19804 <https://bugs.python.org/19804>`__: The test_find_mac test in "
"test_uuid is now skipped if the ifconfig executable is not available."
msgstr ""
#: ../../../Misc/NEWS:4272
msgid ""
"`Issue #19886 <https://bugs.python.org/19886>`__: Use better estimated "
"memory requirements for bigmem tests."
msgstr ""
#: ../../../Misc/NEWS:4277
msgid ""
"`Issue #20390 <https://bugs.python.org/20390>`__: Argument Clinic's \"file\" "
"output preset now defaults to \"{dirname}/clinic/{basename}.h\"."
msgstr ""
#: ../../../Misc/NEWS:4280
msgid ""
"`Issue #20390 <https://bugs.python.org/20390>`__: Argument Clinic's \"class"
"\" directive syntax has been extended with two new required arguments: "
"\"typedef\" and \"type_object\"."
msgstr ""
#: ../../../Misc/NEWS:4283
msgid ""
"`Issue #20390 <https://bugs.python.org/20390>`__: Argument Clinic: If "
"__new__ or __init__ functions didn't use kwargs (or args), the "
"PyArg_NoKeywords (or PyArg_NoPositional) calls generated are only run when "
"the type object is an exact match."
msgstr ""
#: ../../../Misc/NEWS:4287
msgid ""
"`Issue #20390 <https://bugs.python.org/20390>`__: Argument Clinic now fails "
"if you have required parameters after optional parameters."
msgstr ""
#: ../../../Misc/NEWS:4290
msgid ""
"`Issue #20390 <https://bugs.python.org/20390>`__: Argument Clinic converters "
"now have a new template they can inject code into: \"modifiers\". Code put "
"there is run in the parsing function after argument parsing but before the "
"call to the impl."
msgstr ""
#: ../../../Misc/NEWS:4294
msgid ""
"`Issue #20376 <https://bugs.python.org/20376>`__: Argument Clinic now "
"escapes backslashes in docstrings."
msgstr ""
#: ../../../Misc/NEWS:4296
msgid ""
"`Issue #20381 <https://bugs.python.org/20381>`__: Argument Clinic now sanity "
"checks the default argument when c_default is also specified, providing a "
"nice failure message for disallowed values."
msgstr ""
#: ../../../Misc/NEWS:4300
msgid ""
"`Issue #20189 <https://bugs.python.org/20189>`__: Argument Clinic now "
"ensures that parser functions for __new__ are always of type newfunc, the "
"type of the tp_new slot. Similarly, parser functions for __init__ are now "
"always of type initproc, the type of tp_init."
msgstr ""
#: ../../../Misc/NEWS:4305
msgid ""
"`Issue #20189 <https://bugs.python.org/20189>`__: Argument Clinic now "
"suppresses the docstring for __new__ and __init__ functions if no docstring "
"is provided in the input."
msgstr ""
#: ../../../Misc/NEWS:4308
msgid ""
"`Issue #20189 <https://bugs.python.org/20189>`__: Argument Clinic now "
"suppresses the \"self\" parameter in the impl for @staticmethod functions."
msgstr ""
#: ../../../Misc/NEWS:4311
msgid ""
"`Issue #20294 <https://bugs.python.org/20294>`__: Argument Clinic now "
"supports argument parsing for __new__ and __init__ functions."
msgstr ""
#: ../../../Misc/NEWS:4314
msgid ""
"`Issue #20299 <https://bugs.python.org/20299>`__: Argument Clinic custom "
"converters may now change the default value of c_default and py_default with "
"a class member."
msgstr ""
#: ../../../Misc/NEWS:4317
msgid ""
"`Issue #20287 <https://bugs.python.org/20287>`__: Argument Clinic's output "
"is now configurable, allowing delaying its output or even redirecting it to "
"a separate file."
msgstr ""
#: ../../../Misc/NEWS:4320
msgid ""
"`Issue #20226 <https://bugs.python.org/20226>`__: Argument Clinic now "
"permits simple expressions (e.g. \"sys.maxsize - 1\") as default values for "
"parameters."
msgstr ""
#: ../../../Misc/NEWS:4323
msgid ""
"`Issue #19936 <https://bugs.python.org/19936>`__: Added executable bits or "
"shebang lines to Python scripts which requires them. Disable executable "
"bits and shebang lines in test and benchmark files in order to prevent using "
"a random system python, and in source files of modules which don't provide "
"command line interface. Fixed shebang lines in the unittestgui and checkpip "
"scripts."
msgstr ""
#: ../../../Misc/NEWS:4329
msgid ""
"`Issue #20268 <https://bugs.python.org/20268>`__: Argument Clinic now "
"supports cloning the parameters and return converter of existing functions."
msgstr ""
#: ../../../Misc/NEWS:4332
msgid ""
"`Issue #20228 <https://bugs.python.org/20228>`__: Argument Clinic now has "
"special support for class special methods."
msgstr ""
#: ../../../Misc/NEWS:4335
msgid ""
"`Issue #20214 <https://bugs.python.org/20214>`__: Fixed a number of small "
"issues and documentation errors in Argument Clinic (see issue for details)."
msgstr ""
#: ../../../Misc/NEWS:4338
msgid ""
"`Issue #20196 <https://bugs.python.org/20196>`__: Fixed a bug where Argument "
"Clinic did not generate correct parsing code for functions with positional-"
"only parameters where all arguments are optional."
msgstr ""
#: ../../../Misc/NEWS:4342
msgid ""
"`Issue #18960 <https://bugs.python.org/18960>`__: 2to3 and the findnocoding."
"py script now ignore the source encoding declaration on the second line if "
"the first line contains anything except a comment."
msgstr ""
#: ../../../Misc/NEWS:4346
msgid ""
"`Issue #19723 <https://bugs.python.org/19723>`__: The marker comments "
"Argument Clinic uses have been changed to improve readability."
msgstr ""
#: ../../../Misc/NEWS:4349
msgid ""
"`Issue #20157 <https://bugs.python.org/20157>`__: When Argument Clinic "
"renames a parameter because its name collides with a C keyword, it no longer "
"exposes that rename to PyArg_Parse."
msgstr ""
#: ../../../Misc/NEWS:4352
msgid ""
"`Issue #20141 <https://bugs.python.org/20141>`__: Improved Argument Clinic's "
"support for the PyArg_Parse \"O!\" format unit."
msgstr ""
#: ../../../Misc/NEWS:4355
msgid ""
"`Issue #20144 <https://bugs.python.org/20144>`__: Argument Clinic now "
"supports simple symbolic constants as parameter default values."
msgstr ""
#: ../../../Misc/NEWS:4358
msgid ""
"`Issue #20143 <https://bugs.python.org/20143>`__: The line numbers reported "
"in Argument Clinic errors are now more accurate."
msgstr ""
#: ../../../Misc/NEWS:4361
msgid ""
"`Issue #20142 <https://bugs.python.org/20142>`__: Py_buffer variables "
"generated by Argument Clinic are now initialized with a default value."
msgstr ""
#: ../../../Misc/NEWS:4367
msgid ""
"`Issue #12837 <https://bugs.python.org/12837>`__: Silence a tautological "
"comparison warning on OS X under Clang in socketmodule.c."
msgstr ""
#: ../../../Misc/NEWS:4372
msgid "Python 3.4.0 Beta 2"
msgstr ""
#: ../../../Misc/NEWS:4374
msgid "Release date: 2014-01-05"
msgstr ""
#: ../../../Misc/NEWS:4379
msgid ""
"`Issue #17432 <https://bugs.python.org/17432>`__: Drop UCS2 from names of "
"Unicode functions in python3.def."
msgstr ""
#: ../../../Misc/NEWS:4381
msgid ""
"`Issue #19526 <https://bugs.python.org/19526>`__: Exclude all new API from "
"the stable ABI. Exceptions can be made if a need is demonstrated."
msgstr ""
#: ../../../Misc/NEWS:4384
msgid ""
"`Issue #19969 <https://bugs.python.org/19969>`__: PyBytes_FromFormatV() now "
"raises an OverflowError if \"%c\" argument is not in range [0; 255]."
msgstr ""
#: ../../../Misc/NEWS:4387
msgid ""
"`Issue #19995 <https://bugs.python.org/19995>`__: %c, %o, %x, and %X now "
"issue a DeprecationWarning on non-integer input; reworded docs to clarify "
"that an integer type should define both __int__ and __index__."
msgstr ""
#: ../../../Misc/NEWS:4391
msgid ""
"`Issue #19787 <https://bugs.python.org/19787>`__: PyThread_set_key_value() "
"now always set the value. In Python 3.3, the function did nothing if the key "
"already exists (if the current value is a non-NULL pointer)."
msgstr ""
#: ../../../Misc/NEWS:4395
msgid ""
"`Issue #14432 <https://bugs.python.org/14432>`__: Remove the thread state "
"field from the frame structure. Fix a crash when a generator is created in a "
"C thread that is destroyed while the generator is still used. The issue was "
"that a generator contains a frame, and the frame kept a reference to the "
"Python state of the destroyed C thread. The crash occurs when a trace "
"function is setup."
msgstr ""
#: ../../../Misc/NEWS:4401
msgid ""
"`Issue #19576 <https://bugs.python.org/19576>`__: PyGILState_Ensure() now "
"initializes threads. At startup, Python has no concrete GIL. If "
"PyGILState_Ensure() is called from a new thread for the first time and "
"PyEval_InitThreads() was not called yet, a GIL needs to be created."
msgstr ""
#: ../../../Misc/NEWS:4406
msgid ""
"`Issue #17576 <https://bugs.python.org/17576>`__: Deprecation warning "
"emitted now when __int__() or __index__() return not int instance."
msgstr ""
#: ../../../Misc/NEWS:4409
msgid ""
"`Issue #19932 <https://bugs.python.org/19932>`__: Fix typo in import.h, "
"missing whitespaces in function prototypes."
msgstr ""
#: ../../../Misc/NEWS:4411
msgid ""
"`Issue #19736 <https://bugs.python.org/19736>`__: Add module-level statvfs "
"constants defined for GNU/glibc based systems."
msgstr ""
#: ../../../Misc/NEWS:4414
msgid ""
"`Issue #20097 <https://bugs.python.org/20097>`__: Fix bad use of \"self\" in "
"importlib's WindowsRegistryFinder."
msgstr ""
#: ../../../Misc/NEWS:4416
msgid ""
"`Issue #19729 <https://bugs.python.org/19729>`__: In str.format(), fix "
"recursive expansion in format spec."
msgstr ""
#: ../../../Misc/NEWS:4418
msgid ""
"`Issue #19638 <https://bugs.python.org/19638>`__: Fix possible crash / "
"undefined behaviour from huge (more than 2 billion characters) input strings "
"in _Py_dg_strtod."
msgstr ""
#: ../../../Misc/NEWS:4424
msgid ""
"`Issue #20154 <https://bugs.python.org/20154>`__: Deadlock in asyncio."
"StreamReader.readexactly()."
msgstr ""
#: ../../../Misc/NEWS:4426
msgid ""
"`Issue #16113 <https://bugs.python.org/16113>`__: Remove sha3 module again."
msgstr ""
#: ../../../Misc/NEWS:4428
msgid ""
"`Issue #20111 <https://bugs.python.org/20111>`__: pathlib.Path.with_suffix() "
"now sanity checks the given suffix."
msgstr ""
#: ../../../Misc/NEWS:4430
msgid ""
"Fix breakage in TestSuite.countTestCases() introduced by `issue #11798 "
"<https://bugs.python.org/11798>`__."
msgstr ""
#: ../../../Misc/NEWS:4432
msgid ""
"`Issue #20108 <https://bugs.python.org/20108>`__: Avoid parameter name clash "
"in inspect.getcallargs()."
msgstr ""
#: ../../../Misc/NEWS:4434
msgid ""
"`Issue #19918 <https://bugs.python.org/19918>`__: Fix PurePath.relative_to() "
"under Windows."
msgstr ""
#: ../../../Misc/NEWS:4436
msgid ""
"`Issue #19422 <https://bugs.python.org/19422>`__: Explicitly disallow non-"
"SOCK_STREAM sockets in the ssl module, rather than silently let them emit "
"clear text data."
msgstr ""
#: ../../../Misc/NEWS:4439
msgid ""
"`Issue #20046 <https://bugs.python.org/20046>`__: Locale alias table no "
"longer contains entities which can be calculated. Generalized support of "
"the euro modifier."
msgstr ""
#: ../../../Misc/NEWS:4442
msgid ""
"`Issue #20027 <https://bugs.python.org/20027>`__: Fixed locale aliases for "
"devanagari locales."
msgstr ""
#: ../../../Misc/NEWS:4444
msgid ""
"`Issue #20067 <https://bugs.python.org/20067>`__: Tkinter variables now work "
"when wantobjects is false."
msgstr ""
#: ../../../Misc/NEWS:4446
msgid ""
"`Issue #19020 <https://bugs.python.org/19020>`__: Tkinter now uses "
"splitlist() instead of split() in configure methods."
msgstr ""
#: ../../../Misc/NEWS:4449
msgid ""
"`Issue #19744 <https://bugs.python.org/19744>`__: ensurepip now provides a "
"better error message when Python is built without SSL/TLS support (pip "
"currently requires that support to run, even if only operating with local "
"wheel files)"
msgstr ""
#: ../../../Misc/NEWS:4453
msgid ""
"`Issue #19734 <https://bugs.python.org/19734>`__: ensurepip now ignores all "
"pip environment variables to avoid odd behaviour based on user configuration "
"settings"
msgstr ""
#: ../../../Misc/NEWS:4456
msgid "Fix TypeError on \"setup.py upload --show-response\"."
msgstr ""
#: ../../../Misc/NEWS:4458
msgid ""
"`Issue #20045 <https://bugs.python.org/20045>`__: Fix \"setup.py register --"
"list-classifiers\"."
msgstr ""
#: ../../../Misc/NEWS:4460
msgid ""
"`Issue #18879 <https://bugs.python.org/18879>`__: When a method is looked up "
"on a temporary file, avoid closing the file before the method is possibly "
"called."
msgstr ""
#: ../../../Misc/NEWS:4463
msgid ""
"`Issue #20037 <https://bugs.python.org/20037>`__: Avoid crashes when opening "
"a text file late at interpreter shutdown."
msgstr ""
#: ../../../Misc/NEWS:4466
msgid ""
"`Issue #19967 <https://bugs.python.org/19967>`__: Thanks to the PEP 442, "
"asyncio.Future now uses a destructor to log uncaught exceptions, instead of "
"the dedicated _TracebackLogger class."
msgstr ""
#: ../../../Misc/NEWS:4470
msgid "Added a Task.current_task() class method to asyncio."
msgstr ""
#: ../../../Misc/NEWS:4472
msgid ""
"`Issue #19850 <https://bugs.python.org/19850>`__: Set SA_RESTART in asyncio "
"when registering a signal handler to limit EINTR occurrences."
msgstr ""
#: ../../../Misc/NEWS:4475
msgid ""
"Implemented write flow control in asyncio for proactor event loop (Windows)."
msgstr ""
#: ../../../Misc/NEWS:4477
msgid ""
"Change write buffer in asyncio use to avoid O(N**2) behavior. Make write()/"
"sendto() accept bytearray/memoryview."
msgstr ""
#: ../../../Misc/NEWS:4480
msgid ""
"`Issue #20034 <https://bugs.python.org/20034>`__: Updated alias mapping to "
"most recent locale.alias file from X.org distribution using makelocalealias."
"py."
msgstr ""
#: ../../../Misc/NEWS:4483
msgid ""
"`Issue #5815 <https://bugs.python.org/5815>`__: Fixed support for locales "
"with modifiers. Fixed support for locale encodings with hyphens."
msgstr ""
#: ../../../Misc/NEWS:4486
msgid ""
"`Issue #20026 <https://bugs.python.org/20026>`__: Fix the sqlite module to "
"handle correctly invalid isolation level (wrong type)."
msgstr ""
#: ../../../Misc/NEWS:4489
msgid ""
"`Issue #18829 <https://bugs.python.org/18829>`__: csv.Dialect() now checks "
"type for delimiter, escapechar and quotechar fields. Original patch by "
"Vajrasky Kok."
msgstr ""
#: ../../../Misc/NEWS:4492
msgid ""
"`Issue #19855 <https://bugs.python.org/19855>`__: uuid.getnode() on Unix now "
"looks on the PATH for the executables used to find the mac address, with /"
"sbin and /usr/sbin as fallbacks."
msgstr ""
#: ../../../Misc/NEWS:4496
msgid ""
"`Issue #20007 <https://bugs.python.org/20007>`__: HTTPResponse.read(0) no "
"more prematurely closes connection. Original patch by Simon Sapin."
msgstr ""
#: ../../../Misc/NEWS:4499
msgid ""
"`Issue #19946 <https://bugs.python.org/19946>`__: multiprocessing now uses "
"runpy to initialize __main__ in child processes when necessary, allowing it "
"to correctly handle scripts without suffixes and submodules that use "
"explicit relative imports or otherwise rely on parent modules being "
"correctly imported prior to execution."
msgstr ""
#: ../../../Misc/NEWS:4505
msgid ""
"`Issue #19921 <https://bugs.python.org/19921>`__: When Path.mkdir() is "
"called with parents=True, any missing parent is created with the default "
"permissions, ignoring the mode argument (mimicking the POSIX \"mkdir -p\" "
"command)."
msgstr ""
#: ../../../Misc/NEWS:4509
msgid ""
"`Issue #19887 <https://bugs.python.org/19887>`__: Improve the Path.resolve() "
"algorithm to support certain symlink chains."
msgstr ""
#: ../../../Misc/NEWS:4512
msgid ""
"`Issue #19912 <https://bugs.python.org/19912>`__: Fixed numerous bugs in "
"ntpath.splitunc()."
msgstr ""
#: ../../../Misc/NEWS:4514
msgid ""
"`Issue #19911 <https://bugs.python.org/19911>`__: ntpath.splitdrive() now "
"correctly processes the 'İ' character (U+0130, LATIN CAPITAL LETTER I WITH "
"DOT ABOVE)."
msgstr ""
#: ../../../Misc/NEWS:4517
msgid ""
"`Issue #19532 <https://bugs.python.org/19532>`__: python -m compileall with "
"no filename/directory arguments now respects the -f and -q flags instead of "
"ignoring them."
msgstr ""
#: ../../../Misc/NEWS:4520
msgid ""
"`Issue #19623 <https://bugs.python.org/19623>`__: Fixed writing to "
"unseekable files in the aifc module."
msgstr ""
#: ../../../Misc/NEWS:4522
msgid ""
"`Issue #19946 <https://bugs.python.org/19946>`__: multiprocessing.spawn now "
"raises ImportError when the module to be used as the main module cannot be "
"imported."
msgstr ""
#: ../../../Misc/NEWS:4525
msgid ""
"`Issue #17919 <https://bugs.python.org/17919>`__: select.poll.register() "
"again works with poll.POLLNVAL on AIX. Fixed integer overflow in the "
"eventmask parameter."
msgstr ""
#: ../../../Misc/NEWS:4528
msgid ""
"`Issue #19063 <https://bugs.python.org/19063>`__: if a Charset's "
"body_encoding was set to None, the email package would generate a message "
"claiming the Content-Transfer-Encoding was 7bit, and produce garbage output "
"for the content. This now works. A couple of other set_payload mishandlings "
"of non-ASCII are also fixed. In addition, calling set_payload with a string "
"argument without specifying a charset now raises an error (this is a new "
"error in 3.4)."
msgstr ""
#: ../../../Misc/NEWS:4535
msgid ""
"`Issue #15475 <https://bugs.python.org/15475>`__: Add __sizeof__ "
"implementations for itertools objects."
msgstr ""
#: ../../../Misc/NEWS:4537
msgid ""
"`Issue #19944 <https://bugs.python.org/19944>`__: Fix importlib.find_spec() "
"so it imports parents as needed and move the function to importlib.util."
msgstr ""
#: ../../../Misc/NEWS:4540
msgid ""
"`Issue #19880 <https://bugs.python.org/19880>`__: Fix a reference leak in "
"unittest.TestCase. Explicitly break reference cycles between frames and the "
"_Outcome instance."
msgstr ""
#: ../../../Misc/NEWS:4543
msgid ""
"`Issue #17429 <https://bugs.python.org/17429>`__: platform."
"linux_distribution() now decodes files from the UTF-8 encoding with the "
"surrogateescape error handler, instead of decoding from the locale encoding "
"in strict mode. It fixes the function on Fedora 19 which is probably the "
"first major distribution release with a non-ASCII name. Patch written by "
"Toshio Kuratomi."
msgstr ""
#: ../../../Misc/NEWS:4549
msgid ""
"`Issue #19343 <https://bugs.python.org/19343>`__: Expose FreeBSD-specific "
"APIs in resource module. Original patch by Koobs."
msgstr ""
#: ../../../Misc/NEWS:4552
msgid ""
"`Issue #19929 <https://bugs.python.org/19929>`__: Call os.read with 32768 "
"within subprocess.Popen.communicate rather than 4096 for efficiency. A "
"microbenchmark shows Linux and OS X both using ~50% less cpu time this way."
msgstr ""
#: ../../../Misc/NEWS:4556
msgid ""
"`Issue #19506 <https://bugs.python.org/19506>`__: Use a memoryview to avoid "
"a data copy when piping data to stdin within subprocess.Popen.communicate. "
"5-10% less cpu usage."
msgstr ""
#: ../../../Misc/NEWS:4559
msgid ""
"`Issue #19876 <https://bugs.python.org/19876>`__: selectors unregister() no "
"longer raises ValueError or OSError if the FD is closed (as long as it was "
"registered)."
msgstr ""
#: ../../../Misc/NEWS:4562
msgid ""
"`Issue #19908 <https://bugs.python.org/19908>`__: pathlib now joins relative "
"Windows paths correctly when a drive is present. Original patch by Antoine "
"Pitrou."
msgstr ""
#: ../../../Misc/NEWS:4565
msgid ""
"`Issue #19296 <https://bugs.python.org/19296>`__: Silence compiler warning "
"in dbm_open"
msgstr ""
#: ../../../Misc/NEWS:4567
msgid ""
"`Issue #6784 <https://bugs.python.org/6784>`__: Strings from Python 2 can "
"now be unpickled as bytes objects by setting the encoding argument of "
"Unpickler to be 'bytes'. Initial patch by Merlijn van Deen."
msgstr ""
#: ../../../Misc/NEWS:4571
msgid ""
"`Issue #19839 <https://bugs.python.org/19839>`__: Fix regression in bz2 "
"module's handling of non-bzip2 data at EOF, and analogous bug in lzma module."
msgstr ""
#: ../../../Misc/NEWS:4574
msgid ""
"`Issue #19881 <https://bugs.python.org/19881>`__: Fix pickling bug where "
"cpickle would emit bad pickle data for large bytes string (i.e., with size "
"greater than 2**32-1)."
msgstr ""
#: ../../../Misc/NEWS:4577
msgid ""
"`Issue #19138 <https://bugs.python.org/19138>`__: doctest's "
"IGNORE_EXCEPTION_DETAIL now allows a match when no exception detail exists "
"(no colon following the exception's name, or a colon does follow but no text "
"follows the colon)."
msgstr ""
#: ../../../Misc/NEWS:4581
msgid ""
"`Issue #19927 <https://bugs.python.org/19927>`__: Add __eq__ to path-based "
"loaders in importlib."
msgstr ""
#: ../../../Misc/NEWS:4583
msgid ""
"`Issue #19827 <https://bugs.python.org/19827>`__: On UNIX, setblocking() and "
"settimeout() methods of socket.socket can now avoid a second syscall if the "
"ioctl() function can be used, or if the non-blocking flag of the socket is "
"unchanged."
msgstr ""
#: ../../../Misc/NEWS:4587
msgid ""
"`Issue #19785 <https://bugs.python.org/19785>`__: smtplib now supports "
"SSLContext.check_hostname and server name indication for TLS/SSL connections."
msgstr ""
#: ../../../Misc/NEWS:4590
msgid ""
"`Issue #19784 <https://bugs.python.org/19784>`__: poplib now supports "
"SSLContext.check_hostname and server name indication for TLS/SSL connections."
msgstr ""
#: ../../../Misc/NEWS:4593
msgid ""
"`Issue #19783 <https://bugs.python.org/19783>`__: nntplib now supports "
"SSLContext.check_hostname and server name indication for TLS/SSL connections."
msgstr ""
#: ../../../Misc/NEWS:4596
msgid ""
"`Issue #19782 <https://bugs.python.org/19782>`__: imaplib now supports "
"SSLContext.check_hostname and server name indication for TLS/SSL connections."
msgstr ""
#: ../../../Misc/NEWS:4599
msgid ""
"`Issue #20123 <https://bugs.python.org/20123>`__: Fix pydoc.synopsis() for "
"\"binary\" modules."
msgstr ""
#: ../../../Misc/NEWS:4601
msgid ""
"`Issue #19834 <https://bugs.python.org/19834>`__: Support unpickling of "
"exceptions pickled by Python 2."
msgstr ""
#: ../../../Misc/NEWS:4603
msgid ""
"`Issue #19781 <https://bugs.python.org/19781>`__: ftplib now supports "
"SSLContext.check_hostname and server name indication for TLS/SSL connections."
msgstr ""
#: ../../../Misc/NEWS:4606
msgid ""
"`Issue #19509 <https://bugs.python.org/19509>`__: Add SSLContext."
"check_hostname to match the peer's certificate with server_hostname on "
"handshake."
msgstr ""
#: ../../../Misc/NEWS:4609
msgid ""
"`Issue #15798 <https://bugs.python.org/15798>`__: Fixed subprocess.Popen() "
"to no longer fail if file descriptor 0, 1 or 2 is closed."
msgstr ""
#: ../../../Misc/NEWS:4612
msgid ""
"`Issue #17897 <https://bugs.python.org/17897>`__: Optimized unpickle "
"prefetching."
msgstr ""
#: ../../../Misc/NEWS:4614
msgid ""
"`Issue #3693 <https://bugs.python.org/3693>`__: Make the error message more "
"helpful when the array.array() constructor is given a str. Move the array "
"module typecode documentation to the docstring of the constructor."
msgstr ""
#: ../../../Misc/NEWS:4618
msgid ""
"`Issue #19088 <https://bugs.python.org/19088>`__: Fixed incorrect caching of "
"the copyreg module in object.__reduce__() and object.__reduce_ex__()."
msgstr ""
#: ../../../Misc/NEWS:4621
msgid ""
"`Issue #19698 <https://bugs.python.org/19698>`__: Removed exec_module() "
"methods from importlib.machinery.BuiltinImporter and ExtensionFileLoader."
msgstr ""
#: ../../../Misc/NEWS:4624
msgid ""
"`Issue #18864 <https://bugs.python.org/18864>`__: Added a setter for "
"ModuleSpec.has_location."
msgstr ""
#: ../../../Misc/NEWS:4626
msgid ""
"Fixed _pickle.Unpickler to not fail when loading empty strings as persistent "
"IDs."
msgstr ""
#: ../../../Misc/NEWS:4629
msgid ""
"`Issue #11480 <https://bugs.python.org/11480>`__: Fixed copy.copy to work "
"with classes with custom metaclasses. Patch by Daniel Urban."
msgstr ""
#: ../../../Misc/NEWS:4632
msgid ""
"`Issue #6477 <https://bugs.python.org/6477>`__: Added support for pickling "
"the types of built-in singletons (i.e., Ellipsis, NotImplemented, None)."
msgstr ""
#: ../../../Misc/NEWS:4635
msgid ""
"`Issue #19713 <https://bugs.python.org/19713>`__: Add remaining PEP 451-"
"related deprecations and move away from using find_module/find_loaer/"
"load_module."
msgstr ""
#: ../../../Misc/NEWS:4638
msgid ""
"`Issue #19708 <https://bugs.python.org/19708>`__: Update pkgutil to use the "
"new importer APIs."
msgstr ""
#: ../../../Misc/NEWS:4640
msgid ""
"`Issue #19703 <https://bugs.python.org/19703>`__: Update pydoc to use the "
"new importer APIs."
msgstr ""
#: ../../../Misc/NEWS:4642
msgid ""
"`Issue #19851 <https://bugs.python.org/19851>`__: Fixed a regression in "
"reloading sub-modules."
msgstr ""
#: ../../../Misc/NEWS:4644
msgid "ssl.create_default_context() sets OP_NO_COMPRESSION to prevent CRIME."
msgstr ""
#: ../../../Misc/NEWS:4646
msgid ""
"`Issue #19802 <https://bugs.python.org/19802>`__: Add socket.SO_PRIORITY."
msgstr ""
#: ../../../Misc/NEWS:4648
msgid ""
"`Issue #11508 <https://bugs.python.org/11508>`__: Fixed uuid.getnode() and "
"uuid.uuid1() on environment with virtual interface. Original patch by Kent "
"Frazier."
msgstr ""
#: ../../../Misc/NEWS:4651
msgid ""
"`Issue #11489 <https://bugs.python.org/11489>`__: JSON decoder now accepts "
"lone surrogates."
msgstr ""
#: ../../../Misc/NEWS:4653
msgid ""
"`Issue #19545 <https://bugs.python.org/19545>`__: Avoid chained exceptions "
"while passing stray % to time.strptime(). Initial patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:4659
msgid ""
"`Issue #20058 <https://bugs.python.org/20058>`__: sys.stdin.readline() in "
"IDLE now always returns only one line."
msgstr ""
#: ../../../Misc/NEWS:4661
msgid ""
"`Issue #19481 <https://bugs.python.org/19481>`__: print() of string subclass "
"instance in IDLE no longer hangs."
msgstr ""
#: ../../../Misc/NEWS:4663
msgid ""
"`Issue #18270 <https://bugs.python.org/18270>`__: Prevent possible IDLE "
"AttributeError on OS X when no initial shell window is present."
msgstr ""
#: ../../../Misc/NEWS:4669
msgid ""
"`Issue #20055 <https://bugs.python.org/20055>`__: Fix test_shutil under "
"Windows with symlink privileges held. Patch by Vajrasky Kok."
msgstr ""
#: ../../../Misc/NEWS:4672
msgid ""
"`Issue #20070 <https://bugs.python.org/20070>`__: Don't run test_urllib2net "
"when network resources are not enabled."
msgstr ""
#: ../../../Misc/NEWS:4675
msgid ""
"`Issue #19938 <https://bugs.python.org/19938>`__: Re-enabled "
"test_bug_1333982 in test_dis, which had been disabled since 3.0 due to the "
"changes in listcomp handling."
msgstr ""
#: ../../../Misc/NEWS:4678
msgid ""
"`Issue #19320 <https://bugs.python.org/19320>`__: test_tcl no longer fails "
"when wantobjects is false."
msgstr ""
#: ../../../Misc/NEWS:4680
msgid ""
"`Issue #19919 <https://bugs.python.org/19919>`__: Fix flaky SSL test. "
"connect_ex() sometimes returns EWOULDBLOCK on Windows or VMs hosted on "
"Windows."
msgstr ""
#: ../../../Misc/NEWS:4683
msgid ""
"`Issue #19912 <https://bugs.python.org/19912>`__: Added tests for ntpath."
"splitunc()."
msgstr ""
#: ../../../Misc/NEWS:4685
msgid ""
"`Issue #19828 <https://bugs.python.org/19828>`__: Fixed test_site when the "
"whole suite is run with -S."
msgstr ""
#: ../../../Misc/NEWS:4687
msgid ""
"`Issue #19928 <https://bugs.python.org/19928>`__: Implemented a test for "
"repr() of cell objects."
msgstr ""
#: ../../../Misc/NEWS:4689
msgid ""
"`Issue #19535 <https://bugs.python.org/19535>`__: Fixed test_docxmlrpc, "
"test_functools, test_inspect, and test_statistics when python is run with -"
"OO."
msgstr ""
#: ../../../Misc/NEWS:4692
msgid ""
"`Issue #19926 <https://bugs.python.org/19926>`__: Removed unneeded test_main "
"from test_abstract_numbers. Patch by Vajrasky Kok."
msgstr ""
#: ../../../Misc/NEWS:4695
msgid ""
"`Issue #19572 <https://bugs.python.org/19572>`__: More skipped tests "
"explicitly marked as skipped."
msgstr ""
#: ../../../Misc/NEWS:4697
msgid ""
"`Issue #19595 <https://bugs.python.org/19595>`__, #19987: Re-enabled a long-"
"disabled test in test_winsound."
msgstr ""
#: ../../../Misc/NEWS:4699
msgid ""
"`Issue #19588 <https://bugs.python.org/19588>`__: Fixed tests in test_random "
"that were silently skipped most of the time. Patch by Julian Gindi."
msgstr ""
#: ../../../Misc/NEWS:4705
msgid ""
"`Issue #19728 <https://bugs.python.org/19728>`__: Enable pip installation by "
"default on Windows."
msgstr ""
#: ../../../Misc/NEWS:4707
msgid "`Issue #16136 <https://bugs.python.org/16136>`__: Remove VMS support"
msgstr ""
#: ../../../Misc/NEWS:4709
msgid ""
"`Issue #18215 <https://bugs.python.org/18215>`__: Add script Tools/ssl/"
"test_multiple_versions.py to compile and run Python's unit tests with "
"multiple versions of OpenSSL."
msgstr ""
#: ../../../Misc/NEWS:4712
msgid ""
"`Issue #19922 <https://bugs.python.org/19922>`__: define "
"_INCLUDE__STDC_A1_SOURCE in HP-UX to include mbstate_t for mbrtowc()."
msgstr ""
#: ../../../Misc/NEWS:4715
msgid ""
"`Issue #19788 <https://bugs.python.org/19788>`__: kill_python(_d).exe is now "
"run as a PreBuildEvent on the pythoncore sub-project. This should prevent "
"build errors due a previous build's python(_d).exe still running."
msgstr ""
#: ../../../Misc/NEWS:4722
msgid ""
"`Issue #20265 <https://bugs.python.org/20265>`__: Updated some parts of the "
"Using Windows document."
msgstr ""
#: ../../../Misc/NEWS:4724
msgid ""
"`Issue #20266 <https://bugs.python.org/20266>`__: Updated some parts of the "
"Windows FAQ."
msgstr ""
#: ../../../Misc/NEWS:4726
msgid ""
"`Issue #20255 <https://bugs.python.org/20255>`__: Updated the about and bugs "
"pages."
msgstr ""
#: ../../../Misc/NEWS:4728
msgid ""
"`Issue #20253 <https://bugs.python.org/20253>`__: Fixed a typo in the "
"ipaddress docs that advertised an illegal attribute name. Found by INADA "
"Naoki."
msgstr ""
#: ../../../Misc/NEWS:4731
msgid ""
"`Issue #18840 <https://bugs.python.org/18840>`__: Introduce the json module "
"in the tutorial, and de-emphasize the pickle module."
msgstr ""
#: ../../../Misc/NEWS:4734
msgid ""
"`Issue #19845 <https://bugs.python.org/19845>`__: Updated the Compiling "
"Python on Windows section."
msgstr ""
#: ../../../Misc/NEWS:4736
msgid ""
"`Issue #19795 <https://bugs.python.org/19795>`__: Improved markup of True/"
"False constants."
msgstr ""
#: ../../../Misc/NEWS:4741
msgid ""
"`Issue #19659 <https://bugs.python.org/19659>`__: Added documentation for "
"Argument Clinic."
msgstr ""
#: ../../../Misc/NEWS:4743
msgid ""
"`Issue #19976 <https://bugs.python.org/19976>`__: Argument Clinic "
"METH_NOARGS functions now always take two parameters."
msgstr ""
#: ../../../Misc/NEWS:4748
msgid "Python 3.4.0 Beta 1"
msgstr ""
#: ../../../Misc/NEWS:4750
msgid "Release date: 2013-11-24"
msgstr ""
#: ../../../Misc/NEWS:4755
msgid ""
"Use the repr of a module name in more places in import, especially "
"exceptions."
msgstr ""
#: ../../../Misc/NEWS:4758
msgid ""
"`Issue #19619 <https://bugs.python.org/19619>`__: str.encode, bytes.decode "
"and bytearray.decode now use an internal API to throw LookupError for known "
"non-text encodings, rather than attempting the encoding or decoding "
"operation and then throwing a TypeError for an unexpected output type. (The "
"latter mechanism remains in place for third party non-text encodings)"
msgstr ""
#: ../../../Misc/NEWS:4764
msgid ""
"`Issue #19183 <https://bugs.python.org/19183>`__: Implement PEP 456 'secure "
"and interchangeable hash algorithm'. Python now uses SipHash24 on all major "
"platforms."
msgstr ""
#: ../../../Misc/NEWS:4767
msgid ""
"`Issue #12892 <https://bugs.python.org/12892>`__: The utf-16* and utf-32* "
"encoders no longer allow surrogate code points (U+D800-U+DFFF) to be "
"encoded. The utf-32* decoders no longer decode byte sequences that "
"correspond to surrogate code points. The surrogatepass error handler now "
"works with the utf-16* and utf-32* codecs. Based on patches by Victor "
"Stinner and Kang-Hao (Kenny) Lu."
msgstr ""
#: ../../../Misc/NEWS:4773
msgid ""
"`Issue #17806 <https://bugs.python.org/17806>`__: Added keyword-argument "
"support for \"tabsize\" to str/bytes.expandtabs()."
msgstr ""
#: ../../../Misc/NEWS:4776
msgid ""
"`Issue #17828 <https://bugs.python.org/17828>`__: Output type errors in str."
"encode(), bytes.decode() and bytearray.decode() now direct users to codecs."
"encode() or codecs.decode() as appropriate."
msgstr ""
#: ../../../Misc/NEWS:4780
msgid ""
"`Issue #17828 <https://bugs.python.org/17828>`__: The interpreter now "
"attempts to chain errors that occur in codec processing with a replacement "
"exception of the same type that includes the codec name in the error "
"message. It ensures it only does this when the creation of the replacement "
"exception won't lose any information."
msgstr ""
#: ../../../Misc/NEWS:4785
msgid ""
"`Issue #19466 <https://bugs.python.org/19466>`__: Clear the frames of daemon "
"threads earlier during the Python shutdown to call objects destructors. So "
"\"unclosed file\" resource warnings are now corretly emitted for daemon "
"threads."
msgstr ""
#: ../../../Misc/NEWS:4789
msgid ""
"`Issue #19514 <https://bugs.python.org/19514>`__: Deduplicate some "
"_Py_IDENTIFIER declarations. Patch by Andrei Dorian Duma."
msgstr ""
#: ../../../Misc/NEWS:4792
msgid ""
"`Issue #17936 <https://bugs.python.org/17936>`__: Fix O(n**2) behaviour when "
"adding or removing many subclasses of a given type."
msgstr ""
#: ../../../Misc/NEWS:4795
msgid ""
"`Issue #19428 <https://bugs.python.org/19428>`__: zipimport now handles "
"errors when reading truncated or invalid ZIP archive."
msgstr ""
#: ../../../Misc/NEWS:4798
msgid ""
"`Issue #18408 <https://bugs.python.org/18408>`__: Add a new "
"PyFrame_FastToLocalsWithError() function to handle exceptions when merging "
"fast locals into f_locals of a frame. PyEval_GetLocals() now raises an "
"exception and return NULL on failure."
msgstr ""
#: ../../../Misc/NEWS:4802
msgid ""
"`Issue #19369 <https://bugs.python.org/19369>`__: Optimized the usage of "
"__length_hint__()."
msgstr ""
#: ../../../Misc/NEWS:4804
msgid ""
"`Issue #18603 <https://bugs.python.org/18603>`__: Ensure that PyOS_mystricmp "
"and PyOS_mystrnicmp are in the Python executable and not removed by the "
"linker's optimizer."
msgstr ""
#: ../../../Misc/NEWS:4807
msgid ""
"`Issue #19306 <https://bugs.python.org/19306>`__: Add extra hints to the "
"faulthandler module's stack dumps that these are \"upside down\"."
msgstr ""
#: ../../../Misc/NEWS:4813
msgid ""
"`Issue #3158 <https://bugs.python.org/3158>`__: doctest can now find "
"doctests in functions and methods written in C."
msgstr ""
#: ../../../Misc/NEWS:4816
msgid ""
"`Issue #13477 <https://bugs.python.org/13477>`__: Added command line "
"interface to the tarfile module. Original patch by Berker Peksag."
msgstr ""
#: ../../../Misc/NEWS:4819
msgid ""
"`Issue #19674 <https://bugs.python.org/19674>`__: inspect.signature() now "
"produces a correct signature for some builtins."
msgstr ""
#: ../../../Misc/NEWS:4822
msgid ""
"`Issue #19722 <https://bugs.python.org/19722>`__: Added opcode."
"stack_effect(), which computes the stack effect of bytecode instructions."
msgstr ""
#: ../../../Misc/NEWS:4825
msgid ""
"`Issue #19735 <https://bugs.python.org/19735>`__: Implement private function "
"ssl._create_stdlib_context() to create SSLContext objects in Python's stdlib "
"module. It provides a single configuration point and makes use of SSLContext."
"load_default_certs()."
msgstr ""
#: ../../../Misc/NEWS:4829
msgid ""
"`Issue #16203 <https://bugs.python.org/16203>`__: Add re.fullmatch() "
"function and regex.fullmatch() method, which anchor the pattern at both ends "
"of the string to match. Original patch by Matthew Barnett."
msgstr ""
#: ../../../Misc/NEWS:4833
msgid ""
"`Issue #13592 <https://bugs.python.org/13592>`__: Improved the repr for "
"regular expression pattern objects. Based on patch by Hugo Lopes Tavares."
msgstr ""
#: ../../../Misc/NEWS:4836
msgid ""
"`Issue #19641 <https://bugs.python.org/19641>`__: Added the audioop."
"byteswap() function to convert big-endian samples to little-endian and vice "
"versa."
msgstr ""
#: ../../../Misc/NEWS:4839
msgid ""
"`Issue #15204 <https://bugs.python.org/15204>`__: Deprecated the 'U' mode in "
"file-like objects."
msgstr ""
#: ../../../Misc/NEWS:4841
msgid ""
"`Issue #17810 <https://bugs.python.org/17810>`__: Implement PEP 3154, pickle "
"protocol 4."
msgstr ""
#: ../../../Misc/NEWS:4843
msgid ""
"`Issue #19668 <https://bugs.python.org/19668>`__: Added support for the "
"cp1125 encoding."
msgstr ""
#: ../../../Misc/NEWS:4845
msgid ""
"`Issue #19689 <https://bugs.python.org/19689>`__: Add ssl."
"create_default_context() factory function. It creates a new SSLContext "
"object with secure default settings."
msgstr ""
#: ../../../Misc/NEWS:4848
msgid ""
"`Issue #19727 <https://bugs.python.org/19727>`__: os.utime(..., None) is now "
"potentially more precise under Windows."
msgstr ""
#: ../../../Misc/NEWS:4851
msgid ""
"`Issue #17201 <https://bugs.python.org/17201>`__: ZIP64 extensions now are "
"enabled by default. Patch by William Mallard."
msgstr ""
#: ../../../Misc/NEWS:4854
msgid ""
"`Issue #19292 <https://bugs.python.org/19292>`__: Add SSLContext."
"load_default_certs() to load default root CA certificates from default "
"stores or system stores. By default the method loads CA certs for "
"authentication of server certs."
msgstr ""
#: ../../../Misc/NEWS:4858
msgid ""
"`Issue #19673 <https://bugs.python.org/19673>`__: Add pathlib to the stdlib "
"as a provisional module (PEP 428)."
msgstr ""
#: ../../../Misc/NEWS:4860
msgid ""
"`Issue #16596 <https://bugs.python.org/16596>`__: pdb in a generator now "
"properly skips over yield and yield from rather than stepping out of the "
"generator into its caller. (This is essential for stepping through asyncio "
"coroutines.)"
msgstr ""
#: ../../../Misc/NEWS:4864
msgid ""
"`Issue #17916 <https://bugs.python.org/17916>`__: Added dis.Bytecode."
"from_traceback() and dis.Bytecode.current_offset to easily display \"current "
"instruction\" markers in the new disassembly API (Patch by Claudiu Popa)."
msgstr ""
#: ../../../Misc/NEWS:4868
msgid ""
"`Issue #19552 <https://bugs.python.org/19552>`__: venv now supports "
"bootstrapping pip into virtual environments"
msgstr ""
#: ../../../Misc/NEWS:4870
msgid ""
"`Issue #17134 <https://bugs.python.org/17134>`__: Finalize interface to "
"Windows' certificate store. Cert and CRL enumeration are now two functions. "
"enum_certificates() also returns purpose flags as set of OIDs."
msgstr ""
#: ../../../Misc/NEWS:4874
msgid ""
"`Issue #19555 <https://bugs.python.org/19555>`__: Restore sysconfig."
"get_config_var('SO'), (and the distutils equivalent) with a "
"DeprecationWarning pointing people at $EXT_SUFFIX."
msgstr ""
#: ../../../Misc/NEWS:4877
msgid ""
"`Issue #8813 <https://bugs.python.org/8813>`__: Add SSLContext.verify_flags "
"to change the verification flags of the context in order to enable "
"certification revocation list (CRL) checks or strict X509 rules."
msgstr ""
#: ../../../Misc/NEWS:4881
msgid ""
"`Issue #18294 <https://bugs.python.org/18294>`__: Fix the zlib module to "
"make it 64-bit safe."
msgstr ""
#: ../../../Misc/NEWS:4883
msgid ""
"`Issue #19682 <https://bugs.python.org/19682>`__: Fix compatibility issue "
"with old version of OpenSSL that was introduced by `Issue #18379 <https://"
"bugs.python.org/18379>`__."
msgstr ""
#: ../../../Misc/NEWS:4886
msgid ""
"`Issue #14455 <https://bugs.python.org/14455>`__: plistlib now supports "
"binary plists and has an updated API."
msgstr ""
#: ../../../Misc/NEWS:4888
msgid ""
"`Issue #19633 <https://bugs.python.org/19633>`__: Fixed writing not "
"compressed 16- and 32-bit wave files on big-endian platforms."
msgstr ""
#: ../../../Misc/NEWS:4891
msgid ""
"`Issue #18379 <https://bugs.python.org/18379>`__: SSLSocket.getpeercert() "
"returns CA issuer AIA fields, OCSP and CRL distribution points."
msgstr ""
#: ../../../Misc/NEWS:4894
msgid ""
"`Issue #18138 <https://bugs.python.org/18138>`__: Implement cadata argument "
"of SSLContext.load_verify_location() to load CA certificates and CRL from "
"memory. It supports PEM and DER encoded strings."
msgstr ""
#: ../../../Misc/NEWS:4898
msgid ""
"`Issue #18775 <https://bugs.python.org/18775>`__: Add name and block_size "
"attribute to HMAC object. They now provide the same API elements as non-"
"keyed cryptographic hash functions."
msgstr ""
#: ../../../Misc/NEWS:4901
msgid ""
"`Issue #17276 <https://bugs.python.org/17276>`__: MD5 as default digestmod "
"for HMAC is deprecated. The HMAC module supports digestmod names, e.g. hmac."
"HMAC('sha1')."
msgstr ""
#: ../../../Misc/NEWS:4904
msgid ""
"`Issue #19449 <https://bugs.python.org/19449>`__: in csv's writerow, handle "
"non-string keys when generating the error message that certain keys are not "
"in the 'fieldnames' list."
msgstr ""
#: ../../../Misc/NEWS:4907
msgid ""
"`Issue #13633 <https://bugs.python.org/13633>`__: Added a new "
"convert_charrefs keyword arg to HTMLParser that, when True, automatically "
"converts all character references."
msgstr ""
#: ../../../Misc/NEWS:4910
msgid ""
"`Issue #2927 <https://bugs.python.org/2927>`__: Added the unescape() "
"function to the html module."
msgstr ""
#: ../../../Misc/NEWS:4912
msgid ""
"`Issue #8402 <https://bugs.python.org/8402>`__: Added the escape() function "
"to the glob module."
msgstr ""
#: ../../../Misc/NEWS:4914
msgid ""
"`Issue #17618 <https://bugs.python.org/17618>`__: Add Base85 and Ascii85 "
"encoding/decoding to the base64 module."
msgstr ""
#: ../../../Misc/NEWS:4916
msgid ""
"`Issue #19634 <https://bugs.python.org/19634>`__: time.strftime(\"%y\") now "
"raises a ValueError on AIX when given a year before 1900."
msgstr ""
#: ../../../Misc/NEWS:4919
msgid ""
"Fix test.support.bind_port() to not cause an error when Python was compiled "
"on a system with SO_REUSEPORT defined in the headers but run on a system "
"with an OS kernel that does not support that reasonably new socket option."
msgstr ""
#: ../../../Misc/NEWS:4923
msgid ""
"Fix compilation error under gcc of the ctypes module bundled libffi for arm."
msgstr ""
#: ../../../Misc/NEWS:4925
msgid ""
"`Issue #19448 <https://bugs.python.org/19448>`__: Add private API to SSL "
"module to lookup ASN.1 objects by OID, NID, short name and long name."
msgstr ""
#: ../../../Misc/NEWS:4928
msgid ""
"`Issue #19282 <https://bugs.python.org/19282>`__: dbm.open now supports the "
"context management protocol. (Inital patch by Claudiu Popa)"
msgstr ""
#: ../../../Misc/NEWS:4931
msgid ""
"`Issue #8311 <https://bugs.python.org/8311>`__: Added support for writing "
"any bytes-like objects in the aifc, sunau, and wave modules."
msgstr ""
#: ../../../Misc/NEWS:4934
msgid ""
"`Issue #5202 <https://bugs.python.org/5202>`__: Added support for unseekable "
"files in the wave module."
msgstr ""
#: ../../../Misc/NEWS:4936
msgid ""
"`Issue #19544 <https://bugs.python.org/19544>`__ and `Issue #1180 <https://"
"bugs.python.org/1180>`__: Restore global option to ignore ~/.pydistutils.cfg "
"in Distutils, accidentally removed in backout of distutils2 changes."
msgstr ""
#: ../../../Misc/NEWS:4940
msgid ""
"`Issue #19523 <https://bugs.python.org/19523>`__: Closed FileHandler leak "
"which occurred when delay was set."
msgstr ""
#: ../../../Misc/NEWS:4942
msgid ""
"`Issue #19544 <https://bugs.python.org/19544>`__ and `Issue #6516 <https://"
"bugs.python.org/6516>`__: Restore support for --user and --group parameters "
"to sdist command accidentally rolled back as part of the distutils2 rollback."
msgstr ""
#: ../../../Misc/NEWS:4946
msgid ""
"`Issue #13674 <https://bugs.python.org/13674>`__: Prevented time.strftime "
"from crashing on Windows when given a year before 1900 and a format of %y."
msgstr ""
#: ../../../Misc/NEWS:4949
msgid ""
"`Issue #19406 <https://bugs.python.org/19406>`__: implementation of the "
"ensurepip module (part of PEP 453). Patch by Donald Stufft and Nick Coghlan."
msgstr ""
#: ../../../Misc/NEWS:4952
msgid ""
"`Issue #19544 <https://bugs.python.org/19544>`__ and `Issue #6286 <https://"
"bugs.python.org/6286>`__: Restore use of urllib over http allowing use of "
"http_proxy for Distutils upload command, a feature accidentally lost in the "
"rollback of distutils2."
msgstr ""
#: ../../../Misc/NEWS:4956
msgid ""
"`Issue #19544 <https://bugs.python.org/19544>`__ and `Issue #7457 <https://"
"bugs.python.org/7457>`__: Restore the read_pkg_file method to distutils.dist."
"DistributionMetadata accidentally removed in the undo of distutils2."
msgstr ""
#: ../../../Misc/NEWS:4960
msgid ""
"`Issue #16685 <https://bugs.python.org/16685>`__: Added support for any "
"bytes-like objects in the audioop module. Removed support for strings."
msgstr ""
#: ../../../Misc/NEWS:4963
msgid ""
"`Issue #7171 <https://bugs.python.org/7171>`__: Add Windows implementation "
"of ``inet_ntop`` and ``inet_pton`` to socket module. Patch by Atsuo Ishimoto."
msgstr ""
#: ../../../Misc/NEWS:4966
msgid ""
"`Issue #19261 <https://bugs.python.org/19261>`__: Added support for writing "
"24-bit samples in the sunau module."
msgstr ""
#: ../../../Misc/NEWS:4968
msgid ""
"`Issue #1097797 <https://bugs.python.org/1097797>`__: Added CP273 encoding, "
"used on IBM mainframes in Germany and Austria. Mapping provided by Michael "
"Bierenfeld."
msgstr ""
#: ../../../Misc/NEWS:4971
msgid ""
"`Issue #1575020 <https://bugs.python.org/1575020>`__: Fixed support of 24-"
"bit wave files on big-endian platforms."
msgstr ""
#: ../../../Misc/NEWS:4973
msgid ""
"`Issue #19378 <https://bugs.python.org/19378>`__: Fixed a number of cases in "
"the dis module where the new \"file\" parameter was not being honoured "
"correctly"
msgstr ""
#: ../../../Misc/NEWS:4976
msgid ""
"`Issue #19378 <https://bugs.python.org/19378>`__: Removed the \"dis.Bytecode."
"show_info\" method"
msgstr ""
#: ../../../Misc/NEWS:4978
msgid ""
"`Issue #19378 <https://bugs.python.org/19378>`__: Renamed the \"dis.Bytecode."
"display_code\" method to \"dis.Bytecode.dis\" and converted it to returning "
"a string rather than printing output."
msgstr ""
#: ../../../Misc/NEWS:4982
msgid ""
"`Issue #19378 <https://bugs.python.org/19378>`__: the \"line_offset\" "
"parameter in the new \"dis.get_instructions\" API has been renamed to "
"\"first_line\" (and the default value and usage changed accordingly). This "
"should reduce confusion with the more common use of \"offset\" in the dis "
"docs to refer to bytecode offsets."
msgstr ""
#: ../../../Misc/NEWS:4987
msgid ""
"`Issue #18678 <https://bugs.python.org/18678>`__: Corrected spwd struct "
"member names in spwd module: sp_nam->sp_namp, and sp_pwd->sp_pwdp. The old "
"names are kept as extra structseq members, for backward compatibility."
msgstr ""
#: ../../../Misc/NEWS:4991
msgid ""
"`Issue #6157 <https://bugs.python.org/6157>`__: Fixed tkinter.Text.debug(). "
"tkinter.Text.bbox() now raises TypeError instead of TclError on wrong number "
"of arguments. Original patch by Guilherme Polo."
msgstr ""
#: ../../../Misc/NEWS:4995
msgid ""
"`Issue #10197 <https://bugs.python.org/10197>`__: Rework subprocess."
"get[status]output to use subprocess functionality and thus to work on "
"Windows. Patch by Nick Coghlan"
msgstr ""
#: ../../../Misc/NEWS:4998
msgid ""
"`Issue #6160 <https://bugs.python.org/6160>`__: The bbox() method of tkinter."
"Spinbox now returns a tuple of integers instead of a string. Based on patch "
"by Guilherme Polo."
msgstr ""
#: ../../../Misc/NEWS:5001
msgid ""
"`Issue #19403 <https://bugs.python.org/19403>`__: contextlib.redirect_stdout "
"is now reentrant"
msgstr ""
#: ../../../Misc/NEWS:5003
msgid ""
"`Issue #19286 <https://bugs.python.org/19286>`__: Directories in "
"``package_data`` are no longer added to the filelist, preventing failure "
"outlined in the ticket."
msgstr ""
#: ../../../Misc/NEWS:5006
msgid ""
"`Issue #19480 <https://bugs.python.org/19480>`__: HTMLParser now accepts all "
"valid start-tag names as defined by the HTML5 standard."
msgstr ""
#: ../../../Misc/NEWS:5009
msgid ""
"`Issue #15114 <https://bugs.python.org/15114>`__: The html.parser module now "
"raises a DeprecationWarning when the strict argument of HTMLParser or the "
"HTMLParser.error method are used."
msgstr ""
#: ../../../Misc/NEWS:5012
msgid ""
"`Issue #19410 <https://bugs.python.org/19410>`__: Undo the special-casing "
"removal of '' for importlib.machinery.FileFinder."
msgstr ""
#: ../../../Misc/NEWS:5015
msgid ""
"`Issue #19424 <https://bugs.python.org/19424>`__: Fix the warnings module to "
"accept filename containing surrogate characters."
msgstr ""
#: ../../../Misc/NEWS:5018
msgid ""
"`Issue #19435 <https://bugs.python.org/19435>`__: Fix directory traversal "
"attack on CGIHttpRequestHandler."
msgstr ""
#: ../../../Misc/NEWS:5020
msgid ""
"`Issue #19227 <https://bugs.python.org/19227>`__: Remove pthread_atfork() "
"handler. The handler was added to solve #18747 but has caused issues."
msgstr ""
#: ../../../Misc/NEWS:5023
msgid ""
"`Issue #19420 <https://bugs.python.org/19420>`__: Fix reference leak in "
"module initalization code of _hashopenssl.c"
msgstr ""
#: ../../../Misc/NEWS:5026
msgid ""
"`Issue #19329 <https://bugs.python.org/19329>`__: Optimized compiling "
"charsets in regular expressions."
msgstr ""
#: ../../../Misc/NEWS:5028
msgid ""
"`Issue #19227 <https://bugs.python.org/19227>`__: Try to fix deadlocks "
"caused by re-seeding then OpenSSL pseudo-random number generator on fork()."
msgstr ""
#: ../../../Misc/NEWS:5031
msgid ""
"`Issue #16037 <https://bugs.python.org/16037>`__: HTTPMessage.readheaders() "
"raises an HTTPException when more than 100 headers are read. Adapted from "
"patch by Jyrki Pulliainen."
msgstr ""
#: ../../../Misc/NEWS:5034
msgid ""
"`Issue #16040 <https://bugs.python.org/16040>`__: CVE-2013-1752: nntplib: "
"Limit maximum line lengths to 2048 to prevent readline() calls from "
"consuming too much memory. Patch by Jyrki Pulliainen."
msgstr ""
#: ../../../Misc/NEWS:5038
msgid ""
"`Issue #16041 <https://bugs.python.org/16041>`__: CVE-2013-1752: poplib: "
"Limit maximum line lengths to 2048 to prevent readline() calls from "
"consuming too much memory. Patch by Jyrki Pulliainen."
msgstr ""
#: ../../../Misc/NEWS:5042
msgid ""
"`Issue #17997 <https://bugs.python.org/17997>`__: Change behavior of ``ssl."
"match_hostname()`` to follow RFC 6125, for security reasons. It now doesn't "
"match multiple wildcards nor wildcards inside IDN fragments."
msgstr ""
#: ../../../Misc/NEWS:5046
msgid ""
"`Issue #16039 <https://bugs.python.org/16039>`__: CVE-2013-1752: Change use "
"of readline in imaplib module to limit line length. Patch by Emil Lind."
msgstr ""
#: ../../../Misc/NEWS:5049
msgid ""
"`Issue #19330 <https://bugs.python.org/19330>`__: the unnecessary wrapper "
"functions have been removed from the implementations of the new contextlib."
"redirect_stdout and contextlib.suppress context managers, which also ensures "
"they provide reasonable help() output on instances"
msgstr ""
#: ../../../Misc/NEWS:5054
msgid ""
"`Issue #19393 <https://bugs.python.org/19393>`__: Fix symtable.symtable "
"function to not be confused when there are functions or classes named \"top"
"\"."
msgstr ""
#: ../../../Misc/NEWS:5057
msgid ""
"`Issue #18685 <https://bugs.python.org/18685>`__: Restore re performance to "
"pre-PEP 393 levels."
msgstr ""
#: ../../../Misc/NEWS:5059
msgid ""
"`Issue #19339 <https://bugs.python.org/19339>`__: telnetlib module is now "
"using time.monotonic() when available to compute timeout."
msgstr ""
#: ../../../Misc/NEWS:5062
msgid ""
"`Issue #19399 <https://bugs.python.org/19399>`__: fix sporadic "
"test_subprocess failure."
msgstr ""
#: ../../../Misc/NEWS:5064
msgid ""
"`Issue #13234 <https://bugs.python.org/13234>`__: Fix os.listdir to work "
"with extended paths on Windows. Patch by Santoso Wijaya."
msgstr ""
#: ../../../Misc/NEWS:5067
msgid ""
"`Issue #19375 <https://bugs.python.org/19375>`__: The site module adding a "
"\"site-python\" directory to sys.path, if it exists, is now deprecated."
msgstr ""
#: ../../../Misc/NEWS:5070
msgid ""
"`Issue #19379 <https://bugs.python.org/19379>`__: Lazily import linecache in "
"the warnings module, to make startup with warnings faster until a warning "
"gets printed."
msgstr ""
#: ../../../Misc/NEWS:5073
msgid ""
"`Issue #19288 <https://bugs.python.org/19288>`__: Fixed the \"in\" operator "
"of dbm.gnu databases for string argument. Original patch by Arfrever "
"Frehtes Taifersar Arahesis."
msgstr ""
#: ../../../Misc/NEWS:5076
msgid ""
"`Issue #19287 <https://bugs.python.org/19287>`__: Fixed the \"in\" operator "
"of dbm.ndbm databases for string argument. Original patch by Arfrever "
"Frehtes Taifersar Arahesis."
msgstr ""
#: ../../../Misc/NEWS:5079
msgid ""
"`Issue #19327 <https://bugs.python.org/19327>`__: Fixed the working of "
"regular expressions with too big charset."
msgstr ""
#: ../../../Misc/NEWS:5081
msgid ""
"`Issue #17400 <https://bugs.python.org/17400>`__: New 'is_global' attribute "
"for ipaddress to tell if an address is allocated by IANA for global or "
"private networks."
msgstr ""
#: ../../../Misc/NEWS:5084
msgid ""
"`Issue #19350 <https://bugs.python.org/19350>`__: Increasing the test "
"coverage of macurl2path. Patch by Colin Williams."
msgstr ""
#: ../../../Misc/NEWS:5087
msgid ""
"`Issue #19365 <https://bugs.python.org/19365>`__: Optimized the parsing of "
"long replacement string in re.sub*() functions."
msgstr ""
#: ../../../Misc/NEWS:5090
msgid ""
"`Issue #19352 <https://bugs.python.org/19352>`__: Fix unittest discovery "
"when a module can be reached through several paths (e.g. under Debian/Ubuntu "
"with virtualenv)."
msgstr ""
#: ../../../Misc/NEWS:5093
msgid ""
"`Issue #15207 <https://bugs.python.org/15207>`__: Fix mimetypes to read from "
"correct part of Windows registry Original patch by Dave Chambers"
msgstr ""
#: ../../../Misc/NEWS:5096
msgid ""
"`Issue #16595 <https://bugs.python.org/16595>`__: Add prlimit() to resource "
"module."
msgstr ""
#: ../../../Misc/NEWS:5098
msgid ""
"`Issue #19324 <https://bugs.python.org/19324>`__: Expose Linux-specific "
"constants in resource module."
msgstr ""
#: ../../../Misc/NEWS:5100
msgid "Load SSL's error strings in hashlib."
msgstr ""
#: ../../../Misc/NEWS:5102
msgid ""
"`Issue #18527 <https://bugs.python.org/18527>`__: Upgrade internal copy of "
"zlib to 1.2.8."
msgstr ""
#: ../../../Misc/NEWS:5104
msgid ""
"`Issue #19274 <https://bugs.python.org/19274>`__: Add a filterfunc parameter "
"to PyZipFile.writepy."
msgstr ""
#: ../../../Misc/NEWS:5106
msgid ""
"`Issue #8964 <https://bugs.python.org/8964>`__: fix platform._sys_version to "
"handle IronPython 2.6+. Patch by Martin Matusiak."
msgstr ""
#: ../../../Misc/NEWS:5109
msgid ""
"`Issue #19413 <https://bugs.python.org/19413>`__: Restore pre-3.3 reload() "
"semantics of re-finding modules."
msgstr ""
#: ../../../Misc/NEWS:5111
msgid ""
"`Issue #18958 <https://bugs.python.org/18958>`__: Improve error message for "
"json.load(s) while passing a string that starts with a UTF-8 BOM."
msgstr ""
#: ../../../Misc/NEWS:5114
msgid ""
"`Issue #19307 <https://bugs.python.org/19307>`__: Improve error message for "
"json.load(s) while passing objects of the wrong type."
msgstr ""
#: ../../../Misc/NEWS:5117
msgid ""
"`Issue #16038 <https://bugs.python.org/16038>`__: CVE-2013-1752: ftplib: "
"Limit amount of data read by limiting the call to readline(). Original "
"patch by Michał Jastrzębski and Giampaolo Rodola."
msgstr ""
#: ../../../Misc/NEWS:5121
msgid ""
"`Issue #17087 <https://bugs.python.org/17087>`__: Improved the repr for "
"regular expression match objects."
msgstr ""
#: ../../../Misc/NEWS:5126
msgid ""
"`Issue #19664 <https://bugs.python.org/19664>`__: test_userdict's repr test "
"no longer depends on the order of dict elements."
msgstr ""
#: ../../../Misc/NEWS:5129
msgid ""
"`Issue #19440 <https://bugs.python.org/19440>`__: Clean up test_capi by "
"removing an unnecessary __future__ import, converting from test_main to "
"unittest.main, and running the _testcapi module tests as subTests of a "
"unittest TestCase method."
msgstr ""
#: ../../../Misc/NEWS:5133
msgid ""
"`Issue #19378 <https://bugs.python.org/19378>`__: the main dis module tests "
"are now run with both stdout redirection *and* passing an explicit file "
"parameter"
msgstr ""
#: ../../../Misc/NEWS:5136
msgid ""
"`Issue #19378 <https://bugs.python.org/19378>`__: removed the not-actually-"
"helpful assertInstructionMatches and assertBytecodeExactlyMatches helpers "
"from bytecode_helper"
msgstr ""
#: ../../../Misc/NEWS:5139
msgid ""
"`Issue #18702 <https://bugs.python.org/18702>`__: All skipped tests now "
"reported as skipped."
msgstr ""
#: ../../../Misc/NEWS:5141
msgid ""
"`Issue #19439 <https://bugs.python.org/19439>`__: interpreter embedding "
"tests are now executed on Windows (Patch by Zachary Ware)"
msgstr ""
#: ../../../Misc/NEWS:5144
msgid ""
"`Issue #19085 <https://bugs.python.org/19085>`__: Added basic tests for all "
"tkinter widget options."
msgstr ""
#: ../../../Misc/NEWS:5146
msgid ""
"`Issue #19384 <https://bugs.python.org/19384>`__: Fix test_py_compile for "
"root user, patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:5151
msgid ""
"`Issue #18326 <https://bugs.python.org/18326>`__: Clarify that list.sort's "
"arguments are keyword-only. Also, attempt to reduce confusion in the "
"glossary by not saying there are different \"types\" of arguments and "
"parameters."
msgstr ""
#: ../../../Misc/NEWS:5158
msgid ""
"`Issue #19358 <https://bugs.python.org/19358>`__: \"make clinic\" now runs "
"the Argument Clinic preprocessor over all CPython source files."
msgstr ""
#: ../../../Misc/NEWS:5161
msgid "Update SQLite to 3.8.1, xz to 5.0.5, and Tcl/Tk to 8.6.1 on Windows."
msgstr ""
#: ../../../Misc/NEWS:5163
msgid ""
"`Issue #16632 <https://bugs.python.org/16632>`__: Enable DEP and ASLR on "
"Windows."
msgstr ""
#: ../../../Misc/NEWS:5165
msgid ""
"`Issue #17791 <https://bugs.python.org/17791>`__: Drop PREFIX and "
"EXEC_PREFIX definitions from PC/pyconfig.h"
msgstr ""
#: ../../../Misc/NEWS:5167
msgid ""
"Add workaround for VS 2010 nmake clean issue. VS 2010 doesn't set up PATH "
"for nmake.exe correctly."
msgstr ""
#: ../../../Misc/NEWS:5170
msgid ""
"`Issue #19550 <https://bugs.python.org/19550>`__: Implement Windows "
"installer changes of PEP 453 (ensurepip)."
msgstr ""
#: ../../../Misc/NEWS:5172
msgid ""
"`Issue #19520 <https://bugs.python.org/19520>`__: Fix compiler warning in "
"the _sha3 module on 32bit Windows."
msgstr ""
#: ../../../Misc/NEWS:5174
msgid ""
"`Issue #19356 <https://bugs.python.org/19356>`__: Avoid using a C variabled "
"named \"_self\", it's a reserved word in some C compilers."
msgstr ""
#: ../../../Misc/NEWS:5177
msgid ""
"`Issue #15792 <https://bugs.python.org/15792>`__: Correct build options on "
"Win64. Patch by Jeremy Kloth."
msgstr ""
#: ../../../Misc/NEWS:5179
msgid ""
"`Issue #19373 <https://bugs.python.org/19373>`__: Apply upstream change to "
"Tk 8.5.15 fixing OS X 10.9 screen refresh problem for OS X installer build."
msgstr ""
#: ../../../Misc/NEWS:5182
msgid ""
"`Issue #19649 <https://bugs.python.org/19649>`__: On OS X, the same set of "
"file names are now installed in bin directories for all configurations: non-"
"framework vs framework, and single arch vs universal builds. pythonx.y-32 "
"is now always installed for 64-bit/32-bit universal builds. The obsolete "
"and undocumented pythonw* symlinks are no longer installed anywhere."
msgstr ""
#: ../../../Misc/NEWS:5188
msgid ""
"`Issue #19553 <https://bugs.python.org/19553>`__: PEP 453 - \"make install\" "
"and \"make altinstall\" now install or upgrade pip by default, using the "
"bundled pip provided by the new ensurepip module. A new configure option, --"
"with-ensurepip[=upgrade|install|no], is available to override the default "
"ensurepip \"--upgrade\" option. The option can also be set with \"make "
"[alt]install ENSUREPIP=[upgrade|install|no]\"."
msgstr ""
#: ../../../Misc/NEWS:5194
msgid ""
"`Issue #19551 <https://bugs.python.org/19551>`__: PEP 453 - the OS X "
"installer now installs pip by default."
msgstr ""
#: ../../../Misc/NEWS:5196
msgid ""
"Update third-party libraries for OS X installers: xz 5.0.3 -> 5.0.5, SQLite "
"3.7.13 -> 3.8.1"
msgstr ""
#: ../../../Misc/NEWS:5199
msgid ""
"`Issue #15663 <https://bugs.python.org/15663>`__: Revert OS X installer "
"built-in Tcl/Tk support for 3.4.0b1. Some third-party projects, such as "
"Matplotlib and PIL/Pillow, depended on being able to build with Tcl and Tk "
"frameworks in /Library/Frameworks."
msgstr ""
#: ../../../Misc/NEWS:5207
msgid ""
"`Issue #19730 <https://bugs.python.org/19730>`__: Argument Clinic now "
"supports all the existing PyArg \"format units\" as legacy converters, as "
"well as two new features: \"self converters\" and the \"version\" directive."
msgstr ""
#: ../../../Misc/NEWS:5211
msgid ""
"`Issue #19552 <https://bugs.python.org/19552>`__: pyvenv now bootstraps pip "
"into virtual environments by default (pass --without-pip to request the old "
"behaviour)"
msgstr ""
#: ../../../Misc/NEWS:5214
msgid ""
"`Issue #19390 <https://bugs.python.org/19390>`__: Argument Clinic no longer "
"accepts malformed Python and C ids."
msgstr ""
#: ../../../Misc/NEWS:5219
msgid "Python 3.4.0 Alpha 4"
msgstr ""
#: ../../../Misc/NEWS:5221
msgid "Release date: 2013-10-20"
msgstr ""
#: ../../../Misc/NEWS:5226
msgid ""
"`Issue #19301 <https://bugs.python.org/19301>`__: Give classes and functions "
"that are explicitly marked global a global qualname."
msgstr ""
#: ../../../Misc/NEWS:5229
msgid ""
"`Issue #19279 <https://bugs.python.org/19279>`__: UTF-7 decoder no longer "
"produces illegal strings."
msgstr ""
#: ../../../Misc/NEWS:5231
msgid ""
"`Issue #16612 <https://bugs.python.org/16612>`__: Add \"Argument Clinic\", a "
"compile-time preprocessor for C files to generate argument parsing code. "
"(See PEP 436.)"
msgstr ""
#: ../../../Misc/NEWS:5234
msgid ""
"`Issue #18810 <https://bugs.python.org/18810>`__: Shift stat calls in "
"importlib.machinery.FileFinder such that the code is optimistic that if "
"something exists in a directory named exactly like the possible package "
"being searched for that it's in actuality a directory."
msgstr ""
#: ../../../Misc/NEWS:5239
msgid ""
"`Issue #18416 <https://bugs.python.org/18416>`__: importlib.machinery."
"PathFinder now treats '' as the cwd and importlib.machinery.FileFinder no "
"longer special-cases '' to '.'. This leads to modules imported from cwd to "
"now possess an absolute file path for __file__ (this does not affect modules "
"specified by path on the CLI but it does affect -m/runpy). It also allows "
"FileFinder to be more consistent by not having an edge case."
msgstr ""
#: ../../../Misc/NEWS:5246
msgid ""
"`Issue #4555 <https://bugs.python.org/4555>`__: All exported C symbols are "
"now prefixed with either \"Py\" or \"_Py\"."
msgstr ""
#: ../../../Misc/NEWS:5249
msgid ""
"`Issue #19219 <https://bugs.python.org/19219>`__: Speed up marshal.loads(), "
"and make pyc files slightly (5% to 10%) smaller."
msgstr ""
#: ../../../Misc/NEWS:5252
msgid ""
"`Issue #19221 <https://bugs.python.org/19221>`__: Upgrade Unicode database "
"to version 6.3.0."
msgstr ""
#: ../../../Misc/NEWS:5254
msgid ""
"`Issue #16742 <https://bugs.python.org/16742>`__: The result of the C "
"callback PyOS_ReadlineFunctionPointer must now be a string allocated by "
"PyMem_RawMalloc() or PyMem_RawRealloc() (or NULL if an error occurred), "
"instead of a string allocated by PyMem_Malloc() or PyMem_Realloc()."
msgstr ""
#: ../../../Misc/NEWS:5259
msgid ""
"`Issue #19199 <https://bugs.python.org/19199>`__: Remove ``PyThreadState."
"tick_counter`` field"
msgstr ""
#: ../../../Misc/NEWS:5261
msgid ""
"Fix macro expansion of _PyErr_OCCURRED(), and make sure to use it in at "
"least one place so as to avoid regressions."
msgstr ""
#: ../../../Misc/NEWS:5264
msgid ""
"`Issue #19087 <https://bugs.python.org/19087>`__: Improve bytearray "
"allocation in order to allow cheap popping of data at the front (slice "
"deletion)."
msgstr ""
#: ../../../Misc/NEWS:5267
msgid ""
"`Issue #19014 <https://bugs.python.org/19014>`__: memoryview.cast() is now "
"allowed on zero-length views."
msgstr ""
#: ../../../Misc/NEWS:5269
msgid ""
"`Issue #18690 <https://bugs.python.org/18690>`__: memoryview is now "
"automatically registered with collections.abc.Sequence"
msgstr ""
#: ../../../Misc/NEWS:5272
msgid ""
"`Issue #19078 <https://bugs.python.org/19078>`__: memoryview now correctly "
"supports the reversed builtin (Patch by Claudiu Popa)"
msgstr ""
#: ../../../Misc/NEWS:5278
msgid ""
"`Issue #17457 <https://bugs.python.org/17457>`__: unittest test discovery "
"now works with namespace packages. Patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:5281
msgid ""
"`Issue #18235 <https://bugs.python.org/18235>`__: Fix the sysconfig "
"variables LDSHARED and BLDSHARED under AIX. Patch by David Edelsohn."
msgstr ""
#: ../../../Misc/NEWS:5284
msgid ""
"`Issue #18606 <https://bugs.python.org/18606>`__: Add the new \"statistics\" "
"module (PEP 450). Contributed by Steven D'Aprano."
msgstr ""
#: ../../../Misc/NEWS:5287
msgid ""
"`Issue #12866 <https://bugs.python.org/12866>`__: The audioop module now "
"supports 24-bit samples."
msgstr ""
#: ../../../Misc/NEWS:5289
msgid ""
"`Issue #19254 <https://bugs.python.org/19254>`__: Provide an optimized "
"Python implementation of pbkdf2_hmac."
msgstr ""
#: ../../../Misc/NEWS:5291
msgid ""
"Issues #19201, `Issue #19222 <https://bugs.python.org/19222>`__, `Issue "
"#19223 <https://bugs.python.org/19223>`__: Add \"x\" mode (exclusive "
"creation) in opening file to bz2, gzip and lzma modules. Patches by Tim "
"Heaney and Vajrasky Kok."
msgstr ""
#: ../../../Misc/NEWS:5295
msgid "Fix a reference count leak in _sre."
msgstr ""
#: ../../../Misc/NEWS:5297
msgid ""
"`Issue #19262 <https://bugs.python.org/19262>`__: Initial check in of the "
"'asyncio' package (a.k.a. Tulip, a.k.a. PEP 3156). There are no docs yet, "
"and the PEP is slightly out of date with the code. This module will have "
"*provisional* status in Python 3.4."
msgstr ""
#: ../../../Misc/NEWS:5302
msgid ""
"`Issue #19276 <https://bugs.python.org/19276>`__: Fixed the wave module on "
"64-bit big-endian platforms."
msgstr ""
#: ../../../Misc/NEWS:5304
msgid ""
"`Issue #19266 <https://bugs.python.org/19266>`__: Rename the new-in-3.4 "
"``contextlib.ignore`` context manager to ``contextlib.suppress`` in order to "
"be more consistent with existing descriptions of that operation elsewhere in "
"the language and standard library documentation (Patch by Zero Piraeus)."
msgstr ""
#: ../../../Misc/NEWS:5309
msgid ""
"`Issue #18891 <https://bugs.python.org/18891>`__: Completed the new email "
"package (provisional) API additions by adding new classes EmailMessage, "
"MIMEPart, and ContentManager."
msgstr ""
#: ../../../Misc/NEWS:5312
msgid ""
"`Issue #18281 <https://bugs.python.org/18281>`__: Unused stat constants "
"removed from `tarfile`."
msgstr ""
#: ../../../Misc/NEWS:5314
msgid ""
"`Issue #18999 <https://bugs.python.org/18999>`__: Multiprocessing now "
"supports 'contexts' with the same API as the module, but bound to specified "
"start methods."
msgstr ""
#: ../../../Misc/NEWS:5317
msgid ""
"`Issue #18468 <https://bugs.python.org/18468>`__: The re.split, re.findall, "
"and re.sub functions and the group() and groups() methods of match object "
"now always return a string or a bytes object."
msgstr ""
#: ../../../Misc/NEWS:5321
msgid ""
"`Issue #18725 <https://bugs.python.org/18725>`__: The textwrap module now "
"supports truncating multiline text."
msgstr ""
#: ../../../Misc/NEWS:5323
msgid ""
"`Issue #18776 <https://bugs.python.org/18776>`__: atexit callbacks now "
"display their full traceback when they raise an exception."
msgstr ""
#: ../../../Misc/NEWS:5326
msgid ""
"`Issue #17827 <https://bugs.python.org/17827>`__: Add the missing "
"documentation for ``codecs.encode`` and ``codecs.decode``."
msgstr ""
#: ../../../Misc/NEWS:5329
msgid ""
"`Issue #19218 <https://bugs.python.org/19218>`__: Rename collections.abc to "
"_collections_abc in order to speed up interpreter start."
msgstr ""
#: ../../../Misc/NEWS:5332
msgid ""
"`Issue #18582 <https://bugs.python.org/18582>`__: Add 'pbkdf2_hmac' to the "
"hashlib module. It implements PKCS#5 password-based key derivation functions "
"with HMAC as pseudorandom function."
msgstr ""
#: ../../../Misc/NEWS:5335
msgid ""
"`Issue #19131 <https://bugs.python.org/19131>`__: The aifc module now "
"correctly reads and writes sampwidth of compressed streams."
msgstr ""
#: ../../../Misc/NEWS:5338
msgid ""
"`Issue #19209 <https://bugs.python.org/19209>`__: Remove import of copyreg "
"from the os module to speed up interpreter startup. stat_result and "
"statvfs_result are now hard-coded to reside in the os module."
msgstr ""
#: ../../../Misc/NEWS:5342
msgid ""
"`Issue #19205 <https://bugs.python.org/19205>`__: Don't import the 're' "
"module in site and sysconfig module to speed up interpreter start."
msgstr ""
#: ../../../Misc/NEWS:5345
msgid ""
"`Issue #9548 <https://bugs.python.org/9548>`__: Add a minimal \"_bootlocale"
"\" module that is imported by the _io module instead of the full locale "
"module."
msgstr ""
#: ../../../Misc/NEWS:5348
msgid ""
"`Issue #18764 <https://bugs.python.org/18764>`__: Remove the 'print' alias "
"for the PDB 'p' command so that it no longer shadows the print function."
msgstr ""
#: ../../../Misc/NEWS:5351
msgid ""
"`Issue #19158 <https://bugs.python.org/19158>`__: A rare race in "
"BoundedSemaphore could allow .release() too often."
msgstr ""
#: ../../../Misc/NEWS:5354
msgid ""
"`Issue #15805 <https://bugs.python.org/15805>`__: Add contextlib."
"redirect_stdout()."
msgstr ""
#: ../../../Misc/NEWS:5356
msgid ""
"`Issue #18716 <https://bugs.python.org/18716>`__: Deprecate the formatter "
"module."
msgstr ""
#: ../../../Misc/NEWS:5358
msgid ""
"`Issue #10712 <https://bugs.python.org/10712>`__: 2to3 has a new \"asserts\" "
"fixer that replaces deprecated names of unittest methods (e.g. "
"failUnlessEqual -> assertEqual)."
msgstr ""
#: ../../../Misc/NEWS:5361
msgid ""
"`Issue #18037 <https://bugs.python.org/18037>`__: 2to3 now escapes ``'\\u'`` "
"and ``'\\U'`` in native strings."
msgstr ""
#: ../../../Misc/NEWS:5363
msgid ""
"`Issue #17839 <https://bugs.python.org/17839>`__: base64.decodebytes and "
"base64.encodebytes now accept any object that exports a 1 dimensional array "
"of bytes (this means the same is now also true for base64_codec)"
msgstr ""
#: ../../../Misc/NEWS:5367
msgid ""
"`Issue #19132 <https://bugs.python.org/19132>`__: The pprint module now "
"supports compact mode."
msgstr ""
#: ../../../Misc/NEWS:5369
msgid ""
"`Issue #19137 <https://bugs.python.org/19137>`__: The pprint module now "
"correctly formats instances of set and frozenset subclasses."
msgstr ""
#: ../../../Misc/NEWS:5372
msgid ""
"`Issue #10042 <https://bugs.python.org/10042>`__: functools.total_ordering "
"now correctly handles NotImplemented being returned by the underlying "
"comparison function (Patch by Katie Miller)"
msgstr ""
#: ../../../Misc/NEWS:5376
msgid ""
"`Issue #19092 <https://bugs.python.org/19092>`__: contextlib.ExitStack now "
"correctly reraises exceptions from the __exit__ callbacks of inner context "
"managers (Patch by Hrvoje Nikšić)"
msgstr ""
#: ../../../Misc/NEWS:5380
msgid ""
"`Issue #12641 <https://bugs.python.org/12641>`__: Avoid passing \"-mno-cygwin"
"\" to the mingw32 compiler, except when necessary. Patch by Oscar Benjamin."
msgstr ""
#: ../../../Misc/NEWS:5383
msgid ""
"`Issue #5845 <https://bugs.python.org/5845>`__: In site.py, only load "
"readline history from ~/.python_history if no history has been read "
"already. This avoids double writes to the history file at shutdown."
msgstr ""
#: ../../../Misc/NEWS:5387
msgid "Properly initialize all fields of a SSL object after allocation."
msgstr ""
#: ../../../Misc/NEWS:5389
msgid ""
"`Issue #19095 <https://bugs.python.org/19095>`__: SSLSocket.getpeercert() "
"now raises ValueError when the SSL handshake hasn't been done."
msgstr ""
#: ../../../Misc/NEWS:5392
msgid ""
"`Issue #4366 <https://bugs.python.org/4366>`__: Fix building extensions on "
"all platforms when --enable-shared is used."
msgstr ""
#: ../../../Misc/NEWS:5395
msgid ""
"`Issue #19030 <https://bugs.python.org/19030>`__: Fixed `inspect.getmembers` "
"and `inspect.classify_class_attrs` to attempt activating descriptors before "
"falling back to a __dict__ search for faulty descriptors. `inspect."
"classify_class_attrs` no longer returns Attributes whose home class is None."
msgstr ""
#: ../../../Misc/NEWS:5403
msgid ""
"`Issue #1772673 <https://bugs.python.org/1772673>`__: The type of `char*` "
"arguments now changed to `const char*`."
msgstr ""
#: ../../../Misc/NEWS:5405
msgid ""
"`Issue #16129 <https://bugs.python.org/16129>`__: Added a "
"`Py_SetStandardStreamEncoding` pre-initialization API to allow embedding "
"applications like Blender to force a particular encoding and error handler "
"for the standard IO streams (initial patch by Bastien Montagne)"
msgstr ""
#: ../../../Misc/NEWS:5413
msgid ""
"`Issue #19275 <https://bugs.python.org/19275>`__: Fix test_site on AMD64 "
"Snow Leopard"
msgstr ""
#: ../../../Misc/NEWS:5415
msgid ""
"`Issue #14407 <https://bugs.python.org/14407>`__: Fix unittest test "
"discovery in test_concurrent_futures."
msgstr ""
#: ../../../Misc/NEWS:5417
msgid ""
"`Issue #18919 <https://bugs.python.org/18919>`__: Unified and extended tests "
"for audio modules: aifc, sunau and wave."
msgstr ""
#: ../../../Misc/NEWS:5420
msgid ""
"`Issue #18714 <https://bugs.python.org/18714>`__: Added tests for ``pdb."
"find_function()``."
msgstr ""
#: ../../../Misc/NEWS:5425
msgid ""
"`Issue #18758 <https://bugs.python.org/18758>`__: Fixed and improved cross-"
"references."
msgstr ""
#: ../../../Misc/NEWS:5427
msgid ""
"`Issue #18972 <https://bugs.python.org/18972>`__: Modernize email examples "
"and use the argparse module in them."
msgstr ""
#: ../../../Misc/NEWS:5432
msgid ""
"`Issue #19130 <https://bugs.python.org/19130>`__: Correct PCbuild/readme."
"txt, Python 3.3 and 3.4 require VS 2010."
msgstr ""
#: ../../../Misc/NEWS:5434
msgid ""
"`Issue #15663 <https://bugs.python.org/15663>`__: Update OS X 10.6+ "
"installer to use Tcl/Tk 8.5.15."
msgstr ""
#: ../../../Misc/NEWS:5440
msgid "Issue #14499: Fix several problems with OS X universal build support:"
msgstr ""
#: ../../../Misc/NEWS:5437
msgid "ppc arch detection for extension module builds broke with Xcode 5"
msgstr ""
#: ../../../Misc/NEWS:5438
msgid "ppc arch detection in configure did not work on OS X 10.4"
msgstr ""
#: ../../../Misc/NEWS:5439
msgid "-sysroot and -arch flags were unnecessarily duplicated"
msgstr ""
#: ../../../Misc/NEWS:5440
msgid "there was no obvious way to configure an intel-32 only build."
msgstr ""
#: ../../../Misc/NEWS:5442
msgid ""
"`Issue #19019 <https://bugs.python.org/19019>`__: Change the OS X installer "
"build script to use CFLAGS instead of OPT for special build options. By "
"setting OPT, some compiler-specific options like -fwrapv were overridden and "
"thus not used, which could result in broken interpreters when building with "
"clang."
msgstr ""
#: ../../../Misc/NEWS:5449
msgid "Python 3.4.0 Alpha 3"
msgstr ""
#: ../../../Misc/NEWS:5451
msgid "Release date: 2013-09-29"
msgstr ""
#: ../../../Misc/NEWS:5456
msgid ""
"`Issue #18818 <https://bugs.python.org/18818>`__: The \"encodingname\" part "
"of PYTHONIOENCODING is now optional."
msgstr ""
#: ../../../Misc/NEWS:5458
msgid ""
"`Issue #19098 <https://bugs.python.org/19098>`__: Prevent overflow in the "
"compiler when the recursion limit is set absurdly high."
msgstr ""
#: ../../../Misc/NEWS:5464
msgid ""
"`Issue #18929 <https://bugs.python.org/18929>`__: `inspect."
"classify_class_attrs()` now correctly finds class attributes returned by "
"`dir()` that are located in the metaclass."
msgstr ""
#: ../../../Misc/NEWS:5467
msgid ""
"`Issue #18950 <https://bugs.python.org/18950>`__: Fix miscellaneous bugs in "
"the sunau module. Au_read.readframes() now updates current file position and "
"reads correct number of frames from multichannel stream. Au_write."
"writeframesraw() now correctly updates current file position. Au_read."
"getnframes() now returns an integer (as in Python 2). Au_read and Au_write "
"now correctly works with file object if start file position is not a zero."
msgstr ""
#: ../../../Misc/NEWS:5474
msgid ""
"`Issue #18594 <https://bugs.python.org/18594>`__: The fast path for "
"collections.Counter() was never taken due to an over-restrictive type check."
msgstr ""
#: ../../../Misc/NEWS:5477
msgid ""
"`Issue #19053 <https://bugs.python.org/19053>`__: ZipExtFile.read1() with "
"non-zero argument no more returns empty bytes until end of data."
msgstr ""
#: ../../../Misc/NEWS:5480
msgid ""
"logging: added support for Unix domain sockets to SocketHandler and "
"DatagramHandler."
msgstr ""
#: ../../../Misc/NEWS:5483
msgid ""
"`Issue #18996 <https://bugs.python.org/18996>`__: TestCase.assertEqual() now "
"more cleverly shorten differing strings in error report."
msgstr ""
#: ../../../Misc/NEWS:5486
msgid ""
"`Issue #19034 <https://bugs.python.org/19034>`__: repr() for tkinter.Tcl_Obj "
"now exposes string reperesentation."
msgstr ""
#: ../../../Misc/NEWS:5488
msgid ""
"`Issue #18978 <https://bugs.python.org/18978>`__: ``urllib.request.Request`` "
"now allows the method to be indicated on the class and no longer sets it to "
"None in ``__init__``."
msgstr ""
#: ../../../Misc/NEWS:5491
msgid ""
"`Issue #18626 <https://bugs.python.org/18626>`__: the inspect module now "
"offers a basic command line introspection interface (Initial patch by "
"Claudiu Popa)"
msgstr ""
#: ../../../Misc/NEWS:5494
msgid ""
"`Issue #3015 <https://bugs.python.org/3015>`__: Fixed tkinter with "
"wantobject=False. Any Tcl command call returned empty string."
msgstr ""
#: ../../../Misc/NEWS:5497
msgid ""
"`Issue #19037 <https://bugs.python.org/19037>`__: The mailbox module now "
"makes all changes to maildir files before moving them into place, to avoid "
"race conditions with other programs that may be accessing the maildir "
"directory."
msgstr ""
#: ../../../Misc/NEWS:5501
msgid ""
"`Issue #14984 <https://bugs.python.org/14984>`__: On POSIX systems, when "
"netrc is called without a filename argument (and therefore is reading the "
"user's $HOME/.netrc file), it now enforces the same security rules as "
"typical ftp clients: the .netrc file must be owned by the user that owns the "
"process and must not be readable by any other user."
msgstr ""
#: ../../../Misc/NEWS:5507
msgid ""
"`Issue #18873 <https://bugs.python.org/18873>`__: The tokenize module now "
"detects Python source code encoding only in comment lines."
msgstr ""
#: ../../../Misc/NEWS:5510
msgid ""
"`Issue #17764 <https://bugs.python.org/17764>`__: Enable http.server to bind "
"to a user specified network interface. Patch contributed by Malte Swart."
msgstr ""
#: ../../../Misc/NEWS:5513
msgid ""
"`Issue #18937 <https://bugs.python.org/18937>`__: Add an assertLogs() "
"context manager to unittest.TestCase to ensure that a block of code emits a "
"message using the logging module."
msgstr ""
#: ../../../Misc/NEWS:5516
msgid ""
"`Issue #17324 <https://bugs.python.org/17324>`__: Fix http.server's request "
"handling case on trailing '/'. Patch contributed by Vajrasky Kok."
msgstr ""
#: ../../../Misc/NEWS:5519
msgid ""
"`Issue #19018 <https://bugs.python.org/19018>`__: The heapq.merge() function "
"no longer suppresses IndexError in the underlying iterables."
msgstr ""
#: ../../../Misc/NEWS:5522
msgid ""
"`Issue #18784 <https://bugs.python.org/18784>`__: The uuid module no longer "
"attempts to load libc via ctypes.CDLL if all the necessary functions have "
"already been found in libuuid. Patch by Evgeny Sologubov."
msgstr ""
#: ../../../Misc/NEWS:5526
msgid ""
"The :envvar:`PYTHONFAULTHANDLER` environment variable now only enables the "
"faulthandler module if the variable is non-empty. Same behaviour than other "
"variables like :envvar:`PYTHONDONTWRITEBYTECODE`."
msgstr ""
#: ../../../Misc/NEWS:5530
msgid ""
"`Issue #1565525 <https://bugs.python.org/1565525>`__: New function "
"``traceback.clear_frames`` will clear the local variables of all the stack "
"frames referenced by a traceback object."
msgstr ""
#: ../../../Misc/NEWS:5537
msgid ""
"`Issue #18952 <https://bugs.python.org/18952>`__: Fix regression in support "
"data downloads introduced when test.support was converted to a package. "
"Regression noticed by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:5544
msgid ""
"`Issue #18873 <https://bugs.python.org/18873>`__: IDLE now detects Python "
"source code encoding only in comment lines."
msgstr ""
#: ../../../Misc/NEWS:5547
msgid ""
"`Issue #18988 <https://bugs.python.org/18988>`__: The \"Tab\" key now works "
"when a word is already autocompleted."
msgstr ""
#: ../../../Misc/NEWS:5552
msgid ""
"`Issue #17003 <https://bugs.python.org/17003>`__: Unified the size argument "
"names in the io module with common practice."
msgstr ""
#: ../../../Misc/NEWS:5558
msgid ""
"`Issue #18596 <https://bugs.python.org/18596>`__: Support the use of address "
"sanity checking in recent versions of clang and GCC by appropriately marking "
"known false alarms in the small object allocator. Patch contributed by Dhiru "
"Kholia."
msgstr ""
#: ../../../Misc/NEWS:5565
msgid ""
"`Issue #18873 <https://bugs.python.org/18873>`__: 2to3 and the findnocoding."
"py script now detect Python source code encoding only in comment lines."
msgstr ""
#: ../../../Misc/NEWS:5570
msgid "Python 3.4.0 Alpha 2"
msgstr ""
#: ../../../Misc/NEWS:5572
msgid "Release date: 2013-09-09"
msgstr ""
#: ../../../Misc/NEWS:5577
msgid ""
"`Issue #18942 <https://bugs.python.org/18942>`__: sys._debugmallocstats() "
"output was damaged on Windows."
msgstr ""
#: ../../../Misc/NEWS:5579
msgid ""
"`Issue #18571 <https://bugs.python.org/18571>`__: Implementation of the PEP "
"446: file descriptors and file handles are now created non-inheritable; add "
"functions os.get/set_inheritable(), os.get/set_handle_inheritable() and "
"socket.socket.get/set_inheritable()."
msgstr ""
#: ../../../Misc/NEWS:5584
msgid ""
"`Issue #11619 <https://bugs.python.org/11619>`__: The parser and the import "
"machinery do not encode Unicode filenames anymore on Windows."
msgstr ""
#: ../../../Misc/NEWS:5587
msgid ""
"`Issue #18808 <https://bugs.python.org/18808>`__: Non-daemon threads are now "
"automatically joined when a sub-interpreter is shutdown (it would previously "
"dump a fatal error)."
msgstr ""
#: ../../../Misc/NEWS:5590
msgid "Remove support for compiling on systems without getcwd()."
msgstr ""
#: ../../../Misc/NEWS:5592
msgid ""
"`Issue #18774 <https://bugs.python.org/18774>`__: Remove last bits of GNU "
"PTH thread code and thread_pth.h."
msgstr ""
#: ../../../Misc/NEWS:5594
msgid ""
"`Issue #18771 <https://bugs.python.org/18771>`__: Add optimization to set "
"object lookups to reduce the cost of hash collisions. The core idea is to "
"inspect a second key/hash pair for each cache line retrieved."
msgstr ""
#: ../../../Misc/NEWS:5598
msgid ""
"`Issue #16105 <https://bugs.python.org/16105>`__: When a signal handler "
"fails to write to the file descriptor registered with ``signal."
"set_wakeup_fd()``, report an exception instead of ignoring the error."
msgstr ""
#: ../../../Misc/NEWS:5602
msgid ""
"`Issue #18722 <https://bugs.python.org/18722>`__: Remove uses of the "
"\"register\" keyword in C code."
msgstr ""
#: ../../../Misc/NEWS:5604
msgid ""
"`Issue #18667 <https://bugs.python.org/18667>`__: Add missing \"HAVE_FCHOWNAT"
"\" symbol to posix._have_functions."
msgstr ""
#: ../../../Misc/NEWS:5606
msgid ""
"`Issue #16499 <https://bugs.python.org/16499>`__: Add command line option "
"for isolated mode."
msgstr ""
#: ../../../Misc/NEWS:5608
msgid ""
"`Issue #15301 <https://bugs.python.org/15301>`__: Parsing fd, uid, and gid "
"parameters for builtins in Modules/posixmodule.c is now far more robust."
msgstr ""
#: ../../../Misc/NEWS:5611
msgid ""
"`Issue #18368 <https://bugs.python.org/18368>`__: PyOS_StdioReadline() no "
"longer leaks memory when realloc() fail."
msgstr ""
#: ../../../Misc/NEWS:5614
msgid ""
"`Issue #17934 <https://bugs.python.org/17934>`__: Add a clear() method to "
"frame objects, to help clean up expensive details (local variables) and "
"break reference cycles."
msgstr ""
#: ../../../Misc/NEWS:5617
msgid ""
"`Issue #18780 <https://bugs.python.org/18780>`__: %-formatting codes %d, %i, "
"and %u now treat int-subclasses as int (displays value of int-subclass "
"instead of str(int-subclass) )."
msgstr ""
#: ../../../Misc/NEWS:5623
msgid ""
"`Issue #18808 <https://bugs.python.org/18808>`__: Thread.join() now waits "
"for the underlying thread state to be destroyed before returning. This "
"prevents unpredictable aborts in Py_EndInterpreter() when some non-daemon "
"threads are still running."
msgstr ""
#: ../../../Misc/NEWS:5627
msgid ""
"`Issue #18458 <https://bugs.python.org/18458>`__: Prevent crashes with newer "
"versions of libedit. Its readline emulation has changed from 0-based "
"indexing to 1-based like gnu readline."
msgstr ""
#: ../../../Misc/NEWS:5630
msgid ""
"`Issue #18852 <https://bugs.python.org/18852>`__: Handle case of ``readline."
"__doc__`` being ``None`` in the new readline activation code in ``site.py``."
msgstr ""
#: ../../../Misc/NEWS:5633
msgid ""
"`Issue #18672 <https://bugs.python.org/18672>`__: Fixed format specifiers "
"for Py_ssize_t in debugging output in the _sre module."
msgstr ""
#: ../../../Misc/NEWS:5636
msgid ""
"`Issue #18830 <https://bugs.python.org/18830>`__: inspect.getclasstree() no "
"longer produces duplicate entries even when input list contains duplicates."
msgstr ""
#: ../../../Misc/NEWS:5639
msgid ""
"`Issue #18878 <https://bugs.python.org/18878>`__: sunau.open now supports "
"the context management protocol. Based on patches by Claudiu Popa and R. "
"David Murray."
msgstr ""
#: ../../../Misc/NEWS:5642
msgid ""
"`Issue #18909 <https://bugs.python.org/18909>`__: Fix _tkinter.tkapp."
"interpaddr() on Windows 64-bit, don't cast 64-bit pointer to long (32 bits)."
msgstr ""
#: ../../../Misc/NEWS:5645
msgid ""
"`Issue #18876 <https://bugs.python.org/18876>`__: The FileIO.mode attribute "
"now better reflects the actual mode under which the file was opened. Patch "
"by Erik Bray."
msgstr ""
#: ../../../Misc/NEWS:5648
msgid ""
"`Issue #16853 <https://bugs.python.org/16853>`__: Add new selectors module."
msgstr ""
#: ../../../Misc/NEWS:5650
msgid ""
"`Issue #18882 <https://bugs.python.org/18882>`__: Add threading."
"main_thread() function."
msgstr ""
#: ../../../Misc/NEWS:5652
msgid ""
"`Issue #18901 <https://bugs.python.org/18901>`__: The sunau getparams method "
"now returns a namedtuple rather than a plain tuple. Patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:5655
msgid ""
"`Issue #17487 <https://bugs.python.org/17487>`__: The result of the wave "
"getparams method now is pickleable again. Patch by Claudiu Popa."
msgstr ""
#: ../../../Misc/NEWS:5658
msgid ""
"`Issue #18756 <https://bugs.python.org/18756>`__: os.urandom() now uses a "
"lazily-opened persistent file descriptor, so as to avoid using many file "
"descriptors when run in parallel from multiple threads."
msgstr ""
#: ../../../Misc/NEWS:5662
msgid ""
"`Issue #18418 <https://bugs.python.org/18418>`__: After fork(), reinit all "
"threads states, not only active ones. Patch by A. Jesse Jiryu Davis."
msgstr ""
#: ../../../Misc/NEWS:5665
msgid ""
"`Issue #17974 <https://bugs.python.org/17974>`__: Switch unittest from using "
"getopt to using argparse."
msgstr ""
#: ../../../Misc/NEWS:5667
msgid ""
"`Issue #11798 <https://bugs.python.org/11798>`__: TestSuite now drops "
"references to own tests after execution."
msgstr ""
#: ../../../Misc/NEWS:5669
msgid ""
"`Issue #16611 <https://bugs.python.org/16611>`__: http.cookie now correctly "
"parses the 'secure' and 'httponly' cookie flags."
msgstr ""
#: ../../../Misc/NEWS:5672
msgid ""
"`Issue #11973 <https://bugs.python.org/11973>`__: Fix a problem in kevent. "
"The flags and fflags fields are now properly handled as unsigned."
msgstr ""
#: ../../../Misc/NEWS:5675
msgid ""
"`Issue #18807 <https://bugs.python.org/18807>`__: ``pyvenv`` now takes a --"
"copies argument allowing copies instead of symlinks even where symlinks are "
"available and the default."
msgstr ""
#: ../../../Misc/NEWS:5678
msgid ""
"`Issue #18538 <https://bugs.python.org/18538>`__: ``python -m dis`` now uses "
"argparse for argument processing. Patch by Michele Orrù."
msgstr ""
#: ../../../Misc/NEWS:5681
msgid ""
"`Issue #18394 <https://bugs.python.org/18394>`__: Close cgi.FieldStorage's "
"optional file."
msgstr ""
#: ../../../Misc/NEWS:5683
msgid ""
"`Issue #17702 <https://bugs.python.org/17702>`__: On error, os.environb now "
"suppresses the exception context when raising a new KeyError with the "
"original key."
msgstr ""
#: ../../../Misc/NEWS:5686
msgid ""
"`Issue #16809 <https://bugs.python.org/16809>`__: Fixed some tkinter "
"incompabilities with Tcl/Tk 8.6."
msgstr ""
#: ../../../Misc/NEWS:5688
msgid ""
"`Issue #16809 <https://bugs.python.org/16809>`__: Tkinter's splitlist() and "
"split() methods now accept Tcl_Obj argument."
msgstr ""
#: ../../../Misc/NEWS:5691
msgid ""
"`Issue #18324 <https://bugs.python.org/18324>`__: set_payload now correctly "
"handles binary input. This also supersedes the previous fixes for #14360, "
"#1717, and #16564."
msgstr ""
#: ../../../Misc/NEWS:5694
msgid ""
"`Issue #18794 <https://bugs.python.org/18794>`__: Add a fileno() method and "
"a closed attribute to select.devpoll objects."
msgstr ""
#: ../../../Misc/NEWS:5697
msgid ""
"`Issue #17119 <https://bugs.python.org/17119>`__: Fixed integer overflows "
"when processing large strings and tuples in the tkinter module."
msgstr ""
#: ../../../Misc/NEWS:5700
msgid ""
"`Issue #18747 <https://bugs.python.org/18747>`__: Re-seed OpenSSL's pseudo-"
"random number generator after fork. A pthread_atfork() parent handler is "
"used to seed the PRNG with pid, time and some stack data."
msgstr ""
#: ../../../Misc/NEWS:5704
msgid ""
"`Issue #8865 <https://bugs.python.org/8865>`__: Concurrent invocation of "
"select.poll.poll() now raises a RuntimeError exception. Patch by Christian "
"Schubert."
msgstr ""
#: ../../../Misc/NEWS:5707
msgid ""
"`Issue #18777 <https://bugs.python.org/18777>`__: The ssl module now uses "
"the new CRYPTO_THREADID API of OpenSSL 1.0.0+ instead of the deprecated "
"CRYPTO id callback function."
msgstr ""
#: ../../../Misc/NEWS:5710
msgid ""
"`Issue #18768 <https://bugs.python.org/18768>`__: Correct doc string of "
"RAND_edg(). Patch by Vajrasky Kok."
msgstr ""
#: ../../../Misc/NEWS:5712
msgid ""
"`Issue #18178 <https://bugs.python.org/18178>`__: Fix ctypes on BSD. "
"dlmalloc.c was compiled twice which broke malloc weak symbols."
msgstr ""
#: ../../../Misc/NEWS:5715
msgid ""
"`Issue #18709 <https://bugs.python.org/18709>`__: Fix CVE-2013-4238. The SSL "
"module now handles NULL bytes inside subjectAltName correctly. Formerly the "
"module has used OpenSSL's GENERAL_NAME_print() function to get the string "
"represention of ASN.1 strings for ``rfc822Name`` (email), ``dNSName`` (DNS) "
"and ``uniformResourceIdentifier`` (URI)."
msgstr ""
#: ../../../Misc/NEWS:5721
msgid ""
"`Issue #18701 <https://bugs.python.org/18701>`__: Remove support of old "
"CPython versions (<3.0) from C code."
msgstr ""
#: ../../../Misc/NEWS:5723
msgid ""
"`Issue #18756 <https://bugs.python.org/18756>`__: Improve error reporting in "
"os.urandom() when the failure is due to something else than /dev/urandom not "
"existing (for example, exhausting the file descriptor limit)."
msgstr ""
#: ../../../Misc/NEWS:5727
msgid ""
"`Issue #18673 <https://bugs.python.org/18673>`__: Add O_TMPFILE to os "
"module. O_TMPFILE requires Linux kernel 3.11 or newer. It's only defined on "
"system with 3.11 uapi headers, too."
msgstr ""
#: ../../../Misc/NEWS:5730
msgid ""
"`Issue #18532 <https://bugs.python.org/18532>`__: Change the builtin hash "
"algorithms' names to lower case names as promised by hashlib's documentation."
msgstr ""
#: ../../../Misc/NEWS:5733
msgid ""
"`Issue #8713 <https://bugs.python.org/8713>`__: add new spwan and forkserver "
"start methods, and new functions get_all_start_methods, get_start_method, "
"and set_start_method, to multiprocessing."
msgstr ""
#: ../../../Misc/NEWS:5737
msgid ""
"`Issue #18405 <https://bugs.python.org/18405>`__: Improve the entropy of "
"crypt.mksalt()."
msgstr ""
#: ../../../Misc/NEWS:5739
msgid ""
"`Issue #12015 <https://bugs.python.org/12015>`__: The tempfile module now "
"uses a suffix of 8 random characters instead of 6, to reduce the risk of "
"filename collision. The entropy was reduced when uppercase letters were "
"removed from the charset used to generate random characters."
msgstr ""
#: ../../../Misc/NEWS:5744
msgid ""
"`Issue #18585 <https://bugs.python.org/18585>`__: Add :func:`textwrap."
"shorten` to collapse and truncate a piece of text to a given length."
msgstr ""
#: ../../../Misc/NEWS:5747
msgid ""
"`Issue #18598 <https://bugs.python.org/18598>`__: Tweak exception message "
"for importlib.import_module() to include the module name when a key argument "
"is missing."
msgstr ""
#: ../../../Misc/NEWS:5750
msgid ""
"`Issue #19151 <https://bugs.python.org/19151>`__: Fix docstring and use of "
"_get_supported_file_loaders() to reflect 2-tuples."
msgstr ""
#: ../../../Misc/NEWS:5753
msgid ""
"`Issue #19152 <https://bugs.python.org/19152>`__: Add ExtensionFileLoader."
"get_filename()."
msgstr ""
#: ../../../Misc/NEWS:5755
msgid ""
"`Issue #18676 <https://bugs.python.org/18676>`__: Change 'positive' to 'non-"
"negative' in queue.py put and get docstrings and ValueError messages. Patch "
"by Zhongyue Luo"
msgstr ""
#: ../../../Misc/NEWS:5758
msgid "Fix refcounting issue with extension types in tkinter."
msgstr ""
#: ../../../Misc/NEWS:5760
msgid ""
"`Issue #8112 <https://bugs.python.org/8112>`__: xlmrpc.server's "
"DocXMLRPCServer server no longer raises an error if methods have "
"annotations; it now correctly displays the annotations."
msgstr ""
#: ../../../Misc/NEWS:5763
msgid ""
"`Issue #18600 <https://bugs.python.org/18600>`__: Added policy argument to "
"email.message.Message.as_string, and as_bytes and __bytes__ methods to "
"Message."
msgstr ""
#: ../../../Misc/NEWS:5766
msgid ""
"`Issue #18671 <https://bugs.python.org/18671>`__: Output more information "
"when logging exceptions occur."
msgstr ""
#: ../../../Misc/NEWS:5768
msgid ""
"`Issue #18621 <https://bugs.python.org/18621>`__: Prevent the site module's "
"patched builtins from keeping too many references alive for too long."
msgstr ""
#: ../../../Misc/NEWS:5771
msgid ""
"`Issue #4885 <https://bugs.python.org/4885>`__: Add weakref support to mmap "
"objects. Patch by Valerie Lambert."
msgstr ""
#: ../../../Misc/NEWS:5773
msgid ""
"`Issue #8860 <https://bugs.python.org/8860>`__: Fixed rounding in timedelta "
"constructor."
msgstr ""
#: ../../../Misc/NEWS:5775
msgid ""
"`Issue #18849 <https://bugs.python.org/18849>`__: Fixed a Windows-specific "
"tempfile bug where collision with an existing directory caused mkstemp and "
"related APIs to fail instead of retrying. Report and fix by Vlad Shcherbina."
msgstr ""
#: ../../../Misc/NEWS:5779
msgid ""
"`Issue #18920 <https://bugs.python.org/18920>`__: argparse's default "
"destination for the version action (-v, --version) has also been changed to "
"stdout, to match the Python executable."
msgstr ""
#: ../../../Misc/NEWS:5785
msgid ""
"`Issue #18623 <https://bugs.python.org/18623>`__: Factor out the "
"_SuppressCoreFiles context manager into test.support. Patch by Valerie "
"Lambert."
msgstr ""
#: ../../../Misc/NEWS:5788
msgid ""
"`Issue #12037 <https://bugs.python.org/12037>`__: Fix test_email for desktop "
"Windows."
msgstr ""
#: ../../../Misc/NEWS:5790
msgid ""
"`Issue #15507 <https://bugs.python.org/15507>`__: test_subprocess's "
"test_send_signal could fail if the test runner were run in an environment "
"where the process inherited an ignore setting for SIGINT. Restore the "
"SIGINT handler to the desired KeyboardInterrupt raising one during that test."
msgstr ""
#: ../../../Misc/NEWS:5795
msgid ""
"`Issue #16799 <https://bugs.python.org/16799>`__: Switched from getopt to "
"argparse style in regrtest's argument parsing. Added more tests for "
"regrtest's argument parsing."
msgstr ""
#: ../../../Misc/NEWS:5798
msgid ""
"`Issue #18792 <https://bugs.python.org/18792>`__: Use \"127.0.0.1\" or "
"\"::1\" instead of \"localhost\" as much as possible, since \"localhost\" "
"goes through a DNS lookup under recent Windows versions."
msgstr ""
#: ../../../Misc/NEWS:5805
msgid ""
"`Issue #18489 <https://bugs.python.org/18489>`__: Add tests for "
"SearchEngine. Original patch by Phil Webster."
msgstr ""
#: ../../../Misc/NEWS:5810
msgid ""
"`Issue #18743 <https://bugs.python.org/18743>`__: Fix references to non-"
"existant \"StringIO\" module."
msgstr ""
#: ../../../Misc/NEWS:5812
msgid ""
"`Issue #18783 <https://bugs.python.org/18783>`__: Removed existing mentions "
"of Python long type in docstrings, error messages and comments."
msgstr ""
#: ../../../Misc/NEWS:5818
msgid ""
"`Issue #1584 <https://bugs.python.org/1584>`__: Provide configure options to "
"override default search paths for Tcl and Tk when building _tkinter."
msgstr ""
#: ../../../Misc/NEWS:5821
msgid ""
"`Issue #15663 <https://bugs.python.org/15663>`__: Tcl/Tk 8.5.14 is now "
"included with the OS X 10.6+ 64-/32-bit installer. It is no longer "
"necessary to install a third-party version of Tcl/Tk 8.5 to work around the "
"problems in the Apple-supplied Tcl/Tk 8.5 shipped in OS X 10.6 and later "
"releases."
msgstr ""
#: ../../../Misc/NEWS:5829
msgid ""
"`Issue #18922 <https://bugs.python.org/18922>`__: Now The Lib/smtpd.py and "
"Tools/i18n/msgfmt.py scripts write their version strings to stdout, and not "
"to sderr."
msgstr ""
#: ../../../Misc/NEWS:5834
msgid "Python 3.4.0 Alpha 1"
msgstr ""
#: ../../../Misc/NEWS:5836
msgid "Release date: 2013-08-03"
msgstr ""
#: ../../../Misc/NEWS:5841
msgid ""
"`Issue #16741 <https://bugs.python.org/16741>`__: Fix an error reporting in "
"int()."
msgstr ""
#: ../../../Misc/NEWS:5843
msgid ""
"`Issue #17899 <https://bugs.python.org/17899>`__: Fix rare file descriptor "
"leak in os.listdir()."
msgstr ""
#: ../../../Misc/NEWS:5845
msgid ""
"`Issue #10241 <https://bugs.python.org/10241>`__: Clear extension module "
"dict copies at interpreter shutdown. Patch by Neil Schemenauer, minimally "
"modified."
msgstr ""
#: ../../../Misc/NEWS:5848
msgid ""
"`Issue #9035 <https://bugs.python.org/9035>`__: ismount now recognises "
"volumes mounted below a drive root on Windows. Original patch by Atsuo "
"Ishimoto."
msgstr ""
#: ../../../Misc/NEWS:5851
msgid ""
"`Issue #18214 <https://bugs.python.org/18214>`__: Improve finalization of "
"Python modules to avoid setting their globals to None, in most cases."
msgstr ""
#: ../../../Misc/NEWS:5854
msgid ""
"`Issue #18112 <https://bugs.python.org/18112>`__: PEP 442 implementation "
"(safe object finalization)."
msgstr ""
#: ../../../Misc/NEWS:5856
msgid ""
"`Issue #18552 <https://bugs.python.org/18552>`__: Check return value of "
"PyArena_AddPyObject() in obj2ast_object()."
msgstr ""
#: ../../../Misc/NEWS:5859
msgid ""
"`Issue #18560 <https://bugs.python.org/18560>`__: Fix potential NULL pointer "
"dereference in sum()."
msgstr ""
#: ../../../Misc/NEWS:5861
msgid ""
"`Issue #18520 <https://bugs.python.org/18520>`__: Add a new "
"PyStructSequence_InitType2() function, same than PyStructSequence_InitType() "
"except that it has a return value (0 on success, -1 on error)."
msgstr ""
#: ../../../Misc/NEWS:5865
msgid ""
"`Issue #15905 <https://bugs.python.org/15905>`__: Fix theoretical buffer "
"overflow in handling of sys.argv[0], prefix and exec_prefix if the operation "
"system does not obey MAXPATHLEN."
msgstr ""
#: ../../../Misc/NEWS:5868
msgid ""
"`Issue #18408 <https://bugs.python.org/18408>`__: Fix many various bugs in "
"code handling errors, especially on memory allocation failure (MemoryError)."
msgstr ""
#: ../../../Misc/NEWS:5871
msgid ""
"`Issue #18344 <https://bugs.python.org/18344>`__: Fix potential ref-leaks in "
"_bufferedreader_read_all()."
msgstr ""
#: ../../../Misc/NEWS:5873
msgid ""
"`Issue #18342 <https://bugs.python.org/18342>`__: Use the repr of a module "
"name when an import fails when using ``from ... import ...``."
msgstr ""
#: ../../../Misc/NEWS:5876
msgid ""
"`Issue #17872 <https://bugs.python.org/17872>`__: Fix a segfault in marshal."
"load() when input stream returns more bytes than requested."
msgstr ""
#: ../../../Misc/NEWS:5879
msgid ""
"`Issue #18338 <https://bugs.python.org/18338>`__: `python --version` now "
"prints version string to stdout, and not to stderr. Patch by Berker Peksag "
"and Michael Dickens."
msgstr ""
#: ../../../Misc/NEWS:5882
msgid ""
"`Issue #18426 <https://bugs.python.org/18426>`__: Fix NULL pointer "
"dereference in C extension import when PyModule_GetDef() returns an error."
msgstr ""
#: ../../../Misc/NEWS:5885
msgid ""
"`Issue #17206 <https://bugs.python.org/17206>`__: On Windows, increase the "
"stack size from 2 MB to 4.2 MB to fix a stack overflow in the marshal module "
"(fix a crash in test_marshal). Patch written by Jeremy Kloth."
msgstr ""
#: ../../../Misc/NEWS:5889
msgid ""
"`Issue #3329 <https://bugs.python.org/3329>`__: Implement the PEP 445: Add "
"new APIs to customize Python memory allocators."
msgstr ""
#: ../../../Misc/NEWS:5892
msgid ""
"`Issue #18328 <https://bugs.python.org/18328>`__: Reorder ops in "
"PyThreadState_Delete*() functions. Now the tstate is first removed from TLS "
"and then deallocated."
msgstr ""
#: ../../../Misc/NEWS:5895
msgid ""
"`Issue #13483 <https://bugs.python.org/13483>`__: Use VirtualAlloc in "
"obmalloc on Windows."
msgstr ""
#: ../../../Misc/NEWS:5897
msgid ""
"`Issue #18184 <https://bugs.python.org/18184>`__: PyUnicode_FromFormat() and "
"PyUnicode_FromFormatV() now raise OverflowError when an argument of %c "
"format is out of range."
msgstr ""
#: ../../../Misc/NEWS:5900
msgid ""
"`Issue #18111 <https://bugs.python.org/18111>`__: The min() and max() "
"functions now support a default argument to be returned instead of raising a "
"ValueError on an empty sequence. (Contributed by Julian Berman.)"
msgstr ""
#: ../../../Misc/NEWS:5904
msgid ""
"`Issue #18137 <https://bugs.python.org/18137>`__: Detect integer overflow on "
"precision in float.__format__() and complex.__format__()."
msgstr ""
#: ../../../Misc/NEWS:5907
msgid ""
"`Issue #18183 <https://bugs.python.org/18183>`__: Fix various unicode "
"operations on strings with large unicode codepoints."
msgstr ""
#: ../../../Misc/NEWS:5910
msgid ""
"`Issue #18180 <https://bugs.python.org/18180>`__: Fix ref leak in "
"_PyImport_GetDynLoadWindows()."
msgstr ""
#: ../../../Misc/NEWS:5912
msgid ""
"`Issue #18038 <https://bugs.python.org/18038>`__: SyntaxError raised during "
"compilation sources with illegal encoding now always contains an encoding "
"name."
msgstr ""
#: ../../../Misc/NEWS:5915
msgid ""
"`Issue #17931 <https://bugs.python.org/17931>`__: Resolve confusion on "
"Windows between pids and process handles."
msgstr ""
#: ../../../Misc/NEWS:5918
msgid ""
"Tweak the exception message when the magic number or size value in a "
"bytecode file is truncated."
msgstr ""
#: ../../../Misc/NEWS:5921
msgid ""
"`Issue #17932 <https://bugs.python.org/17932>`__: Fix an integer overflow "
"issue on Windows 64-bit in iterators: change the C type of seqiterobject."
"it_index from long to Py_ssize_t."
msgstr ""
#: ../../../Misc/NEWS:5924
msgid ""
"`Issue #18065 <https://bugs.python.org/18065>`__: Don't set __path__ to the "
"package name for frozen packages."
msgstr ""
#: ../../../Misc/NEWS:5926
msgid ""
"`Issue #18088 <https://bugs.python.org/18088>`__: When reloading a module, "
"unconditionally reset all relevant attributes on the module (e.g. __name__, "
"__loader__, __package__, __file__, __cached__)."
msgstr ""
#: ../../../Misc/NEWS:5930
msgid ""
"`Issue #17937 <https://bugs.python.org/17937>`__: Try harder to collect "
"cyclic garbage at shutdown."
msgstr ""
#: ../../../Misc/NEWS:5932
msgid ""
"`Issue #12370 <https://bugs.python.org/12370>`__: Prevent class bodies from "
"interfering with the __class__ closure."
msgstr ""
#: ../../../Misc/NEWS:5935
msgid ""
"`Issue #17644 <https://bugs.python.org/17644>`__: Fix a crash in str.format "
"when curly braces are used in square brackets."
msgstr ""
#: ../../../Misc/NEWS:5938
msgid ""
"`Issue #17237 <https://bugs.python.org/17237>`__: Fix crash in the ASCII "
"decoder on m68k."
msgstr ""
#: ../../../Misc/NEWS:5940
msgid ""
"`Issue #17927 <https://bugs.python.org/17927>`__: Frame objects kept "
"arguments alive if they had been copied into a cell, even if the cell was "
"cleared."
msgstr ""
#: ../../../Misc/NEWS:5943
msgid ""
"`Issue #1545463 <https://bugs.python.org/1545463>`__: At shutdown, defer "
"finalization of codec modules so that stderr remains usable."
msgstr ""
#: ../../../Misc/NEWS:5946
msgid ""
"`Issue #7330 <https://bugs.python.org/7330>`__: Implement width and "
"precision (ex: \"%5.3s\") for the format string of PyUnicode_FromFormat() "
"function, original patch written by Ysj Ray."
msgstr ""
#: ../../../Misc/NEWS:5949
msgid ""
"`Issue #1545463 <https://bugs.python.org/1545463>`__: Global variables "
"caught in reference cycles are now garbage-collected at shutdown."
msgstr ""
#: ../../../Misc/NEWS:5952
msgid ""
"`Issue #17094 <https://bugs.python.org/17094>`__: Clear stale thread states "
"after fork(). Note that this is a potentially disruptive change since it "
"may release some system resources which would otherwise remain perpetually "
"alive (e.g. database connections kept in thread-local storage)."
msgstr ""
#: ../../../Misc/NEWS:5957
msgid ""
"`Issue #17408 <https://bugs.python.org/17408>`__: Avoid using an obsolete "
"instance of the copyreg module when the interpreter is shutdown and then "
"started again."
msgstr ""
#: ../../../Misc/NEWS:5960
msgid ""
"`Issue #5845 <https://bugs.python.org/5845>`__: Enable tab-completion in the "
"interactive interpreter by default, thanks to a new sys.__interactivehook__."
msgstr ""
#: ../../../Misc/NEWS:5963
msgid ""
"`Issue #17115 <https://bugs.python.org/17115>`__,17116: Module "
"initialization now includes setting __package__ and __loader__ attributes to "
"None."
msgstr ""
#: ../../../Misc/NEWS:5966
msgid ""
"`Issue #17853 <https://bugs.python.org/17853>`__: Ensure locals of a class "
"that shadow free variables always win over the closures."
msgstr ""
#: ../../../Misc/NEWS:5969
msgid ""
"`Issue #17863 <https://bugs.python.org/17863>`__: In the interactive "
"console, don't loop forever if the encoding can't be fetched from stdin."
msgstr ""
#: ../../../Misc/NEWS:5972
msgid ""
"`Issue #17867 <https://bugs.python.org/17867>`__: Raise an ImportError if "
"__import__ is not found in __builtins__."
msgstr ""
#: ../../../Misc/NEWS:5974
msgid ""
"`Issue #18698 <https://bugs.python.org/18698>`__: Ensure importlib.reload() "
"returns the module out of sys.modules."
msgstr ""
#: ../../../Misc/NEWS:5976
msgid ""
"`Issue #17857 <https://bugs.python.org/17857>`__: Prevent build failures "
"with pre-3.5.0 versions of sqlite3, such as was shipped with Centos 5 and "
"Mac OS X 10.4."
msgstr ""
#: ../../../Misc/NEWS:5979
msgid ""
"`Issue #17413 <https://bugs.python.org/17413>`__: sys.settrace callbacks "
"were being passed a string instead of an exception instance for the 'value' "
"element of the arg tuple if the exception originated from C code; now an "
"exception instance is always provided."
msgstr ""
#: ../../../Misc/NEWS:5983
msgid ""
"`Issue #17782 <https://bugs.python.org/17782>`__: Fix undefined behaviour on "
"platforms where ``struct timespec``'s \"tv_nsec\" member is not a C long."
msgstr ""
#: ../../../Misc/NEWS:5986
msgid ""
"`Issue #17722 <https://bugs.python.org/17722>`__: When looking up __round__, "
"resolve descriptors."
msgstr ""
#: ../../../Misc/NEWS:5988
msgid ""
"`Issue #16061 <https://bugs.python.org/16061>`__: Speed up str.replace() for "
"replacing 1-character strings."
msgstr ""
#: ../../../Misc/NEWS:5990
msgid ""
"`Issue #17715 <https://bugs.python.org/17715>`__: Fix segmentation fault "
"from raising an exception in a __trunc__ method."
msgstr ""
#: ../../../Misc/NEWS:5993
msgid ""
"`Issue #17643 <https://bugs.python.org/17643>`__: Add __callback__ attribute "
"to weakref.ref."
msgstr ""
#: ../../../Misc/NEWS:5995
msgid ""
"`Issue #16447 <https://bugs.python.org/16447>`__: Fixed potential "
"segmentation fault when setting __name__ on a class."
msgstr ""
#: ../../../Misc/NEWS:5998
msgid ""
"`Issue #17669 <https://bugs.python.org/17669>`__: Fix crash involving "
"finalization of generators using yield from."
msgstr ""
#: ../../../Misc/NEWS:6000
msgid ""
"`Issue #14439 <https://bugs.python.org/14439>`__: Python now prints the "
"traceback on runpy failure at startup."
msgstr ""
#: ../../../Misc/NEWS:6002
msgid ""
"`Issue #17469 <https://bugs.python.org/17469>`__: Fix "
"_Py_GetAllocatedBlocks() and sys.getallocatedblocks() when running on "
"valgrind."
msgstr ""
#: ../../../Misc/NEWS:6005
msgid ""
"`Issue #17619 <https://bugs.python.org/17619>`__: Make input() check for "
"Ctrl-C correctly on Windows."
msgstr ""
#: ../../../Misc/NEWS:6007
msgid ""
"`Issue #17357 <https://bugs.python.org/17357>`__: Add missing verbosity "
"messages for -v/-vv that were lost during the importlib transition."
msgstr ""
#: ../../../Misc/NEWS:6010
msgid ""
"`Issue #17610 <https://bugs.python.org/17610>`__: Don't rely on non-standard "
"behavior of the C qsort() function."
msgstr ""
#: ../../../Misc/NEWS:6012
msgid ""
"`Issue #17323 <https://bugs.python.org/17323>`__: The \"[X refs, Y blocks]\" "
"printed by debug builds has been disabled by default. It can be re-enabled "
"with the `-X showrefcount` option."
msgstr ""
#: ../../../Misc/NEWS:6015
msgid ""
"`Issue #17328 <https://bugs.python.org/17328>`__: Fix possible refleak in "
"dict.setdefault."
msgstr ""
#: ../../../Misc/NEWS:6017
msgid ""
"`Issue #17275 <https://bugs.python.org/17275>`__: Corrected class name in "
"init error messages of the C version of BufferedWriter and BufferedRandom."
msgstr ""
#: ../../../Misc/NEWS:6020
msgid ""
"`Issue #7963 <https://bugs.python.org/7963>`__: Fixed misleading error "
"message that issued when object is called without arguments."
msgstr ""
#: ../../../Misc/NEWS:6023
msgid ""
"`Issue #8745 <https://bugs.python.org/8745>`__: Small speed up zipimport on "
"Windows. Patch by Catalin Iacob."
msgstr ""
#: ../../../Misc/NEWS:6025
msgid ""
"`Issue #5308 <https://bugs.python.org/5308>`__: Raise ValueError when "
"marshalling too large object (a sequence with size >= 2**31), instead of "
"producing illegal marshal data."
msgstr ""
#: ../../../Misc/NEWS:6028
msgid ""
"`Issue #12983 <https://bugs.python.org/12983>`__: Bytes literals with "
"invalid ``\\x`` escape now raise a SyntaxError and a full traceback "
"including line number."
msgstr ""
#: ../../../Misc/NEWS:6031
msgid ""
"`Issue #16967 <https://bugs.python.org/16967>`__: In function definition, "
"evaluate positional defaults before keyword-only defaults."
msgstr ""
#: ../../../Misc/NEWS:6034
msgid ""
"`Issue #17173 <https://bugs.python.org/17173>`__: Remove uses of locale-"
"dependent C functions (isalpha() etc.) in the interpreter."
msgstr ""
#: ../../../Misc/NEWS:6037
msgid ""
"`Issue #17137 <https://bugs.python.org/17137>`__: When an Unicode string is "
"resized, the internal wide character string (wstr) format is now cleared."
msgstr ""
#: ../../../Misc/NEWS:6040
msgid ""
"`Issue #17043 <https://bugs.python.org/17043>`__: The unicode-internal "
"decoder no longer read past the end of input buffer."
msgstr ""
#: ../../../Misc/NEWS:6043
msgid ""
"`Issue #17098 <https://bugs.python.org/17098>`__: All modules now have "
"__loader__ set even if they pre-exist the bootstrapping of importlib."
msgstr ""
#: ../../../Misc/NEWS:6046
msgid ""
"`Issue #16979 <https://bugs.python.org/16979>`__: Fix error handling bugs in "
"the unicode-escape-decode decoder."
msgstr ""
#: ../../../Misc/NEWS:6048
msgid ""
"`Issue #16772 <https://bugs.python.org/16772>`__: The base argument to the "
"int constructor no longer accepts floats, or other non-integer objects with "
"an __int__ method. Objects with an __index__ method are now accepted."
msgstr ""
#: ../../../Misc/NEWS:6052
msgid ""
"`Issue #10156 <https://bugs.python.org/10156>`__: In the interpreter's "
"initialization phase, unicode globals are now initialized dynamically as "
"needed."
msgstr ""
#: ../../../Misc/NEWS:6055
msgid ""
"`Issue #16980 <https://bugs.python.org/16980>`__: Fix processing of escaped "
"non-ascii bytes in the unicode-escape-decode decoder."
msgstr ""
#: ../../../Misc/NEWS:6058
msgid ""
"`Issue #16975 <https://bugs.python.org/16975>`__: Fix error handling bug in "
"the escape-decode bytes decoder."
msgstr ""
#: ../../../Misc/NEWS:6060
msgid ""
"`Issue #14850 <https://bugs.python.org/14850>`__: Now a charmap decoder "
"treats U+FFFE as \"undefined mapping\" in any mapping, not only in a string."
msgstr ""
#: ../../../Misc/NEWS:6063
msgid ""
"`Issue #16613 <https://bugs.python.org/16613>`__: Add *m* argument to "
"``collections.Chainmap.new_child`` to allow the new child map to be "
"specified explicitly."
msgstr ""
#: ../../../Misc/NEWS:6066
msgid ""
"`Issue #16730 <https://bugs.python.org/16730>`__: importlib.machinery."
"FileFinder now no longers raises an exception when trying to populate its "
"cache and it finds out the directory is unreadable or has turned into a "
"file. Reported and diagnosed by David Pritchard."
msgstr ""
#: ../../../Misc/NEWS:6071
msgid ""
"`Issue #16906 <https://bugs.python.org/16906>`__: Fix a logic error that "
"prevented most static strings from being cleared."
msgstr ""
#: ../../../Misc/NEWS:6074
msgid ""
"`Issue #11461 <https://bugs.python.org/11461>`__: Fix the incremental UTF-16 "
"decoder. Original patch by Amaury Forgeot d'Arc."
msgstr ""
#: ../../../Misc/NEWS:6077
msgid ""
"`Issue #16856 <https://bugs.python.org/16856>`__: Fix a segmentation fault "
"from calling repr() on a dict with a key whose repr raise an exception."
msgstr ""
#: ../../../Misc/NEWS:6080
msgid ""
"`Issue #16367 <https://bugs.python.org/16367>`__: Fix FileIO.readall() on "
"Windows for files larger than 2 GB."
msgstr ""
#: ../../../Misc/NEWS:6082
msgid ""
"`Issue #16761 <https://bugs.python.org/16761>`__: Calling int() with base "
"argument only now raises TypeError."
msgstr ""
#: ../../../Misc/NEWS:6084
msgid ""
"`Issue #16759 <https://bugs.python.org/16759>`__: Support the full DWORD "
"(unsigned long) range in Reg2Py when retrieving a REG_DWORD value. This "
"corrects functions like winreg.QueryValueEx that may have been returning "
"truncated values."
msgstr ""
#: ../../../Misc/NEWS:6088
msgid ""
"`Issue #14420 <https://bugs.python.org/14420>`__: Support the full DWORD "
"(unsigned long) range in Py2Reg when passed a REG_DWORD value. Fixes "
"OverflowError in winreg.SetValueEx."
msgstr ""
#: ../../../Misc/NEWS:6091
msgid ""
"`Issue #11939 <https://bugs.python.org/11939>`__: Set the st_dev attribute "
"of stat_result to allow Windows to take advantage of the os.path.samefile/"
"sameopenfile/samestat implementations used by other platforms."
msgstr ""
#: ../../../Misc/NEWS:6095
msgid ""
"`Issue #16772 <https://bugs.python.org/16772>`__: The int() constructor's "
"second argument (base) no longer accepts non integer values. Consistent "
"with the behavior in Python 2."
msgstr ""
#: ../../../Misc/NEWS:6098
msgid ""
"`Issue #14470 <https://bugs.python.org/14470>`__: Remove w9xpopen support "
"per PEP 11."
msgstr ""
#: ../../../Misc/NEWS:6100
msgid ""
"`Issue #9856 <https://bugs.python.org/9856>`__: Replace deprecation warning "
"with raising TypeError in object.__format__. Patch by Florent Xicluna."
msgstr ""
#: ../../../Misc/NEWS:6103
msgid ""
"`Issue #16597 <https://bugs.python.org/16597>`__: In buffered and text IO, "
"call close() on the underlying stream if invoking flush() fails."
msgstr ""
#: ../../../Misc/NEWS:6106
msgid ""
"`Issue #16722 <https://bugs.python.org/16722>`__: In the bytes() "
"constructor, try to call __bytes__ on the argument before __index__."
msgstr ""
#: ../../../Misc/NEWS:6109
msgid ""
"`Issue #16421 <https://bugs.python.org/16421>`__: loading multiple modules "
"from one shared object is now handled correctly (previously, the first "
"module loaded from that file was silently returned). Patch by Václav "
"Šmilauer."
msgstr ""
#: ../../../Misc/NEWS:6113
msgid ""
"`Issue #16602 <https://bugs.python.org/16602>`__: When a weakref's target "
"was part of a long deallocation chain, the object could remain reachable "
"through its weakref even though its refcount had dropped to zero."
msgstr ""
#: ../../../Misc/NEWS:6117
msgid ""
"`Issue #16495 <https://bugs.python.org/16495>`__: Remove extraneous NULL "
"encoding check from bytes_decode()."
msgstr ""
#: ../../../Misc/NEWS:6119
msgid ""
"`Issue #16619 <https://bugs.python.org/16619>`__: Create NameConstant AST "
"class to represent None, True, and False literals. As a result, these "
"constants are never loaded at runtime from builtins."
msgstr ""
#: ../../../Misc/NEWS:6123
msgid ""
"`Issue #16455 <https://bugs.python.org/16455>`__: On FreeBSD and Solaris, if "
"the locale is C, the ASCII/surrogateescape codec is now used (instead of the "
"locale encoding) to decode the command line arguments. This change fixes "
"inconsistencies with os.fsencode() and os.fsdecode(), because these "
"operating systems announce an ASCII locale encoding, but actually use the "
"ISO-8859-1 encoding in practice."
msgstr ""
#: ../../../Misc/NEWS:6129
msgid ""
"`Issue #16562 <https://bugs.python.org/16562>`__: Optimize dict equality "
"testing. Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:6131
msgid ""
"`Issue #16588 <https://bugs.python.org/16588>`__: Silence unused-but-set "
"warnings in Python/thread_pthread"
msgstr ""
#: ../../../Misc/NEWS:6133
msgid ""
"`Issue #16592 <https://bugs.python.org/16592>`__: stringlib_bytes_join "
"doesn't raise MemoryError on allocation failure."
msgstr ""
#: ../../../Misc/NEWS:6136
msgid ""
"`Issue #16546 <https://bugs.python.org/16546>`__: Fix: ast.YieldFrom "
"argument is now mandatory."
msgstr ""
#: ../../../Misc/NEWS:6138
msgid ""
"`Issue #16514 <https://bugs.python.org/16514>`__: Fix regression causing a "
"traceback when sys.path[0] is None (actually, any non-string or non-bytes "
"type)."
msgstr ""
#: ../../../Misc/NEWS:6141
msgid ""
"`Issue #16306 <https://bugs.python.org/16306>`__: Fix multiple error "
"messages when unknown command line parameters where passed to the "
"interpreter. Patch by Hieu Nguyen."
msgstr ""
#: ../../../Misc/NEWS:6144
msgid ""
"`Issue #16215 <https://bugs.python.org/16215>`__: Fix potential double "
"memory free in str.replace(). Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:6147
msgid ""
"`Issue #16290 <https://bugs.python.org/16290>`__: A float return value from "
"the __complex__ special method is no longer accepted in the complex() "
"constructor."
msgstr ""
#: ../../../Misc/NEWS:6150
msgid ""
"`Issue #16416 <https://bugs.python.org/16416>`__: On Mac OS X, operating "
"system data are now always encoded/decoded to/from UTF-8/surrogateescape, "
"instead of the locale encoding (which may be ASCII if no locale environment "
"variable is set), to avoid inconsistencies with os.fsencode() and os."
"fsdecode() functions which are already using UTF-8/surrogateescape."
msgstr ""
#: ../../../Misc/NEWS:6156
msgid ""
"`Issue #16453 <https://bugs.python.org/16453>`__: Fix equality testing of "
"dead weakref objects."
msgstr ""
#: ../../../Misc/NEWS:6158
msgid ""
"`Issue #9535 <https://bugs.python.org/9535>`__: Fix pending signals that "
"have been received but not yet handled by Python to not persist after os."
"fork() in the child process."
msgstr ""
#: ../../../Misc/NEWS:6161
msgid ""
"`Issue #14794 <https://bugs.python.org/14794>`__: Fix slice.indices to "
"return correct results for huge values, rather than raising OverflowError."
msgstr ""
#: ../../../Misc/NEWS:6164
msgid ""
"`Issue #15001 <https://bugs.python.org/15001>`__: fix segfault on \"del sys."
"modules['__main__']\". Patch by Victor Stinner."
msgstr ""
#: ../../../Misc/NEWS:6167
msgid ""
"`Issue #8271 <https://bugs.python.org/8271>`__: the utf-8 decoder now "
"outputs the correct number of U+FFFD characters when used with the 'replace' "
"error handler on invalid utf-8 sequences. Patch by Serhiy Storchaka, tests "
"by Ezio Melotti."
msgstr ""
#: ../../../Misc/NEWS:6171
msgid ""
"`Issue #5765 <https://bugs.python.org/5765>`__: Apply a hard recursion limit "
"in the compiler instead of blowing the stack and segfaulting. Initial patch "
"by Andrea Griffini."
msgstr ""
#: ../../../Misc/NEWS:6174
msgid ""
"`Issue #16402 <https://bugs.python.org/16402>`__: When slicing a range, fix "
"shadowing of exceptions from __index__."
msgstr ""
#: ../../../Misc/NEWS:6177
msgid ""
"`Issue #16336 <https://bugs.python.org/16336>`__: fix input checking in the "
"surrogatepass error handler. Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:6180
msgid ""
"`Issue #8401 <https://bugs.python.org/8401>`__: assigning an int to a "
"bytearray slice (e.g. b[3:4] = 5) now raises an error."
msgstr ""
#: ../../../Misc/NEWS:6183
msgid ""
"`Issue #7317 <https://bugs.python.org/7317>`__: Display full tracebacks when "
"an error occurs asynchronously. Patch by Alon Horev with update by Alexey "
"Kachayev."
msgstr ""
#: ../../../Misc/NEWS:6186
msgid ""
"`Issue #16309 <https://bugs.python.org/16309>`__: Make PYTHONPATH=\"\" "
"behavior the same as if PYTHONPATH not set at all."
msgstr ""
#: ../../../Misc/NEWS:6189
msgid ""
"`Issue #10189 <https://bugs.python.org/10189>`__: Improve the error "
"reporting of SyntaxErrors related to global and nonlocal statements."
msgstr ""
#: ../../../Misc/NEWS:6192
msgid ""
"Fix segfaults on setting __qualname__ on builtin types and attempting to "
"delete it on any type."
msgstr ""
#: ../../../Misc/NEWS:6195
msgid ""
"`Issue #14625 <https://bugs.python.org/14625>`__: Rewrite the UTF-32 "
"decoder. It is now 3x to 4x faster. Patch written by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:6198
msgid ""
"`Issue #16345 <https://bugs.python.org/16345>`__: Fix an infinite loop when "
"``fromkeys`` on a dict subclass received a nonempty dict from the "
"constructor."
msgstr ""
#: ../../../Misc/NEWS:6201
msgid ""
"`Issue #16271 <https://bugs.python.org/16271>`__: Fix strange bugs that "
"resulted from __qualname__ appearing in a class's __dict__ and on type."
msgstr ""
#: ../../../Misc/NEWS:6204
msgid ""
"`Issue #12805 <https://bugs.python.org/12805>`__: Make bytes.join and "
"bytearray.join faster when the separator is empty. Patch by Serhiy "
"Storchaka."
msgstr ""
#: ../../../Misc/NEWS:6207
msgid ""
"`Issue #6074 <https://bugs.python.org/6074>`__: Ensure cached bytecode files "
"can always be updated by the user that created them, even when the source "
"file is read-only."
msgstr ""
#: ../../../Misc/NEWS:6210
msgid ""
"`Issue #15958 <https://bugs.python.org/15958>`__: bytes.join and bytearray."
"join now accept arbitrary buffer objects."
msgstr ""
#: ../../../Misc/NEWS:6213
msgid ""
"`Issue #14783 <https://bugs.python.org/14783>`__: Improve int() docstring "
"and switch docstrings for str(), range(), and slice() to use multi-line "
"signatures."
msgstr ""
#: ../../../Misc/NEWS:6216
msgid ""
"`Issue #16160 <https://bugs.python.org/16160>`__: Subclass support now works "
"for types.SimpleNamespace."
msgstr ""
#: ../../../Misc/NEWS:6218
msgid ""
"`Issue #16148 <https://bugs.python.org/16148>`__: Implement PEP 424, adding "
"operator.length_hint and PyObject_LengthHint."
msgstr ""
#: ../../../Misc/NEWS:6221
msgid "Upgrade Unicode data (UCD) to version 6.2."
msgstr ""
#: ../../../Misc/NEWS:6223
msgid ""
"`Issue #15379 <https://bugs.python.org/15379>`__: Fix passing of non-BMP "
"characters as integers for the charmap decoder (already working as unicode "
"strings). Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:6226
msgid ""
"`Issue #15144 <https://bugs.python.org/15144>`__: Fix possible integer "
"overflow when handling pointers as integer values, by using `Py_uintptr_t` "
"instead of `size_t`. Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:6230
msgid ""
"`Issue #15965 <https://bugs.python.org/15965>`__: Explicitly cast `AT_FDCWD` "
"as (int). Required on Solaris 10 (which defines `AT_FDCWD` as "
"``0xffd19553``), harmless on other platforms."
msgstr ""
#: ../../../Misc/NEWS:6233
msgid ""
"`Issue #15839 <https://bugs.python.org/15839>`__: Convert SystemErrors in "
"`super()` to RuntimeErrors."
msgstr ""
#: ../../../Misc/NEWS:6235
msgid ""
"`Issue #15448 <https://bugs.python.org/15448>`__: Buffered IO now frees the "
"buffer when closed, instead of when deallocating."
msgstr ""
#: ../../../Misc/NEWS:6238
msgid ""
"`Issue #15846 <https://bugs.python.org/15846>`__: Fix SystemError which "
"happened when using `ast.parse()` in an exception handler on code with "
"syntax errors."
msgstr ""
#: ../../../Misc/NEWS:6241
msgid ""
"`Issue #15897 <https://bugs.python.org/15897>`__: zipimport.c doesn't check "
"return value of fseek(). Patch by Felipe Cruz."
msgstr ""
#: ../../../Misc/NEWS:6244
msgid ""
"`Issue #15801 <https://bugs.python.org/15801>`__: Make sure mappings passed "
"to '%' formatting are actually subscriptable."
msgstr ""
#: ../../../Misc/NEWS:6247
msgid ""
"`Issue #15111 <https://bugs.python.org/15111>`__: __import__ should "
"propagate ImportError when raised as a side-effect of a module triggered "
"from using fromlist."
msgstr ""
#: ../../../Misc/NEWS:6250
msgid ""
"`Issue #15022 <https://bugs.python.org/15022>`__: Add pickle and comparison "
"support to types.SimpleNamespace."
msgstr ""
#: ../../../Misc/NEWS:6255
msgid ""
"`Issue #4331 <https://bugs.python.org/4331>`__: Added functools."
"partialmethod (Initial patch by Alon Horev)"
msgstr ""
#: ../../../Misc/NEWS:6257
msgid ""
"`Issue #13461 <https://bugs.python.org/13461>`__: Fix a crash in the "
"TextIOWrapper.tell method on 64-bit platforms. Patch by Yogesh Chaudhari."
msgstr ""
#: ../../../Misc/NEWS:6260
msgid ""
"`Issue #18681 <https://bugs.python.org/18681>`__: Fix a NameError in "
"importlib.reload() (noticed by Weizhao Li)."
msgstr ""
#: ../../../Misc/NEWS:6262
msgid ""
"`Issue #14323 <https://bugs.python.org/14323>`__: Expanded the number of "
"digits in the coefficients for the RGB -- YIQ conversions so that they match "
"the FCC NTSC versions."
msgstr ""
#: ../../../Misc/NEWS:6265
msgid ""
"`Issue #17998 <https://bugs.python.org/17998>`__: Fix an internal error in "
"regular expression engine."
msgstr ""
#: ../../../Misc/NEWS:6267
msgid ""
"`Issue #17557 <https://bugs.python.org/17557>`__: Fix os.getgroups() to work "
"with the modified behavior of getgroups(2) on OS X 10.8. Original patch by "
"Mateusz Lenik."
msgstr ""
#: ../../../Misc/NEWS:6270
msgid ""
"`Issue #18608 <https://bugs.python.org/18608>`__: Avoid keeping a strong "
"reference to the locale module inside the _io module."
msgstr ""
#: ../../../Misc/NEWS:6273
msgid ""
"`Issue #18619 <https://bugs.python.org/18619>`__: Fix atexit leaking "
"callbacks registered from sub-interpreters, and make it GC-aware."
msgstr ""
#: ../../../Misc/NEWS:6276
msgid ""
"`Issue #15699 <https://bugs.python.org/15699>`__: The readline module now "
"uses PEP 3121-style module initialization, so as to reclaim allocated "
"resources (Python callbacks) at shutdown. Original patch by Robin Schreiber."
msgstr ""
#: ../../../Misc/NEWS:6280
msgid ""
"`Issue #17616 <https://bugs.python.org/17616>`__: wave.open now supports the "
"context management protocol."
msgstr ""
#: ../../../Misc/NEWS:6282
msgid ""
"`Issue #18599 <https://bugs.python.org/18599>`__: Fix name attribute of "
"_sha1.sha1() object. It now returns 'SHA1' instead of 'SHA'."
msgstr ""
#: ../../../Misc/NEWS:6285
msgid ""
"`Issue #13266 <https://bugs.python.org/13266>`__: Added inspect.unwrap to "
"easily unravel __wrapped__ chains (initial patch by Daniel Urban and Aaron "
"Iles)"
msgstr ""
#: ../../../Misc/NEWS:6288
msgid ""
"`Issue #18561 <https://bugs.python.org/18561>`__: Skip name in ctypes' "
"_build_callargs() if name is NULL."
msgstr ""
#: ../../../Misc/NEWS:6290
msgid ""
"`Issue #18559 <https://bugs.python.org/18559>`__: Fix NULL pointer "
"dereference error in _pickle module"
msgstr ""
#: ../../../Misc/NEWS:6292
msgid ""
"`Issue #18556 <https://bugs.python.org/18556>`__: Check the return type of "
"PyUnicode_AsWideChar() in ctype's U_set()."
msgstr ""
#: ../../../Misc/NEWS:6295
msgid ""
"`Issue #17818 <https://bugs.python.org/17818>`__: aifc.getparams now returns "
"a namedtuple."
msgstr ""
#: ../../../Misc/NEWS:6297
msgid ""
"`Issue #18549 <https://bugs.python.org/18549>`__: Eliminate dead code in "
"socket_ntohl()"
msgstr ""
#: ../../../Misc/NEWS:6299
msgid ""
"`Issue #18530 <https://bugs.python.org/18530>`__: Remove additional stat "
"call from posixpath.ismount. Patch by Alex Gaynor."
msgstr ""
#: ../../../Misc/NEWS:6302
msgid ""
"`Issue #18514 <https://bugs.python.org/18514>`__: Fix unreachable "
"Py_DECREF() call in PyCData_FromBaseObj()"
msgstr ""
#: ../../../Misc/NEWS:6304
msgid ""
"`Issue #9177 <https://bugs.python.org/9177>`__: Calling read() or write() "
"now raises ValueError, not AttributeError, on a closed SSL socket. Patch by "
"Senko Rasic."
msgstr ""
#: ../../../Misc/NEWS:6307
msgid ""
"`Issue #18513 <https://bugs.python.org/18513>`__: Fix behaviour of cmath."
"rect w.r.t. signed zeros on OS X 10.8 + gcc."
msgstr ""
#: ../../../Misc/NEWS:6310
msgid ""
"`Issue #18479 <https://bugs.python.org/18479>`__: Changed venv Activate.ps1 "
"to make deactivate a function, and removed Deactivate.ps1."
msgstr ""
#: ../../../Misc/NEWS:6313
msgid ""
"`Issue #18480 <https://bugs.python.org/18480>`__: Add missing call to "
"PyType_Ready to the _elementtree extension."
msgstr ""
#: ../../../Misc/NEWS:6315
msgid ""
"`Issue #17778 <https://bugs.python.org/17778>`__: Fix test discovery for "
"test_multiprocessing. (Patch by Zachary Ware.)"
msgstr ""
#: ../../../Misc/NEWS:6318
msgid ""
"`Issue #18393 <https://bugs.python.org/18393>`__: The private module "
"_gestalt and private functions platform._mac_ver_gestalt, platform."
"_mac_ver_lookup and platform._bcd2str have been removed. This does not "
"affect the public interface of the platform module."
msgstr ""
#: ../../../Misc/NEWS:6323
msgid ""
"`Issue #17482 <https://bugs.python.org/17482>`__: functools.update_wrapper "
"(and functools.wraps) now set the __wrapped__ attribute correctly even if "
"the underlying function has a __wrapped__ attribute set."
msgstr ""
#: ../../../Misc/NEWS:6327
msgid ""
"`Issue #18431 <https://bugs.python.org/18431>`__: The new email header "
"parser now decodes RFC2047 encoded words in structured headers."
msgstr ""
#: ../../../Misc/NEWS:6330
msgid ""
"`Issue #18432 <https://bugs.python.org/18432>`__: The sched module's queue "
"method was incorrectly returning an iterator instead of a list."
msgstr ""
#: ../../../Misc/NEWS:6333
msgid ""
"`Issue #18044 <https://bugs.python.org/18044>`__: The new email header "
"parser was mis-parsing encoded words where an encoded character immediately "
"followed the '?' that follows the CTE character, resulting in a decoding "
"failure. They are now decoded correctly."
msgstr ""
#: ../../../Misc/NEWS:6337
msgid ""
"`Issue #18101 <https://bugs.python.org/18101>`__: Tcl.split() now process "
"strings nested in a tuple as it do with byte strings."
msgstr ""
#: ../../../Misc/NEWS:6340
msgid ""
"`Issue #18116 <https://bugs.python.org/18116>`__: getpass was always getting "
"an error when testing /dev/tty, and thus was always falling back to stdin, "
"and would then raise an exception if stdin could not be used (such as /dev/"
"null). It also leaked an open file. All of these issues are now fixed."
msgstr ""
#: ../../../Misc/NEWS:6345
msgid ""
"`Issue #17198 <https://bugs.python.org/17198>`__: Fix a NameError in the dbm "
"module. Patch by Valentina Mukhamedzhanova."
msgstr ""
#: ../../../Misc/NEWS:6348
msgid ""
"`Issue #18013 <https://bugs.python.org/18013>`__: Fix cgi.FieldStorage to "
"parse the W3C sample form."
msgstr ""
#: ../../../Misc/NEWS:6350
msgid ""
"`Issue #18020 <https://bugs.python.org/18020>`__: improve html.escape speed "
"by an order of magnitude. Patch by Matt Bryant."
msgstr ""
#: ../../../Misc/NEWS:6353
msgid ""
"`Issue #18347 <https://bugs.python.org/18347>`__: ElementTree's html "
"serializer now preserves the case of closing tags."
msgstr ""
#: ../../../Misc/NEWS:6356
msgid ""
"`Issue #17261 <https://bugs.python.org/17261>`__: Ensure multiprocessing's "
"proxies use proper address."
msgstr ""
#: ../../../Misc/NEWS:6358
msgid ""
"`Issue #18343 <https://bugs.python.org/18343>`__: faulthandler.register() "
"now keeps the previous signal handler when the function is called twice, so "
"faulthandler.unregister() restores correctly the original signal handler."
msgstr ""
#: ../../../Misc/NEWS:6362
msgid ""
"`Issue #17097 <https://bugs.python.org/17097>`__: Make multiprocessing "
"ignore EINTR."
msgstr ""
#: ../../../Misc/NEWS:6364
msgid ""
"`Issue #18339 <https://bugs.python.org/18339>`__: Negative ints keys in "
"unpickler.memo dict no longer cause a segfault inside the _pickle C "
"extension."
msgstr ""
#: ../../../Misc/NEWS:6367
msgid ""
"`Issue #18240 <https://bugs.python.org/18240>`__: The HMAC module is no "
"longer restricted to bytes and accepts any bytes-like object, e.g. "
"memoryview. Original patch by Jonas Borgström."
msgstr ""
#: ../../../Misc/NEWS:6370
msgid ""
"`Issue #18224 <https://bugs.python.org/18224>`__: Removed pydoc script from "
"created venv, as it causes problems on Windows and adds no value over and "
"above python -m pydoc ..."
msgstr ""
#: ../../../Misc/NEWS:6373
msgid ""
"`Issue #18155 <https://bugs.python.org/18155>`__: The csv module now "
"correctly handles csv files that use a delimter character that has a special "
"meaning in regexes, instead of throwing an exception."
msgstr ""
#: ../../../Misc/NEWS:6377
msgid ""
"`Issue #14360 <https://bugs.python.org/14360>`__: encode_quopri can now be "
"successfully used as an encoder when constructing a MIMEApplication object."
msgstr ""
#: ../../../Misc/NEWS:6380
msgid ""
"`Issue #11390 <https://bugs.python.org/11390>`__: Add -o and -f command line "
"options to the doctest CLI to specify doctest options (and convert it to "
"using argparse)."
msgstr ""
#: ../../../Misc/NEWS:6383
msgid ""
"`Issue #18135 <https://bugs.python.org/18135>`__: ssl.SSLSocket.write() now "
"raises an OverflowError if the input string in longer than 2 gigabytes, and "
"ssl.SSLContext.load_cert_chain() raises a ValueError if the password is "
"longer than 2 gigabytes. The ssl module does not support partial write."
msgstr ""
#: ../../../Misc/NEWS:6388
msgid ""
"`Issue #11016 <https://bugs.python.org/11016>`__: Add C implementation of "
"the stat module as _stat."
msgstr ""
#: ../../../Misc/NEWS:6390
msgid ""
"`Issue #18248 <https://bugs.python.org/18248>`__: Fix libffi build on AIX."
msgstr ""
#: ../../../Misc/NEWS:6392
msgid ""
"`Issue #18259 <https://bugs.python.org/18259>`__: Declare sethostname in "
"socketmodule.c for AIX"
msgstr ""
#: ../../../Misc/NEWS:6394
msgid ""
"`Issue #18147 <https://bugs.python.org/18147>`__: Add diagnostic functions "
"to ssl.SSLContext(). get_ca_list() lists all loaded CA certificates and "
"cert_store_stats() returns amount of loaded X.509 certs, X.509 CA certs and "
"CRLs."
msgstr ""
#: ../../../Misc/NEWS:6398
msgid ""
"`Issue #18167 <https://bugs.python.org/18167>`__: cgi.FieldStorage no longer "
"fails to handle multipart/form-data when ``\\r\\n`` appears at end of 65535 "
"bytes without other newlines."
msgstr ""
#: ../../../Misc/NEWS:6401
msgid ""
"`Issue #18076 <https://bugs.python.org/18076>`__: Introduce importlib.util."
"decode_source()."
msgstr ""
#: ../../../Misc/NEWS:6403
msgid ""
"`Issue #18357 <https://bugs.python.org/18357>`__: add tests for dictview set "
"difference. Patch by Fraser Tweedale."
msgstr ""
#: ../../../Misc/NEWS:6406
msgid ""
"importlib.abc.SourceLoader.get_source() no longer changes SyntaxError or "
"UnicodeDecodeError into ImportError."
msgstr ""
#: ../../../Misc/NEWS:6409
msgid ""
"`Issue #18058 <https://bugs.python.org/18058>`__, 18057: Make the namespace "
"package loader meet the importlib.abc.InspectLoader ABC, allowing for "
"namespace packages to work with runpy."
msgstr ""
#: ../../../Misc/NEWS:6413
msgid ""
"`Issue #17177 <https://bugs.python.org/17177>`__: The imp module is pending "
"deprecation."
msgstr ""
#: ../../../Misc/NEWS:6415
msgid ""
"subprocess: Prevent a possible double close of parent pipe fds when the "
"subprocess exec runs into an error. Prevent a regular multi-close of the /"
"dev/null fd when any of stdin, stdout and stderr was set to DEVNULL."
msgstr ""
#: ../../../Misc/NEWS:6419
msgid ""
"`Issue #18194 <https://bugs.python.org/18194>`__: Introduce importlib.util."
"cache_from_source() and source_from_cache() while documenting the equivalent "
"functions in imp as deprecated."
msgstr ""
#: ../../../Misc/NEWS:6423
msgid ""
"`Issue #17907 <https://bugs.python.org/17907>`__: Document imp.new_module() "
"as deprecated in favour of types.ModuleType."
msgstr ""
#: ../../../Misc/NEWS:6426
msgid ""
"`Issue #18192 <https://bugs.python.org/18192>`__: Introduce importlib.util."
"MAGIC_NUMBER and document as deprecated imp.get_magic()."
msgstr ""
#: ../../../Misc/NEWS:6429
msgid ""
"`Issue #18149 <https://bugs.python.org/18149>`__: Add filecmp.clear_cache() "
"to manually clear the filecmp cache. Patch by Mark Levitt"
msgstr ""
#: ../../../Misc/NEWS:6432
msgid ""
"`Issue #18193 <https://bugs.python.org/18193>`__: Add importlib.reload()."
msgstr ""
#: ../../../Misc/NEWS:6434
msgid ""
"`Issue #18157 <https://bugs.python.org/18157>`__: Stop using imp."
"load_module() in pydoc."
msgstr ""
#: ../../../Misc/NEWS:6436
msgid ""
"`Issue #16102 <https://bugs.python.org/16102>`__: Make uuid."
"_netbios_getnode() work again on Python 3."
msgstr ""
#: ../../../Misc/NEWS:6438
msgid ""
"`Issue #17134 <https://bugs.python.org/17134>`__: Add ssl.enum_cert_store() "
"as interface to Windows' cert store."
msgstr ""
#: ../../../Misc/NEWS:6440
msgid ""
"`Issue #18143 <https://bugs.python.org/18143>`__: Implement ssl."
"get_default_verify_paths() in order to debug the default locations for "
"cafile and capath."
msgstr ""
#: ../../../Misc/NEWS:6443
msgid ""
"`Issue #17314 <https://bugs.python.org/17314>`__: Move multiprocessing."
"forking over to importlib."
msgstr ""
#: ../../../Misc/NEWS:6445
msgid ""
"`Issue #11959 <https://bugs.python.org/11959>`__: SMTPServer and SMTPChannel "
"now take an optional map, use of which avoids affecting global state."
msgstr ""
#: ../../../Misc/NEWS:6448
msgid ""
"`Issue #18109 <https://bugs.python.org/18109>`__: os.uname() now decodes "
"fields from the locale encoding, and socket.gethostname() now decodes the "
"hostname from the locale encoding, instead of using the UTF-8 encoding in "
"strict mode."
msgstr ""
#: ../../../Misc/NEWS:6452
msgid ""
"`Issue #18089 <https://bugs.python.org/18089>`__: Implement importlib.abc."
"InspectLoader.load_module."
msgstr ""
#: ../../../Misc/NEWS:6454
msgid ""
"`Issue #18088 <https://bugs.python.org/18088>`__: Introduce importlib.abc."
"Loader.init_module_attrs for setting module attributes. Leads to the pending "
"deprecation of importlib.util.module_for_loader."
msgstr ""
#: ../../../Misc/NEWS:6458
msgid ""
"`Issue #17403 <https://bugs.python.org/17403>`__: urllib.parse.robotparser "
"normalizes the urls before adding to ruleline. This helps in handling "
"certain types invalid urls in a conservative manner. Patch contributed by "
"Mher Movsisyan."
msgstr ""
#: ../../../Misc/NEWS:6462
msgid ""
"`Issue #18070 <https://bugs.python.org/18070>`__: Have importlib.util."
"module_for_loader() set attributes unconditionally in order to properly "
"support reloading."
msgstr ""
#: ../../../Misc/NEWS:6465
msgid ""
"Added importlib.util.module_to_load to return a context manager to provide "
"the proper module object to load."
msgstr ""
#: ../../../Misc/NEWS:6468
msgid ""
"`Issue #18025 <https://bugs.python.org/18025>`__: Fixed a segfault in io."
"BufferedIOBase.readinto() when raw stream's read() returns more bytes than "
"requested."
msgstr ""
#: ../../../Misc/NEWS:6471
msgid ""
"`Issue #18011 <https://bugs.python.org/18011>`__: As was originally "
"intended, base64.b32decode() now raises a binascii.Error if there are non-"
"b32-alphabet characters present in the input string, instead of a TypeError."
msgstr ""
#: ../../../Misc/NEWS:6475
msgid ""
"`Issue #18072 <https://bugs.python.org/18072>`__: Implement importlib.abc."
"InspectLoader.get_code() and importlib.abc.ExecutionLoader.get_code()."
msgstr ""
#: ../../../Misc/NEWS:6478
msgid ""
"`Issue #8240 <https://bugs.python.org/8240>`__: Set the "
"SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER flag on SSL sockets."
msgstr ""
#: ../../../Misc/NEWS:6481
msgid ""
"`Issue #17269 <https://bugs.python.org/17269>`__: Workaround for socket."
"getaddrinfo crash on MacOS X with port None or \"0\" and flags "
"AI_NUMERICSERV."
msgstr ""
#: ../../../Misc/NEWS:6484
msgid ""
"`Issue #16986 <https://bugs.python.org/16986>`__: ElementTree now correctly "
"works with string input when the internal XML encoding is not UTF-8 or US-"
"ASCII."
msgstr ""
#: ../../../Misc/NEWS:6487
msgid ""
"`Issue #17996 <https://bugs.python.org/17996>`__: socket module now exposes "
"AF_LINK constant on BSD and OSX."
msgstr ""
#: ../../../Misc/NEWS:6489
msgid ""
"`Issue #17900 <https://bugs.python.org/17900>`__: Allowed pickling of "
"recursive OrderedDicts. Decreased pickled size and pickling time."
msgstr ""
#: ../../../Misc/NEWS:6492
msgid ""
"`Issue #17914 <https://bugs.python.org/17914>`__: Add os.cpu_count(). Patch "
"by Yogesh Chaudhari, based on an initial patch by Trent Nelson."
msgstr ""
#: ../../../Misc/NEWS:6495
msgid ""
"`Issue #17812 <https://bugs.python.org/17812>`__: Fixed quadratic complexity "
"of base64.b32encode(). Optimize base64.b32encode() and base64.b32decode() "
"(speed up to 3x)."
msgstr ""
#: ../../../Misc/NEWS:6498
msgid ""
"`Issue #17980 <https://bugs.python.org/17980>`__: Fix possible abuse of ssl."
"match_hostname() for denial of service using certificates with many "
"wildcards (CVE-2013-2099)."
msgstr ""
#: ../../../Misc/NEWS:6501
msgid ""
"`Issue #15758 <https://bugs.python.org/15758>`__: Fix FileIO.readall() so it "
"no longer has O(n**2) complexity."
msgstr ""
#: ../../../Misc/NEWS:6503
msgid ""
"`Issue #14596 <https://bugs.python.org/14596>`__: The struct.Struct() "
"objects now use a more compact implementation."
msgstr ""
#: ../../../Misc/NEWS:6506
msgid ""
"`Issue #17981 <https://bugs.python.org/17981>`__: logging's SysLogHandler "
"now closes the socket when it catches socket OSErrors."
msgstr ""
#: ../../../Misc/NEWS:6509
msgid ""
"`Issue #17964 <https://bugs.python.org/17964>`__: Fix os.sysconf(): the "
"return type of the C sysconf() function is long, not int."
msgstr ""
#: ../../../Misc/NEWS:6512
msgid "Fix typos in the multiprocessing module."
msgstr ""
#: ../../../Misc/NEWS:6514
msgid ""
"`Issue #17754 <https://bugs.python.org/17754>`__: Make ctypes.util."
"find_library() independent of the locale."
msgstr ""
#: ../../../Misc/NEWS:6516
msgid ""
"`Issue #17968 <https://bugs.python.org/17968>`__: Fix memory leak in os."
"listxattr()."
msgstr ""
#: ../../../Misc/NEWS:6518
msgid ""
"`Issue #17606 <https://bugs.python.org/17606>`__: Fixed support of encoded "
"byte strings in the XMLGenerator characters() and ignorableWhitespace() "
"methods. Original patch by Sebastian Ortiz Vasquez."
msgstr ""
#: ../../../Misc/NEWS:6522
msgid ""
"`Issue #17732 <https://bugs.python.org/17732>`__: Ignore distutils.cfg "
"options pertaining to install paths if a virtual environment is active."
msgstr ""
#: ../../../Misc/NEWS:6525
msgid ""
"`Issue #17915 <https://bugs.python.org/17915>`__: Fix interoperability of "
"xml.sax with file objects returned by codecs.open()."
msgstr ""
#: ../../../Misc/NEWS:6528
msgid ""
"`Issue #16601 <https://bugs.python.org/16601>`__: Restarting iteration over "
"tarfile really restarts rather than continuing from where it left off. "
"Patch by Michael Birtwell."
msgstr ""
#: ../../../Misc/NEWS:6531
msgid ""
"`Issue #17289 <https://bugs.python.org/17289>`__: The readline module now "
"plays nicer with external modules or applications changing the "
"rl_completer_word_break_characters global variable. Initial patch by "
"Bradley Froehle."
msgstr ""
#: ../../../Misc/NEWS:6535
msgid ""
"`Issue #12181 <https://bugs.python.org/12181>`__: select module: Fix struct "
"kevent definition on OpenBSD 64-bit platforms. Patch by Federico Schwindt."
msgstr ""
#: ../../../Misc/NEWS:6538
msgid ""
"`Issue #11816 <https://bugs.python.org/11816>`__: multiple improvements to "
"the dis module: get_instructions generator, ability to redirect output to a "
"file, Bytecode and Instruction abstractions. Patch by Nick Coghlan, Ryan "
"Kelly and Thomas Kluyver."
msgstr ""
#: ../../../Misc/NEWS:6542
msgid ""
"`Issue #13831 <https://bugs.python.org/13831>`__: Embed stringification of "
"remote traceback in local traceback raised when pool task raises an "
"exception."
msgstr ""
#: ../../../Misc/NEWS:6545
msgid ""
"`Issue #15528 <https://bugs.python.org/15528>`__: Add weakref.finalize to "
"support finalization using weakref callbacks."
msgstr ""
#: ../../../Misc/NEWS:6548
msgid ""
"`Issue #14173 <https://bugs.python.org/14173>`__: Avoid crashing when "
"reading a signal handler during interpreter shutdown."
msgstr ""
#: ../../../Misc/NEWS:6551
msgid ""
"`Issue #15902 <https://bugs.python.org/15902>`__: Fix imp.load_module() "
"accepting None as a file when loading an extension module."
msgstr ""
#: ../../../Misc/NEWS:6554
msgid ""
"`Issue #13721 <https://bugs.python.org/13721>`__: SSLSocket.getpeercert() "
"and SSLSocket.do_handshake() now raise an OSError with ENOTCONN, instead of "
"an AttributeError, when the SSLSocket is not connected."
msgstr ""
#: ../../../Misc/NEWS:6558
msgid ""
"`Issue #14679 <https://bugs.python.org/14679>`__: add an __all__ (that "
"contains only HTMLParser) to html.parser."
msgstr ""
#: ../../../Misc/NEWS:6560
msgid ""
"`Issue #17802 <https://bugs.python.org/17802>`__: Fix an UnboundLocalError "
"in html.parser. Initial tests by Thomas Barlow."
msgstr ""
#: ../../../Misc/NEWS:6563
msgid ""
"`Issue #17358 <https://bugs.python.org/17358>`__: Modules loaded by imp."
"load_source() and load_compiled() (and by extention load_module()) now have "
"a better chance of working when reloaded."
msgstr ""
#: ../../../Misc/NEWS:6566
msgid ""
"`Issue #17804 <https://bugs.python.org/17804>`__: New function ``struct."
"iter_unpack`` allows for streaming struct unpacking."
msgstr ""
#: ../../../Misc/NEWS:6569
msgid ""
"`Issue #17830 <https://bugs.python.org/17830>`__: When keyword.py is used to "
"update a keyword file, it now preserves the line endings of the original "
"file."
msgstr ""
#: ../../../Misc/NEWS:6572
msgid ""
"`Issue #17272 <https://bugs.python.org/17272>`__: Making the urllib."
"request's Request.full_url a descriptor. Fixes bugs with assignment to "
"full_url. Patch by Demian Brecht."
msgstr ""
#: ../../../Misc/NEWS:6575
msgid ""
"`Issue #17353 <https://bugs.python.org/17353>`__: Plistlib emitted empty "
"data tags with deeply nested datastructures"
msgstr ""
#: ../../../Misc/NEWS:6577
msgid ""
"`Issue #11714 <https://bugs.python.org/11714>`__: Use 'with' statements to "
"assure a Semaphore releases a condition variable. Original patch by Thomas "
"Rachel."
msgstr ""
#: ../../../Misc/NEWS:6580
msgid ""
"`Issue #16624 <https://bugs.python.org/16624>`__: `subprocess.check_output` "
"now accepts an `input` argument, allowing the subprocess's stdin to be "
"provided as a (byte) string. Patch by Zack Weinberg."
msgstr ""
#: ../../../Misc/NEWS:6584
msgid ""
"`Issue #17795 <https://bugs.python.org/17795>`__: Reverted backwards-"
"incompatible change in SysLogHandler with Unix domain sockets."
msgstr ""
#: ../../../Misc/NEWS:6587
msgid ""
"`Issue #16694 <https://bugs.python.org/16694>`__: Add a pure Python "
"implementation of the operator module. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:6590
msgid ""
"`Issue #11182 <https://bugs.python.org/11182>`__: remove the unused and "
"undocumented pydoc.Scanner class. Patch by Martin Morrison."
msgstr ""
#: ../../../Misc/NEWS:6593
msgid ""
"`Issue #17741 <https://bugs.python.org/17741>`__: Add ElementTree."
"XMLPullParser, an event-driven parser for non-blocking applications."
msgstr ""
#: ../../../Misc/NEWS:6596
msgid ""
"`Issue #17555 <https://bugs.python.org/17555>`__: Fix ForkAwareThreadLock so "
"that size of after fork registry does not grow exponentially with generation "
"of process."
msgstr ""
#: ../../../Misc/NEWS:6599
msgid ""
"`Issue #17707 <https://bugs.python.org/17707>`__: fix regression in "
"multiprocessing.Queue's get() method where it did not block for short "
"timeouts."
msgstr ""
#: ../../../Misc/NEWS:6602
msgid ""
"`Issue #17720 <https://bugs.python.org/17720>`__: Fix the Python "
"implementation of pickle.Unpickler to correctly process the APPENDS opcode "
"when it is used on non-list objects."
msgstr ""
#: ../../../Misc/NEWS:6605
msgid ""
"`Issue #17012 <https://bugs.python.org/17012>`__: shutil.which() no longer "
"falls back to the PATH environment variable if an empty path argument is "
"specified. Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:6608
msgid ""
"`Issue #17710 <https://bugs.python.org/17710>`__: Fix pickle raising a "
"SystemError on bogus input."
msgstr ""
#: ../../../Misc/NEWS:6610
msgid ""
"`Issue #17341 <https://bugs.python.org/17341>`__: Include the invalid name "
"in the error messages from re about invalid group names."
msgstr ""
#: ../../../Misc/NEWS:6613
msgid ""
"`Issue #17702 <https://bugs.python.org/17702>`__: os.environ now raises "
"KeyError with the original environment variable name (str on UNIX), instead "
"of using the encoded name (bytes on UNIX)."
msgstr ""
#: ../../../Misc/NEWS:6617
msgid ""
"`Issue #16163 <https://bugs.python.org/16163>`__: Make the importlib based "
"version of pkgutil.iter_importers work for submodules. Initial patch by "
"Berker Peksag."
msgstr ""
#: ../../../Misc/NEWS:6620
msgid ""
"`Issue #16804 <https://bugs.python.org/16804>`__: Fix a bug in the 'site' "
"module that caused running 'python -S -m site' to incorrectly throw an "
"exception."
msgstr ""
#: ../../../Misc/NEWS:6623
msgid ""
"`Issue #15480 <https://bugs.python.org/15480>`__: Remove the deprecated and "
"unused TYPE_INT64 code from marshal. Initial patch by Daniel Riti."
msgstr ""
#: ../../../Misc/NEWS:6626
msgid ""
"`Issue #2118 <https://bugs.python.org/2118>`__: SMTPException is now a "
"subclass of OSError."
msgstr ""
#: ../../../Misc/NEWS:6628
msgid ""
"`Issue #17016 <https://bugs.python.org/17016>`__: Get rid of possible "
"pointer wraparounds and integer overflows in the re module. Patch by "
"Nickolai Zeldovich."
msgstr ""
#: ../../../Misc/NEWS:6631
msgid ""
"`Issue #16658 <https://bugs.python.org/16658>`__: add missing return to "
"HTTPConnection.send(). Patch by Jeff Knupp."
msgstr ""
#: ../../../Misc/NEWS:6634
msgid ""
"`Issue #9556 <https://bugs.python.org/9556>`__: the logging package now "
"allows specifying a time-of-day for a TimedRotatingFileHandler to rotate."
msgstr ""
#: ../../../Misc/NEWS:6637
msgid ""
"`Issue #14971 <https://bugs.python.org/14971>`__: unittest test discovery no "
"longer gets confused when a function has a different __name__ than its name "
"in the TestCase class dictionary."
msgstr ""
#: ../../../Misc/NEWS:6640
msgid ""
"`Issue #17487 <https://bugs.python.org/17487>`__: The wave getparams method "
"now returns a namedtuple rather than a plain tuple."
msgstr ""
#: ../../../Misc/NEWS:6643
msgid ""
"`Issue #17675 <https://bugs.python.org/17675>`__: socket repr() provides "
"local and remote addresses (if any). Patch by Giampaolo Rodola'"
msgstr ""
#: ../../../Misc/NEWS:6646
msgid ""
"`Issue #17093 <https://bugs.python.org/17093>`__: Make the ABCs in importlib."
"abc provide default values or raise reasonable exceptions for their methods "
"to make them more amenable to super() calls."
msgstr ""
#: ../../../Misc/NEWS:6650
msgid ""
"`Issue #17566 <https://bugs.python.org/17566>`__: Make importlib.abc.Loader."
"module_repr() optional instead of an abstractmethod; now it raises "
"NotImplementedError so as to be ignored by default."
msgstr ""
#: ../../../Misc/NEWS:6653
msgid ""
"`Issue #17678 <https://bugs.python.org/17678>`__: Remove the use of "
"deprecated method in http/cookiejar.py by changing the call to "
"get_origin_req_host() to origin_req_host."
msgstr ""
#: ../../../Misc/NEWS:6656
msgid ""
"`Issue #17666 <https://bugs.python.org/17666>`__: Fix reading gzip files "
"with an extra field."
msgstr ""
#: ../../../Misc/NEWS:6658
msgid ""
"`Issue #16475 <https://bugs.python.org/16475>`__: Support object instancing, "
"recursion and interned strings in marshal"
msgstr ""
#: ../../../Misc/NEWS:6661
msgid ""
"`Issue #17502 <https://bugs.python.org/17502>`__: Process DEFAULT values in "
"mock side_effect that returns iterator."
msgstr ""
#: ../../../Misc/NEWS:6663
msgid ""
"`Issue #16795 <https://bugs.python.org/16795>`__: On the ast.arguments "
"object, unify vararg with varargannotation and kwarg and kwargannotation. "
"Change the column offset of ast.Attribute to be at the attribute name."
msgstr ""
#: ../../../Misc/NEWS:6667
msgid ""
"`Issue #17434 <https://bugs.python.org/17434>`__: Properly raise a "
"SyntaxError when a string occurs between future imports."
msgstr ""
#: ../../../Misc/NEWS:6670
msgid ""
"`Issue #17117 <https://bugs.python.org/17117>`__: Import and @importlib.util."
"set_loader now set __loader__ when it has a value of None or the attribute "
"doesn't exist."
msgstr ""
#: ../../../Misc/NEWS:6673
msgid ""
"`Issue #17032 <https://bugs.python.org/17032>`__: The \"global\" in the "
"\"NameError: global name 'x' is not defined\" error message has been "
"removed. Patch by Ram Rachum."
msgstr ""
#: ../../../Misc/NEWS:6676
msgid ""
"`Issue #18080 <https://bugs.python.org/18080>`__: When building a C "
"extension module on OS X, if the compiler is overriden with the CC "
"environment variable, use the new compiler as the default for linking if "
"LDSHARED is not also overriden. This restores Distutils behavior introduced "
"in 3.2.3 and inadvertently dropped in 3.3.0."
msgstr ""
#: ../../../Misc/NEWS:6681
msgid ""
"`Issue #18113 <https://bugs.python.org/18113>`__: Fixed a refcount leak in "
"the curses.panel module's set_userptr() method. Reported by Atsuo Ishimoto."
msgstr ""
#: ../../../Misc/NEWS:6684
msgid "Implement PEP 443 \"Single-dispatch generic functions\"."
msgstr ""
#: ../../../Misc/NEWS:6686
msgid ""
"Implement PEP 435 \"Adding an Enum type to the Python standard library\"."
msgstr ""
#: ../../../Misc/NEWS:6688
msgid ""
"`Issue #15596 <https://bugs.python.org/15596>`__: Faster pickling of unicode "
"strings."
msgstr ""
#: ../../../Misc/NEWS:6690
msgid ""
"`Issue #17572 <https://bugs.python.org/17572>`__: Avoid chained exceptions "
"when passing bad directives to time.strptime(). Initial patch by Claudiu "
"Popa."
msgstr ""
#: ../../../Misc/NEWS:6693
msgid ""
"`Issue #17435 <https://bugs.python.org/17435>`__: threading.Timer's __init__ "
"method no longer uses mutable default values for the args and kwargs "
"parameters."
msgstr ""
#: ../../../Misc/NEWS:6696
msgid ""
"`Issue #17526 <https://bugs.python.org/17526>`__: fix an IndexError raised "
"while passing code without filename to inspect.findsource(). Initial patch "
"by Tyler Doyle."
msgstr ""
#: ../../../Misc/NEWS:6699
msgid ""
"`Issue #17540 <https://bugs.python.org/17540>`__: Added style parameter to "
"logging formatter configuration by dict."
msgstr ""
#: ../../../Misc/NEWS:6701
msgid ""
"`Issue #16692 <https://bugs.python.org/16692>`__: The ssl module now "
"supports TLS 1.1 and TLS 1.2. Initial patch by Michele Orrù."
msgstr ""
#: ../../../Misc/NEWS:6704
msgid ""
"`Issue #17025 <https://bugs.python.org/17025>`__: multiprocessing: Reduce "
"Queue and SimpleQueue contention."
msgstr ""
#: ../../../Misc/NEWS:6706
msgid ""
"`Issue #17536 <https://bugs.python.org/17536>`__: Add to webbrowser's "
"browser list: www-browser, x-www-browser, iceweasel, iceape."
msgstr ""
#: ../../../Misc/NEWS:6709
msgid ""
"`Issue #17150 <https://bugs.python.org/17150>`__: pprint now uses line "
"continuations to wrap long string literals."
msgstr ""
#: ../../../Misc/NEWS:6712
msgid ""
"`Issue #17488 <https://bugs.python.org/17488>`__: Change the subprocess."
"Popen bufsize parameter default value from unbuffered (0) to buffering (-1) "
"to match the behavior existing code expects and match the behavior of the "
"subprocess module in Python 2 to avoid introducing hard to track down bugs."
msgstr ""
#: ../../../Misc/NEWS:6717
msgid ""
"`Issue #17521 <https://bugs.python.org/17521>`__: Corrected non-enabling of "
"logger following two calls to fileConfig()."
msgstr ""
#: ../../../Misc/NEWS:6720
msgid ""
"`Issue #17508 <https://bugs.python.org/17508>`__: Corrected logging "
"MemoryHandler configuration in dictConfig() where the target handler wasn't "
"configured first."
msgstr ""
#: ../../../Misc/NEWS:6723
msgid ""
"`Issue #17209 <https://bugs.python.org/17209>`__: curses.window.get_wch() "
"now correctly handles KeyboardInterrupt (CTRL+c)."
msgstr ""
#: ../../../Misc/NEWS:6726
msgid ""
"`Issue #5713 <https://bugs.python.org/5713>`__: smtplib now handles 421 "
"(closing connection) error codes when sending mail by closing the socket and "
"reporting the 421 error code via the exception appropriate to the command "
"that received the error response."
msgstr ""
#: ../../../Misc/NEWS:6730
msgid ""
"`Issue #16997 <https://bugs.python.org/16997>`__: unittest.TestCase now "
"provides a subTest() context manager to procedurally generate, in an easy "
"way, small test instances."
msgstr ""
#: ../../../Misc/NEWS:6733
msgid ""
"`Issue #17485 <https://bugs.python.org/17485>`__: Also delete the Request "
"Content-Length header if the data attribute is deleted. (Follow on to issue "
"`Issue #16464 <https://bugs.python.org/16464>`__)."
msgstr ""
#: ../../../Misc/NEWS:6736
msgid ""
"`Issue #15927 <https://bugs.python.org/15927>`__: CVS now correctly parses "
"escaped newlines and carriage when parsing with quoting turned off."
msgstr ""
#: ../../../Misc/NEWS:6739
msgid ""
"`Issue #17467 <https://bugs.python.org/17467>`__: add readline and readlines "
"support to mock_open in unittest.mock."
msgstr ""
#: ../../../Misc/NEWS:6742
msgid ""
"`Issue #13248 <https://bugs.python.org/13248>`__: removed deprecated and "
"undocumented difflib.isbjunk, isbpopular."
msgstr ""
#: ../../../Misc/NEWS:6745
msgid ""
"`Issue #17192 <https://bugs.python.org/17192>`__: Update the ctypes module's "
"libffi to v3.0.13. This specifically addresses a stack misalignment issue "
"on x86 and issues on some more recent platforms."
msgstr ""
#: ../../../Misc/NEWS:6749
msgid ""
"`Issue #8862 <https://bugs.python.org/8862>`__: Fixed curses cleanup when "
"getkey is interrputed by a signal."
msgstr ""
#: ../../../Misc/NEWS:6751
msgid ""
"`Issue #17443 <https://bugs.python.org/17443>`__: imaplib.IMAP4_stream was "
"using the default unbuffered IO in subprocess, but the imap code assumes "
"buffered IO. In Python2 this worked by accident. IMAP4_stream now "
"explicitly uses buffered IO."
msgstr ""
#: ../../../Misc/NEWS:6755
msgid ""
"`Issue #17476 <https://bugs.python.org/17476>`__: Fixed regression relative "
"to Python2 in undocumented pydoc 'allmethods'; it was missing unbound "
"methods on the class."
msgstr ""
#: ../../../Misc/NEWS:6758
msgid ""
"`Issue #17474 <https://bugs.python.org/17474>`__: Remove the deprecated "
"methods of Request class."
msgstr ""
#: ../../../Misc/NEWS:6760
msgid ""
"`Issue #16709 <https://bugs.python.org/16709>`__: unittest discover order is "
"no-longer filesystem specific. Patch by Jeff Ramnani."
msgstr ""
#: ../../../Misc/NEWS:6763
msgid ""
"Use the HTTPS PyPI url for upload, overriding any plain HTTP URL in pypirc."
msgstr ""
#: ../../../Misc/NEWS:6765
msgid ""
"`Issue #5024 <https://bugs.python.org/5024>`__: sndhdr.whichhdr now returns "
"the frame count for WAV files rather than -1."
msgstr ""
#: ../../../Misc/NEWS:6768
msgid ""
"`Issue #17460 <https://bugs.python.org/17460>`__: Remove the strict argument "
"of HTTPConnection and removing the DeprecationWarning being issued from 3.2 "
"onwards."
msgstr ""
#: ../../../Misc/NEWS:6771
msgid ""
"`Issue #16880 <https://bugs.python.org/16880>`__: Do not assume _imp."
"load_dynamic() is defined in the imp module."
msgstr ""
#: ../../../Misc/NEWS:6773
msgid ""
"`Issue #16389 <https://bugs.python.org/16389>`__: Fixed a performance "
"regression relative to Python 3.1 in the caching of compiled regular "
"expressions."
msgstr ""
#: ../../../Misc/NEWS:6776
msgid "Added missing FeedParser and BytesFeedParser to email.parser.__all__."
msgstr ""
#: ../../../Misc/NEWS:6778
msgid ""
"`Issue #17431 <https://bugs.python.org/17431>`__: Fix missing import of "
"BytesFeedParser in email.parser."
msgstr ""
#: ../../../Misc/NEWS:6780
msgid ""
"`Issue #12921 <https://bugs.python.org/12921>`__: http.server's send_error "
"takes an explain argument to send more information in response. Patch "
"contributed by Karl."
msgstr ""
#: ../../../Misc/NEWS:6783
msgid ""
"`Issue #17414 <https://bugs.python.org/17414>`__: Add timeit, repeat, and "
"default_timer to timeit.__all__."
msgstr ""
#: ../../../Misc/NEWS:6785
msgid ""
"`Issue #1285086 <https://bugs.python.org/1285086>`__: Get rid of the "
"refcounting hack and speed up urllib.parse.unquote() and urllib.parse."
"unquote_to_bytes()."
msgstr ""
#: ../../../Misc/NEWS:6788
msgid ""
"`Issue #17099 <https://bugs.python.org/17099>`__: Have importlib."
"find_loader() raise ValueError when __loader__ is not set, harmonizing with "
"what happens when the attribute is set to None."
msgstr ""
#: ../../../Misc/NEWS:6791
msgid "Expose the O_PATH constant in the os module if it is available."
msgstr ""
#: ../../../Misc/NEWS:6793
msgid ""
"`Issue #17368 <https://bugs.python.org/17368>`__: Fix an off-by-one error in "
"the Python JSON decoder that caused a failure while decoding empty object "
"literals when object_pairs_hook was specified."
msgstr ""
#: ../../../Misc/NEWS:6797
msgid ""
"`Issue #17385 <https://bugs.python.org/17385>`__: Fix quadratic behavior in "
"threading.Condition. The FIFO queue now uses a deque instead of a list."
msgstr ""
#: ../../../Misc/NEWS:6800
msgid ""
"`Issue #15806 <https://bugs.python.org/15806>`__: Add contextlib.ignore(). "
"This creates a context manager to ignore specified exceptions, replacing the "
"\"except SomeException: pass\" idiom."
msgstr ""
#: ../../../Misc/NEWS:6803
msgid ""
"`Issue #14645 <https://bugs.python.org/14645>`__: The email generator "
"classes now produce output using the specified linesep throughout. "
"Previously if the prolog, epilog, or body were stored with a different "
"linesep, that linesep was used. This fix corrects an RFC non-compliance "
"issue with smtplib.send_message."
msgstr ""
#: ../../../Misc/NEWS:6808
msgid ""
"`Issue #17278 <https://bugs.python.org/17278>`__: Fix a crash in heapq."
"heappush() and heapq.heappop() when the list is being resized concurrently."
msgstr ""
#: ../../../Misc/NEWS:6811
msgid ""
"`Issue #16962 <https://bugs.python.org/16962>`__: Use getdents64 instead of "
"the obsolete getdents syscall in the subprocess module on Linux."
msgstr ""
#: ../../../Misc/NEWS:6814
msgid ""
"`Issue #16935 <https://bugs.python.org/16935>`__: unittest now counts the "
"module as skipped if it raises SkipTest, instead of counting it as an "
"error. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:6817
msgid ""
"`Issue #17018 <https://bugs.python.org/17018>`__: Make Process.join() retry "
"if os.waitpid() fails with EINTR."
msgstr ""
#: ../../../Misc/NEWS:6819
msgid ""
"`Issue #17223 <https://bugs.python.org/17223>`__: array module: Fix a "
"crasher when converting an array containing invalid characters (outside "
"range [U+0000; U+10ffff]) to Unicode: repr(array), str(array) and array."
"tounicode(). Patch written by Manuel Jacob."
msgstr ""
#: ../../../Misc/NEWS:6823
msgid ""
"`Issue #17197 <https://bugs.python.org/17197>`__: profile/cProfile modules "
"refactored so that code of run() and runctx() utility functions is not "
"duplicated in both modules."
msgstr ""
#: ../../../Misc/NEWS:6826
msgid ""
"`Issue #14720 <https://bugs.python.org/14720>`__: sqlite3: Convert datetime "
"microseconds correctly. Patch by Lowe Thiderman."
msgstr ""
#: ../../../Misc/NEWS:6829
msgid ""
"`Issue #15132 <https://bugs.python.org/15132>`__: Allow a list for the "
"defaultTest argument of unittest.TestProgram. Patch by Jyrki Pulliainen."
msgstr ""
#: ../../../Misc/NEWS:6832
msgid ""
"`Issue #17225 <https://bugs.python.org/17225>`__: JSON decoder now counts "
"columns in the first line starting with 1, as in other lines."
msgstr ""
#: ../../../Misc/NEWS:6835
msgid ""
"`Issue #6623 <https://bugs.python.org/6623>`__: Added explicit "
"DeprecationWarning for ftplib.netrc, which has been deprecated and "
"undocumented for a long time."
msgstr ""
#: ../../../Misc/NEWS:6838
msgid ""
"`Issue #13700 <https://bugs.python.org/13700>`__: Fix byte/string handling "
"in imaplib authentication when an authobject is specified."
msgstr ""
#: ../../../Misc/NEWS:6841
msgid ""
"`Issue #13153 <https://bugs.python.org/13153>`__: Tkinter functions now "
"raise TclError instead of ValueError when a string argument contains non-BMP "
"character."
msgstr ""
#: ../../../Misc/NEWS:6844
msgid ""
"`Issue #9669 <https://bugs.python.org/9669>`__: Protect re against infinite "
"loops on zero-width matching in non-greedy repeat. Patch by Matthew Barnett."
msgstr ""
#: ../../../Misc/NEWS:6847
msgid ""
"`Issue #13169 <https://bugs.python.org/13169>`__: The maximal repetition "
"number in a regular expression has been increased from 65534 to 2147483647 "
"(on 32-bit platform) or 4294967294 (on 64-bit)."
msgstr ""
#: ../../../Misc/NEWS:6851
msgid ""
"`Issue #17143 <https://bugs.python.org/17143>`__: Fix a missing import in "
"the trace module. Initial patch by Berker Peksag."
msgstr ""
#: ../../../Misc/NEWS:6854
msgid ""
"`Issue #15220 <https://bugs.python.org/15220>`__: email.feedparser's line "
"splitting algorithm is now simpler and faster."
msgstr ""
#: ../../../Misc/NEWS:6857
msgid ""
"`Issue #16743 <https://bugs.python.org/16743>`__: Fix mmap overflow check on "
"32 bit Windows."
msgstr ""
#: ../../../Misc/NEWS:6859
msgid ""
"`Issue #16996 <https://bugs.python.org/16996>`__: webbrowser module now uses "
"shutil.which() to find a web-browser on the executable search path."
msgstr ""
#: ../../../Misc/NEWS:6862
msgid ""
"`Issue #16800 <https://bugs.python.org/16800>`__: tempfile.gettempdir() no "
"longer left temporary files when the disk is full. Original patch by Amir "
"Szekely."
msgstr ""
#: ../../../Misc/NEWS:6865
msgid "`Issue #17192 <https://bugs.python.org/17192>`__: Import libffi-3.0.12."
msgstr ""
#: ../../../Misc/NEWS:6867
msgid ""
"`Issue #16564 <https://bugs.python.org/16564>`__: Fixed regression relative "
"to Python2 in the operation of email.encoders.encode_7or8bit when used with "
"binary data."
msgstr ""
#: ../../../Misc/NEWS:6870
msgid ""
"`Issue #17052 <https://bugs.python.org/17052>`__: unittest discovery should "
"use self.testLoader."
msgstr ""
#: ../../../Misc/NEWS:6872
msgid ""
"`Issue #4591 <https://bugs.python.org/4591>`__: Uid and gid values larger "
"than 2**31 are supported now."
msgstr ""
#: ../../../Misc/NEWS:6874
msgid ""
"`Issue #17141 <https://bugs.python.org/17141>`__: random.vonmisesvariate() "
"no longer hangs for large kappas."
msgstr ""
#: ../../../Misc/NEWS:6876
msgid ""
"`Issue #17149 <https://bugs.python.org/17149>`__: Fix random.vonmisesvariate "
"to always return results in [0, 2*math.pi]."
msgstr ""
#: ../../../Misc/NEWS:6879
msgid ""
"`Issue #1470548 <https://bugs.python.org/1470548>`__: XMLGenerator now works "
"with binary output streams."
msgstr ""
#: ../../../Misc/NEWS:6881
msgid ""
"`Issue #6975 <https://bugs.python.org/6975>`__: os.path.realpath() now "
"correctly resolves multiple nested symlinks on POSIX platforms."
msgstr ""
#: ../../../Misc/NEWS:6884
msgid ""
"`Issue #13773 <https://bugs.python.org/13773>`__: sqlite3.connect() gets a "
"new `uri` parameter to pass the filename as a URI, allowing to pass custom "
"options."
msgstr ""
#: ../../../Misc/NEWS:6887
msgid ""
"`Issue #16564 <https://bugs.python.org/16564>`__: Fixed regression relative "
"to Python2 in the operation of email.encoders.encode_noop when used with "
"binary data."
msgstr ""
#: ../../../Misc/NEWS:6890
msgid ""
"`Issue #10355 <https://bugs.python.org/10355>`__: The mode, name, encoding "
"and newlines properties now work on SpooledTemporaryFile objects even when "
"they have not yet rolled over. Obsolete method xreadline (which has never "
"worked in Python 3) has been removed."
msgstr ""
#: ../../../Misc/NEWS:6895
msgid ""
"`Issue #16686 <https://bugs.python.org/16686>`__: Fixed a lot of bugs in "
"audioop module. Fixed crashes in avgpp(), maxpp() and ratecv(). Fixed an "
"integer overflow in add(), bias(), and ratecv(). reverse(), lin2lin() and "
"ratecv() no more lose precision for 32-bit samples. max() and rms() no more "
"returns a negative result and various other functions now work correctly "
"with 32-bit sample -0x80000000."
msgstr ""
#: ../../../Misc/NEWS:6901
msgid ""
"`Issue #17073 <https://bugs.python.org/17073>`__: Fix some integer overflows "
"in sqlite3 module."
msgstr ""
#: ../../../Misc/NEWS:6903
msgid ""
"`Issue #16723 <https://bugs.python.org/16723>`__: httplib.HTTPResponse no "
"longer marked closed when the connection is automatically closed."
msgstr ""
#: ../../../Misc/NEWS:6906
msgid ""
"`Issue #15359 <https://bugs.python.org/15359>`__: Add CAN_BCM protocol "
"support to the socket module. Patch by Brian Thorne."
msgstr ""
#: ../../../Misc/NEWS:6909
msgid ""
"`Issue #16948 <https://bugs.python.org/16948>`__: Fix quoted printable body "
"encoding for non-latin1 character sets in the email package."
msgstr ""
#: ../../../Misc/NEWS:6912
msgid ""
"`Issue #16811 <https://bugs.python.org/16811>`__: Fix folding of headers "
"with no value in the provisional email policies."
msgstr ""
#: ../../../Misc/NEWS:6915
msgid ""
"`Issue #17132 <https://bugs.python.org/17132>`__: Update symbol for \"yield "
"from\" grammar changes."
msgstr ""
#: ../../../Misc/NEWS:6917
msgid ""
"`Issue #17076 <https://bugs.python.org/17076>`__: Make copying of xattrs "
"more tolerant of missing FS support. Patch by Thomas Wouters."
msgstr ""
#: ../../../Misc/NEWS:6920
msgid ""
"`Issue #17089 <https://bugs.python.org/17089>`__: Expat parser now correctly "
"works with string input when the internal XML encoding is not UTF-8 or US-"
"ASCII. It also now accepts bytes and strings larger than 2 GiB."
msgstr ""
#: ../../../Misc/NEWS:6924
msgid ""
"`Issue #6083 <https://bugs.python.org/6083>`__: Fix multiple segmentation "
"faults occured when PyArg_ParseTuple parses nested mutating sequence."
msgstr ""
#: ../../../Misc/NEWS:6927
msgid ""
"`Issue #5289 <https://bugs.python.org/5289>`__: Fix ctypes.util.find_library "
"on Solaris."
msgstr ""
#: ../../../Misc/NEWS:6929
msgid ""
"`Issue #17106 <https://bugs.python.org/17106>`__: Fix a segmentation fault "
"in io.TextIOWrapper when an underlying stream or a decoder produces data of "
"an unexpected type (i.e. when io.TextIOWrapper initialized with text stream "
"or use bytes-to-bytes codec)."
msgstr ""
#: ../../../Misc/NEWS:6933
msgid ""
"`Issue #17015 <https://bugs.python.org/17015>`__: When it has a spec, a Mock "
"object now inspects its signature when matching calls, so that arguments can "
"be matched positionally or by name."
msgstr ""
#: ../../../Misc/NEWS:6937
msgid ""
"`Issue #15633 <https://bugs.python.org/15633>`__: httplib.HTTPResponse is "
"now mark closed when the server sends less than the advertised Content-"
"Length."
msgstr ""
#: ../../../Misc/NEWS:6940
msgid ""
"`Issue #12268 <https://bugs.python.org/12268>`__: The io module file object "
"write methods no longer abort early when one of its write system calls is "
"interrupted (EINTR)."
msgstr ""
#: ../../../Misc/NEWS:6943
msgid ""
"`Issue #6972 <https://bugs.python.org/6972>`__: The zipfile module no longer "
"overwrites files outside of its destination path when extracting malicious "
"zip files."
msgstr ""
#: ../../../Misc/NEWS:6946
msgid ""
"`Issue #4844 <https://bugs.python.org/4844>`__: ZipFile now raises "
"BadZipFile when opens a ZIP file with an incomplete \"End of Central "
"Directory\" record. Original patch by Guilherme Polo and Alan McIntyre."
msgstr ""
#: ../../../Misc/NEWS:6950
msgid ""
"`Issue #17071 <https://bugs.python.org/17071>`__: Signature.bind() now works "
"when one of the keyword arguments is named ``self``."
msgstr ""
#: ../../../Misc/NEWS:6953
msgid ""
"`Issue #12004 <https://bugs.python.org/12004>`__: Fix an internal error in "
"PyZipFile when writing an invalid Python file. Patch by Ben Morgan."
msgstr ""
#: ../../../Misc/NEWS:6956
msgid ""
"Have py_compile use importlib as much as possible to avoid code duplication. "
"Code now raises FileExistsError if the file path to be used for the byte-"
"compiled file is a symlink or non-regular file as a warning that import will "
"not keep the file path type if it writes to that path."
msgstr ""
#: ../../../Misc/NEWS:6961
msgid ""
"`Issue #16972 <https://bugs.python.org/16972>`__: Have site.addpackage() "
"consider already known paths even when none are explicitly passed in. Bug "
"report and fix by Kirill."
msgstr ""
#: ../../../Misc/NEWS:6964
msgid ""
"`Issue #1602133 <https://bugs.python.org/1602133>`__: on Mac OS X a shared "
"library build (``--enable-shared``) now fills the ``os.environ`` variable "
"correctly."
msgstr ""
#: ../../../Misc/NEWS:6967
msgid ""
"`Issue #15505 <https://bugs.python.org/15505>`__: `unittest.installHandler` "
"no longer assumes SIGINT handler is set to a callable object."
msgstr ""
#: ../../../Misc/NEWS:6970
msgid ""
"`Issue #13454 <https://bugs.python.org/13454>`__: Fix a crash when deleting "
"an iterator created by itertools.tee() if all other iterators were very "
"advanced before."
msgstr ""
#: ../../../Misc/NEWS:6973
msgid ""
"`Issue #12411 <https://bugs.python.org/12411>`__: Fix to cgi.parse_multipart "
"to correctly use bytes boundaries and bytes data. Patch by Jonas Wagner."
msgstr ""
#: ../../../Misc/NEWS:6976
msgid ""
"`Issue #16957 <https://bugs.python.org/16957>`__: shutil.which() no longer "
"searches a bare file name in the current directory on Unix and no longer "
"searches a relative file path with a directory part in PATH directories. "
"Patch by Thomas Kluyver."
msgstr ""
#: ../../../Misc/NEWS:6980
msgid ""
"`Issue #1159051 <https://bugs.python.org/1159051>`__: GzipFile now raises "
"EOFError when reading a corrupted file with truncated header or footer."
msgstr ""
#: ../../../Misc/NEWS:6983
msgid ""
"`Issue #16993 <https://bugs.python.org/16993>`__: shutil.which() now "
"preserves the case of the path and extension on Windows."
msgstr ""
#: ../../../Misc/NEWS:6986
msgid ""
"`Issue #16992 <https://bugs.python.org/16992>`__: On Windows in signal."
"set_wakeup_fd, validate the file descriptor argument."
msgstr ""
#: ../../../Misc/NEWS:6989
msgid ""
"`Issue #16422 <https://bugs.python.org/16422>`__: For compatibility with the "
"Python version, the C version of decimal now uses strings instead of "
"integers for rounding mode constants."
msgstr ""
#: ../../../Misc/NEWS:6992
msgid ""
"`Issue #15861 <https://bugs.python.org/15861>`__: tkinter now correctly "
"works with lists and tuples containing strings with whitespaces, backslashes "
"or unbalanced braces."
msgstr ""
#: ../../../Misc/NEWS:6995
msgid ""
"`Issue #9720 <https://bugs.python.org/9720>`__: zipfile now writes correct "
"local headers for files larger than 4 GiB."
msgstr ""
#: ../../../Misc/NEWS:6998
msgid ""
"`Issue #16955 <https://bugs.python.org/16955>`__: Fix the poll() method for "
"multiprocessing's socket connections on Windows."
msgstr ""
#: ../../../Misc/NEWS:7001
msgid "SSLContext.load_dh_params() now properly closes the input file."
msgstr ""
#: ../../../Misc/NEWS:7003
msgid ""
"`Issue #15031 <https://bugs.python.org/15031>`__: Refactor some .pyc "
"management code to cut down on code duplication. Thanks to Ronan Lamy for "
"the report and taking an initial stab at the problem."
msgstr ""
#: ../../../Misc/NEWS:7007
msgid ""
"`Issue #16398 <https://bugs.python.org/16398>`__: Optimize deque.rotate() so "
"that it only moves pointers and doesn't touch the underlying data with "
"increfs and decrefs."
msgstr ""
#: ../../../Misc/NEWS:7010
msgid ""
"`Issue #16900 <https://bugs.python.org/16900>`__: Issue a ResourceWarning "
"when an ssl socket is left unclosed."
msgstr ""
#: ../../../Misc/NEWS:7012
msgid ""
"`Issue #13899 <https://bugs.python.org/13899>`__: ``\\A``, ``\\Z``, and ``"
"\\B`` now correctly match the A, Z, and B literals when used inside "
"character classes (e.g. ``'[\\A]'``). Patch by Matthew Barnett."
msgstr ""
#: ../../../Misc/NEWS:7016
msgid ""
"`Issue #15545 <https://bugs.python.org/15545>`__: Fix regression in "
"sqlite3's iterdump method where it was failing if the connection used a row "
"factory (such as sqlite3.Row) that produced unsortable objects. (Regression "
"was introduced by fix for 9750)."
msgstr ""
#: ../../../Misc/NEWS:7020
msgid "fcntl: add F_DUPFD_CLOEXEC constant, available on Linux 2.6.24+."
msgstr ""
#: ../../../Misc/NEWS:7022
msgid ""
"`Issue #15972 <https://bugs.python.org/15972>`__: Fix error messages when os "
"functions expecting a file name or file descriptor receive the incorrect "
"type."
msgstr ""
#: ../../../Misc/NEWS:7025
msgid ""
"`Issue #8109 <https://bugs.python.org/8109>`__: The ssl module now has "
"support for server-side SNI, thanks to a :meth:`SSLContext."
"set_servername_callback` method. Patch by Daniel Black."
msgstr ""
#: ../../../Misc/NEWS:7029
msgid ""
"`Issue #16860 <https://bugs.python.org/16860>`__: In tempfile, use O_CLOEXEC "
"when available to set the close-on-exec flag atomically."
msgstr ""
#: ../../../Misc/NEWS:7032
msgid ""
"`Issue #16674 <https://bugs.python.org/16674>`__: random.getrandbits() is "
"now 20-40% faster for small integers."
msgstr ""
#: ../../../Misc/NEWS:7034
msgid ""
"`Issue #16009 <https://bugs.python.org/16009>`__: JSON error messages now "
"provide more information."
msgstr ""
#: ../../../Misc/NEWS:7036
msgid ""
"`Issue #16828 <https://bugs.python.org/16828>`__: Fix error incorrectly "
"raised by bz2.compress(b'') and bz2.BZ2Compressor.compress(b''). Initial "
"patch by Martin Packman."
msgstr ""
#: ../../../Misc/NEWS:7039
msgid ""
"`Issue #16833 <https://bugs.python.org/16833>`__: In http.client."
"HTTPConnection, do not concatenate the request headers and body when the "
"payload exceeds 16 KB, since it can consume more memory for no benefit. "
"Patch by Benno Leslie."
msgstr ""
#: ../../../Misc/NEWS:7043
msgid ""
"`Issue #16541 <https://bugs.python.org/16541>`__: tk_setPalette() now works "
"with keyword arguments."
msgstr ""
#: ../../../Misc/NEWS:7045
msgid ""
"`Issue #16820 <https://bugs.python.org/16820>`__: In configparser, `parser."
"popitem()` no longer raises ValueError. This makes `parser.clean()` work "
"correctly."
msgstr ""
#: ../../../Misc/NEWS:7048
msgid ""
"`Issue #16820 <https://bugs.python.org/16820>`__: In configparser, "
"``parser['section'] = {}`` now preserves section order within the parser. "
"This makes `parser.update()` preserve section order as well."
msgstr ""
#: ../../../Misc/NEWS:7052
msgid ""
"`Issue #16820 <https://bugs.python.org/16820>`__: In configparser, "
"``parser['DEFAULT'] = {}`` now correctly clears previous values stored in "
"the default section. Same goes for ``parser.update({'DEFAULT': {}})``."
msgstr ""
#: ../../../Misc/NEWS:7056
msgid ""
"`Issue #9586 <https://bugs.python.org/9586>`__: Redefine SEM_FAILED on "
"MacOSX to keep compiler happy."
msgstr ""
#: ../../../Misc/NEWS:7058
msgid ""
"`Issue #16787 <https://bugs.python.org/16787>`__: Increase asyncore and "
"asynchat default output buffers size, to decrease CPU usage and increase "
"throughput."
msgstr ""
#: ../../../Misc/NEWS:7061
msgid ""
"`Issue #10527 <https://bugs.python.org/10527>`__: make multiprocessing use "
"poll() instead of select() if available."
msgstr ""
#: ../../../Misc/NEWS:7063
msgid ""
"`Issue #16688 <https://bugs.python.org/16688>`__: Now regexes contained "
"backreferences correctly work with non-ASCII strings. Patch by Matthew "
"Barnett."
msgstr ""
#: ../../../Misc/NEWS:7066
msgid ""
"`Issue #16486 <https://bugs.python.org/16486>`__: Make aifc files act as "
"context managers."
msgstr ""
#: ../../../Misc/NEWS:7068
msgid ""
"`Issue #16485 <https://bugs.python.org/16485>`__: Now file descriptors are "
"closed if file header patching failed on closing an aifc file."
msgstr ""
#: ../../../Misc/NEWS:7071
msgid ""
"`Issue #16640 <https://bugs.python.org/16640>`__: Run less code under a lock "
"in sched module."
msgstr ""
#: ../../../Misc/NEWS:7073
msgid ""
"`Issue #16165 <https://bugs.python.org/16165>`__: sched.scheduler.run() no "
"longer blocks a scheduler for other threads."
msgstr ""
#: ../../../Misc/NEWS:7076
msgid ""
"`Issue #16641 <https://bugs.python.org/16641>`__: Default values of sched."
"scheduler.enter() are no longer modifiable."
msgstr ""
#: ../../../Misc/NEWS:7079
msgid ""
"`Issue #16618 <https://bugs.python.org/16618>`__: Make glob.glob match "
"consistently across strings and bytes regarding leading dots. Patch by "
"Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7082
msgid ""
"`Issue #16788 <https://bugs.python.org/16788>`__: Add samestat to Lib/ntpath."
"py"
msgstr ""
#: ../../../Misc/NEWS:7084
msgid ""
"`Issue #16713 <https://bugs.python.org/16713>`__: Parsing of 'tel' urls "
"using urlparse separates params from path."
msgstr ""
#: ../../../Misc/NEWS:7087
msgid ""
"`Issue #16443 <https://bugs.python.org/16443>`__: Add docstrings to regular "
"expression match objects. Patch by Anton Kasyanov."
msgstr ""
#: ../../../Misc/NEWS:7090
msgid ""
"`Issue #15701 <https://bugs.python.org/15701>`__: Fix HTTPError info method "
"call to return the headers information."
msgstr ""
#: ../../../Misc/NEWS:7092
msgid ""
"`Issue #16752 <https://bugs.python.org/16752>`__: Add a missing import to "
"modulefinder. Patch by Berker Peksag."
msgstr ""
#: ../../../Misc/NEWS:7094
msgid ""
"`Issue #16646 <https://bugs.python.org/16646>`__: ftplib.FTP.makeport() "
"might lose socket error details. (patch by Serhiy Storchaka)"
msgstr ""
#: ../../../Misc/NEWS:7097
msgid ""
"`Issue #16626 <https://bugs.python.org/16626>`__: Fix infinite recursion in "
"glob.glob() on Windows when the pattern contains a wildcard in the drive or "
"UNC path. Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7101
msgid ""
"`Issue #15783 <https://bugs.python.org/15783>`__: Except for the number "
"methods, the C version of decimal now supports all None default values "
"present in decimal.py. These values were largely undocumented."
msgstr ""
#: ../../../Misc/NEWS:7105
msgid ""
"`Issue #11175 <https://bugs.python.org/11175>`__: argparse.FileType now "
"accepts encoding and errors arguments. Patch by Lucas Maystre."
msgstr ""
#: ../../../Misc/NEWS:7108
msgid ""
"`Issue #16488 <https://bugs.python.org/16488>`__: epoll() objects now "
"support the `with` statement. Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7111
msgid ""
"`Issue #16298 <https://bugs.python.org/16298>`__: In HTTPResponse.read(), "
"close the socket when there is no Content-Length and the incoming stream is "
"finished. Patch by Eran Rundstein."
msgstr ""
#: ../../../Misc/NEWS:7115
msgid ""
"`Issue #16049 <https://bugs.python.org/16049>`__: Add abc.ABC class to "
"enable the use of inheritance to create ABCs, rather than the more "
"cumbersome metaclass=ABCMeta. Patch by Bruno Dupuis."
msgstr ""
#: ../../../Misc/NEWS:7119
msgid ""
"Expose the TCP_FASTOPEN and MSG_FASTOPEN flags in socket when they're "
"available."
msgstr ""
#: ../../../Misc/NEWS:7122
msgid ""
"`Issue #15701 <https://bugs.python.org/15701>`__: Add a .headers attribute "
"to urllib.error.HTTPError. Patch contributed by Berker Peksag."
msgstr ""
#: ../../../Misc/NEWS:7125
msgid ""
"`Issue #15872 <https://bugs.python.org/15872>`__: Fix 3.3 regression "
"introduced by the new fd-based shutil.rmtree that caused it to not ignore "
"certain errors when ignore_errors was set. Patch by Alessandro Moura and "
"Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7129
msgid ""
"`Issue #16248 <https://bugs.python.org/16248>`__: Disable code execution "
"from the user's home directory by tkinter when the -E flag is passed to "
"Python. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7132
msgid ""
"`Issue #13390 <https://bugs.python.org/13390>`__: New function :func:`sys."
"getallocatedblocks()` returns the number of memory blocks currently "
"allocated."
msgstr ""
#: ../../../Misc/NEWS:7135
msgid ""
"`Issue #16628 <https://bugs.python.org/16628>`__: Fix a memory leak in "
"ctypes.resize()."
msgstr ""
#: ../../../Misc/NEWS:7137
msgid ""
"`Issue #13614 <https://bugs.python.org/13614>`__: Fix setup.py register "
"failure with invalid rst in description. Patch by Julien Courteau and Pierre "
"Paul Lefebvre."
msgstr ""
#: ../../../Misc/NEWS:7140
msgid ""
"`Issue #13512 <https://bugs.python.org/13512>`__: Create ~/.pypirc securely "
"(CVE-2011-4944). Initial patch by Philip Jenvey, tested by Mageia and "
"Debian."
msgstr ""
#: ../../../Misc/NEWS:7143
msgid ""
"`Issue #7719 <https://bugs.python.org/7719>`__: Make distutils ignore ``."
"nfs*`` files instead of choking later on. Initial patch by SilentGhost and "
"Jeff Ramnani."
msgstr ""
#: ../../../Misc/NEWS:7146
msgid ""
"`Issue #13120 <https://bugs.python.org/13120>`__: Allow to call pdb."
"set_trace() from thread. Patch by Ilya Sandler."
msgstr ""
#: ../../../Misc/NEWS:7149
msgid ""
"`Issue #16585 <https://bugs.python.org/16585>`__: Make CJK encoders support "
"error handlers that return bytes per PEP 383."
msgstr ""
#: ../../../Misc/NEWS:7152
msgid ""
"`Issue #10182 <https://bugs.python.org/10182>`__: The re module doesn't "
"truncate indices to 32 bits anymore. Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7155
msgid ""
"`Issue #16333 <https://bugs.python.org/16333>`__: use (\",\", \": \") as "
"default separator in json when indent is specified, to avoid trailing "
"whitespace. Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7158
msgid ""
"`Issue #16573 <https://bugs.python.org/16573>`__: In 2to3, treat enumerate() "
"like a consuming call, so superfluous list() calls aren't added to filter(), "
"map(), and zip() which are directly passed enumerate()."
msgstr ""
#: ../../../Misc/NEWS:7162
msgid ""
"`Issue #16464 <https://bugs.python.org/16464>`__: Reset the Content-Length "
"header when a urllib Request is reused with new data."
msgstr ""
#: ../../../Misc/NEWS:7165
msgid ""
"`Issue #12848 <https://bugs.python.org/12848>`__: The pure Python pickle "
"implementation now treats object lengths as unsigned 32-bit integers, like "
"the C implementation does. Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7169
msgid ""
"`Issue #16423 <https://bugs.python.org/16423>`__: urllib.request now has "
"support for ``data:`` URLs. Patch by Mathias Panzenböck."
msgstr ""
#: ../../../Misc/NEWS:7172
msgid ""
"`Issue #4473 <https://bugs.python.org/4473>`__: Add a POP3.stls() to switch "
"a clear-text POP3 session into an encrypted POP3 session, on supported "
"servers. Patch by Lorenzo Catucci."
msgstr ""
#: ../../../Misc/NEWS:7175
msgid ""
"`Issue #4473 <https://bugs.python.org/4473>`__: Add a POP3.capa() method to "
"query the capabilities advertised by the POP3 server. Patch by Lorenzo "
"Catucci."
msgstr ""
#: ../../../Misc/NEWS:7178
msgid ""
"`Issue #4473 <https://bugs.python.org/4473>`__: Ensure the socket is "
"shutdown cleanly in POP3.close(). Patch by Lorenzo Catucci."
msgstr ""
#: ../../../Misc/NEWS:7181
msgid ""
"`Issue #16522 <https://bugs.python.org/16522>`__: added FAIL_FAST flag to "
"doctest."
msgstr ""
#: ../../../Misc/NEWS:7183
msgid ""
"`Issue #15627 <https://bugs.python.org/15627>`__: Add the importlib.abc."
"InspectLoader.source_to_code() method."
msgstr ""
#: ../../../Misc/NEWS:7185
msgid ""
"`Issue #16408 <https://bugs.python.org/16408>`__: Fix file descriptors not "
"being closed in error conditions in the zipfile module. Patch by Serhiy "
"Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7188
msgid ""
"`Issue #14631 <https://bugs.python.org/14631>`__: Add a new :class:`weakref."
"WeakMethod` to simulate weak references to bound methods."
msgstr ""
#: ../../../Misc/NEWS:7191
msgid ""
"`Issue #16469 <https://bugs.python.org/16469>`__: Fix exceptions from float -"
"> Fraction and Decimal -> Fraction conversions for special values to be "
"consistent with those for float -> int and Decimal -> int. Patch by Alexey "
"Kachayev."
msgstr ""
#: ../../../Misc/NEWS:7195
msgid ""
"`Issue #16481 <https://bugs.python.org/16481>`__: multiprocessing no longer "
"leaks process handles on Windows."
msgstr ""
#: ../../../Misc/NEWS:7197
msgid ""
"`Issue #12428 <https://bugs.python.org/12428>`__: Add a pure Python "
"implementation of functools.partial(). Patch by Brian Thorne."
msgstr ""
#: ../../../Misc/NEWS:7200
msgid ""
"`Issue #16140 <https://bugs.python.org/16140>`__: The subprocess module no "
"longer double closes its child subprocess.PIPE parent file descriptors on "
"child error prior to exec()."
msgstr ""
#: ../../../Misc/NEWS:7203
msgid ""
"Remove a bare print to stdout from the subprocess module that could have "
"happened if the child process wrote garbage to its pre-exec error pipe."
msgstr ""
#: ../../../Misc/NEWS:7206
msgid ""
"The subprocess module now raises its own SubprocessError instead of a "
"RuntimeError in various error situations which should not normally happen."
msgstr ""
#: ../../../Misc/NEWS:7209
msgid ""
"`Issue #16327 <https://bugs.python.org/16327>`__: The subprocess module no "
"longer leaks file descriptors used for stdin/stdout/stderr pipes to the "
"child when fork() fails."
msgstr ""
#: ../../../Misc/NEWS:7212
msgid ""
"`Issue #14396 <https://bugs.python.org/14396>`__: Handle the odd rare case "
"of waitpid returning 0 when not expected in subprocess.Popen.wait()."
msgstr ""
#: ../../../Misc/NEWS:7215
msgid ""
"`Issue #16411 <https://bugs.python.org/16411>`__: Fix a bug where zlib."
"decompressobj().flush() might try to access previously-freed memory. Patch "
"by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7218
msgid ""
"`Issue #16357 <https://bugs.python.org/16357>`__: fix calling accept() on a "
"SSLSocket created through SSLContext.wrap_socket(). Original patch by Jeff "
"McNeil."
msgstr ""
#: ../../../Misc/NEWS:7221
msgid ""
"`Issue #16409 <https://bugs.python.org/16409>`__: The reporthook callback "
"made by the legacy urllib.request.urlretrieve API now properly supplies a "
"constant non-zero block_size as it did in Python 3.2 and 2.7. This matches "
"the behavior of urllib.request.URLopener.retrieve."
msgstr ""
#: ../../../Misc/NEWS:7226
msgid ""
"`Issue #16431 <https://bugs.python.org/16431>`__: Use the type information "
"when constructing a Decimal subtype from a Decimal argument."
msgstr ""
#: ../../../Misc/NEWS:7229
msgid ""
"`Issue #15641 <https://bugs.python.org/15641>`__: Clean up deprecated "
"classes from importlib. Patch by Taras Lyapun."
msgstr ""
#: ../../../Misc/NEWS:7232
msgid ""
"`Issue #16350 <https://bugs.python.org/16350>`__: zlib.decompressobj()."
"decompress() now accumulates data from successive calls after EOF in "
"unused_data, instead of only saving the argument to the last call. "
"decompressobj().flush() now correctly sets unused_data and unconsumed_tail. "
"A bug in the handling of MemoryError when setting the unconsumed_tail "
"attribute has also been fixed. Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7238
msgid ""
"`Issue #12759 <https://bugs.python.org/12759>`__: sre_parse now raises a "
"proper error when the name of the group is missing. Initial patch by Serhiy "
"Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7241
msgid ""
"`Issue #16152 <https://bugs.python.org/16152>`__: fix tokenize to ignore "
"whitespace at the end of the code when no newline is found. Patch by Ned "
"Batchelder."
msgstr ""
#: ../../../Misc/NEWS:7244
msgid ""
"`Issue #16284 <https://bugs.python.org/16284>`__: Prevent keeping "
"unnecessary references to worker functions in concurrent.futures "
"ThreadPoolExecutor."
msgstr ""
#: ../../../Misc/NEWS:7247
msgid ""
"`Issue #16230 <https://bugs.python.org/16230>`__: Fix a crash in select."
"select() when one the lists changes size while iterated on. Patch by Serhiy "
"Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7250
msgid ""
"`Issue #16228 <https://bugs.python.org/16228>`__: Fix a crash in the json "
"module where a list changes size while it is being encoded. Patch by Serhiy "
"Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7253
msgid ""
"`Issue #16351 <https://bugs.python.org/16351>`__: New function gc."
"get_stats() returns per-generation collection statistics."
msgstr ""
#: ../../../Misc/NEWS:7256
msgid ""
"`Issue #14897 <https://bugs.python.org/14897>`__: Enhance error messages of "
"struct.pack and struct.pack_into. Patch by Matti Mäki."
msgstr ""
#: ../../../Misc/NEWS:7259
msgid ""
"`Issue #16316 <https://bugs.python.org/16316>`__: mimetypes now recognizes "
"the .xz and .txz (.tar.xz) extensions. Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7262
msgid ""
"`Issue #12890 <https://bugs.python.org/12890>`__: cgitb no longer prints "
"spurious <p> tags in text mode when the logdir option is specified."
msgstr ""
#: ../../../Misc/NEWS:7265
msgid ""
"`Issue #16307 <https://bugs.python.org/16307>`__: Fix multiprocessing.Pool."
"map_async not calling its callbacks. Patch by Janne Karila."
msgstr ""
#: ../../../Misc/NEWS:7268
msgid ""
"`Issue #16305 <https://bugs.python.org/16305>`__: Fix a segmentation fault "
"occurring when interrupting math.factorial."
msgstr ""
#: ../../../Misc/NEWS:7271
msgid ""
"`Issue #16116 <https://bugs.python.org/16116>`__: Fix include and library "
"paths to be correct when building C extensions in venvs."
msgstr ""
#: ../../../Misc/NEWS:7274
msgid ""
"`Issue #16245 <https://bugs.python.org/16245>`__: Fix the value of a few "
"entities in html.entities.html5."
msgstr ""
#: ../../../Misc/NEWS:7276
msgid ""
"`Issue #16301 <https://bugs.python.org/16301>`__: Fix the localhost "
"verification in urllib/request.py for file:// urls."
msgstr ""
#: ../../../Misc/NEWS:7279
msgid ""
"`Issue #16250 <https://bugs.python.org/16250>`__: Fix the invocations of "
"URLError which had misplaced filename attribute for exception."
msgstr ""
#: ../../../Misc/NEWS:7282
msgid ""
"`Issue #10836 <https://bugs.python.org/10836>`__: Fix exception raised when "
"file not found in urlretrieve Initial patch by Ezio Melotti."
msgstr ""
#: ../../../Misc/NEWS:7285
msgid ""
"`Issue #14398 <https://bugs.python.org/14398>`__: Fix size truncation and "
"overflow bugs in the bz2 module."
msgstr ""
#: ../../../Misc/NEWS:7287
msgid ""
"`Issue #12692 <https://bugs.python.org/12692>`__: Fix resource leak in "
"urllib.request when talking to an HTTP server that does not include a "
"``Connection: close`` header in its responses."
msgstr ""
#: ../../../Misc/NEWS:7290
msgid ""
"`Issue #12034 <https://bugs.python.org/12034>`__: Fix bogus caching of "
"result in check_GetFinalPathNameByHandle. Patch by Atsuo Ishimoto."
msgstr ""
#: ../../../Misc/NEWS:7293
msgid ""
"Improve performance of `lzma.LZMAFile` (see also `issue #16034 <https://bugs."
"python.org/16034>`__)."
msgstr ""
#: ../../../Misc/NEWS:7295
msgid ""
"`Issue #16220 <https://bugs.python.org/16220>`__: wsgiref now always calls "
"close() on an iterable response. Patch by Brent Tubbs."
msgstr ""
#: ../../../Misc/NEWS:7298
msgid ""
"`Issue #16270 <https://bugs.python.org/16270>`__: urllib may hang when used "
"for retrieving files via FTP by using a context manager. Patch by Giampaolo "
"Rodola'."
msgstr ""
#: ../../../Misc/NEWS:7301
msgid ""
"`Issue #16461 <https://bugs.python.org/16461>`__: Wave library should be "
"able to deal with 4GB wav files, and sample rate of 44100 Hz."
msgstr ""
#: ../../../Misc/NEWS:7304
msgid ""
"`Issue #16176 <https://bugs.python.org/16176>`__: Properly identify Windows "
"8 via platform.platform()"
msgstr ""
#: ../../../Misc/NEWS:7306
msgid ""
"`Issue #16088 <https://bugs.python.org/16088>`__: BaseHTTPRequestHandler's "
"send_error method includes a Content-Length header in it's response now. "
"Patch by Antoine Pitrou."
msgstr ""
#: ../../../Misc/NEWS:7309
msgid ""
"`Issue #16114 <https://bugs.python.org/16114>`__: The subprocess module no "
"longer provides a misleading error message stating that args[0] did not "
"exist when either the cwd or executable keyword arguments specified a path "
"that did not exist."
msgstr ""
#: ../../../Misc/NEWS:7313
msgid ""
"`Issue #16169 <https://bugs.python.org/16169>`__: Fix ctypes.WinError()'s "
"confusion between errno and winerror."
msgstr ""
#: ../../../Misc/NEWS:7315
msgid ""
"`Issue #16110 <https://bugs.python.org/16110>`__: logging.fileConfig now "
"accepts a pre-initialised ConfigParser instance."
msgstr ""
#: ../../../Misc/NEWS:7318
msgid ""
"`Issue #1492704 <https://bugs.python.org/1492704>`__: shutil.copyfile() "
"raises a distinct SameFileError now if source and destination are the same "
"file. Patch by Atsuo Ishimoto."
msgstr ""
#: ../../../Misc/NEWS:7321
msgid ""
"`Issue #13896 <https://bugs.python.org/13896>`__: Make shelf instances work "
"with 'with' as context managers. Original patch by Filip Gruszczyński."
msgstr ""
#: ../../../Misc/NEWS:7324
msgid ""
"`Issue #15417 <https://bugs.python.org/15417>`__: Add support for csh and "
"fish in venv activation scripts."
msgstr ""
#: ../../../Misc/NEWS:7326
msgid ""
"`Issue #14377 <https://bugs.python.org/14377>`__: ElementTree.write and some "
"of the module-level functions have a new parameter - *short_empty_elements*. "
"It controls how elements with no contents are emitted."
msgstr ""
#: ../../../Misc/NEWS:7330
msgid ""
"`Issue #16089 <https://bugs.python.org/16089>`__: Allow ElementTree."
"TreeBuilder to work again with a non-Element element_factory (fixes a "
"regression in SimpleTAL)."
msgstr ""
#: ../../../Misc/NEWS:7333
msgid ""
"`Issue #9650 <https://bugs.python.org/9650>`__: List commonly used format "
"codes in time.strftime and time.strptime docsttings. Original patch by Mike "
"Hoy."
msgstr ""
#: ../../../Misc/NEWS:7336
msgid ""
"`Issue #15452 <https://bugs.python.org/15452>`__: logging configuration "
"socket listener now has a verify option that allows an application to apply "
"a verification function to the received configuration data before it is "
"acted upon."
msgstr ""
#: ../../../Misc/NEWS:7340
msgid ""
"`Issue #16034 <https://bugs.python.org/16034>`__: Fix performance "
"regressions in the new `bz2.BZ2File` implementation. Initial patch by "
"Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7343
msgid ""
"`pty.spawn()` now returns the child process status returned by `os."
"waitpid()`."
msgstr ""
#: ../../../Misc/NEWS:7345
msgid ""
"`Issue #15756 <https://bugs.python.org/15756>`__: `subprocess.poll()` now "
"properly handles `errno.ECHILD` to return a returncode of 0 when the child "
"has already exited or cannot be waited on."
msgstr ""
#: ../../../Misc/NEWS:7349
msgid ""
"`Issue #15323 <https://bugs.python.org/15323>`__: Improve failure message of "
"`Mock.assert_called_once_with()`."
msgstr ""
#: ../../../Misc/NEWS:7351
msgid ""
"`Issue #16064 <https://bugs.python.org/16064>`__: ``unittest -m`` claims "
"executable is \"python\", not \"python3\"."
msgstr ""
#: ../../../Misc/NEWS:7353
msgid ""
"`Issue #12376 <https://bugs.python.org/12376>`__: Pass on parameters in "
"`TextTestResult.__init__()` super call."
msgstr ""
#: ../../../Misc/NEWS:7355
msgid ""
"`Issue #15222 <https://bugs.python.org/15222>`__: Insert blank line after "
"each message in mbox mailboxes."
msgstr ""
#: ../../../Misc/NEWS:7357
msgid ""
"`Issue #16013 <https://bugs.python.org/16013>`__: Fix `csv.Reader` parsing "
"issue with ending quote characters. Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7360
msgid ""
"`Issue #15421 <https://bugs.python.org/15421>`__: Fix an OverflowError in "
"`Calendar.itermonthdates()` after `datetime.MAXYEAR`. Patch by Cédric Krier."
msgstr ""
#: ../../../Misc/NEWS:7363
msgid ""
"`Issue #16112 <https://bugs.python.org/16112>`__: platform.architecture does "
"not correctly escape argument to /usr/bin/file. Patch by David Benjamin."
msgstr ""
#: ../../../Misc/NEWS:7366
msgid ""
"`Issue #15970 <https://bugs.python.org/15970>`__: `xml.etree.ElementTree` "
"now serializes correctly the empty HTML elements 'meta' and 'param'."
msgstr ""
#: ../../../Misc/NEWS:7369
msgid ""
"`Issue #15842 <https://bugs.python.org/15842>`__: The `SocketIO.{readable,"
"writable,seekable}` methods now raise ValueError when the file-like object "
"is closed. Patch by Alessandro Moura."
msgstr ""
#: ../../../Misc/NEWS:7372
msgid ""
"`Issue #15876 <https://bugs.python.org/15876>`__: Fix a refleak in the "
"`curses` module: window.encoding."
msgstr ""
#: ../../../Misc/NEWS:7374
msgid ""
"`Issue #15881 <https://bugs.python.org/15881>`__: Fix `atexit` hook in "
"`multiprocessing`. Original patch by Chris McDonough."
msgstr ""
#: ../../../Misc/NEWS:7377
msgid ""
"`Issue #15841 <https://bugs.python.org/15841>`__: The readable(), writable() "
"and seekable() methods of `io.BytesIO` and `io.StringIO` objects now raise "
"ValueError when the object has been closed. Patch by Alessandro Moura."
msgstr ""
#: ../../../Misc/NEWS:7381
msgid ""
"`Issue #15447 <https://bugs.python.org/15447>`__: Use `subprocess.DEVNULL` "
"in webbrowser, instead of opening `os.devnull` explicitly and leaving it "
"open."
msgstr ""
#: ../../../Misc/NEWS:7384
msgid ""
"`Issue #15509 <https://bugs.python.org/15509>`__: `webbrowser.UnixBrowser` "
"no longer passes empty arguments to Popen when ``%action`` substitutions "
"produce empty strings."
msgstr ""
#: ../../../Misc/NEWS:7387
msgid ""
"`Issue #12776 <https://bugs.python.org/12776>`__, `issue #11839 <https://"
"bugs.python.org/11839>`__: Call `argparse` type function (specified by "
"add_argument) only once. Before, the type function was called twice in the "
"case where the default was specified and the argument was given as well. "
"This was especially problematic for the FileType type, as a default file "
"would always be opened, even if a file argument was specified on the command "
"line."
msgstr ""
#: ../../../Misc/NEWS:7393
msgid ""
"`Issue #15906 <https://bugs.python.org/15906>`__: Fix a regression in "
"argparse caused by the preceding change, when ``action='append'``, "
"``type='str'`` and ``default=[]``."
msgstr ""
#: ../../../Misc/NEWS:7396
msgid ""
"`Issue #16113 <https://bugs.python.org/16113>`__: Added sha3 module based on "
"the Keccak reference implementation 3.2. The `hashlib` module has four "
"additional hash algorithms: `sha3_224`, `sha3_256`, `sha3_384` and "
"`sha3_512`. As part of the patch some common code was moved from "
"_hashopenssl.c to hashlib.h."
msgstr ""
#: ../../../Misc/NEWS:7401
msgid ""
"ctypes.call_commethod was removed, since its only usage was in the defunct "
"samples directory."
msgstr ""
#: ../../../Misc/NEWS:7404
msgid ""
"`Issue #16692 <https://bugs.python.org/16692>`__: Added TLSv1.1 and TLSv1.2 "
"support for the ssl modules."
msgstr ""
#: ../../../Misc/NEWS:7406
msgid ""
"`Issue #16832 <https://bugs.python.org/16832>`__: add abc.get_cache_token() "
"to expose cache validity checking support in ABCMeta."
msgstr ""
#: ../../../Misc/NEWS:7412
msgid ""
"`Issue #18429 <https://bugs.python.org/18429>`__: Format / Format Paragraph, "
"now works when comment blocks are selected. As with text blocks, this works "
"best when the selection only includes complete lines."
msgstr ""
#: ../../../Misc/NEWS:7416
msgid ""
"`Issue #18226 <https://bugs.python.org/18226>`__: Add docstrings and "
"unittests for FormatParagraph.py. Original patches by Todd Rovito and Phil "
"Webster."
msgstr ""
#: ../../../Misc/NEWS:7419
msgid ""
"`Issue #18279 <https://bugs.python.org/18279>`__: Format - Strip trailing "
"whitespace no longer marks a file as changed when it has not been changed. "
"This fix followed the addition of a test file originally written by Phil "
"Webster (the issue's main goal)."
msgstr ""
#: ../../../Misc/NEWS:7423
msgid ""
"`Issue #7136 <https://bugs.python.org/7136>`__: In the Idle File menu, \"New "
"Window\" is renamed \"New File\". Patch by Tal Einat, Roget Serwy, and Todd "
"Rovito."
msgstr ""
#: ../../../Misc/NEWS:7426
msgid "Remove dead imports of imp."
msgstr ""
#: ../../../Misc/NEWS:7428
msgid ""
"`Issue #18196 <https://bugs.python.org/18196>`__: Avoid displaying spurious "
"SystemExit tracebacks."
msgstr ""
#: ../../../Misc/NEWS:7430
msgid ""
"`Issue #5492 <https://bugs.python.org/5492>`__: Avoid traceback when exiting "
"IDLE caused by a race condition."
msgstr ""
#: ../../../Misc/NEWS:7432
msgid ""
"`Issue #17511 <https://bugs.python.org/17511>`__: Keep IDLE find dialog open "
"after clicking \"Find Next\". Original patch by Sarah K."
msgstr ""
#: ../../../Misc/NEWS:7435
msgid ""
"`Issue #18055 <https://bugs.python.org/18055>`__: Move IDLE off of imp and "
"on to importlib."
msgstr ""
#: ../../../Misc/NEWS:7437
msgid ""
"`Issue #15392 <https://bugs.python.org/15392>`__: Create a unittest "
"framework for IDLE. Initial patch by Rajagopalasarma Jayakrishnan. See Lib/"
"idlelib/idle_test/README.txt for how to run Idle tests."
msgstr ""
#: ../../../Misc/NEWS:7441
msgid ""
"`Issue #14146 <https://bugs.python.org/14146>`__: Highlight source line "
"while debugging on Windows."
msgstr ""
#: ../../../Misc/NEWS:7443
msgid ""
"`Issue #17838 <https://bugs.python.org/17838>`__: Allow sys.stdin to be "
"reassigned."
msgstr ""
#: ../../../Misc/NEWS:7445
msgid ""
"`Issue #13495 <https://bugs.python.org/13495>`__: Avoid loading the color "
"delegator twice in IDLE."
msgstr ""
#: ../../../Misc/NEWS:7447
msgid ""
"`Issue #17798 <https://bugs.python.org/17798>`__: Allow IDLE to edit new "
"files when specified on command line."
msgstr ""
#: ../../../Misc/NEWS:7449
msgid ""
"`Issue #14735 <https://bugs.python.org/14735>`__: Update IDLE docs to omit "
"\"Control-z on Windows\"."
msgstr ""
#: ../../../Misc/NEWS:7451
msgid ""
"`Issue #17532 <https://bugs.python.org/17532>`__: Always include Options "
"menu for IDLE on OS X. Patch by Guilherme Simões."
msgstr ""
#: ../../../Misc/NEWS:7454
msgid ""
"`Issue #17585 <https://bugs.python.org/17585>`__: Fixed IDLE regression. Now "
"closes when using exit() or quit()."
msgstr ""
#: ../../../Misc/NEWS:7456
msgid ""
"`Issue #17657 <https://bugs.python.org/17657>`__: Show full Tk version in "
"IDLE's about dialog. Patch by Todd Rovito."
msgstr ""
#: ../../../Misc/NEWS:7459
msgid ""
"`Issue #17613 <https://bugs.python.org/17613>`__: Prevent traceback when "
"removing syntax colorizer in IDLE."
msgstr ""
#: ../../../Misc/NEWS:7461
msgid ""
"`Issue #1207589 <https://bugs.python.org/1207589>`__: Backwards-"
"compatibility patch for right-click menu in IDLE."
msgstr ""
#: ../../../Misc/NEWS:7463
msgid ""
"`Issue #16887 <https://bugs.python.org/16887>`__: IDLE now accepts Cancel in "
"tabify/untabify dialog box."
msgstr ""
#: ../../../Misc/NEWS:7465
msgid ""
"`Issue #17625 <https://bugs.python.org/17625>`__: In IDLE, close the replace "
"dialog after it is used."
msgstr ""
#: ../../../Misc/NEWS:7467
msgid ""
"`Issue #14254 <https://bugs.python.org/14254>`__: IDLE now handles readline "
"correctly across shell restarts."
msgstr ""
#: ../../../Misc/NEWS:7469
msgid ""
"`Issue #17614 <https://bugs.python.org/17614>`__: IDLE no longer raises "
"exception when quickly closing a file."
msgstr ""
#: ../../../Misc/NEWS:7471
msgid ""
"`Issue #6698 <https://bugs.python.org/6698>`__: IDLE now opens just an "
"editor window when configured to do so."
msgstr ""
#: ../../../Misc/NEWS:7473
msgid ""
"`Issue #8900 <https://bugs.python.org/8900>`__: Using keyboard shortcuts in "
"IDLE to open a file no longer raises an exception."
msgstr ""
#: ../../../Misc/NEWS:7476
msgid ""
"`Issue #6649 <https://bugs.python.org/6649>`__: Fixed missing exit status in "
"IDLE. Patch by Guilherme Polo."
msgstr ""
#: ../../../Misc/NEWS:7478
msgid ""
"`Issue #17114 <https://bugs.python.org/17114>`__: IDLE now uses non-strict "
"config parser."
msgstr ""
#: ../../../Misc/NEWS:7480
msgid ""
"`Issue #9290 <https://bugs.python.org/9290>`__: In IDLE the sys.std* streams "
"now implement io.TextIOBase interface and support all mandatory methods and "
"properties."
msgstr ""
#: ../../../Misc/NEWS:7483
msgid ""
"`Issue #5066 <https://bugs.python.org/5066>`__: Update IDLE docs. Patch by "
"Todd Rovito."
msgstr ""
#: ../../../Misc/NEWS:7485
msgid ""
"`Issue #16829 <https://bugs.python.org/16829>`__: IDLE printing no longer "
"fails if there are spaces or other special characters in the file path."
msgstr ""
#: ../../../Misc/NEWS:7488
msgid ""
"`Issue #16491 <https://bugs.python.org/16491>`__: IDLE now prints chained "
"exception tracebacks."
msgstr ""
#: ../../../Misc/NEWS:7490
msgid ""
"`Issue #16819 <https://bugs.python.org/16819>`__: IDLE method completion now "
"correctly works for bytes literals."
msgstr ""
#: ../../../Misc/NEWS:7492
msgid ""
"`Issue #16504 <https://bugs.python.org/16504>`__: IDLE now catches "
"SyntaxErrors raised by tokenizer. Patch by Roger Serwy."
msgstr ""
#: ../../../Misc/NEWS:7495
msgid ""
"`Issue #16511 <https://bugs.python.org/16511>`__: Use default IDLE width and "
"height if config param is not valid. Patch Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7498
msgid ""
"`Issue #1207589 <https://bugs.python.org/1207589>`__: Add Cut/Copy/Paste "
"items to IDLE right click Context Menu. Patch by Todd Rovito."
msgstr ""
#: ../../../Misc/NEWS:7501
msgid ""
"`Issue #16123 <https://bugs.python.org/16123>`__: IDLE - deprecate running "
"without a subprocess. Patch by Roger Serwy."
msgstr ""
#: ../../../Misc/NEWS:7507
msgid ""
"`Issue #1666318 <https://bugs.python.org/1666318>`__: Add a test that shutil."
"copytree() retains directory permissions. Patch by Catherine Devlin."
msgstr ""
#: ../../../Misc/NEWS:7510
msgid ""
"`Issue #18273 <https://bugs.python.org/18273>`__: move the tests in Lib/test/"
"json_tests to Lib/test/test_json and make them discoverable by unittest. "
"Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7513
msgid "Fix a fcntl test case on KFreeBSD, Debian #708653 (Petr Salinger)."
msgstr ""
#: ../../../Misc/NEWS:7515
msgid ""
"`Issue #18396 <https://bugs.python.org/18396>`__: Fix spurious test failure "
"in test_signal on Windows when faulthandler is enabled (Patch by Jeremy "
"Kloth)"
msgstr ""
#: ../../../Misc/NEWS:7518
msgid ""
"`Issue #17046 <https://bugs.python.org/17046>`__: Fix broken "
"test_executable_without_cwd in test_subprocess."
msgstr ""
#: ../../../Misc/NEWS:7520
msgid ""
"`Issue #15415 <https://bugs.python.org/15415>`__: Add new temp_dir() and "
"change_cwd() context managers to test.support, and refactor temp_cwd() to "
"use them. Patch by Chris Jerdonek."
msgstr ""
#: ../../../Misc/NEWS:7523
msgid ""
"`Issue #15494 <https://bugs.python.org/15494>`__: test.support is now a "
"package rather than a module (Initial patch by Indra Talip)"
msgstr ""
#: ../../../Misc/NEWS:7526
msgid ""
"`Issue #17944 <https://bugs.python.org/17944>`__: test_zipfile now "
"discoverable and uses subclassing to generate tests for different "
"compression types. Fixed a bug with skipping some tests due to use of "
"exhausted iterators."
msgstr ""
#: ../../../Misc/NEWS:7530
msgid ""
"`Issue #18266 <https://bugs.python.org/18266>`__: test_largefile now works "
"with unittest test discovery and supports running only selected tests. "
"Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7533
msgid ""
"`Issue #17767 <https://bugs.python.org/17767>`__: test_locale now works with "
"unittest test discovery. Original patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7536
msgid ""
"`Issue #18375 <https://bugs.python.org/18375>`__: Assume --randomize when --"
"randseed is used for running the testsuite."
msgstr ""
#: ../../../Misc/NEWS:7539
msgid ""
"`Issue #11185 <https://bugs.python.org/11185>`__: Fix test_wait4 under AIX. "
"Patch by Sébastien Sablé."
msgstr ""
#: ../../../Misc/NEWS:7541
msgid ""
"`Issue #18207 <https://bugs.python.org/18207>`__: Fix test_ssl for some "
"versions of OpenSSL that ignore seconds in ASN1_TIME fields."
msgstr ""
#: ../../../Misc/NEWS:7544
msgid ""
"`Issue #18094 <https://bugs.python.org/18094>`__: test_uuid no longer "
"reports skipped tests as passed."
msgstr ""
#: ../../../Misc/NEWS:7546
msgid ""
"`Issue #17992 <https://bugs.python.org/17992>`__: Add timeouts to asyncore "
"and asynchat tests so that they won't accidentally hang."
msgstr ""
#: ../../../Misc/NEWS:7549
msgid ""
"`Issue #17833 <https://bugs.python.org/17833>`__: Fix test_gdb failures seen "
"on machines where debug symbols for glibc are available (seen on PPC64 "
"Linux)."
msgstr ""
#: ../../../Misc/NEWS:7552
msgid ""
"`Issue #7855 <https://bugs.python.org/7855>`__: Add tests for ctypes/winreg "
"for issues found in IronPython. Initial patch by Dino Viehland."
msgstr ""
#: ../../../Misc/NEWS:7555
msgid ""
"`Issue #11078 <https://bugs.python.org/11078>`__: test___all__ now checks "
"for duplicates in __all__. Initial patch by R. David Murray."
msgstr ""
#: ../../../Misc/NEWS:7558
msgid ""
"`Issue #17712 <https://bugs.python.org/17712>`__: Fix test_gdb failures on "
"Ubuntu 13.04."
msgstr ""
#: ../../../Misc/NEWS:7560
msgid ""
"`Issue #17835 <https://bugs.python.org/17835>`__: Fix test_io when the "
"default OS pipe buffer size is larger than one million bytes."
msgstr ""
#: ../../../Misc/NEWS:7563
msgid ""
"`Issue #17065 <https://bugs.python.org/17065>`__: Use process-unique key for "
"winreg tests to avoid failures if test is run multiple times in parallel "
"(eg: on a buildbot host)."
msgstr ""
#: ../../../Misc/NEWS:7566
msgid ""
"`Issue #12820 <https://bugs.python.org/12820>`__: add tests for the xml.dom."
"minicompat module. Patch by John Chandler and Phil Connell."
msgstr ""
#: ../../../Misc/NEWS:7569
msgid ""
"`Issue #17691 <https://bugs.python.org/17691>`__: test_univnewlines now "
"works with unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7572
msgid ""
"`Issue #17790 <https://bugs.python.org/17790>`__: test_set now works with "
"unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7575
msgid ""
"`Issue #17789 <https://bugs.python.org/17789>`__: test_random now works with "
"unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7578
msgid ""
"`Issue #17779 <https://bugs.python.org/17779>`__: test_osx_env now works "
"with unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7581
msgid ""
"`Issue #17766 <https://bugs.python.org/17766>`__: test_iterlen now works "
"with unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7584
msgid ""
"`Issue #17690 <https://bugs.python.org/17690>`__: test_time now works with "
"unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7587
msgid ""
"`Issue #17692 <https://bugs.python.org/17692>`__: test_sqlite now works with "
"unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7590
msgid ""
"`Issue #11995 <https://bugs.python.org/11995>`__: test_pydoc doesn't import "
"all sys.path modules anymore."
msgstr ""
#: ../../../Misc/NEWS:7592
msgid ""
"`Issue #17448 <https://bugs.python.org/17448>`__: test_sax now skips if "
"there are no xml parsers available instead of raising an ImportError."
msgstr ""
#: ../../../Misc/NEWS:7595
msgid ""
"`Issue #11420 <https://bugs.python.org/11420>`__: make test suite pass with -"
"B/DONTWRITEBYTECODE set. Initial patch by Thomas Wouters."
msgstr ""
#: ../../../Misc/NEWS:7598
msgid ""
"`Issue #10652 <https://bugs.python.org/10652>`__: make tcl/tk tests run "
"after __all__ test, patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7601
msgid ""
"`Issue #11963 <https://bugs.python.org/11963>`__: remove human verification "
"from test_parser and test_subprocess."
msgstr ""
#: ../../../Misc/NEWS:7603
msgid ""
"`Issue #11732 <https://bugs.python.org/11732>`__: add a new "
"suppress_crash_popup() context manager to test.support that disables crash "
"popups on Windows and use it in test_faulthandler and test_capi."
msgstr ""
#: ../../../Misc/NEWS:7607
msgid ""
"`Issue #13898 <https://bugs.python.org/13898>`__: test_ssl no longer prints "
"a spurious stack trace on Ubuntu."
msgstr ""
#: ../../../Misc/NEWS:7609
msgid ""
"`Issue #17283 <https://bugs.python.org/17283>`__: Share code between "
"`__main__.py` and `regrtest.py` in `Lib/test`."
msgstr ""
#: ../../../Misc/NEWS:7612
msgid ""
"`Issue #17249 <https://bugs.python.org/17249>`__: convert a test in "
"test_capi to use unittest and reap threads."
msgstr ""
#: ../../../Misc/NEWS:7614
msgid ""
"`Issue #17107 <https://bugs.python.org/17107>`__: Test client-side SNI "
"support in urllib.request thanks to the new server-side SNI support in the "
"ssl module. Initial patch by Daniel Black."
msgstr ""
#: ../../../Misc/NEWS:7618
msgid ""
"`Issue #17041 <https://bugs.python.org/17041>`__: Fix testing when Python is "
"configured with the --without-doc-strings."
msgstr ""
#: ../../../Misc/NEWS:7621
msgid ""
"`Issue #16923 <https://bugs.python.org/16923>`__: Fix ResourceWarnings in "
"test_ssl."
msgstr ""
#: ../../../Misc/NEWS:7623
msgid ""
"`Issue #15539 <https://bugs.python.org/15539>`__: Added regression tests for "
"Tools/scripts/pindent.py."
msgstr ""
#: ../../../Misc/NEWS:7625
msgid ""
"`Issue #17479 <https://bugs.python.org/17479>`__: test_io now works with "
"unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7628
msgid ""
"`Issue #17066 <https://bugs.python.org/17066>`__: test_robotparser now works "
"with unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7631
msgid ""
"`Issue #17334 <https://bugs.python.org/17334>`__: test_index now works with "
"unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7634
msgid ""
"`Issue #17333 <https://bugs.python.org/17333>`__: test_imaplib now works "
"with unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7637
msgid ""
"`Issue #17082 <https://bugs.python.org/17082>`__: test_dbm* now work with "
"unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7640
msgid ""
"`Issue #17079 <https://bugs.python.org/17079>`__: test_ctypes now works with "
"unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7643
msgid ""
"`Issue #17304 <https://bugs.python.org/17304>`__: test_hash now works with "
"unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7646
msgid ""
"`Issue #17303 <https://bugs.python.org/17303>`__: test_future* now work with "
"unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7649
msgid ""
"`Issue #17163 <https://bugs.python.org/17163>`__: test_file now works with "
"unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7652
msgid ""
"`Issue #16925 <https://bugs.python.org/16925>`__: test_configparser now "
"works with unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7655
msgid ""
"`Issue #16918 <https://bugs.python.org/16918>`__: test_codecs now works with "
"unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7658
msgid ""
"`Issue #16919 <https://bugs.python.org/16919>`__: test_crypt now works with "
"unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7661
msgid ""
"`Issue #16910 <https://bugs.python.org/16910>`__: test_bytes, test_unicode, "
"and test_userstring now work with unittest test discovery. Patch by Zachary "
"Ware."
msgstr ""
#: ../../../Misc/NEWS:7664
msgid ""
"`Issue #16905 <https://bugs.python.org/16905>`__: test_warnings now works "
"with unittest test discovery. Initial patch by Berker Peksag."
msgstr ""
#: ../../../Misc/NEWS:7667
msgid ""
"`Issue #16898 <https://bugs.python.org/16898>`__: test_bufio now works with "
"unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7670
msgid ""
"`Issue #16888 <https://bugs.python.org/16888>`__: test_array now works with "
"unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7673
msgid ""
"`Issue #16896 <https://bugs.python.org/16896>`__: test_asyncore now works "
"with unittest test discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7676
msgid ""
"`Issue #16897 <https://bugs.python.org/16897>`__: test_bisect now works with "
"unittest test discovery. Initial patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7679
msgid ""
"`Issue #16852 <https://bugs.python.org/16852>`__: test_genericpath, "
"test_posixpath, test_ntpath, and test_macpath now work with unittest test "
"discovery. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7682
msgid ""
"`Issue #16748 <https://bugs.python.org/16748>`__: test_heapq now works with "
"unittest test discovery."
msgstr ""
#: ../../../Misc/NEWS:7684
msgid ""
"`Issue #10646 <https://bugs.python.org/10646>`__: Tests rearranged for os."
"samefile/samestat to check for not just symlinks but also hard links."
msgstr ""
#: ../../../Misc/NEWS:7687
msgid ""
"`Issue #15302 <https://bugs.python.org/15302>`__: Switch regrtest from using "
"getopt to using argparse."
msgstr ""
#: ../../../Misc/NEWS:7689
msgid ""
"`Issue #15324 <https://bugs.python.org/15324>`__: Fix regrtest parsing of --"
"fromfile, --match, and --randomize options."
msgstr ""
#: ../../../Misc/NEWS:7692
msgid ""
"`Issue #16702 <https://bugs.python.org/16702>`__: test_urllib2_localnet "
"tests now correctly ignores proxies for localhost tests."
msgstr ""
#: ../../../Misc/NEWS:7695
msgid ""
"`Issue #16664 <https://bugs.python.org/16664>`__: Add regression tests for "
"glob's behaviour concerning entries starting with a \".\". Patch by "
"Sebastian Kreft."
msgstr ""
#: ../../../Misc/NEWS:7698
msgid ""
"`Issue #13390 <https://bugs.python.org/13390>`__: The ``-R`` option to "
"regrtest now also checks for memory allocation leaks, using :func:`sys."
"getallocatedblocks()`."
msgstr ""
#: ../../../Misc/NEWS:7701
msgid ""
"`Issue #16559 <https://bugs.python.org/16559>`__: Add more tests for the "
"json module, including some from the official test suite at json.org. Patch "
"by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7704
msgid ""
"`Issue #16661 <https://bugs.python.org/16661>`__: Fix the `os."
"getgrouplist()` test by not assuming that it gives the same output as :"
"command:`id -G`."
msgstr ""
#: ../../../Misc/NEWS:7707
msgid ""
"`Issue #16115 <https://bugs.python.org/16115>`__: Add some tests for the "
"executable argument to subprocess.Popen(). Initial patch by Kushal Das."
msgstr ""
#: ../../../Misc/NEWS:7710
msgid ""
"`Issue #16126 <https://bugs.python.org/16126>`__: PyErr_Format format "
"mismatch in _testcapimodule.c. Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7713
msgid ""
"`Issue #15304 <https://bugs.python.org/15304>`__: Fix warning message when "
"`os.chdir()` fails inside `test.support.temp_cwd()`. Patch by Chris "
"Jerdonek."
msgstr ""
#: ../../../Misc/NEWS:7716
msgid ""
"`Issue #15802 <https://bugs.python.org/15802>`__: Fix test logic in "
"`TestMaildir.test_create_tmp()`. Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:7719
msgid ""
"`Issue #15557 <https://bugs.python.org/15557>`__: Added a test suite for the "
"webbrowser module, thanks to Anton Barkovsky."
msgstr ""
#: ../../../Misc/NEWS:7722
msgid ""
"`Issue #16698 <https://bugs.python.org/16698>`__: Skip posix test_getgroups "
"when built with OS X deployment target prior to 10.6."
msgstr ""
#: ../../../Misc/NEWS:7728
msgid ""
"`Issue #16067 <https://bugs.python.org/16067>`__: Add description into MSI "
"file to replace installer's temporary name."
msgstr ""
#: ../../../Misc/NEWS:7731
msgid ""
"`Issue #18257 <https://bugs.python.org/18257>`__: Fix readlink usage in "
"python-config. Install the python version again on Darwin."
msgstr ""
#: ../../../Misc/NEWS:7734
msgid ""
"`Issue #18481 <https://bugs.python.org/18481>`__: Add C coverage reporting "
"with gcov and lcov. A new make target \"coverage-report\" creates an "
"instrumented Python build, runs unit tests and creates a HTML. The report "
"can be updated with \"make coverage-lcov\"."
msgstr ""
#: ../../../Misc/NEWS:7738
msgid ""
"`Issue #17845 <https://bugs.python.org/17845>`__: Clarified the message "
"printed when some module are not built."
msgstr ""
#: ../../../Misc/NEWS:7740
msgid ""
"`Issue #18256 <https://bugs.python.org/18256>`__: Compilation fix for recent "
"AIX releases. Patch by David Edelsohn."
msgstr ""
#: ../../../Misc/NEWS:7743
msgid ""
"`Issue #17547 <https://bugs.python.org/17547>`__: In configure, explicitly "
"pass -Wformat for the benefit for GCC 4.8."
msgstr ""
#: ../../../Misc/NEWS:7746
msgid ""
"`Issue #15172 <https://bugs.python.org/15172>`__: Document NASM 2.10+ as "
"requirement for building OpenSSL 1.0.1 on Windows."
msgstr ""
#: ../../../Misc/NEWS:7749
msgid ""
"`Issue #17591 <https://bugs.python.org/17591>`__: Use lowercase filenames "
"when including Windows header files. Patch by Roumen Petrov."
msgstr ""
#: ../../../Misc/NEWS:7752
msgid ""
"`Issue #17550 <https://bugs.python.org/17550>`__: Fix the --enable-profiling "
"configure switch."
msgstr ""
#: ../../../Misc/NEWS:7754
msgid ""
"`Issue #17425 <https://bugs.python.org/17425>`__: Build with openssl 1.0.1d "
"on Windows."
msgstr ""
#: ../../../Misc/NEWS:7756
msgid ""
"`Issue #16754 <https://bugs.python.org/16754>`__: Fix the incorrect shared "
"library extension on linux. Introduce two makefile macros SHLIB_SUFFIX and "
"EXT_SUFFIX. SO now has the value of SHLIB_SUFFIX again (as in 2.x and 3.1). "
"The SO macro is removed in 3.4."
msgstr ""
#: ../../../Misc/NEWS:7760
msgid ""
"`Issue #5033 <https://bugs.python.org/5033>`__: Fix building of the sqlite3 "
"extension module when the SQLite library version has \"beta\" in it. Patch "
"by Andreas Pelme."
msgstr ""
#: ../../../Misc/NEWS:7763
msgid ""
"`Issue #17228 <https://bugs.python.org/17228>`__: Fix building without "
"pymalloc."
msgstr ""
#: ../../../Misc/NEWS:7765
msgid ""
"`Issue #3718 <https://bugs.python.org/3718>`__: Use AC_ARG_VAR to set "
"MACHDEP in configure.ac."
msgstr ""
#: ../../../Misc/NEWS:7767
msgid ""
"`Issue #16235 <https://bugs.python.org/16235>`__: Implement python-config as "
"a shell script."
msgstr ""
#: ../../../Misc/NEWS:7769
msgid ""
"`Issue #16769 <https://bugs.python.org/16769>`__: Remove outdated Visual "
"Studio projects."
msgstr ""
#: ../../../Misc/NEWS:7771
msgid ""
"`Issue #17031 <https://bugs.python.org/17031>`__: Fix running regen in cross "
"builds."
msgstr ""
#: ../../../Misc/NEWS:7773
msgid ""
"`Issue #3754 <https://bugs.python.org/3754>`__: fix typo in pthread "
"AC_CACHE_VAL."
msgstr ""
#: ../../../Misc/NEWS:7775
msgid ""
"`Issue #15484 <https://bugs.python.org/15484>`__: Fix _PYTHON_PROJECT_BASE "
"for srcdir != builddir builds; use _PYTHON_PROJECT_BASE in distutils/"
"sysconfig.py."
msgstr ""
#: ../../../Misc/NEWS:7778
msgid "Drop support for Windows 2000 (changeset e52df05b496a)."
msgstr ""
#: ../../../Misc/NEWS:7780
msgid ""
"`Issue #17029 <https://bugs.python.org/17029>`__: Let h2py search the "
"multiarch system include directory."
msgstr ""
#: ../../../Misc/NEWS:7782
msgid ""
"`Issue #16953 <https://bugs.python.org/16953>`__: Fix socket module "
"compilation on platforms with HAVE_BROKEN_POLL. Patch by Jeffrey Armstrong."
msgstr ""
#: ../../../Misc/NEWS:7785
msgid ""
"`Issue #16320 <https://bugs.python.org/16320>`__: Remove redundant Makefile "
"dependencies for strings and bytes."
msgstr ""
#: ../../../Misc/NEWS:7787
msgid ""
"Cross compiling needs host and build settings. configure no longer creates a "
"broken PYTHON_FOR_BUILD variable when --build is missing."
msgstr ""
#: ../../../Misc/NEWS:7790
msgid ""
"Fix cross compiling issue in setup.py, ensure that lib_dirs and inc_dirs are "
"defined in cross compiling mode, too."
msgstr ""
#: ../../../Misc/NEWS:7793
msgid ""
"`Issue #16836 <https://bugs.python.org/16836>`__: Enable IPv6 support even "
"if IPv6 is disabled on the build host."
msgstr ""
#: ../../../Misc/NEWS:7795
msgid ""
"`Issue #16593 <https://bugs.python.org/16593>`__: Have BSD 'make -s' do the "
"right thing, thanks to Daniel Shahaf"
msgstr ""
#: ../../../Misc/NEWS:7797
msgid ""
"`Issue #16262 <https://bugs.python.org/16262>`__: fix out-of-src-tree "
"builds, if mercurial is not installed."
msgstr ""
#: ../../../Misc/NEWS:7799
msgid ""
"`Issue #15298 <https://bugs.python.org/15298>`__: ensure _sysconfigdata is "
"generated in build directory, not source directory."
msgstr ""
#: ../../../Misc/NEWS:7802
msgid ""
"`Issue #15833 <https://bugs.python.org/15833>`__: Fix a regression in 3.3 "
"that resulted in exceptions being raised if importlib failed to write byte-"
"compiled files. This affected attempts to build Python out-of-tree from a "
"read-only source directory."
msgstr ""
#: ../../../Misc/NEWS:7806
msgid ""
"`Issue #15923 <https://bugs.python.org/15923>`__: Fix a mistake in ``asdl_c."
"py`` that resulted in a TypeError after 2801bf875a24 (see #15801)."
msgstr ""
#: ../../../Misc/NEWS:7809
msgid "`Issue #16135 <https://bugs.python.org/16135>`__: Remove OS/2 support."
msgstr ""
#: ../../../Misc/NEWS:7811
msgid ""
"`Issue #15819 <https://bugs.python.org/15819>`__: Make sure we can build "
"Python out-of-tree from a read-only source directory. (Somewhat related to "
"`issue #9860 <https://bugs.python.org/9860>`__.)"
msgstr ""
#: ../../../Misc/NEWS:7814
msgid ""
"`Issue #15587 <https://bugs.python.org/15587>`__: Enable Tk high-resolution "
"text rendering on Macs with Retina displays. Applies to Tkinter apps, such "
"as IDLE, on OS X framework builds linked with Cocoa Tk 8.5."
msgstr ""
#: ../../../Misc/NEWS:7818
msgid ""
"`Issue #17161 <https://bugs.python.org/17161>`__: make install now also "
"installs a python3 man page."
msgstr ""
#: ../../../Misc/NEWS:7823
msgid ""
"`Issue #18351 <https://bugs.python.org/18351>`__: Fix various issues in a "
"function in importlib provided to help "
"PyImport_ExecCodeModuleWithPathnames() (and thus by extension "
"PyImport_ExecCodeModule() and PyImport_ExecCodeModuleEx())."
msgstr ""
#: ../../../Misc/NEWS:7827
msgid ""
"`Issue #9369 <https://bugs.python.org/9369>`__: The types of `char*` "
"arguments of PyObject_CallFunction() and PyObject_CallMethod() now changed "
"to `const char*`. Based on patches by Jörg Müller and Lars Buitinck."
msgstr ""
#: ../../../Misc/NEWS:7831
msgid ""
"`Issue #17206 <https://bugs.python.org/17206>`__: Py_CLEAR(), Py_DECREF(), "
"Py_XINCREF() and Py_XDECREF() now expand their arguments once instead of "
"multiple times. Patch written by Illia Polosukhin."
msgstr ""
#: ../../../Misc/NEWS:7835
msgid ""
"`Issue #17522 <https://bugs.python.org/17522>`__: Add the PyGILState_Check() "
"API."
msgstr ""
#: ../../../Misc/NEWS:7837
msgid ""
"`Issue #17327 <https://bugs.python.org/17327>`__: Add PyDict_SetDefault."
msgstr ""
#: ../../../Misc/NEWS:7839
msgid ""
"`Issue #16881 <https://bugs.python.org/16881>`__: Fix Py_ARRAY_LENGTH macro "
"for GCC < 3.1."
msgstr ""
#: ../../../Misc/NEWS:7841
msgid ""
"`Issue #16505 <https://bugs.python.org/16505>`__: Remove unused "
"Py_TPFLAGS_INT_SUBCLASS."
msgstr ""
#: ../../../Misc/NEWS:7843
msgid ""
"`Issue #16086 <https://bugs.python.org/16086>`__: PyTypeObject.tp_flags and "
"PyType_Spec.flags are now unsigned (unsigned long and unsigned int) to avoid "
"an undefined behaviour with Py_TPFLAGS_TYPE_SUBCLASS ((1 << 31). "
"PyType_GetFlags() result type is now unsigned too (unsigned long, instead of "
"long)."
msgstr ""
#: ../../../Misc/NEWS:7848
msgid ""
"`Issue #16166 <https://bugs.python.org/16166>`__: Add PY_LITTLE_ENDIAN and "
"PY_BIG_ENDIAN macros and unified endianness detection and handling."
msgstr ""
#: ../../../Misc/NEWS:7854
msgid ""
"`Issue #23006 <https://bugs.python.org/23006>`__: Improve the documentation "
"and indexing of dict.__missing__. Add an entry in the language datamodel "
"special methods section. Revise and index its discussion in the stdtypes "
"mapping/dict section."
msgstr ""
#: ../../../Misc/NEWS:7858
msgid ""
"`Issue #17701 <https://bugs.python.org/17701>`__: Improving strftime "
"documentation."
msgstr ""
#: ../../../Misc/NEWS:7860
msgid ""
"`Issue #18440 <https://bugs.python.org/18440>`__: Clarify that `hash()` can "
"truncate the value returned from an object's custom `__hash__()` method."
msgstr ""
#: ../../../Misc/NEWS:7863
msgid ""
"`Issue #17844 <https://bugs.python.org/17844>`__: Add links to encoders and "
"decoders for bytes-to-bytes codecs."
msgstr ""
#: ../../../Misc/NEWS:7865
msgid ""
"`Issue #14097 <https://bugs.python.org/14097>`__: improve the \"introduction"
"\" page of the tutorial."
msgstr ""
#: ../../../Misc/NEWS:7867
msgid ""
"`Issue #17977 <https://bugs.python.org/17977>`__: The documentation for the "
"cadefault argument's default value in urllib.request.urlopen() is fixed to "
"match the code."
msgstr ""
#: ../../../Misc/NEWS:7870
msgid ""
"`Issue #6696 <https://bugs.python.org/6696>`__: add documentation for the "
"Profile objects, and improve profile/cProfile docs. Patch by Tom Pinckney."
msgstr ""
#: ../../../Misc/NEWS:7873
msgid ""
"`Issue #15940 <https://bugs.python.org/15940>`__: Specify effect of locale "
"on time functions."
msgstr ""
#: ../../../Misc/NEWS:7875
msgid ""
"`Issue #17538 <https://bugs.python.org/17538>`__: Document XML vulnerabilties"
msgstr ""
#: ../../../Misc/NEWS:7877
msgid ""
"`Issue #16642 <https://bugs.python.org/16642>`__: sched.scheduler timefunc "
"initial default is time.monotonic. Patch by Ramchandra Apte"
msgstr ""
#: ../../../Misc/NEWS:7880
msgid ""
"`Issue #17047 <https://bugs.python.org/17047>`__: remove doubled words in "
"docs and docstrings reported by Serhiy Storchaka and Matthew Barnett."
msgstr ""
#: ../../../Misc/NEWS:7883
msgid ""
"`Issue #15465 <https://bugs.python.org/15465>`__: Document the versioning "
"macros in the C API docs rather than the standard library docs. Patch by "
"Kushal Das."
msgstr ""
#: ../../../Misc/NEWS:7886
msgid ""
"`Issue #16406 <https://bugs.python.org/16406>`__: Combine the pages for "
"uploading and registering to PyPI."
msgstr ""
#: ../../../Misc/NEWS:7888
msgid ""
"`Issue #16403 <https://bugs.python.org/16403>`__: Document how distutils "
"uses the maintainer field in PKG-INFO. Patch by Jyrki Pulliainen."
msgstr ""
#: ../../../Misc/NEWS:7891
msgid ""
"`Issue #16695 <https://bugs.python.org/16695>`__: Document how glob handles "
"filenames starting with a dot. Initial patch by Jyrki Pulliainen."
msgstr ""
#: ../../../Misc/NEWS:7894
msgid ""
"`Issue #8890 <https://bugs.python.org/8890>`__: Stop advertising an insecure "
"practice by replacing uses of the /tmp directory with better alternatives in "
"the documentation. Patch by Geoff Wilson."
msgstr ""
#: ../../../Misc/NEWS:7898
msgid ""
"`Issue #17203 <https://bugs.python.org/17203>`__: add long option names to "
"unittest discovery docs."
msgstr ""
#: ../../../Misc/NEWS:7900
msgid ""
"`Issue #13094 <https://bugs.python.org/13094>`__: add \"Why do lambdas "
"defined in a loop with different values all return the same result?\" "
"programming FAQ."
msgstr ""
#: ../../../Misc/NEWS:7903
msgid ""
"`Issue #14901 <https://bugs.python.org/14901>`__: Update portions of the "
"Windows FAQ. Patch by Ashish Nitin Patil."
msgstr ""
#: ../../../Misc/NEWS:7906
msgid ""
"`Issue #16267 <https://bugs.python.org/16267>`__: Better document the 3.3+ "
"approach to combining @abstractmethod with @staticmethod, @classmethod and "
"@property"
msgstr ""
#: ../../../Misc/NEWS:7909
msgid ""
"`Issue #15209 <https://bugs.python.org/15209>`__: Clarify exception chaining "
"description in exceptions module documentation"
msgstr ""
#: ../../../Misc/NEWS:7912
msgid ""
"`Issue #15990 <https://bugs.python.org/15990>`__: Improve argument/parameter "
"documentation."
msgstr ""
#: ../../../Misc/NEWS:7914
msgid ""
"`Issue #16209 <https://bugs.python.org/16209>`__: Move the documentation for "
"the str built-in function to a new str class entry in the \"Text Sequence "
"Type\" section."
msgstr ""
#: ../../../Misc/NEWS:7917
msgid ""
"`Issue #13538 <https://bugs.python.org/13538>`__: Improve str() and object."
"__str__() documentation."
msgstr ""
#: ../../../Misc/NEWS:7919
msgid ""
"`Issue #16489 <https://bugs.python.org/16489>`__: Make it clearer that "
"importlib.find_loader() needs parent packages to be explicitly imported."
msgstr ""
#: ../../../Misc/NEWS:7922
msgid ""
"`Issue #16400 <https://bugs.python.org/16400>`__: Update the description of "
"which versions of a given package PyPI displays."
msgstr ""
#: ../../../Misc/NEWS:7925
msgid ""
"`Issue #15677 <https://bugs.python.org/15677>`__: Document that zlib and "
"gzip accept a compression level of 0 to mean 'no compression'. Patch by "
"Brian Brazil."
msgstr ""
#: ../../../Misc/NEWS:7928
msgid ""
"`Issue #16197 <https://bugs.python.org/16197>`__: Update winreg docstrings "
"and documentation to match code. Patch by Zachary Ware."
msgstr ""
#: ../../../Misc/NEWS:7931
msgid ""
"`Issue #8040 <https://bugs.python.org/8040>`__: added a version switcher to "
"the documentation. Patch by Yury Selivanov."
msgstr ""
#: ../../../Misc/NEWS:7934
msgid ""
"`Issue #16241 <https://bugs.python.org/16241>`__: Document -X faulthandler "
"command line option. Patch by Marek Šuppa."
msgstr ""
#: ../../../Misc/NEWS:7937
msgid ""
"Additional comments and some style changes in the concurrent.futures URL "
"retrieval example"
msgstr ""
#: ../../../Misc/NEWS:7940
msgid ""
"`Issue #16115 <https://bugs.python.org/16115>`__: Improve subprocess.Popen() "
"documentation around args, shell, and executable arguments."
msgstr ""
#: ../../../Misc/NEWS:7943
msgid ""
"`Issue #13498 <https://bugs.python.org/13498>`__: Clarify docs of os."
"makedirs()'s exist_ok argument. Done with great native-speaker help from R. "
"David Murray."
msgstr ""
#: ../../../Misc/NEWS:7946
msgid ""
"`Issue #15533 <https://bugs.python.org/15533>`__: Clarify docs and add tests "
"for `subprocess.Popen()`'s cwd argument."
msgstr ""
#: ../../../Misc/NEWS:7949
msgid ""
"`Issue #15979 <https://bugs.python.org/15979>`__: Improve timeit "
"documentation."
msgstr ""
#: ../../../Misc/NEWS:7951
msgid ""
"`Issue #16036 <https://bugs.python.org/16036>`__: Improve documentation of "
"built-in `int()`'s signature and arguments."
msgstr ""
#: ../../../Misc/NEWS:7954
msgid ""
"`Issue #15935 <https://bugs.python.org/15935>`__: Clarification of "
"`argparse` docs, re: add_argument() type and default arguments. Patch "
"contributed by Chris Jerdonek."
msgstr ""
#: ../../../Misc/NEWS:7957
msgid ""
"`Issue #11964 <https://bugs.python.org/11964>`__: Document a change in v3.2 "
"to the behavior of the indent parameter of json encoding operations."
msgstr ""
#: ../../../Misc/NEWS:7960
msgid ""
"`Issue #15116 <https://bugs.python.org/15116>`__: Remove references to "
"appscript as it is no longer being supported."
msgstr ""
#: ../../../Misc/NEWS:7966
msgid ""
"`Issue #18817 <https://bugs.python.org/18817>`__: Fix a resource warning in "
"Lib/aifc.py demo. Patch by Vajrasky Kok."
msgstr ""
#: ../../../Misc/NEWS:7969
msgid ""
"`Issue #18439 <https://bugs.python.org/18439>`__: Make patchcheck work on "
"Windows for ACKS, NEWS."
msgstr ""
#: ../../../Misc/NEWS:7971
msgid ""
"`Issue #18448 <https://bugs.python.org/18448>`__: Fix a typo in Tools/demo/"
"eiffel.py."
msgstr ""
#: ../../../Misc/NEWS:7973
msgid ""
"`Issue #18457 <https://bugs.python.org/18457>`__: Fixed saving of formulas "
"and complex numbers in Tools/demo/ss1.py."
msgstr ""
#: ../../../Misc/NEWS:7976
msgid ""
"`Issue #18449 <https://bugs.python.org/18449>`__: Make Tools/demo/ss1.py "
"work again on Python 3. Patch by Févry Thibault."
msgstr ""
#: ../../../Misc/NEWS:7979
msgid ""
"`Issue #12990 <https://bugs.python.org/12990>`__: The \"Python Launcher\" on "
"OSX could not launch python scripts that have paths that include wide "
"characters."
msgstr ""
#: ../../../Misc/NEWS:7982
msgid ""
"`Issue #15239 <https://bugs.python.org/15239>`__: Make mkstringprep.py work "
"again on Python 3."
msgstr ""
#: ../../../Misc/NEWS:7984
msgid ""
"`Issue #17028 <https://bugs.python.org/17028>`__: Allowed Python arguments "
"to be supplied to the Windows launcher."
msgstr ""
#: ../../../Misc/NEWS:7987
msgid ""
"`Issue #17156 <https://bugs.python.org/17156>`__: pygettext.py now detects "
"the encoding of source files and correctly writes and escapes non-ascii "
"characters."
msgstr ""
#: ../../../Misc/NEWS:7990
msgid ""
"`Issue #15539 <https://bugs.python.org/15539>`__: Fix a number of bugs in "
"Tools/scripts/pindent.py. Now pindent.py works with a \"with\" statement. "
"pindent.py no longer produces improper indentation. pindent.py now works "
"with continued lines broken after \"class\" or \"def\" keywords and with "
"continuations at the start of line."
msgstr ""
#: ../../../Misc/NEWS:7995
msgid ""
"`Issue #11797 <https://bugs.python.org/11797>`__: Add a 2to3 fixer that maps "
"reload() to imp.reload()."
msgstr ""
#: ../../../Misc/NEWS:7997
msgid ""
"`Issue #10966 <https://bugs.python.org/10966>`__: Remove the concept of "
"unexpected skipped tests."
msgstr ""
#: ../../../Misc/NEWS:7999
msgid ""
"`Issue #9893 <https://bugs.python.org/9893>`__: Removed the Misc/Vim "
"directory."
msgstr ""
#: ../../../Misc/NEWS:8001
msgid "Removed the Misc/TextMate directory."
msgstr ""
#: ../../../Misc/NEWS:8003
msgid ""
"`Issue #16245 <https://bugs.python.org/16245>`__: Add the Tools/scripts/"
"parse_html5_entities.py script to parse the list of HTML5 entities and "
"update the html.entities.html5 dictionary."
msgstr ""
#: ../../../Misc/NEWS:8006
msgid ""
"`Issue #15378 <https://bugs.python.org/15378>`__: Fix Tools/unicode/"
"comparecodecs.py. Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:8008
msgid ""
"`Issue #16549 <https://bugs.python.org/16549>`__: Make json.tool work again "
"on Python 3 and add tests. Initial patch by Berker Peksag and Serhiy "
"Storchaka."
msgstr ""
#: ../../../Misc/NEWS:8011
msgid ""
"`Issue #13301 <https://bugs.python.org/13301>`__: use ast.literal_eval() "
"instead of eval() in Tools/i18n/msgfmt.py. Patch by Serhiy Storchaka."
msgstr ""
#: ../../../Misc/NEWS:8017
msgid ""
"`Issue #18569 <https://bugs.python.org/18569>`__: The installer now adds .py "
"to the PATHEXT variable when extensions are registered. Patch by Paul Moore."
msgstr ""
#: ../../../Misc/NEWS:8020
msgid "**(For information about older versions, consult the HISTORY file.)**"
msgstr ""
#: whatsnew/index.rst:5
msgid "What's New in Python"
msgstr "Quoi de neuf dans Python"
#: whatsnew/index.rst:7
msgid ""
"The \"What's New in Python\" series of essays takes tours through the most "
"important changes between major Python versions. They are a \"must read\" "
"for anyone wishing to stay up-to-date after a new release."
msgstr ""
"La série d'essais \"Quoi de neuf dans Python\" reprend les plus importants "
"changements entres les versions majeures de Python. Elles sont à lire pour "
"quiconque souhaitant être à jour suite à une nouvelle sortie."
#: whatsnew/index.rst:29
msgid ""
"The \"Changelog\" is a HTML version of the file :source:`Misc/NEWS` which "
"contains *all* nontrivial changes to Python for the current version."
msgstr ""