mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Issue #25523: Merge a-to-an corrections from 3.5
This commit is contained in:
		
						commit
						e56a919100
					
				
					 93 changed files with 146 additions and 146 deletions
				
			
		|  | @ -40,7 +40,7 @@ protocol <bufferobjects>`.  This protocol has two sides: | ||||||
| 
 | 
 | ||||||
| Simple objects such as :class:`bytes` and :class:`bytearray` expose their | Simple objects such as :class:`bytes` and :class:`bytearray` expose their | ||||||
| underlying buffer in byte-oriented form.  Other forms are possible; for example, | underlying buffer in byte-oriented form.  Other forms are possible; for example, | ||||||
| the elements exposed by a :class:`array.array` can be multi-byte values. | the elements exposed by an :class:`array.array` can be multi-byte values. | ||||||
| 
 | 
 | ||||||
| An example consumer of the buffer interface is the :meth:`~io.BufferedIOBase.write` | An example consumer of the buffer interface is the :meth:`~io.BufferedIOBase.write` | ||||||
| method of file objects: any object that can export a series of bytes through | method of file objects: any object that can export a series of bytes through | ||||||
|  |  | ||||||
|  | @ -849,7 +849,7 @@ How do I modify a string in place? | ||||||
| You can't, because strings are immutable.  In most situations, you should | You can't, because strings are immutable.  In most situations, you should | ||||||
| simply construct a new string from the various parts you want to assemble | simply construct a new string from the various parts you want to assemble | ||||||
| it from.  However, if you need an object with the ability to modify in-place | it from.  However, if you need an object with the ability to modify in-place | ||||||
| unicode data, try using a :class:`io.StringIO` object or the :mod:`array` | unicode data, try using an :class:`io.StringIO` object or the :mod:`array` | ||||||
| module:: | module:: | ||||||
| 
 | 
 | ||||||
|    >>> import io |    >>> import io | ||||||
|  |  | ||||||
|  | @ -530,7 +530,7 @@ allow_abbrev | ||||||
| ^^^^^^^^^^^^ | ^^^^^^^^^^^^ | ||||||
| 
 | 
 | ||||||
| Normally, when you pass an argument list to the | Normally, when you pass an argument list to the | ||||||
| :meth:`~ArgumentParser.parse_args` method of a :class:`ArgumentParser`, | :meth:`~ArgumentParser.parse_args` method of an :class:`ArgumentParser`, | ||||||
| it :ref:`recognizes abbreviations <prefix-matching>` of long options. | it :ref:`recognizes abbreviations <prefix-matching>` of long options. | ||||||
| 
 | 
 | ||||||
| This feature can be disabled by setting ``allow_abbrev`` to ``False``:: | This feature can be disabled by setting ``allow_abbrev`` to ``False``:: | ||||||
|  |  | ||||||
|  | @ -47,7 +47,7 @@ Usually an IFF-type file consists of one or more chunks.  The proposed usage of | ||||||
| the :class:`Chunk` class defined here is to instantiate an instance at the start | the :class:`Chunk` class defined here is to instantiate an instance at the start | ||||||
| of each chunk and read from the instance until it reaches the end, after which a | of each chunk and read from the instance until it reaches the end, after which a | ||||||
| new instance can be instantiated. At the end of the file, creating a new | new instance can be instantiated. At the end of the file, creating a new | ||||||
| instance will fail with a :exc:`EOFError` exception. | instance will fail with an :exc:`EOFError` exception. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| .. class:: Chunk(file, align=True, bigendian=True, inclheader=False) | .. class:: Chunk(file, align=True, bigendian=True, inclheader=False) | ||||||
|  |  | ||||||
|  | @ -90,7 +90,7 @@ Executor Objects | ||||||
| ThreadPoolExecutor | ThreadPoolExecutor | ||||||
| ------------------ | ------------------ | ||||||
| 
 | 
 | ||||||
| :class:`ThreadPoolExecutor` is a :class:`Executor` subclass that uses a pool of | :class:`ThreadPoolExecutor` is an :class:`Executor` subclass that uses a pool of | ||||||
| threads to execute calls asynchronously. | threads to execute calls asynchronously. | ||||||
| 
 | 
 | ||||||
| Deadlocks can occur when the callable associated with a :class:`Future` waits on | Deadlocks can occur when the callable associated with a :class:`Future` waits on | ||||||
|  | @ -304,7 +304,7 @@ The :class:`Future` class encapsulates the asynchronous execution of a callable. | ||||||
| 
 | 
 | ||||||
|        Added callables are called in the order that they were added and are |        Added callables are called in the order that they were added and are | ||||||
|        always called in a thread belonging to the process that added them.  If |        always called in a thread belonging to the process that added them.  If | ||||||
|        the callable raises a :exc:`Exception` subclass, it will be logged and |        the callable raises an :exc:`Exception` subclass, it will be logged and | ||||||
|        ignored.  If the callable raises a :exc:`BaseException` subclass, the |        ignored.  If the callable raises a :exc:`BaseException` subclass, the | ||||||
|        behavior is undefined. |        behavior is undefined. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -39,7 +39,7 @@ loads libraries which export functions using the standard ``cdecl`` calling | ||||||
| convention, while *windll* libraries call functions using the ``stdcall`` | convention, while *windll* libraries call functions using the ``stdcall`` | ||||||
| calling convention. *oledll* also uses the ``stdcall`` calling convention, and | calling convention. *oledll* also uses the ``stdcall`` calling convention, and | ||||||
| assumes the functions return a Windows :c:type:`HRESULT` error code. The error | assumes the functions return a Windows :c:type:`HRESULT` error code. The error | ||||||
| code is used to automatically raise a :class:`OSError` exception when the | code is used to automatically raise an :class:`OSError` exception when the | ||||||
| function call fails. | function call fails. | ||||||
| 
 | 
 | ||||||
| .. versionchanged:: 3.3 | .. versionchanged:: 3.3 | ||||||
|  |  | ||||||
|  | @ -278,7 +278,7 @@ diffs. For comparing directories and files, see also, the :mod:`filecmp` module. | ||||||
|    generating the delta lines) in unified diff format. |    generating the delta lines) in unified diff format. | ||||||
| 
 | 
 | ||||||
|    Unified diffs are a compact way of showing just the lines that have changed plus |    Unified diffs are a compact way of showing just the lines that have changed plus | ||||||
|    a few lines of context.  The changes are shown in a inline style (instead of |    a few lines of context.  The changes are shown in an inline style (instead of | ||||||
|    separate before/after blocks).  The number of context lines is set by *n* which |    separate before/after blocks).  The number of context lines is set by *n* which | ||||||
|    defaults to three. |    defaults to three. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -16,13 +16,13 @@ interface to the :c:func:`fcntl` and :c:func:`ioctl` Unix routines. | ||||||
| 
 | 
 | ||||||
| All functions in this module take a file descriptor *fd* as their first | All functions in this module take a file descriptor *fd* as their first | ||||||
| argument.  This can be an integer file descriptor, such as returned by | argument.  This can be an integer file descriptor, such as returned by | ||||||
| ``sys.stdin.fileno()``, or a :class:`io.IOBase` object, such as ``sys.stdin`` | ``sys.stdin.fileno()``, or an :class:`io.IOBase` object, such as ``sys.stdin`` | ||||||
| itself, which provides a :meth:`~io.IOBase.fileno` that returns a genuine file | itself, which provides a :meth:`~io.IOBase.fileno` that returns a genuine file | ||||||
| descriptor. | descriptor. | ||||||
| 
 | 
 | ||||||
| .. versionchanged:: 3.3 | .. versionchanged:: 3.3 | ||||||
|    Operations in this module used to raise a :exc:`IOError` where they now |    Operations in this module used to raise an :exc:`IOError` where they now | ||||||
|    raise a :exc:`OSError`. |    raise an :exc:`OSError`. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| The module defines the following functions: | The module defines the following functions: | ||||||
|  |  | ||||||
|  | @ -287,9 +287,9 @@ followed by ``lines`` for the text version or ``binary`` for the binary version. | ||||||
| 
 | 
 | ||||||
| .. method:: FTP.transfercmd(cmd, rest=None) | .. method:: FTP.transfercmd(cmd, rest=None) | ||||||
| 
 | 
 | ||||||
|    Initiate a transfer over the data connection.  If the transfer is active, send a |    Initiate a transfer over the data connection.  If the transfer is active, send an | ||||||
|    ``EPRT`` or  ``PORT`` command and the transfer command specified by *cmd*, and |    ``EPRT`` or  ``PORT`` command and the transfer command specified by *cmd*, and | ||||||
|    accept the connection.  If the server is passive, send a ``EPSV`` or ``PASV`` |    accept the connection.  If the server is passive, send an ``EPSV`` or ``PASV`` | ||||||
|    command, connect to it, and start the transfer command.  Either way, return the |    command, connect to it, and start the transfer command.  Either way, return the | ||||||
|    socket for the connection. |    socket for the connection. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1032,9 +1032,9 @@ are always available.  They are listed here in alphabetical order. | ||||||
|    :class:`io.TextIOBase` (specifically :class:`io.TextIOWrapper`).  When used |    :class:`io.TextIOBase` (specifically :class:`io.TextIOWrapper`).  When used | ||||||
|    to open a file in a binary mode with buffering, the returned class is a |    to open a file in a binary mode with buffering, the returned class is a | ||||||
|    subclass of :class:`io.BufferedIOBase`.  The exact class varies: in read |    subclass of :class:`io.BufferedIOBase`.  The exact class varies: in read | ||||||
|    binary mode, it returns a :class:`io.BufferedReader`; in write binary and |    binary mode, it returns an :class:`io.BufferedReader`; in write binary and | ||||||
|    append binary modes, it returns a :class:`io.BufferedWriter`, and in |    append binary modes, it returns an :class:`io.BufferedWriter`, and in | ||||||
|    read/write mode, it returns a :class:`io.BufferedRandom`.  When buffering is |    read/write mode, it returns an :class:`io.BufferedRandom`.  When buffering is | ||||||
|    disabled, the raw stream, a subclass of :class:`io.RawIOBase`, |    disabled, the raw stream, a subclass of :class:`io.RawIOBase`, | ||||||
|    :class:`io.FileIO`, is returned. |    :class:`io.FileIO`, is returned. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -96,7 +96,7 @@ The module defines the following items: | ||||||
| 
 | 
 | ||||||
|    Calling a :class:`GzipFile` object's :meth:`close` method does not close |    Calling a :class:`GzipFile` object's :meth:`close` method does not close | ||||||
|    *fileobj*, since you might wish to append more material after the compressed |    *fileobj*, since you might wish to append more material after the compressed | ||||||
|    data.  This also allows you to pass a :class:`io.BytesIO` object opened for |    data.  This also allows you to pass an :class:`io.BytesIO` object opened for | ||||||
|    writing as *fileobj*, and retrieve the resulting memory buffer using the |    writing as *fileobj*, and retrieve the resulting memory buffer using the | ||||||
|    :class:`io.BytesIO` object's :meth:`~io.BytesIO.getvalue` method. |    :class:`io.BytesIO` object's :meth:`~io.BytesIO.getvalue` method. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -176,7 +176,7 @@ contained :class:`Cookie` objects. | ||||||
| 
 | 
 | ||||||
|    The *response* object (usually the result of a call to |    The *response* object (usually the result of a call to | ||||||
|    :meth:`urllib.request.urlopen`, or similar) should support an :meth:`info` |    :meth:`urllib.request.urlopen`, or similar) should support an :meth:`info` | ||||||
|    method, which returns a :class:`email.message.Message` instance. |    method, which returns an :class:`email.message.Message` instance. | ||||||
| 
 | 
 | ||||||
|    The *request* object (usually a :class:`urllib.request.Request` instance) |    The *request* object (usually a :class:`urllib.request.Request` instance) | ||||||
|    must support the methods :meth:`get_full_url`, :meth:`get_host`, |    must support the methods :meth:`get_full_url`, :meth:`get_host`, | ||||||
|  |  | ||||||
|  | @ -176,7 +176,7 @@ of which this module provides three different variants: | ||||||
| 
 | 
 | ||||||
|    .. method:: handle_expect_100() |    .. method:: handle_expect_100() | ||||||
| 
 | 
 | ||||||
|       When a HTTP/1.1 compliant server receives a ``Expect: 100-continue`` |       When a HTTP/1.1 compliant server receives an ``Expect: 100-continue`` | ||||||
|       request header it responds back with a ``100 Continue`` followed by ``200 |       request header it responds back with a ``100 Continue`` followed by ``200 | ||||||
|       OK`` headers. |       OK`` headers. | ||||||
|       This method can be overridden to raise an error if the server does not |       This method can be overridden to raise an error if the server does not | ||||||
|  | @ -210,7 +210,7 @@ of which this module provides three different variants: | ||||||
|       are picked up from the :meth:`version_string` and |       are picked up from the :meth:`version_string` and | ||||||
|       :meth:`date_time_string` methods, respectively. If the server does not |       :meth:`date_time_string` methods, respectively. If the server does not | ||||||
|       intend to send any other headers using the :meth:`send_header` method, |       intend to send any other headers using the :meth:`send_header` method, | ||||||
|       then :meth:`send_response` should be followed by a :meth:`end_headers` |       then :meth:`send_response` should be followed by an :meth:`end_headers` | ||||||
|       call. |       call. | ||||||
| 
 | 
 | ||||||
|       .. versionchanged:: 3.3 |       .. versionchanged:: 3.3 | ||||||
|  |  | ||||||
|  | @ -674,7 +674,7 @@ Supported mailbox formats are Maildir, mbox, MH, Babyl, and MMDF. | ||||||
| 
 | 
 | ||||||
|       In Babyl mailboxes, the headers of a message are not stored contiguously |       In Babyl mailboxes, the headers of a message are not stored contiguously | ||||||
|       with the body of the message. To generate a file-like representation, the |       with the body of the message. To generate a file-like representation, the | ||||||
|       headers and body are copied together into a :class:`io.BytesIO` instance, |       headers and body are copied together into an :class:`io.BytesIO` instance, | ||||||
|       which has an API identical to that of a |       which has an API identical to that of a | ||||||
|       file. As a result, the file-like object is truly independent of the |       file. As a result, the file-like object is truly independent of the | ||||||
|       underlying mailbox but does not save memory compared to a string |       underlying mailbox but does not save memory compared to a string | ||||||
|  |  | ||||||
|  | @ -1046,7 +1046,7 @@ Connection objects are usually created using :func:`Pipe` -- see also | ||||||
|       readable. |       readable. | ||||||
| 
 | 
 | ||||||
|       .. versionchanged:: 3.3 |       .. versionchanged:: 3.3 | ||||||
|          This function used to raise a :exc:`IOError`, which is now an |          This function used to raise :exc:`IOError`, which is now an | ||||||
|          alias of :exc:`OSError`. |          alias of :exc:`OSError`. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -341,7 +341,7 @@ tuples or objects that the method normally returns will be empty. | ||||||
| 
 | 
 | ||||||
| .. method:: NNTP.over(message_spec, *, file=None) | .. method:: NNTP.over(message_spec, *, file=None) | ||||||
| 
 | 
 | ||||||
|    Send a ``OVER`` command, or a ``XOVER`` command on legacy servers. |    Send an ``OVER`` command, or an ``XOVER`` command on legacy servers. | ||||||
|    *message_spec* can be either a string representing a message id, or |    *message_spec* can be either a string representing a message id, or | ||||||
|    a ``(first, last)`` tuple of numbers indicating a range of articles in |    a ``(first, last)`` tuple of numbers indicating a range of articles in | ||||||
|    the current group, or a ``(first, None)`` tuple indicating a range of |    the current group, or a ``(first, None)`` tuple indicating a range of | ||||||
|  |  | ||||||
|  | @ -1324,7 +1324,7 @@ where the input parameters are | ||||||
|    the list of arguments to process (default: ``sys.argv[1:]``) |    the list of arguments to process (default: ``sys.argv[1:]``) | ||||||
| 
 | 
 | ||||||
| ``values`` | ``values`` | ||||||
|    a :class:`optparse.Values` object to store option arguments in (default: a |    an :class:`optparse.Values` object to store option arguments in (default: a | ||||||
|    new instance of :class:`Values`) -- if you give an existing object, the |    new instance of :class:`Values`) -- if you give an existing object, the | ||||||
|    option defaults will not be initialized on it |    option defaults will not be initialized on it | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -289,7 +289,7 @@ the :mod:`glob` module.) | ||||||
| 
 | 
 | ||||||
|    Return ``True`` if both pathname arguments refer to the same file or directory. |    Return ``True`` if both pathname arguments refer to the same file or directory. | ||||||
|    This is determined by the device number and i-node number and raises an |    This is determined by the device number and i-node number and raises an | ||||||
|    exception if a :func:`os.stat` call on either pathname fails. |    exception if an :func:`os.stat` call on either pathname fails. | ||||||
| 
 | 
 | ||||||
|    Availability: Unix, Windows. |    Availability: Unix, Windows. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -221,7 +221,7 @@ process more convenient: | ||||||
|    The argument *file* must have two methods, a read() method that takes an |    The argument *file* must have two methods, a read() method that takes an | ||||||
|    integer argument, and a readline() method that requires no arguments.  Both |    integer argument, and a readline() method that requires no arguments.  Both | ||||||
|    methods should return bytes.  Thus *file* can be an on-disk file opened for |    methods should return bytes.  Thus *file* can be an on-disk file opened for | ||||||
|    binary reading, a :class:`io.BytesIO` object, or any other custom object |    binary reading, an :class:`io.BytesIO` object, or any other custom object | ||||||
|    that meets this interface. |    that meets this interface. | ||||||
| 
 | 
 | ||||||
|    Optional keyword arguments are *fix_imports*, *encoding* and *errors*, |    Optional keyword arguments are *fix_imports*, *encoding* and *errors*, | ||||||
|  | @ -357,7 +357,7 @@ The :mod:`pickle` module exports two classes, :class:`Pickler` and | ||||||
|    The argument *file* must have two methods, a read() method that takes an |    The argument *file* must have two methods, a read() method that takes an | ||||||
|    integer argument, and a readline() method that requires no arguments.  Both |    integer argument, and a readline() method that requires no arguments.  Both | ||||||
|    methods should return bytes.  Thus *file* can be an on-disk file object |    methods should return bytes.  Thus *file* can be an on-disk file object | ||||||
|    opened for binary reading, a :class:`io.BytesIO` object, or any other |    opened for binary reading, an :class:`io.BytesIO` object, or any other | ||||||
|    custom object that meets this interface. |    custom object that meets this interface. | ||||||
| 
 | 
 | ||||||
|    Optional keyword arguments are *fix_imports*, *encoding* and *errors*, |    Optional keyword arguments are *fix_imports*, *encoding* and *errors*, | ||||||
|  |  | ||||||
|  | @ -763,7 +763,7 @@ The ``errors`` module has the following attributes: | ||||||
| 
 | 
 | ||||||
| .. data:: XML_ERROR_UNDEFINED_ENTITY | .. data:: XML_ERROR_UNDEFINED_ENTITY | ||||||
| 
 | 
 | ||||||
|    A reference was made to a entity which was not defined. |    A reference was made to an entity which was not defined. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| .. data:: XML_ERROR_UNKNOWN_ENCODING | .. data:: XML_ERROR_UNKNOWN_ENCODING | ||||||
|  |  | ||||||
|  | @ -207,8 +207,8 @@ Directory and files operations | ||||||
|    and metadata of the linked files are copied to the new tree. |    and metadata of the linked files are copied to the new tree. | ||||||
| 
 | 
 | ||||||
|    When *symlinks* is false, if the file pointed by the symlink doesn't |    When *symlinks* is false, if the file pointed by the symlink doesn't | ||||||
|    exist, a exception will be added in the list of errors raised in |    exist, an exception will be added in the list of errors raised in | ||||||
|    a :exc:`Error` exception at the end of the copy process. |    an :exc:`Error` exception at the end of the copy process. | ||||||
|    You can set the optional *ignore_dangling_symlinks* flag to true if you |    You can set the optional *ignore_dangling_symlinks* flag to true if you | ||||||
|    want to silence this exception. Notice that this option has no effect |    want to silence this exception. Notice that this option has no effect | ||||||
|    on platforms that don't support :func:`os.symlink`. |    on platforms that don't support :func:`os.symlink`. | ||||||
|  |  | ||||||
|  | @ -22,7 +22,7 @@ Protocol) and :rfc:`1869` (SMTP Service Extensions). | ||||||
| 
 | 
 | ||||||
| .. class:: SMTP(host='', port=0, local_hostname=None[, timeout], source_address=None) | .. class:: SMTP(host='', port=0, local_hostname=None[, timeout], source_address=None) | ||||||
| 
 | 
 | ||||||
|    A :class:`SMTP` instance encapsulates an SMTP connection.  It has methods |    An :class:`SMTP` instance encapsulates an SMTP connection.  It has methods | ||||||
|    that support a full repertoire of SMTP and ESMTP operations. If the optional |    that support a full repertoire of SMTP and ESMTP operations. If the optional | ||||||
|    host and port parameters are given, the SMTP :meth:`connect` method is |    host and port parameters are given, the SMTP :meth:`connect` method is | ||||||
|    called with those parameters during initialization.  If specified, |    called with those parameters during initialization.  If specified, | ||||||
|  | @ -69,7 +69,7 @@ Protocol) and :rfc:`1869` (SMTP Service Extensions). | ||||||
|                     certfile=None [, timeout], context=None, \ |                     certfile=None [, timeout], context=None, \ | ||||||
|                     source_address=None) |                     source_address=None) | ||||||
| 
 | 
 | ||||||
|    A :class:`SMTP_SSL` instance behaves exactly the same as instances of |    An :class:`SMTP_SSL` instance behaves exactly the same as instances of | ||||||
|    :class:`SMTP`. :class:`SMTP_SSL` should be used for situations where SSL is |    :class:`SMTP`. :class:`SMTP_SSL` should be used for situations where SSL is | ||||||
|    required from the beginning of the connection and using :meth:`starttls` is |    required from the beginning of the connection and using :meth:`starttls` is | ||||||
|    not appropriate. If *host* is not specified, the local host is used. If |    not appropriate. If *host* is not specified, the local host is used. If | ||||||
|  |  | ||||||
|  | @ -715,7 +715,7 @@ The :mod:`socket` module also offers various network-related services: | ||||||
|    Supported values for *address_family* are currently :const:`AF_INET` and |    Supported values for *address_family* are currently :const:`AF_INET` and | ||||||
|    :const:`AF_INET6`. If the bytes object *packed_ip* is not the correct |    :const:`AF_INET6`. If the bytes object *packed_ip* is not the correct | ||||||
|    length for the specified address family, :exc:`ValueError` will be raised. |    length for the specified address family, :exc:`ValueError` will be raised. | ||||||
|    A :exc:`OSError` is raised for errors from the call to :func:`inet_ntop`. |    :exc:`OSError` is raised for errors from the call to :func:`inet_ntop`. | ||||||
| 
 | 
 | ||||||
|    Availability: Unix (maybe not all platforms), Windows. |    Availability: Unix (maybe not all platforms), Windows. | ||||||
| 
 | 
 | ||||||
|  | @ -1014,7 +1014,7 @@ to sockets. | ||||||
|    interpreted the same way as by the built-in :func:`open` function. |    interpreted the same way as by the built-in :func:`open` function. | ||||||
| 
 | 
 | ||||||
|    The socket must be in blocking mode; it can have a timeout, but the file |    The socket must be in blocking mode; it can have a timeout, but the file | ||||||
|    object's internal buffer may end up in a inconsistent state if a timeout |    object's internal buffer may end up in an inconsistent state if a timeout | ||||||
|    occurs. |    occurs. | ||||||
| 
 | 
 | ||||||
|    Closing the file object returned by :meth:`makefile` won't close the |    Closing the file object returned by :meth:`makefile` won't close the | ||||||
|  |  | ||||||
|  | @ -615,7 +615,7 @@ Cursor Objects | ||||||
|    .. attribute:: lastrowid |    .. attribute:: lastrowid | ||||||
| 
 | 
 | ||||||
|       This read-only attribute provides the rowid of the last modified row. It is |       This read-only attribute provides the rowid of the last modified row. It is | ||||||
|       only set if you issued a ``INSERT`` statement using the :meth:`execute` |       only set if you issued an ``INSERT`` statement using the :meth:`execute` | ||||||
|       method. For operations other than ``INSERT`` or when :meth:`executemany` is |       method. For operations other than ``INSERT`` or when :meth:`executemany` is | ||||||
|       called, :attr:`lastrowid` is set to :const:`None`. |       called, :attr:`lastrowid` is set to :const:`None`. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -951,7 +951,7 @@ Notes: | ||||||
|    runtime cost, you must switch to one of the alternatives below: |    runtime cost, you must switch to one of the alternatives below: | ||||||
| 
 | 
 | ||||||
|    * if concatenating :class:`str` objects, you can build a list and use |    * if concatenating :class:`str` objects, you can build a list and use | ||||||
|      :meth:`str.join` at the end or else write to a :class:`io.StringIO` |      :meth:`str.join` at the end or else write to an :class:`io.StringIO` | ||||||
|      instance and retrieve its value when complete |      instance and retrieve its value when complete | ||||||
| 
 | 
 | ||||||
|    * if concatenating :class:`bytes` objects, you can similarly use |    * if concatenating :class:`bytes` objects, you can similarly use | ||||||
|  |  | ||||||
|  | @ -54,8 +54,8 @@ The :mod:`sunau` module defines the following functions: | ||||||
| 
 | 
 | ||||||
|    Note that it does not allow read/write files. |    Note that it does not allow read/write files. | ||||||
| 
 | 
 | ||||||
|    A *mode* of ``'r'`` returns a :class:`AU_read` object, while a *mode* of ``'w'`` |    A *mode* of ``'r'`` returns an :class:`AU_read` object, while a *mode* of ``'w'`` | ||||||
|    or ``'wb'`` returns a :class:`AU_write` object. |    or ``'wb'`` returns an :class:`AU_write` object. | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| .. function:: openfp(file, mode) | .. function:: openfp(file, mode) | ||||||
|  |  | ||||||
|  | @ -96,7 +96,7 @@ The module defines the following user-callable items: | ||||||
|    causes the file to roll over to an on-disk file regardless of its size. |    causes the file to roll over to an on-disk file regardless of its size. | ||||||
| 
 | 
 | ||||||
|    The returned object is a file-like object whose :attr:`_file` attribute |    The returned object is a file-like object whose :attr:`_file` attribute | ||||||
|    is either a :class:`io.BytesIO` or :class:`io.StringIO` object (depending on |    is either an :class:`io.BytesIO` or :class:`io.StringIO` object (depending on | ||||||
|    whether binary or text *mode* was specified) or a true file |    whether binary or text *mode* was specified) or a true file | ||||||
|    object, depending on whether :func:`rollover` has been called.  This |    object, depending on whether :func:`rollover` has been called.  This | ||||||
|    file-like object can be used in a :keyword:`with` statement, just like |    file-like object can be used in a :keyword:`with` statement, just like | ||||||
|  |  | ||||||
|  | @ -1131,7 +1131,7 @@ you wanted a :class:`NonCallableMock` to be used: | ||||||
|       ... |       ... | ||||||
|     TypeError: 'NonCallableMock' object is not callable |     TypeError: 'NonCallableMock' object is not callable | ||||||
| 
 | 
 | ||||||
| Another use case might be to replace an object with a :class:`io.StringIO` instance: | Another use case might be to replace an object with an :class:`io.StringIO` instance: | ||||||
| 
 | 
 | ||||||
|     >>> from io import StringIO |     >>> from io import StringIO | ||||||
|     >>> def foo(): |     >>> def foo(): | ||||||
|  |  | ||||||
|  | @ -47,7 +47,7 @@ Example:: | ||||||
| * :data:`PROCESSING_INSTRUCTION` | * :data:`PROCESSING_INSTRUCTION` | ||||||
| * :data:`IGNORABLE_WHITESPACE` | * :data:`IGNORABLE_WHITESPACE` | ||||||
| 
 | 
 | ||||||
| ``node`` is a object of type :class:`xml.dom.minidom.Document`, | ``node`` is an object of type :class:`xml.dom.minidom.Document`, | ||||||
| :class:`xml.dom.minidom.Element` or :class:`xml.dom.minidom.Text`. | :class:`xml.dom.minidom.Element` or :class:`xml.dom.minidom.Text`. | ||||||
| 
 | 
 | ||||||
| Since the document is treated as a "flat" stream of events, the document "tree" | Since the document is treated as a "flat" stream of events, the document "tree" | ||||||
|  |  | ||||||
|  | @ -2358,7 +2358,7 @@ An *asynchronous iterable* is able to call asynchronous code in its | ||||||
| ``__aiter__`` implementation, and an *asynchronous iterator* can call | ``__aiter__`` implementation, and an *asynchronous iterator* can call | ||||||
| asynchronous code in its ``__anext__`` method. | asynchronous code in its ``__anext__`` method. | ||||||
| 
 | 
 | ||||||
| Asynchronous iterators can be used in a :keyword:`async for` statement. | Asynchronous iterators can be used in an :keyword:`async for` statement. | ||||||
| 
 | 
 | ||||||
| .. method:: object.__aiter__(self) | .. method:: object.__aiter__(self) | ||||||
| 
 | 
 | ||||||
|  | @ -2393,7 +2393,7 @@ Asynchronous Context Managers | ||||||
| An *asynchronous context manager* is a *context manager* that is able to | An *asynchronous context manager* is a *context manager* that is able to | ||||||
| suspend execution in its ``__aenter__`` and ``__aexit__`` methods. | suspend execution in its ``__aenter__`` and ``__aexit__`` methods. | ||||||
| 
 | 
 | ||||||
| Asynchronous context managers can be used in a :keyword:`async with` statement. | Asynchronous context managers can be used in an :keyword:`async with` statement. | ||||||
| 
 | 
 | ||||||
| .. method:: object.__aenter__(self) | .. method:: object.__aenter__(self) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -336,7 +336,7 @@ example:: | ||||||
| A *finally clause* is always executed before leaving the :keyword:`try` | A *finally clause* is always executed before leaving the :keyword:`try` | ||||||
| statement, whether an exception has occurred or not. When an exception has | statement, whether an exception has occurred or not. When an exception has | ||||||
| occurred in the :keyword:`try` clause and has not been handled by an | occurred in the :keyword:`try` clause and has not been handled by an | ||||||
| :keyword:`except` clause (or it has occurred in a :keyword:`except` or | :keyword:`except` clause (or it has occurred in an :keyword:`except` or | ||||||
| :keyword:`else` clause), it is re-raised after the :keyword:`finally` clause has | :keyword:`else` clause), it is re-raised after the :keyword:`finally` clause has | ||||||
| been executed.  The :keyword:`finally` clause is also executed "on the way out" | been executed.  The :keyword:`finally` clause is also executed "on the way out" | ||||||
| when any other clause of the :keyword:`try` statement is left via a | when any other clause of the :keyword:`try` statement is left via a | ||||||
|  |  | ||||||
|  | @ -303,7 +303,7 @@ For non-negative indices, the length of a slice is the difference of the | ||||||
| indices, if both are within bounds.  For example, the length of ``word[1:3]`` is | indices, if both are within bounds.  For example, the length of ``word[1:3]`` is | ||||||
| 2. | 2. | ||||||
| 
 | 
 | ||||||
| Attempting to use a index that is too large will result in an error:: | Attempting to use an index that is too large will result in an error:: | ||||||
| 
 | 
 | ||||||
|    >>> word[42]  # the word only has 6 characters |    >>> word[42]  # the word only has 6 characters | ||||||
|    Traceback (most recent call last): |    Traceback (most recent call last): | ||||||
|  |  | ||||||
|  | @ -555,7 +555,7 @@ will include metadata, making it possible to build automated cataloguing systems | ||||||
| and experiment with them.  With the result experience, perhaps it'll be possible | 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. | 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 | For example, the Distutils :command:`sdist` and :command:`bdist_\*` commands | ||||||
| could support a ``upload`` option that would automatically upload your | could support an ``upload`` option that would automatically upload your | ||||||
| package to a catalog server. | package to a catalog server. | ||||||
| 
 | 
 | ||||||
| You can start creating packages containing :file:`PKG-INFO` even if you're not | You can start creating packages containing :file:`PKG-INFO` even if you're not | ||||||
|  |  | ||||||
|  | @ -411,7 +411,7 @@ PEP 279: enumerate() | ||||||
| 
 | 
 | ||||||
| A new built-in function, :func:`enumerate`, will make certain loops a bit | A new built-in function, :func:`enumerate`, will make certain loops a bit | ||||||
| clearer.  ``enumerate(thing)``, where *thing* is either an iterator or a | clearer.  ``enumerate(thing)``, where *thing* is either an iterator or a | ||||||
| sequence, returns a iterator that will return ``(0, thing[0])``, ``(1, | sequence, returns an iterator that will return ``(0, thing[0])``, ``(1, | ||||||
| thing[1])``, ``(2, thing[2])``, and so forth. | thing[1])``, ``(2, thing[2])``, and so forth. | ||||||
| 
 | 
 | ||||||
| A common idiom to change every element of a list looks like this:: | A common idiom to change every element of a list looks like this:: | ||||||
|  |  | ||||||
|  | @ -336,7 +336,7 @@ New, Improved, and Deprecated Modules | ||||||
|   (Contributed by David Laban; :issue:`4739`.) |   (Contributed by David Laban; :issue:`4739`.) | ||||||
| 
 | 
 | ||||||
| * The :mod:`unittest` module now supports skipping individual tests or classes | * The :mod:`unittest` module now supports skipping individual tests or classes | ||||||
|   of tests. And it supports marking a test as a expected failure, a test that |   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 |   is known to be broken, but shouldn't be counted as a failure on a | ||||||
|   TestResult:: |   TestResult:: | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -788,7 +788,7 @@ functools | ||||||
|   :issue:`8814`.) |   :issue:`8814`.) | ||||||
| 
 | 
 | ||||||
| * To help write classes with rich comparison methods, a new decorator | * To help write classes with rich comparison methods, a new decorator | ||||||
|   :func:`functools.total_ordering` will use a existing equality and inequality |   :func:`functools.total_ordering` will use existing equality and inequality | ||||||
|   methods to fill in the remaining methods. |   methods to fill in the remaining methods. | ||||||
| 
 | 
 | ||||||
|   For example, supplying *__eq__* and *__lt__* will enable |   For example, supplying *__eq__* and *__lt__* will enable | ||||||
|  | @ -1399,7 +1399,7 @@ Aides and Brian Curtin in :issue:`9962`, :issue:`1675951`, :issue:`7471` and | ||||||
| 
 | 
 | ||||||
| Also, the :class:`zipfile.ZipExtFile` class was reworked internally to represent | Also, the :class:`zipfile.ZipExtFile` class was reworked internally to represent | ||||||
| files stored inside an archive.  The new implementation is significantly faster | files stored inside an archive.  The new implementation is significantly faster | ||||||
| and can be wrapped in a :class:`io.BufferedReader` object for more speedups.  It | 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 | also solves an issue where interleaved calls to *read* and *readline* gave the | ||||||
| wrong results. | wrong results. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1421,7 +1421,7 @@ can be used to directly manage when the accumlated headers are sent. | ||||||
| 
 | 
 | ||||||
| :class:`http.client.HTTPResponse` now has a | :class:`http.client.HTTPResponse` now has a | ||||||
| :meth:`~http.client.HTTPResponse.readinto` method, which means it can be used | :meth:`~http.client.HTTPResponse.readinto` method, which means it can be used | ||||||
| as a :class:`io.RawIOBase` class.  (Contributed by John Kuhn in | as an :class:`io.RawIOBase` class.  (Contributed by John Kuhn in | ||||||
| :issue:`13464`.) | :issue:`13464`.) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -465,7 +465,7 @@ not make an additional system call:: | ||||||
| PEP 475: Retry system calls failing with EINTR | PEP 475: Retry system calls failing with EINTR | ||||||
| ---------------------------------------------- | ---------------------------------------------- | ||||||
| 
 | 
 | ||||||
| A :py:data:`errno.EINTR` error code is returned whenever a system call, that | 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 | is waiting for I/O, is interrupted by a signal.  Previously, Python would | ||||||
| raise :exc:`InterruptedError` in such case.  This meant that, when writing a | raise :exc:`InterruptedError` in such case.  This meant that, when writing a | ||||||
| Python application, the developer had two choices: | Python application, the developer had two choices: | ||||||
|  |  | ||||||
|  | @ -95,7 +95,7 @@ Proposal | ||||||
|   numeric, sequence, and mapping.  Each protocol consists of a |   numeric, sequence, and mapping.  Each protocol consists of a | ||||||
|   collection of related operations.  If an operation that is not |   collection of related operations.  If an operation that is not | ||||||
|   provided by a particular type is invoked, then a standard exception, |   provided by a particular type is invoked, then a standard exception, | ||||||
|   NotImplementedError is raised with a operation name as an argument. |   NotImplementedError is raised with an operation name as an argument. | ||||||
|   In addition, for convenience this interface defines a set of |   In addition, for convenience this interface defines a set of | ||||||
|   constructors for building objects of built-in types.  This is needed |   constructors for building objects of built-in types.  This is needed | ||||||
|   so new objects can be returned from C functions that otherwise treat |   so new objects can be returned from C functions that otherwise treat | ||||||
|  |  | ||||||
|  | @ -165,14 +165,14 @@ PyAPI_FUNC(PyObject *) PyCodec_Decoder( | ||||||
|        const char *encoding |        const char *encoding | ||||||
|        ); |        ); | ||||||
| 
 | 
 | ||||||
| /* Get a IncrementalEncoder object for the given encoding. */ | /* Get an IncrementalEncoder object for the given encoding. */ | ||||||
| 
 | 
 | ||||||
| PyAPI_FUNC(PyObject *) PyCodec_IncrementalEncoder( | PyAPI_FUNC(PyObject *) PyCodec_IncrementalEncoder( | ||||||
|        const char *encoding, |        const char *encoding, | ||||||
|        const char *errors |        const char *errors | ||||||
|        ); |        ); | ||||||
| 
 | 
 | ||||||
| /* Get a IncrementalDecoder object function for the given encoding. */ | /* Get an IncrementalDecoder object function for the given encoding. */ | ||||||
| 
 | 
 | ||||||
| PyAPI_FUNC(PyObject *) PyCodec_IncrementalDecoder( | PyAPI_FUNC(PyObject *) PyCodec_IncrementalDecoder( | ||||||
|        const char *encoding, |        const char *encoding, | ||||||
|  |  | ||||||
|  | @ -2512,7 +2512,7 @@ def getvalue(self): | ||||||
| 
 | 
 | ||||||
|     def __repr__(self): |     def __repr__(self): | ||||||
|         # TextIOWrapper tells the encoding in its repr. In StringIO, |         # TextIOWrapper tells the encoding in its repr. In StringIO, | ||||||
|         # that's a implementation detail. |         # that's an implementation detail. | ||||||
|         return object.__repr__(self) |         return object.__repr__(self) | ||||||
| 
 | 
 | ||||||
|     @property |     @property | ||||||
|  |  | ||||||
|  | @ -255,7 +255,7 @@ class StreamWriter: | ||||||
|     def __init__(self, transport, protocol, reader, loop): |     def __init__(self, transport, protocol, reader, loop): | ||||||
|         self._transport = transport |         self._transport = transport | ||||||
|         self._protocol = protocol |         self._protocol = protocol | ||||||
|         # drain() expects that the reader has a exception() method |         # drain() expects that the reader has an exception() method | ||||||
|         assert reader is None or isinstance(reader, StreamReader) |         assert reader is None or isinstance(reader, StreamReader) | ||||||
|         self._reader = reader |         self._reader = reader | ||||||
|         self._loop = loop |         self._loop = loop | ||||||
|  |  | ||||||
|  | @ -142,7 +142,7 @@ def setfirstweekday(self, firstweekday): | ||||||
| 
 | 
 | ||||||
|     def iterweekdays(self): |     def iterweekdays(self): | ||||||
|         """ |         """ | ||||||
|         Return a iterator for one week of weekday numbers starting with the |         Return an iterator for one week of weekday numbers starting with the | ||||||
|         configured first one. |         configured first one. | ||||||
|         """ |         """ | ||||||
|         for i in range(self.firstweekday, self.firstweekday + 7): |         for i in range(self.firstweekday, self.firstweekday + 7): | ||||||
|  |  | ||||||
|  | @ -21,7 +21,7 @@ | ||||||
| usage of the Chunk class defined here is to instantiate an instance at | usage of the Chunk class defined here is to instantiate an instance at | ||||||
| the start of each chunk and read from the instance until it reaches | the start of each chunk and read from the instance until it reaches | ||||||
| the end, after which a new instance can be instantiated.  At the end | the end, after which a new instance can be instantiated.  At the end | ||||||
| of the file, creating a new instance will fail with a EOFError | of the file, creating a new instance will fail with an EOFError | ||||||
| exception. | exception. | ||||||
| 
 | 
 | ||||||
| Usage: | Usage: | ||||||
|  |  | ||||||
|  | @ -258,7 +258,7 @@ class IncrementalDecoder(object): | ||||||
|     """ |     """ | ||||||
|     def __init__(self, errors='strict'): |     def __init__(self, errors='strict'): | ||||||
|         """ |         """ | ||||||
|         Create a IncrementalDecoder instance. |         Create an IncrementalDecoder instance. | ||||||
| 
 | 
 | ||||||
|         The IncrementalDecoder may use different error handling schemes by |         The IncrementalDecoder may use different error handling schemes by | ||||||
|         providing the errors keyword argument. See the module docstring |         providing the errors keyword argument. See the module docstring | ||||||
|  | @ -1011,7 +1011,7 @@ def iterencode(iterator, encoding, errors='strict', **kwargs): | ||||||
|     """ |     """ | ||||||
|     Encoding iterator. |     Encoding iterator. | ||||||
| 
 | 
 | ||||||
|     Encodes the input strings from the iterator using a IncrementalEncoder. |     Encodes the input strings from the iterator using an IncrementalEncoder. | ||||||
| 
 | 
 | ||||||
|     errors and kwargs are passed through to the IncrementalEncoder |     errors and kwargs are passed through to the IncrementalEncoder | ||||||
|     constructor. |     constructor. | ||||||
|  | @ -1029,7 +1029,7 @@ def iterdecode(iterator, encoding, errors='strict', **kwargs): | ||||||
|     """ |     """ | ||||||
|     Decoding iterator. |     Decoding iterator. | ||||||
| 
 | 
 | ||||||
|     Decodes the input strings from the iterator using a IncrementalDecoder. |     Decodes the input strings from the iterator using an IncrementalDecoder. | ||||||
| 
 | 
 | ||||||
|     errors and kwargs are passed through to the IncrementalDecoder |     errors and kwargs are passed through to the IncrementalDecoder | ||||||
|     constructor. |     constructor. | ||||||
|  |  | ||||||
|  | @ -521,7 +521,7 @@ def submit(self, fn, *args, **kwargs): | ||||||
|         raise NotImplementedError() |         raise NotImplementedError() | ||||||
| 
 | 
 | ||||||
|     def map(self, fn, *iterables, timeout=None, chunksize=1): |     def map(self, fn, *iterables, timeout=None, chunksize=1): | ||||||
|         """Returns a iterator equivalent to map(fn, iter). |         """Returns an iterator equivalent to map(fn, iter). | ||||||
| 
 | 
 | ||||||
|         Args: |         Args: | ||||||
|             fn: A callable that will take as many arguments as there are |             fn: A callable that will take as many arguments as there are | ||||||
|  |  | ||||||
|  | @ -456,7 +456,7 @@ def submit(self, fn, *args, **kwargs): | ||||||
|     submit.__doc__ = _base.Executor.submit.__doc__ |     submit.__doc__ = _base.Executor.submit.__doc__ | ||||||
| 
 | 
 | ||||||
|     def map(self, fn, *iterables, timeout=None, chunksize=1): |     def map(self, fn, *iterables, timeout=None, chunksize=1): | ||||||
|         """Returns a iterator equivalent to map(fn, iter). |         """Returns an iterator equivalent to map(fn, iter). | ||||||
| 
 | 
 | ||||||
|         Args: |         Args: | ||||||
|             fn: A callable that will take as many arguments as there are |             fn: A callable that will take as many arguments as there are | ||||||
|  |  | ||||||
|  | @ -1515,7 +1515,7 @@ def _line_iterator(): | ||||||
|                 yield _make_line(lines,'-',0), None, True |                 yield _make_line(lines,'-',0), None, True | ||||||
|                 continue |                 continue | ||||||
|             elif s.startswith(('--?+', '--+', '- ')): |             elif s.startswith(('--?+', '--+', '- ')): | ||||||
|                 # in delete block and see a intraline change or unchanged line |                 # in delete block and see an intraline change or unchanged line | ||||||
|                 # coming: yield the delete line and then blanks |                 # coming: yield the delete line and then blanks | ||||||
|                 from_line,to_line = _make_line(lines,'-',0), None |                 from_line,to_line = _make_line(lines,'-',0), None | ||||||
|                 num_blanks_to_yield,num_blanks_pending = num_blanks_pending-1,0 |                 num_blanks_to_yield,num_blanks_pending = num_blanks_pending-1,0 | ||||||
|  |  | ||||||
|  | @ -10,9 +10,9 @@ | ||||||
| # | # | ||||||
| # * if you use a msvc compiled python version (1.5.2) | # * if you use a msvc compiled python version (1.5.2) | ||||||
| #   1. you have to insert a __GNUC__ section in its config.h | #   1. you have to insert a __GNUC__ section in its config.h | ||||||
| #   2. you have to generate a import library for its dll | #   2. you have to generate an import library for its dll | ||||||
| #      - create a def-file for python??.dll | #      - create a def-file for python??.dll | ||||||
| #      - create a import library using | #      - create an import library using | ||||||
| #             dlltool --dllname python15.dll --def python15.def \ | #             dlltool --dllname python15.dll --def python15.def \ | ||||||
| #                       --output-lib libpython15.a | #                       --output-lib libpython15.a | ||||||
| # | # | ||||||
|  | @ -318,7 +318,7 @@ def __init__(self, verbose=0, dry_run=0, force=0): | ||||||
|         self.dll_libraries = get_msvcr() |         self.dll_libraries = get_msvcr() | ||||||
| 
 | 
 | ||||||
| # Because these compilers aren't configured in Python's pyconfig.h file by | # Because these compilers aren't configured in Python's pyconfig.h file by | ||||||
| # default, we should at least warn the user if he is using a unmodified | # default, we should at least warn the user if he is using an unmodified | ||||||
| # version. | # version. | ||||||
| 
 | 
 | ||||||
| CONFIG_H_OK = "ok" | CONFIG_H_OK = "ok" | ||||||
|  |  | ||||||
|  | @ -287,7 +287,7 @@ def sendport(self, host, port): | ||||||
|         return self.voidcmd(cmd) |         return self.voidcmd(cmd) | ||||||
| 
 | 
 | ||||||
|     def sendeprt(self, host, port): |     def sendeprt(self, host, port): | ||||||
|         '''Send a EPRT command with the current host and the given port number.''' |         '''Send an EPRT command with the current host and the given port number.''' | ||||||
|         af = 0 |         af = 0 | ||||||
|         if self.af == socket.AF_INET: |         if self.af == socket.AF_INET: | ||||||
|             af = 1 |             af = 1 | ||||||
|  | @ -852,7 +852,7 @@ def parse227(resp): | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def parse229(resp, peer): | def parse229(resp, peer): | ||||||
|     '''Parse the '229' response for a EPSV request. |     '''Parse the '229' response for an EPSV request. | ||||||
|     Raises error_proto if it does not contain '(|||port|)' |     Raises error_proto if it does not contain '(|||port|)' | ||||||
|     Return ('host.addr.as.numbers', port#) tuple.''' |     Return ('host.addr.as.numbers', port#) tuple.''' | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -28,7 +28,7 @@ | ||||||
| # - RETURN_IN_ORDER option | # - RETURN_IN_ORDER option | ||||||
| # - GNU extension with '-' as first character of option string | # - GNU extension with '-' as first character of option string | ||||||
| # - optional arguments, specified by double colons | # - optional arguments, specified by double colons | ||||||
| # - a option string with a W followed by semicolon should | # - an option string with a W followed by semicolon should | ||||||
| #   treat "-W foo" as "--foo" | #   treat "-W foo" as "--foo" | ||||||
| 
 | 
 | ||||||
| __all__ = ["GetoptError","error","getopt","gnu_getopt"] | __all__ = ["GetoptError","error","getopt","gnu_getopt"] | ||||||
|  |  | ||||||
|  | @ -1379,7 +1379,7 @@ def newline_and_indent_event(self, event): | ||||||
|             text.see("insert") |             text.see("insert") | ||||||
|             text.undo_block_stop() |             text.undo_block_stop() | ||||||
| 
 | 
 | ||||||
|     # Our editwin provides a is_char_in_string function that works |     # Our editwin provides an is_char_in_string function that works | ||||||
|     # with a Tk text index, but PyParse only knows about offsets into |     # with a Tk text index, but PyParse only knows about offsets into | ||||||
|     # a string. This builds a function for PyParse that accepts an |     # a string. This builds a function for PyParse that accepts an | ||||||
|     # offset. |     # offset. | ||||||
|  |  | ||||||
|  | @ -59,7 +59,7 @@ def replace_it(self, event=None): | ||||||
|     def default_command(self, event=None): |     def default_command(self, event=None): | ||||||
|         if self.do_find(self.ok): |         if self.do_find(self.ok): | ||||||
|             if self.do_replace():   # Only find next match if replace succeeded. |             if self.do_replace():   # Only find next match if replace succeeded. | ||||||
|                                     # A bad re can cause a it to fail. |                                     # A bad re can cause it to fail. | ||||||
|                 self.do_find(0) |                 self.do_find(0) | ||||||
| 
 | 
 | ||||||
|     def _replace_expand(self, m, repl): |     def _replace_expand(self, m, repl): | ||||||
|  |  | ||||||
|  | @ -19,7 +19,7 @@ | ||||||
| Another IOBase subclass, TextIOBase, deals with the encoding and decoding | Another IOBase subclass, TextIOBase, deals with the encoding and decoding | ||||||
| of streams into text. TextIOWrapper, which extends it, is a buffered text | of streams into text. TextIOWrapper, which extends it, is a buffered text | ||||||
| interface to a buffered raw stream (`BufferedIOBase`). Finally, StringIO | interface to a buffered raw stream (`BufferedIOBase`). Finally, StringIO | ||||||
| is a in-memory stream for text. | is an in-memory stream for text. | ||||||
| 
 | 
 | ||||||
| Argument names are not part of the specification, and only the arguments | Argument names are not part of the specification, and only the arguments | ||||||
| of open() are intended to be used as keyword arguments. | of open() are intended to be used as keyword arguments. | ||||||
|  |  | ||||||
|  | @ -17,7 +17,7 @@ class FixInput(fixer_base.BaseFix): | ||||||
|               """ |               """ | ||||||
| 
 | 
 | ||||||
|     def transform(self, node, results): |     def transform(self, node, results): | ||||||
|         # If we're already wrapped in a eval() call, we're done. |         # If we're already wrapped in an eval() call, we're done. | ||||||
|         if context.match(node.parent.parent): |         if context.match(node.parent.parent): | ||||||
|             return |             return | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -201,7 +201,7 @@ def _parse_overview_fmt(lines): | ||||||
|     return fmt |     return fmt | ||||||
| 
 | 
 | ||||||
| def _parse_overview(lines, fmt, data_process_func=None): | def _parse_overview(lines, fmt, data_process_func=None): | ||||||
|     """Parse the response to a OVER or XOVER command according to the |     """Parse the response to an OVER or XOVER command according to the | ||||||
|     overview format `fmt`.""" |     overview format `fmt`.""" | ||||||
|     n_defaults = len(_DEFAULT_OVERVIEW_FMT) |     n_defaults = len(_DEFAULT_OVERVIEW_FMT) | ||||||
|     overview = [] |     overview = [] | ||||||
|  |  | ||||||
|  | @ -359,7 +359,7 @@ def __init__(self, file, protocol=None, *, fix_imports=True): | ||||||
| 
 | 
 | ||||||
|         The *file* argument must have a write() method that accepts a |         The *file* argument must have a write() method that accepts a | ||||||
|         single bytes argument. It can thus be a file object opened for |         single bytes argument. It can thus be a file object opened for | ||||||
|         binary writing, a io.BytesIO instance, or any other custom |         binary writing, an io.BytesIO instance, or any other custom | ||||||
|         object that meets this interface. |         object that meets this interface. | ||||||
| 
 | 
 | ||||||
|         If *fix_imports* is True and *protocol* is less than 3, pickle |         If *fix_imports* is True and *protocol* is less than 3, pickle | ||||||
|  | @ -991,7 +991,7 @@ def __init__(self, file, *, fix_imports=True, | ||||||
|         The argument *file* must have two methods, a read() method that |         The argument *file* must have two methods, a read() method that | ||||||
|         takes an integer argument, and a readline() method that requires |         takes an integer argument, and a readline() method that requires | ||||||
|         no arguments.  Both methods should return bytes.  Thus *file* |         no arguments.  Both methods should return bytes.  Thus *file* | ||||||
|         can be a binary file object opened for reading, a io.BytesIO |         can be a binary file object opened for reading, an io.BytesIO | ||||||
|         object, or any other custom object that meets this interface. |         object, or any other custom object that meets this interface. | ||||||
| 
 | 
 | ||||||
|         The file-like object must have two methods, a read() method |         The file-like object must have two methods, a read() method | ||||||
|  |  | ||||||
|  | @ -34,7 +34,7 @@ def _int_to_enum(value, enum_klass): | ||||||
| 
 | 
 | ||||||
| def _enum_to_int(value): | def _enum_to_int(value): | ||||||
|     """Convert an IntEnum member to a numeric value. |     """Convert an IntEnum member to a numeric value. | ||||||
|     If it's not a IntEnum member return the value itself. |     If it's not an IntEnum member return the value itself. | ||||||
|     """ |     """ | ||||||
|     try: |     try: | ||||||
|         return int(value) |         return int(value) | ||||||
|  |  | ||||||
|  | @ -148,7 +148,7 @@ fmax2018 fma  9.999999 -9.999999  0E+999999  -> -100.000 Inexact Rounded | ||||||
| fmax2019 fma -9.999999  9.999999  0E+999999  -> -100.000 Inexact Rounded | fmax2019 fma -9.999999  9.999999  0E+999999  -> -100.000 Inexact Rounded | ||||||
| fmax2020 fma -9.999999 -9.999999  0E+999999  ->  100.000 Inexact Rounded | fmax2020 fma -9.999999 -9.999999  0E+999999  ->  100.000 Inexact Rounded | ||||||
| 
 | 
 | ||||||
| -- 1999.12.21: next one is a edge case if intermediate longs are used | -- 1999.12.21: next one is an edge case if intermediate longs are used | ||||||
| precision: 15 | precision: 15 | ||||||
| fmax2059 fma 999999999999 9765625  0E+999999  -> 9.76562499999023E+18 Inexact Rounded | fmax2059 fma 999999999999 9765625  0E+999999  -> 9.76562499999023E+18 Inexact Rounded | ||||||
| precision: 30 | precision: 30 | ||||||
|  |  | ||||||
|  | @ -49,7 +49,7 @@ mulx018 multiply  9.999999999 -9.999999999 -> -100.000 Inexact Rounded | ||||||
| mulx019 multiply -9.999999999  9.999999999 -> -100.000 Inexact Rounded | mulx019 multiply -9.999999999  9.999999999 -> -100.000 Inexact Rounded | ||||||
| mulx020 multiply -9.999999999 -9.999999999 ->  100.000 Inexact Rounded | mulx020 multiply -9.999999999 -9.999999999 ->  100.000 Inexact Rounded | ||||||
| 
 | 
 | ||||||
| -- 1999.12.21: next one is a edge case if intermediate longs are used | -- 1999.12.21: next one is an edge case if intermediate longs are used | ||||||
| precision: 15 | precision: 15 | ||||||
| mulx059 multiply 999999999999 9765625 -> 9.76562499999023E+18 Inexact Rounded | mulx059 multiply 999999999999 9765625 -> 9.76562499999023E+18 Inexact Rounded | ||||||
| precision: 30 | precision: 30 | ||||||
|  |  | ||||||
|  | @ -35,7 +35,7 @@ | ||||||
|                 Under Python 3 version 1.1 would use the normal division |                 Under Python 3 version 1.1 would use the normal division | ||||||
|                 operator, resulting in some of the operations mistakenly |                 operator, resulting in some of the operations mistakenly | ||||||
|                 yielding floats. Version 1.2 instead uses floor division |                 yielding floats. Version 1.2 instead uses floor division | ||||||
|                 making the benchmark a integer benchmark again. |                 making the benchmark an integer benchmark again. | ||||||
| 
 | 
 | ||||||
| """ | """ | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -309,7 +309,7 @@ def _waitfor(func, pathname, waitall=False): | ||||||
|         # The exponential backoff of the timeout amounts to a total |         # The exponential backoff of the timeout amounts to a total | ||||||
|         # of ~1 second after which the deletion is probably an error |         # of ~1 second after which the deletion is probably an error | ||||||
|         # anyway. |         # anyway. | ||||||
|         # Testing on a i7@4.3GHz shows that usually only 1 iteration is |         # Testing on an i7@4.3GHz shows that usually only 1 iteration is | ||||||
|         # required when contention occurs. |         # required when contention occurs. | ||||||
|         timeout = 0.001 |         timeout = 0.001 | ||||||
|         while timeout < 1.0: |         while timeout < 1.0: | ||||||
|  |  | ||||||
|  | @ -110,7 +110,7 @@ class samplecmdclass(cmd.Cmd): | ||||||
|     5  12  19 |     5  12  19 | ||||||
|     6  13 |     6  13 | ||||||
| 
 | 
 | ||||||
|     This is a interactive test, put some commands in the cmdqueue attribute |     This is an interactive test, put some commands in the cmdqueue attribute | ||||||
|     and let it execute |     and let it execute | ||||||
|     This test includes the preloop(), postloop(), default(), emptyline(), |     This test includes the preloop(), postloop(), default(), emptyline(), | ||||||
|     parseline(), do_help() functions |     parseline(), do_help() functions | ||||||
|  |  | ||||||
|  | @ -100,7 +100,7 @@ def check_partial(self, input, partialresults): | ||||||
|         self.assertEqual(r.read(), "") |         self.assertEqual(r.read(), "") | ||||||
|         self.assertEqual(r.bytebuffer, b"") |         self.assertEqual(r.bytebuffer, b"") | ||||||
| 
 | 
 | ||||||
|         # do the check again, this time using a incremental decoder |         # do the check again, this time using an incremental decoder | ||||||
|         d = codecs.getincrementaldecoder(self.encoding)() |         d = codecs.getincrementaldecoder(self.encoding)() | ||||||
|         result = "" |         result = "" | ||||||
|         for (c, partialresult) in zip(input.encode(self.encoding), partialresults): |         for (c, partialresult) in zip(input.encode(self.encoding), partialresults): | ||||||
|  |  | ||||||
|  | @ -3052,7 +3052,7 @@ def test_invalid_charset_like_object_raises_error(self): | ||||||
|         # issue 1690608.  email.utils.formataddr() should be rfc2047 aware. |         # issue 1690608.  email.utils.formataddr() should be rfc2047 aware. | ||||||
|         name = "H\u00e4ns W\u00fcrst" |         name = "H\u00e4ns W\u00fcrst" | ||||||
|         addr = 'person@dom.ain' |         addr = 'person@dom.ain' | ||||||
|         # A object without a header_encode method: |         # An object without a header_encode method: | ||||||
|         bad_charset = object() |         bad_charset = object() | ||||||
|         self.assertRaises(AttributeError, utils.formataddr, (name, addr), |         self.assertRaises(AttributeError, utils.formataddr, (name, addr), | ||||||
|             bad_charset) |             bad_charset) | ||||||
|  |  | ||||||
|  | @ -1302,7 +1302,7 @@ def version(self): | ||||||
|         # test a /24 is summarized properly |         # test a /24 is summarized properly | ||||||
|         self.assertEqual(list(summarize(ip1, ip2))[0], |         self.assertEqual(list(summarize(ip1, ip2))[0], | ||||||
|                          ipaddress.ip_network('1.1.1.0/24')) |                          ipaddress.ip_network('1.1.1.0/24')) | ||||||
|         # test an  IPv4 range that isn't on a network byte boundary |         # test an IPv4 range that isn't on a network byte boundary | ||||||
|         ip2 = ipaddress.ip_address('1.1.1.8') |         ip2 = ipaddress.ip_address('1.1.1.8') | ||||||
|         self.assertEqual(list(summarize(ip1, ip2)), |         self.assertEqual(list(summarize(ip1, ip2)), | ||||||
|                          [ipaddress.ip_network('1.1.1.0/29'), |                          [ipaddress.ip_network('1.1.1.0/29'), | ||||||
|  | @ -1315,7 +1315,7 @@ def version(self): | ||||||
| 
 | 
 | ||||||
|         ip1 = ipaddress.ip_address('1::') |         ip1 = ipaddress.ip_address('1::') | ||||||
|         ip2 = ipaddress.ip_address('1:ffff:ffff:ffff:ffff:ffff:ffff:ffff') |         ip2 = ipaddress.ip_address('1:ffff:ffff:ffff:ffff:ffff:ffff:ffff') | ||||||
|         # test a IPv6 is sumamrized properly |         # test an IPv6 is summarized properly | ||||||
|         self.assertEqual(list(summarize(ip1, ip2))[0], |         self.assertEqual(list(summarize(ip1, ip2))[0], | ||||||
|                          ipaddress.ip_network('1::/16')) |                          ipaddress.ip_network('1::/16')) | ||||||
|         # test an IPv6 range that isn't on a network byte boundary |         # test an IPv6 range that isn't on a network byte boundary | ||||||
|  |  | ||||||
|  | @ -1448,7 +1448,7 @@ def check(self, f, *args): | ||||||
|         except OSError as e: |         except OSError as e: | ||||||
|             self.assertEqual(e.errno, errno.EBADF) |             self.assertEqual(e.errno, errno.EBADF) | ||||||
|         else: |         else: | ||||||
|             self.fail("%r didn't raise a OSError with a bad file descriptor" |             self.fail("%r didn't raise an OSError with a bad file descriptor" | ||||||
|                       % f) |                       % f) | ||||||
| 
 | 
 | ||||||
|     @unittest.skipUnless(hasattr(os, 'isatty'), 'test needs os.isatty()') |     @unittest.skipUnless(hasattr(os, 'isatty'), 'test needs os.isatty()') | ||||||
|  |  | ||||||
|  | @ -527,7 +527,7 @@ def test_basic(self): | ||||||
|         result = urllib.request.urlretrieve("file:%s" % support.TESTFN) |         result = urllib.request.urlretrieve("file:%s" % support.TESTFN) | ||||||
|         self.assertEqual(result[0], support.TESTFN) |         self.assertEqual(result[0], support.TESTFN) | ||||||
|         self.assertIsInstance(result[1], email.message.Message, |         self.assertIsInstance(result[1], email.message.Message, | ||||||
|                               "did not get a email.message.Message instance " |                               "did not get an email.message.Message instance " | ||||||
|                               "as second returned value") |                               "as second returned value") | ||||||
| 
 | 
 | ||||||
|     def test_copy(self): |     def test_copy(self): | ||||||
|  |  | ||||||
|  | @ -947,7 +947,7 @@ def callback(w): | ||||||
| class WeakMethodTestCase(unittest.TestCase): | class WeakMethodTestCase(unittest.TestCase): | ||||||
| 
 | 
 | ||||||
|     def _subclass(self): |     def _subclass(self): | ||||||
|         """Return a Object subclass overriding `some_method`.""" |         """Return an Object subclass overriding `some_method`.""" | ||||||
|         class C(Object): |         class C(Object): | ||||||
|             def some_method(self): |             def some_method(self): | ||||||
|                 return 6 |                 return 6 | ||||||
|  |  | ||||||
|  | @ -289,7 +289,7 @@ def _val_or_dict(tk, options, *args): | ||||||
|     """Format options then call Tk command with args and options and return |     """Format options then call Tk command with args and options and return | ||||||
|     the appropriate result. |     the appropriate result. | ||||||
| 
 | 
 | ||||||
|     If no option is specified, a dict is returned. If a option is |     If no option is specified, a dict is returned. If an option is | ||||||
|     specified with the None value, the value for that option is returned. |     specified with the None value, the value for that option is returned. | ||||||
|     Otherwise, the function just sets the passed options and the caller |     Otherwise, the function just sets the passed options and the caller | ||||||
|     shouldn't be expecting a return value anyway.""" |     shouldn't be expecting a return value anyway.""" | ||||||
|  |  | ||||||
|  | @ -255,12 +255,12 @@ def restore_isdir(): | ||||||
|         self.addCleanup(sys.path.remove, abspath('/foo')) |         self.addCleanup(sys.path.remove, abspath('/foo')) | ||||||
| 
 | 
 | ||||||
|         # Test data: we expect the following: |         # Test data: we expect the following: | ||||||
|         # a listdir to find our package, and a isfile and isdir check on it. |         # a listdir to find our package, and isfile and isdir checks on it. | ||||||
|         # a module-from-name call to turn that into a module |         # a module-from-name call to turn that into a module | ||||||
|         # followed by load_tests. |         # followed by load_tests. | ||||||
|         # then our load_tests will call discover() which is messy |         # then our load_tests will call discover() which is messy | ||||||
|         # but that finally chains into find_tests again for the child dir - |         # but that finally chains into find_tests again for the child dir - | ||||||
|         # which is why we don't have a infinite loop. |         # which is why we don't have an infinite loop. | ||||||
|         # We expect to see: |         # We expect to see: | ||||||
|         # the module load tests for both package and plain module called, |         # the module load tests for both package and plain module called, | ||||||
|         # and the plain module result nested by the package module load_tests |         # and the plain module result nested by the package module load_tests | ||||||
|  |  | ||||||
|  | @ -823,7 +823,7 @@ def __getitem__(self, i): | ||||||
|             raise ValueError("unexpected type in multicall result") |             raise ValueError("unexpected type in multicall result") | ||||||
| 
 | 
 | ||||||
| class MultiCall: | class MultiCall: | ||||||
|     """server -> a object used to boxcar method calls |     """server -> an object used to boxcar method calls | ||||||
| 
 | 
 | ||||||
|     server should be a ServerProxy object. |     server should be a ServerProxy object. | ||||||
| 
 | 
 | ||||||
|  | @ -1170,7 +1170,7 @@ def single_request(self, host, handler, request_body, verbose=False): | ||||||
|     ## |     ## | ||||||
|     # Create parser. |     # Create parser. | ||||||
|     # |     # | ||||||
|     # @return A 2-tuple containing a parser and a unmarshaller. |     # @return A 2-tuple containing a parser and an unmarshaller. | ||||||
| 
 | 
 | ||||||
|     def getparser(self): |     def getparser(self): | ||||||
|         # get parser and unmarshaller |         # get parser and unmarshaller | ||||||
|  |  | ||||||
							
								
								
									
										30
									
								
								Misc/HISTORY
									
										
									
									
									
								
							
							
						
						
									
										30
									
								
								Misc/HISTORY
									
										
									
									
									
								
							|  | @ -1331,7 +1331,7 @@ Core and Builtins | ||||||
|   import as they are meant for use by importlib. |   import as they are meant for use by importlib. | ||||||
| 
 | 
 | ||||||
| - Issue #14474: Save and restore exception state in thread.start_new_thread() | - Issue #14474: Save and restore exception state in thread.start_new_thread() | ||||||
|   while writing error message if the thread leaves a unhandled exception. |   while writing error message if the thread leaves an unhandled exception. | ||||||
| 
 | 
 | ||||||
| - Issue #13019: Fix potential reference leaks in bytearray.extend().  Patch | - Issue #13019: Fix potential reference leaks in bytearray.extend().  Patch | ||||||
|   by Suman Saha. |   by Suman Saha. | ||||||
|  | @ -1969,7 +1969,7 @@ Core and Builtins | ||||||
| 
 | 
 | ||||||
| - Issue #7732: Don't open a directory as a file anymore while importing a | - Issue #7732: Don't open a directory as a file anymore while importing a | ||||||
|   module. Ignore the directory if its name matches the module name (e.g. |   module. Ignore the directory if its name matches the module name (e.g. | ||||||
|   "__init__.py") and raise a ImportError instead. |   "__init__.py") and raise an ImportError instead. | ||||||
| 
 | 
 | ||||||
| - Issue #13021: Missing decref on an error path.  Thanks to Suman Saha for | - Issue #13021: Missing decref on an error path.  Thanks to Suman Saha for | ||||||
|   finding the bug and providing a patch. |   finding the bug and providing a patch. | ||||||
|  | @ -2021,7 +2021,7 @@ Core and Builtins | ||||||
| 
 | 
 | ||||||
| - Issue #10271: Allow warnings.showwarning() be any callable. | - Issue #10271: Allow warnings.showwarning() be any callable. | ||||||
| 
 | 
 | ||||||
| - Issue #11627: Fix segfault when __new__ on a exception returns a | - Issue #11627: Fix segfault when __new__ on an exception returns a | ||||||
|   non-exception class. |   non-exception class. | ||||||
| 
 | 
 | ||||||
| - Issue #12149: Update the method cache after a type's dictionary gets | - Issue #12149: Update the method cache after a type's dictionary gets | ||||||
|  | @ -2050,7 +2050,7 @@ Core and Builtins | ||||||
|   with other data interleaved between marshalled objects. |   with other data interleaved between marshalled objects. | ||||||
| 
 | 
 | ||||||
| - Issue #12356: When required positional or keyword-only arguments are not | - Issue #12356: When required positional or keyword-only arguments are not | ||||||
|   given, produce a informative error message which includes the name(s) of the |   given, produce an informative error message which includes the name(s) of the | ||||||
|   missing arguments. |   missing arguments. | ||||||
| 
 | 
 | ||||||
| - Issue #12370: Fix super with no arguments when __class__ is overriden in the | - Issue #12370: Fix super with no arguments when __class__ is overriden in the | ||||||
|  | @ -2651,7 +2651,7 @@ Library | ||||||
| - Issue #12529: fix cgi.parse_header issue on strings with double-quotes and | - Issue #12529: fix cgi.parse_header issue on strings with double-quotes and | ||||||
|   semicolons together. Patch by Ben Darnell and Petri Lehtinen. |   semicolons together. Patch by Ben Darnell and Petri Lehtinen. | ||||||
| 
 | 
 | ||||||
| - Issue #13227: functools.lru_cache() now has a option to distinguish | - Issue #13227: functools.lru_cache() now has an option to distinguish | ||||||
|   calls with different argument types. |   calls with different argument types. | ||||||
| 
 | 
 | ||||||
| - Issue #6090: zipfile raises a ValueError when a document with a timestamp | - Issue #6090: zipfile raises a ValueError when a document with a timestamp | ||||||
|  | @ -2914,7 +2914,7 @@ Library | ||||||
| 
 | 
 | ||||||
| - Issue #12502: asyncore: fix polling loop with AF_UNIX sockets. | - Issue #12502: asyncore: fix polling loop with AF_UNIX sockets. | ||||||
| 
 | 
 | ||||||
| - Issue #4376: ctypes now supports nested structures in a endian different than | - Issue #4376: ctypes now supports nested structures in an endian different than | ||||||
|   the parent structure. Patch by Vlad Riscutia. |   the parent structure. Patch by Vlad Riscutia. | ||||||
| 
 | 
 | ||||||
| - Raise ValueError when attempting to set the _CHUNK_SIZE attribute of a | - Raise ValueError when attempting to set the _CHUNK_SIZE attribute of a | ||||||
|  | @ -2935,7 +2935,7 @@ Library | ||||||
|   Linux for example, to have the same behaviour on all platforms. |   Linux for example, to have the same behaviour on all platforms. | ||||||
| 
 | 
 | ||||||
| - Issue #12451: pydoc: html_getfile() now uses tokenize.open() to support | - Issue #12451: pydoc: html_getfile() now uses tokenize.open() to support | ||||||
|   Python scripts using a encoding different than UTF-8 (read the coding cookie |   Python scripts using an encoding different than UTF-8 (read the coding cookie | ||||||
|   of the script). |   of the script). | ||||||
| 
 | 
 | ||||||
| - Issue #12493: subprocess: Popen.communicate() now also handles EINTR errors | - Issue #12493: subprocess: Popen.communicate() now also handles EINTR errors | ||||||
|  | @ -5113,7 +5113,7 @@ Library | ||||||
|   ``MaybeEncodingError`` exception. |   ``MaybeEncodingError`` exception. | ||||||
| 
 | 
 | ||||||
| - Issue #9244: The ``apply_async()`` and ``map_async()`` methods of | - Issue #9244: The ``apply_async()`` and ``map_async()`` methods of | ||||||
|   ``multiprocessing.Pool`` now accepts a ``error_callback`` argument.  This can |   ``multiprocessing.Pool`` now accepts an ``error_callback`` argument.  This can | ||||||
|   be a callback with the signature ``callback(exc)``, which will be called if |   be a callback with the signature ``callback(exc)``, which will be called if | ||||||
|   the target raises an exception. |   the target raises an exception. | ||||||
| 
 | 
 | ||||||
|  | @ -5210,7 +5210,7 @@ Library | ||||||
| 
 | 
 | ||||||
| - Close file objects in modulefinder in a timely manner. | - Close file objects in modulefinder in a timely manner. | ||||||
| 
 | 
 | ||||||
| - Close a io.TextIOWrapper object in email.parser in a timely manner. | - Close an io.TextIOWrapper object in email.parser in a timely manner. | ||||||
| 
 | 
 | ||||||
| - Close a file object in distutils.sysconfig in a timely manner. | - Close a file object in distutils.sysconfig in a timely manner. | ||||||
| 
 | 
 | ||||||
|  | @ -7308,7 +7308,7 @@ Library | ||||||
| - Issue #7610: Reworked implementation of the internal | - Issue #7610: Reworked implementation of the internal | ||||||
|   ``zipfile.ZipExtFile`` class used to represent files stored inside an |   ``zipfile.ZipExtFile`` class used to represent files stored inside an | ||||||
|   archive.  The new implementation is significantly faster and can be wrapped in |   archive.  The new implementation is significantly faster and can be wrapped in | ||||||
|   a ``io.BufferedReader`` object for more speedups.  It also solves an |   an ``io.BufferedReader`` object for more speedups.  It also solves an | ||||||
|   issue where interleaved calls to `read()` and `readline()` give wrong results. |   issue where interleaved calls to `read()` and `readline()` give wrong results. | ||||||
|   Patch by Nir Aides. |   Patch by Nir Aides. | ||||||
| 
 | 
 | ||||||
|  | @ -8683,7 +8683,7 @@ Library | ||||||
| 
 | 
 | ||||||
| - Issue #5624: Fix the _winreg module name still used in several modules. | - Issue #5624: Fix the _winreg module name still used in several modules. | ||||||
| 
 | 
 | ||||||
| - Issue #5628: Fix io.TextIOWrapper.read() with a unreadable buffer. | - Issue #5628: Fix io.TextIOWrapper.read() with an unreadable buffer. | ||||||
| 
 | 
 | ||||||
| - Issue #5619: Multiprocessing children disobey the debug flag and causes | - Issue #5619: Multiprocessing children disobey the debug flag and causes | ||||||
|   popups on windows buildbots. Patch applied to work around this issue. |   popups on windows buildbots. Patch applied to work around this issue. | ||||||
|  | @ -9649,7 +9649,7 @@ Library | ||||||
| - Issue #4307: The named tuple that ``inspect.getfullargspec()`` returns now | - Issue #4307: The named tuple that ``inspect.getfullargspec()`` returns now | ||||||
|   uses ``kwonlydefaults`` instead of ``kwdefaults``. |   uses ``kwonlydefaults`` instead of ``kwdefaults``. | ||||||
| 
 | 
 | ||||||
| - Issue #4298: Fix a segfault when pickle.loads is passed a ill-formed input. | - Issue #4298: Fix a segfault when pickle.loads is passed ill-formed input. | ||||||
| 
 | 
 | ||||||
| - Issue #4283: Fix a left-over "iteritems" call in distutils. | - Issue #4283: Fix a left-over "iteritems" call in distutils. | ||||||
| 
 | 
 | ||||||
|  | @ -11305,7 +11305,7 @@ Core and builtins | ||||||
| ----------------- | ----------------- | ||||||
| 
 | 
 | ||||||
| - Bug #1441486: The literal representation of -(sys.maxint - 1) | - Bug #1441486: The literal representation of -(sys.maxint - 1) | ||||||
|   again evaluates to a int object, not a long. |   again evaluates to an int object, not a long. | ||||||
| 
 | 
 | ||||||
| - Bug #1501934: The scope of global variables that are locally assigned | - Bug #1501934: The scope of global variables that are locally assigned | ||||||
|   using augmented assignment is now correctly determined. |   using augmented assignment is now correctly determined. | ||||||
|  | @ -15212,7 +15212,7 @@ Core and builtins | ||||||
|   interpreter executions, would fail. |   interpreter executions, would fail. | ||||||
| 
 | 
 | ||||||
| - "%c" % u"a" now returns a unicode string instead of raising a | - "%c" % u"a" now returns a unicode string instead of raising a | ||||||
|   TypeError. u"%c" % 0xffffffff now raises a OverflowError instead |   TypeError. u"%c" % 0xffffffff now raises an OverflowError instead | ||||||
|   of a ValueError to be consistent with "%c" % 256. See SF patch #710127. |   of a ValueError to be consistent with "%c" % 256. See SF patch #710127. | ||||||
| 
 | 
 | ||||||
| Extension modules | Extension modules | ||||||
|  | @ -23105,7 +23105,7 @@ no longer use the default root. | ||||||
| 
 | 
 | ||||||
| - The interfaces for the bind*() and unbind() widget methods have been | - The interfaces for the bind*() and unbind() widget methods have been | ||||||
| redesigned; the bind*() methods now return the name of the Tcl command | redesigned; the bind*() methods now return the name of the Tcl command | ||||||
| created for the callback, and this can be passed as a optional | created for the callback, and this can be passed as an optional | ||||||
| argument to unbind() in order to delete the command (normally, such | argument to unbind() in order to delete the command (normally, such | ||||||
| commands are automatically unbound when the widget is destroyed, but | commands are automatically unbound when the widget is destroyed, but | ||||||
| for some applications this isn't enough). | for some applications this isn't enough). | ||||||
|  |  | ||||||
|  | @ -506,7 +506,7 @@ Documentation | ||||||
| Tests | Tests | ||||||
| ----- | ----- | ||||||
| 
 | 
 | ||||||
| - Issue #25099: Make test_compileall not fail when a entry on sys.path cannot | - Issue #25099: Make test_compileall not fail when an entry on sys.path cannot | ||||||
|   be written to (commonly seen in administrative installs on Windows). |   be written to (commonly seen in administrative installs on Windows). | ||||||
| 
 | 
 | ||||||
| - Issue #23919: Prevents assert dialogs appearing in the test suite. | - Issue #23919: Prevents assert dialogs appearing in the test suite. | ||||||
|  | @ -2158,7 +2158,7 @@ Library | ||||||
| - Issue #23132: Improve performance and introspection support of comparison | - Issue #23132: Improve performance and introspection support of comparison | ||||||
|   methods created by functool.total_ordering. |   methods created by functool.total_ordering. | ||||||
| 
 | 
 | ||||||
| - Issue #19776: Add a expanduser() method on Path objects. | - Issue #19776: Add an expanduser() method on Path objects. | ||||||
| 
 | 
 | ||||||
| - Issue #23112: Fix SimpleHTTPServer to correctly carry the query string and | - Issue #23112: Fix SimpleHTTPServer to correctly carry the query string and | ||||||
|   fragment when it redirects to add a trailing slash. |   fragment when it redirects to add a trailing slash. | ||||||
|  |  | ||||||
|  | @ -742,7 +742,7 @@ volume rotations should take care not to penalize the common case. | ||||||
| 
 | 
 | ||||||
| Conceptually, a rotate by one is equivalent to a pop on one side and an | Conceptually, a rotate by one is equivalent to a pop on one side and an | ||||||
| append on the other.  However, a pop/append pair is unnecessarily slow | append on the other.  However, a pop/append pair is unnecessarily slow | ||||||
| because it requires a incref/decref pair for an object located randomly | because it requires an incref/decref pair for an object located randomly | ||||||
| in memory.  It is better to just move the object pointer from one block | in memory.  It is better to just move the object pointer from one block | ||||||
| to the next without changing the reference count. | to the next without changing the reference count. | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -350,7 +350,7 @@ LASFDE1: | ||||||
| 	.set	L$set$3,LUW1-LUW0 | 	.set	L$set$3,LUW1-LUW0 | ||||||
| 	.long	L$set$3 | 	.long	L$set$3 | ||||||
| 
 | 
 | ||||||
| 	/* New stack frame based off rbp.  This is a itty bit of unwind | 	/* New stack frame based off rbp.  This is an itty bit of unwind | ||||||
| 	   trickery in that the CFA *has* changed.  There is no easy way | 	   trickery in that the CFA *has* changed.  There is no easy way | ||||||
| 	   to describe it correctly on entry to the function.  Fortunately, | 	   to describe it correctly on entry to the function.  Fortunately, | ||||||
| 	   it doesn't matter too much since at all points we can correctly | 	   it doesn't matter too much since at all points we can correctly | ||||||
|  |  | ||||||
|  | @ -366,7 +366,7 @@ ffi_closure_unix64: | ||||||
| 	.byte	0x4			/* DW_CFA_advance_loc4 */ | 	.byte	0x4			/* DW_CFA_advance_loc4 */ | ||||||
| 	.long	.LUW1-.LUW0 | 	.long	.LUW1-.LUW0 | ||||||
| 
 | 
 | ||||||
| 	/* New stack frame based off rbp.  This is a itty bit of unwind | 	/* New stack frame based off rbp.  This is an itty bit of unwind | ||||||
| 	   trickery in that the CFA *has* changed.  There is no easy way | 	   trickery in that the CFA *has* changed.  There is no easy way | ||||||
| 	   to describe it correctly on entry to the function.  Fortunately, | 	   to describe it correctly on entry to the function.  Fortunately, | ||||||
| 	   it doesn't matter too much since at all points we can correctly | 	   it doesn't matter too much since at all points we can correctly | ||||||
|  |  | ||||||
|  | @ -351,7 +351,7 @@ LASFDE1: | ||||||
|  .set  L$set$3,LUW1-LUW0 |  .set  L$set$3,LUW1-LUW0 | ||||||
|  .long L$set$3 |  .long L$set$3 | ||||||
| 
 | 
 | ||||||
|  /* New stack frame based off rbp.  This is a itty bit of unwind |  /* New stack frame based off rbp.  This is an itty bit of unwind | ||||||
|     trickery in that the CFA *has* changed.  There is no easy way |     trickery in that the CFA *has* changed.  There is no easy way | ||||||
|     to describe it correctly on entry to the function.  Fortunately, |     to describe it correctly on entry to the function.  Fortunately, | ||||||
|     it doesn't matter too much since at all points we can correctly |     it doesn't matter too much since at all points we can correctly | ||||||
|  |  | ||||||
|  | @ -684,7 +684,7 @@ _openssl_hash_name_mapper(const OBJ_NAME *openssl_obj_name, void *arg) | ||||||
|     if (openssl_obj_name == NULL) |     if (openssl_obj_name == NULL) | ||||||
|         return; |         return; | ||||||
|     /* Ignore aliased names, they pollute the list and OpenSSL appears to
 |     /* Ignore aliased names, they pollute the list and OpenSSL appears to
 | ||||||
|      * have a its own definition of alias as the resulting list still |      * have its own definition of alias as the resulting list still | ||||||
|      * contains duplicate and alternate names for several algorithms.     */ |      * contains duplicate and alternate names for several algorithms.     */ | ||||||
|     if (openssl_obj_name->alias) |     if (openssl_obj_name->alias) | ||||||
|         return; |         return; | ||||||
|  |  | ||||||
|  | @ -75,7 +75,7 @@ PyDoc_STRVAR(module_doc, | ||||||
| "Another IOBase subclass, TextIOBase, deals with the encoding and decoding\n" | "Another IOBase subclass, TextIOBase, deals with the encoding and decoding\n" | ||||||
| "of streams into text. TextIOWrapper, which extends it, is a buffered text\n" | "of streams into text. TextIOWrapper, which extends it, is a buffered text\n" | ||||||
| "interface to a buffered raw stream (`BufferedIOBase`). Finally, StringIO\n" | "interface to a buffered raw stream (`BufferedIOBase`). Finally, StringIO\n" | ||||||
| "is a in-memory stream for text.\n" | "is an in-memory stream for text.\n" | ||||||
| "\n" | "\n" | ||||||
| "Argument names are not part of the specification, and only the arguments\n" | "Argument names are not part of the specification, and only the arguments\n" | ||||||
| "of open() are intended to be used as keyword arguments.\n" | "of open() are intended to be used as keyword arguments.\n" | ||||||
|  |  | ||||||
|  | @ -905,8 +905,8 @@ _io_TextIOWrapper___init___impl(textio *self, PyObject *buffer, | ||||||
|         if (self->encoding == NULL) { |         if (self->encoding == NULL) { | ||||||
|           catch_ImportError: |           catch_ImportError: | ||||||
|             /*
 |             /*
 | ||||||
|              Importing locale can raise a ImportError because of |              Importing locale can raise an ImportError because of | ||||||
|              _functools, and locale.getpreferredencoding can raise a |              _functools, and locale.getpreferredencoding can raise an | ||||||
|              ImportError if _locale is not available.  These will happen |              ImportError if _locale is not available.  These will happen | ||||||
|              during module building. |              during module building. | ||||||
|             */ |             */ | ||||||
|  |  | ||||||
|  | @ -4162,7 +4162,7 @@ version of Python needed to read the pickle produced. | ||||||
| 
 | 
 | ||||||
| The *file* argument must have a write() method that accepts a single | The *file* argument must have a write() method that accepts a single | ||||||
| bytes argument. It can thus be a file object opened for binary | bytes argument. It can thus be a file object opened for binary | ||||||
| writing, a io.BytesIO instance, or any other custom object that meets | writing, an io.BytesIO instance, or any other custom object that meets | ||||||
| this interface. | this interface. | ||||||
| 
 | 
 | ||||||
| If *fix_imports* is True and protocol is less than 3, pickle will try | If *fix_imports* is True and protocol is less than 3, pickle will try | ||||||
|  | @ -4173,7 +4173,7 @@ to map the new Python 3 names to the old module names used in Python | ||||||
| static int | static int | ||||||
| _pickle_Pickler___init___impl(PicklerObject *self, PyObject *file, | _pickle_Pickler___init___impl(PicklerObject *self, PyObject *file, | ||||||
|                               PyObject *protocol, int fix_imports) |                               PyObject *protocol, int fix_imports) | ||||||
| /*[clinic end generated code: output=b5f31078dab17fb0 input=b8cdeb7e3f5ee674]*/ | /*[clinic end generated code: output=b5f31078dab17fb0 input=4faabdbc763c2389]*/ | ||||||
| { | { | ||||||
|     _Py_IDENTIFIER(persistent_id); |     _Py_IDENTIFIER(persistent_id); | ||||||
|     _Py_IDENTIFIER(dispatch_table); |     _Py_IDENTIFIER(dispatch_table); | ||||||
|  | @ -6576,7 +6576,7 @@ representation are ignored. | ||||||
| The argument *file* must have two methods, a read() method that takes | The argument *file* must have two methods, a read() method that takes | ||||||
| an integer argument, and a readline() method that requires no | an integer argument, and a readline() method that requires no | ||||||
| arguments.  Both methods should return bytes.  Thus *file* can be a | arguments.  Both methods should return bytes.  Thus *file* can be a | ||||||
| binary file object opened for reading, a io.BytesIO object, or any | binary file object opened for reading, an io.BytesIO object, or any | ||||||
| other custom object that meets this interface. | other custom object that meets this interface. | ||||||
| 
 | 
 | ||||||
| Optional keyword arguments are *fix_imports*, *encoding* and *errors*, | Optional keyword arguments are *fix_imports*, *encoding* and *errors*, | ||||||
|  | @ -6593,7 +6593,7 @@ static int | ||||||
| _pickle_Unpickler___init___impl(UnpicklerObject *self, PyObject *file, | _pickle_Unpickler___init___impl(UnpicklerObject *self, PyObject *file, | ||||||
|                                 int fix_imports, const char *encoding, |                                 int fix_imports, const char *encoding, | ||||||
|                                 const char *errors) |                                 const char *errors) | ||||||
| /*[clinic end generated code: output=e2c8ce748edc57b0 input=30b4dc9e976b890c]*/ | /*[clinic end generated code: output=e2c8ce748edc57b0 input=04ece661aa884837]*/ | ||||||
| { | { | ||||||
|     _Py_IDENTIFIER(persistent_load); |     _Py_IDENTIFIER(persistent_load); | ||||||
| 
 | 
 | ||||||
|  | @ -7012,7 +7012,7 @@ version of Python needed to read the pickle produced. | ||||||
| 
 | 
 | ||||||
| The *file* argument must have a write() method that accepts a single | The *file* argument must have a write() method that accepts a single | ||||||
| bytes argument.  It can thus be a file object opened for binary | bytes argument.  It can thus be a file object opened for binary | ||||||
| writing, a io.BytesIO instance, or any other custom object that meets | writing, an io.BytesIO instance, or any other custom object that meets | ||||||
| this interface. | this interface. | ||||||
| 
 | 
 | ||||||
| If *fix_imports* is True and protocol is less than 3, pickle will try | If *fix_imports* is True and protocol is less than 3, pickle will try | ||||||
|  | @ -7023,7 +7023,7 @@ to map the new Python 3 names to the old module names used in Python | ||||||
| static PyObject * | static PyObject * | ||||||
| _pickle_dump_impl(PyModuleDef *module, PyObject *obj, PyObject *file, | _pickle_dump_impl(PyModuleDef *module, PyObject *obj, PyObject *file, | ||||||
|                   PyObject *protocol, int fix_imports) |                   PyObject *protocol, int fix_imports) | ||||||
| /*[clinic end generated code: output=0de7dff89c406816 input=e9e5fdd48de92eae]*/ | /*[clinic end generated code: output=0de7dff89c406816 input=830f8a64cef6f042]*/ | ||||||
| { | { | ||||||
|     PicklerObject *pickler = _Pickler_New(); |     PicklerObject *pickler = _Pickler_New(); | ||||||
| 
 | 
 | ||||||
|  | @ -7122,7 +7122,7 @@ representation are ignored. | ||||||
| The argument *file* must have two methods, a read() method that takes | The argument *file* must have two methods, a read() method that takes | ||||||
| an integer argument, and a readline() method that requires no | an integer argument, and a readline() method that requires no | ||||||
| arguments.  Both methods should return bytes.  Thus *file* can be a | arguments.  Both methods should return bytes.  Thus *file* can be a | ||||||
| binary file object opened for reading, a io.BytesIO object, or any | binary file object opened for reading, an io.BytesIO object, or any | ||||||
| other custom object that meets this interface. | other custom object that meets this interface. | ||||||
| 
 | 
 | ||||||
| Optional keyword arguments are *fix_imports*, *encoding* and *errors*, | Optional keyword arguments are *fix_imports*, *encoding* and *errors*, | ||||||
|  | @ -7138,7 +7138,7 @@ string instances as bytes objects. | ||||||
| static PyObject * | static PyObject * | ||||||
| _pickle_load_impl(PyModuleDef *module, PyObject *file, int fix_imports, | _pickle_load_impl(PyModuleDef *module, PyObject *file, int fix_imports, | ||||||
|                   const char *encoding, const char *errors) |                   const char *encoding, const char *errors) | ||||||
| /*[clinic end generated code: output=798f1c57cb2b4eb1 input=da97372e38e510a6]*/ | /*[clinic end generated code: output=798f1c57cb2b4eb1 input=2df7c7a1e6742204]*/ | ||||||
| { | { | ||||||
|     PyObject *result; |     PyObject *result; | ||||||
|     UnpicklerObject *unpickler = _Unpickler_New(); |     UnpicklerObject *unpickler = _Unpickler_New(); | ||||||
|  |  | ||||||
|  | @ -257,7 +257,7 @@ atexit_free(PyObject *m) | ||||||
| PyDoc_STRVAR(atexit_unregister__doc__, | PyDoc_STRVAR(atexit_unregister__doc__, | ||||||
| "unregister(func) -> None\n\
 | "unregister(func) -> None\n\
 | ||||||
| \n\ | \n\ | ||||||
| Unregister a exit function which was previously registered using\n\ | Unregister an exit function which was previously registered using\n\ | ||||||
| atexit.register\n\ | atexit.register\n\ | ||||||
| \n\ | \n\ | ||||||
|     func - function to be unregistered"); |     func - function to be unregistered"); | ||||||
|  |  | ||||||
|  | @ -112,7 +112,7 @@ static PyInt16 _st_ulaw2linear16[256] = { | ||||||
| 
 | 
 | ||||||
| /*
 | /*
 | ||||||
|  * linear2ulaw() accepts a 14-bit signed integer and encodes it as u-law data |  * linear2ulaw() accepts a 14-bit signed integer and encodes it as u-law data | ||||||
|  * stored in a unsigned char.  This function should only be called with |  * stored in an unsigned char.  This function should only be called with | ||||||
|  * the data shifted such that it only contains information in the lower |  * the data shifted such that it only contains information in the lower | ||||||
|  * 14-bits. |  * 14-bits. | ||||||
|  * |  * | ||||||
|  | @ -218,7 +218,7 @@ static PyInt16 _st_alaw2linear16[256] = { | ||||||
| 
 | 
 | ||||||
| /*
 | /*
 | ||||||
|  * linear2alaw() accepts an 13-bit signed integer and encodes it as A-law data |  * linear2alaw() accepts an 13-bit signed integer and encodes it as A-law data | ||||||
|  * stored in a unsigned char.  This function should only be called with |  * stored in an unsigned char.  This function should only be called with | ||||||
|  * the data shifted such that it only contains information in the lower |  * the data shifted such that it only contains information in the lower | ||||||
|  * 13-bits. |  * 13-bits. | ||||||
|  * |  * | ||||||
|  |  | ||||||
|  | @ -77,7 +77,7 @@ PyDoc_STRVAR(_pickle_Pickler___init____doc__, | ||||||
| "\n" | "\n" | ||||||
| "The *file* argument must have a write() method that accepts a single\n" | "The *file* argument must have a write() method that accepts a single\n" | ||||||
| "bytes argument. It can thus be a file object opened for binary\n" | "bytes argument. It can thus be a file object opened for binary\n" | ||||||
| "writing, a io.BytesIO instance, or any other custom object that meets\n" | "writing, an io.BytesIO instance, or any other custom object that meets\n" | ||||||
| "this interface.\n" | "this interface.\n" | ||||||
| "\n" | "\n" | ||||||
| "If *fix_imports* is True and protocol is less than 3, pickle will try\n" | "If *fix_imports* is True and protocol is less than 3, pickle will try\n" | ||||||
|  | @ -260,7 +260,7 @@ PyDoc_STRVAR(_pickle_Unpickler___init____doc__, | ||||||
| "The argument *file* must have two methods, a read() method that takes\n" | "The argument *file* must have two methods, a read() method that takes\n" | ||||||
| "an integer argument, and a readline() method that requires no\n" | "an integer argument, and a readline() method that requires no\n" | ||||||
| "arguments.  Both methods should return bytes.  Thus *file* can be a\n" | "arguments.  Both methods should return bytes.  Thus *file* can be a\n" | ||||||
| "binary file object opened for reading, a io.BytesIO object, or any\n" | "binary file object opened for reading, an io.BytesIO object, or any\n" | ||||||
| "other custom object that meets this interface.\n" | "other custom object that meets this interface.\n" | ||||||
| "\n" | "\n" | ||||||
| "Optional keyword arguments are *fix_imports*, *encoding* and *errors*,\n" | "Optional keyword arguments are *fix_imports*, *encoding* and *errors*,\n" | ||||||
|  | @ -369,7 +369,7 @@ PyDoc_STRVAR(_pickle_dump__doc__, | ||||||
| "\n" | "\n" | ||||||
| "The *file* argument must have a write() method that accepts a single\n" | "The *file* argument must have a write() method that accepts a single\n" | ||||||
| "bytes argument.  It can thus be a file object opened for binary\n" | "bytes argument.  It can thus be a file object opened for binary\n" | ||||||
| "writing, a io.BytesIO instance, or any other custom object that meets\n" | "writing, an io.BytesIO instance, or any other custom object that meets\n" | ||||||
| "this interface.\n" | "this interface.\n" | ||||||
| "\n" | "\n" | ||||||
| "If *fix_imports* is True and protocol is less than 3, pickle will try\n" | "If *fix_imports* is True and protocol is less than 3, pickle will try\n" | ||||||
|  | @ -462,7 +462,7 @@ PyDoc_STRVAR(_pickle_load__doc__, | ||||||
| "The argument *file* must have two methods, a read() method that takes\n" | "The argument *file* must have two methods, a read() method that takes\n" | ||||||
| "an integer argument, and a readline() method that requires no\n" | "an integer argument, and a readline() method that requires no\n" | ||||||
| "arguments.  Both methods should return bytes.  Thus *file* can be a\n" | "arguments.  Both methods should return bytes.  Thus *file* can be a\n" | ||||||
| "binary file object opened for reading, a io.BytesIO object, or any\n" | "binary file object opened for reading, an io.BytesIO object, or any\n" | ||||||
| "other custom object that meets this interface.\n" | "other custom object that meets this interface.\n" | ||||||
| "\n" | "\n" | ||||||
| "Optional keyword arguments are *fix_imports*, *encoding* and *errors*,\n" | "Optional keyword arguments are *fix_imports*, *encoding* and *errors*,\n" | ||||||
|  | @ -545,4 +545,4 @@ _pickle_loads(PyModuleDef *module, PyObject *args, PyObject *kwargs) | ||||||
| exit: | exit: | ||||||
|     return return_value; |     return return_value; | ||||||
| } | } | ||||||
| /*[clinic end generated code: output=06f3a5233298448e input=a9049054013a1b77]*/ | /*[clinic end generated code: output=aecd61660d1cf31d input=a9049054013a1b77]*/ | ||||||
|  |  | ||||||
|  | @ -21,7 +21,7 @@ | ||||||
|  * |  * | ||||||
|  * |  * | ||||||
|  * The Solution: |  * The Solution: | ||||||
|  * Prefix all a exported symbols with "PyExpat_". This is similar to |  * Prefix all exported symbols with "PyExpat_". This is similar to | ||||||
|  * what Mozilla does for some common libs: |  * what Mozilla does for some common libs: | ||||||
|  * http://lxr.mozilla.org/seamonkey/source/modules/libimg/png/mozpngconf.h#115
 |  * http://lxr.mozilla.org/seamonkey/source/modules/libimg/png/mozpngconf.h#115
 | ||||||
|  * |  * | ||||||
|  |  | ||||||
|  | @ -30,7 +30,7 @@ | ||||||
| /*
 | /*
 | ||||||
|  * Helper code to synchronize access to the hash object when the GIL is |  * Helper code to synchronize access to the hash object when the GIL is | ||||||
|  * released around a CPU consuming hashlib operation. All code paths that |  * released around a CPU consuming hashlib operation. All code paths that | ||||||
|  * access a mutable part of obj must be enclosed in a ENTER_HASHLIB / |  * access a mutable part of obj must be enclosed in an ENTER_HASHLIB / | ||||||
|  * LEAVE_HASHLIB block or explicitly acquire and release the lock inside |  * LEAVE_HASHLIB block or explicitly acquire and release the lock inside | ||||||
|  * a PY_BEGIN / END_ALLOW_THREADS block if they wish to release the GIL for |  * a PY_BEGIN / END_ALLOW_THREADS block if they wish to release the GIL for | ||||||
|  * an operation. |  * an operation. | ||||||
|  |  | ||||||
|  | @ -1236,7 +1236,7 @@ call_readline(FILE *sys_stdin, FILE *sys_stdout, const char *prompt) | ||||||
|         return NULL; |         return NULL; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /* We got an EOF, return a empty string. */ |     /* We got an EOF, return an empty string. */ | ||||||
|     if (p == NULL) { |     if (p == NULL) { | ||||||
|         p = PyMem_RawMalloc(1); |         p = PyMem_RawMalloc(1); | ||||||
|         if (p != NULL) |         if (p != NULL) | ||||||
|  |  | ||||||
|  | @ -1288,7 +1288,7 @@ PyNumber_Long(PyObject *o) | ||||||
|         if (truncated == NULL || PyLong_Check(truncated)) |         if (truncated == NULL || PyLong_Check(truncated)) | ||||||
|             return truncated; |             return truncated; | ||||||
|         /* __trunc__ is specified to return an Integral type,
 |         /* __trunc__ is specified to return an Integral type,
 | ||||||
|            but int() needs to return a int. */ |            but int() needs to return an int. */ | ||||||
|         m = truncated->ob_type->tp_as_number; |         m = truncated->ob_type->tp_as_number; | ||||||
|         if (m == NULL || m->nb_int == NULL) { |         if (m == NULL || m->nb_int == NULL) { | ||||||
|             PyErr_Format( |             PyErr_Format( | ||||||
|  |  | ||||||
|  | @ -874,7 +874,7 @@ OSError_init(PyOSErrorObject *self, PyObject *args, PyObject *kwds); | ||||||
| static int | static int | ||||||
| oserror_use_init(PyTypeObject *type) | oserror_use_init(PyTypeObject *type) | ||||||
| { | { | ||||||
|     /* When __init__ is defined in a OSError subclass, we want any
 |     /* When __init__ is defined in an OSError subclass, we want any
 | ||||||
|        extraneous argument to __new__ to be ignored.  The only reasonable |        extraneous argument to __new__ to be ignored.  The only reasonable | ||||||
|        solution, given __new__ takes a variable number of arguments, |        solution, given __new__ takes a variable number of arguments, | ||||||
|        is to defer arg parsing and initialization to __init__. |        is to defer arg parsing and initialization to __init__. | ||||||
|  |  | ||||||
|  | @ -548,7 +548,7 @@ compiler_enter_scope(struct compiler *c, identifier name, | ||||||
|         return 0; |         return 0; | ||||||
|     } |     } | ||||||
|     if (u->u_ste->ste_needs_class_closure) { |     if (u->u_ste->ste_needs_class_closure) { | ||||||
|         /* Cook up a implicit __class__ cell. */ |         /* Cook up an implicit __class__ cell. */ | ||||||
|         _Py_IDENTIFIER(__class__); |         _Py_IDENTIFIER(__class__); | ||||||
|         PyObject *tuple, *name, *zero; |         PyObject *tuple, *name, *zero; | ||||||
|         int res; |         int res; | ||||||
|  |  | ||||||
|  | @ -31,7 +31,7 @@ | ||||||
|    threads. |    threads. | ||||||
| 
 | 
 | ||||||
|    This is valid for HP-UX 11.23 running on an ia64 system. If needed, add |    This is valid for HP-UX 11.23 running on an ia64 system. If needed, add | ||||||
|    a check of __ia64 to verify that we're running on a ia64 system instead |    a check of __ia64 to verify that we're running on an ia64 system instead | ||||||
|    of a pa-risc system. |    of a pa-risc system. | ||||||
| */ | */ | ||||||
| #ifdef __hpux | #ifdef __hpux | ||||||
|  |  | ||||||
|  | @ -91,7 +91,7 @@ class NullPyObjectPtr(RuntimeError): | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def safety_limit(val): | def safety_limit(val): | ||||||
|     # Given a integer value from the process being debugged, limit it to some |     # Given an integer value from the process being debugged, limit it to some | ||||||
|     # safety threshold so that arbitrary breakage within said process doesn't |     # safety threshold so that arbitrary breakage within said process doesn't | ||||||
|     # break the gdb process too much (e.g. sizes of iterations, sizes of lists) |     # break the gdb process too much (e.g. sizes of iterations, sizes of lists) | ||||||
|     return min(val, 1000) |     return min(val, 1000) | ||||||
|  | @ -158,7 +158,7 @@ def getvalue(self): | ||||||
| 
 | 
 | ||||||
| class PyObjectPtr(object): | class PyObjectPtr(object): | ||||||
|     """ |     """ | ||||||
|     Class wrapping a gdb.Value that's a either a (PyObject*) within the |     Class wrapping a gdb.Value that's either a (PyObject*) within the | ||||||
|     inferior process, or some subclass pointer e.g. (PyBytesObject*) |     inferior process, or some subclass pointer e.g. (PyBytesObject*) | ||||||
| 
 | 
 | ||||||
|     There will be a subclass for every refined PyObject type that we care |     There will be a subclass for every refined PyObject type that we care | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Martin Panter
						Martin Panter