summaryrefslogtreecommitdiffstats
path: root/tests/auto/qtextdocumentlayout/qtextdocumentlayout.pro
Commit message (Expand)AuthorAgeFilesLines
* Long live Qt!Lars Knoll2009-03-231-0/+4
470cf8dfbedbaa38a9076083a4f697f2b17c0c53&id2=1c6970fac994be2b1f9e3415e09c07ff01657563'>.hgtouch2
-rw-r--r--Doc/README.txt2
-rw-r--r--Doc/c-api/memory.rst36
-rw-r--r--Doc/c-api/number.rst17
-rw-r--r--Doc/c-api/typeobj.rst3
-rw-r--r--Doc/library/code.rst2
-rw-r--r--Doc/library/codecs.rst2
-rw-r--r--Doc/library/collections.rst3
-rw-r--r--Doc/library/configparser.rst2
-rw-r--r--Doc/library/csv.rst1
-rw-r--r--Doc/library/datetime.rst11
-rw-r--r--Doc/library/decimal.rst15
-rw-r--r--Doc/library/difflib.rst16
-rw-r--r--Doc/library/dis.rst10
-rw-r--r--Doc/library/doctest.rst12
-rw-r--r--Doc/library/formatter.rst2
-rw-r--r--Doc/library/importlib.rst43
-rw-r--r--Doc/library/inspect.rst20
-rw-r--r--Doc/library/ipaddress.rst34
-rw-r--r--Doc/library/itertools.rst13
-rw-r--r--Doc/library/json.rst53
-rw-r--r--Doc/library/operator.rst18
-rw-r--r--Doc/library/os.rst26
-rw-r--r--Doc/library/pkgutil.rst4
-rw-r--r--Doc/library/random.rst3
-rw-r--r--Doc/library/selectors.rst11
-rw-r--r--Doc/library/shutil.rst20
-rw-r--r--Doc/library/signal.rst10
-rw-r--r--Doc/library/site.rst2
-rw-r--r--Doc/library/socketserver.rst4
-rw-r--r--Doc/library/ssl.rst61
-rw-r--r--Doc/library/subprocess.rst1
-rw-r--r--Doc/library/token.rst1
-rw-r--r--Doc/library/turtle.rst2
-rw-r--r--Doc/library/unittest.mock.rst47
-rw-r--r--Doc/library/xmlrpc.client.rst23
-rw-r--r--Doc/reference/datamodel.rst60
-rw-r--r--Doc/reference/expressions.rst17
-rw-r--r--Doc/reference/simple_stmts.rst2
-rw-r--r--Doc/tools/sphinxext/pyspecific.py2
-rw-r--r--Doc/tools/sphinxext/susp-ignored.csv4
-rw-r--r--Doc/tutorial/interpreter.rst14
-rw-r--r--Doc/tutorial/stdlib.rst2
-rw-r--r--Doc/tutorial/stdlib2.rst2
-rw-r--r--Doc/whatsnew/3.5.rst240
-rw-r--r--Doc/whatsnew/index.rst1
-rw-r--r--Grammar/Grammar4
-rw-r--r--Include/Python-ast.h6
-rw-r--r--Include/abstract.h12
-rw-r--r--Include/code.h7
-rw-r--r--Include/dictobject.h8
-rw-r--r--Include/object.h3
-rw-r--r--Include/objimpl.h4
-rw-r--r--Include/opcode.h246
-rw-r--r--Include/patchlevel.h6
-rw-r--r--Include/pymem.h5
-rw-r--r--Include/pyport.h19
-rw-r--r--Include/token.h13
-rw-r--r--Include/typeslots.h2
-rw-r--r--Lib/_collections_abc.py8
-rw-r--r--Lib/asyncore.py14
-rw-r--r--Lib/collections/__init__.py35
-rw-r--r--Lib/copy.py8
-rw-r--r--Lib/datetime.py6
-rw-r--r--Lib/decimal.py12
-rw-r--r--Lib/difflib.py26
-rw-r--r--Lib/distutils/__init__.py2
-rw-r--r--Lib/distutils/command/upload.py48
-rw-r--r--Lib/distutils/extension.py8
-rw-r--r--Lib/doctest.py9
-rw-r--r--Lib/encodings/cp65001.py9
-rw-r--r--Lib/formatter.py2
-rw-r--r--Lib/fractions.py23
-rw-r--r--Lib/heapq.py220
-rw-r--r--Lib/http/client.py178
-rw-r--r--Lib/idlelib/idlever.py2
-rw-r--r--Lib/importlib/_bootstrap.py3
-rw-r--r--Lib/importlib/abc.py3
-rw-r--r--Lib/importlib/util.py94
-rw-r--r--Lib/inspect.py264
-rw-r--r--Lib/ipaddress.py124
-rw-r--r--Lib/json/tool.py27
-rw-r--r--Lib/logging/config.py10
-rw-r--r--Lib/opcode.py3
-rw-r--r--Lib/operator.py11
-rw-r--r--Lib/pydoc_data/topics.py8
-rw-r--r--Lib/selectors.py62
-rw-r--r--Lib/shutil.py55
-rw-r--r--Lib/signal.py85
-rw-r--r--Lib/socketserver.py98
-rw-r--r--Lib/ssl.py73
-rw-r--r--Lib/subprocess.py38
-rw-r--r--Lib/test/datetimetester.py21
-rw-r--r--Lib/test/fork_wait.py7
-rw-r--r--Lib/test/ssl_servers.py8
-rw-r--r--Lib/test/string_tests.py3
-rw-r--r--Lib/test/test_asdl_parser.py122
-rw-r--r--Lib/test/test_asyncore.py24
-rw-r--r--Lib/test/test_augassign.py15
-rw-r--r--Lib/test/test_builtin.py2
-rw-r--r--Lib/test/test_capi.py49
-rw-r--r--Lib/test/test_codeccallbacks.py2
-rw-r--r--Lib/test/test_codecs.py12
-rw-r--r--Lib/test/test_collections.py15
-rw-r--r--Lib/test/test_csv.py10
-rw-r--r--Lib/test/test_decimal.py153
-rw-r--r--Lib/test/test_descr.py1
-rw-r--r--Lib/test/test_doctest.py39
-rw-r--r--Lib/test/test_docxmlrpc.py9
-rw-r--r--Lib/test/test_fork1.py5
-rw-r--r--Lib/test/test_format.py10
-rw-r--r--Lib/test/test_fractions.py3
-rw-r--r--Lib/test/test_grammar.py14
-rw-r--r--Lib/test/test_heapq.py2
-rw-r--r--Lib/test/test_httplib.py303
-rw-r--r--Lib/test/test_importlib/builtin/test_finder.py19
-rw-r--r--Lib/test/test_importlib/builtin/test_loader.py25
-rw-r--r--Lib/test/test_importlib/builtin/util.py7
-rw-r--r--Lib/test/test_importlib/extension/test_case_sensitivity.py7
-rw-r--r--Lib/test/test_importlib/extension/test_finder.py11
-rw-r--r--Lib/test/test_importlib/extension/test_loader.py31
-rw-r--r--Lib/test/test_importlib/extension/test_path_hook.py9
-rw-r--r--Lib/test/test_importlib/extension/util.py19
-rw-r--r--Lib/test/test_importlib/import_/test___loader__.py5
-rw-r--r--Lib/test/test_importlib/import_/test___package__.py7
-rw-r--r--Lib/test/test_importlib/import_/test_api.py5
-rw-r--r--Lib/test/test_importlib/import_/test_caching.py5
-rw-r--r--Lib/test/test_importlib/import_/test_fromlist.py5
-rw-r--r--Lib/test/test_importlib/import_/test_meta_path.py7
-rw-r--r--Lib/test/test_importlib/import_/test_packages.py3
-rw-r--r--Lib/test/test_importlib/import_/test_path.py52
-rw-r--r--Lib/test/test_importlib/import_/test_relative_imports.py3
-rw-r--r--Lib/test/test_importlib/import_/util.py20
-rw-r--r--Lib/test/test_importlib/source/test_case_sensitivity.py3
-rw-r--r--Lib/test/test_importlib/source/test_file_loader.py61
-rw-r--r--Lib/test/test_importlib/source/test_finder.py11
-rw-r--r--Lib/test/test_importlib/source/test_path_hook.py3
-rw-r--r--Lib/test/test_importlib/source/test_source_encoding.py5
-rw-r--r--Lib/test/test_importlib/source/util.py96
-rw-r--r--Lib/test/test_importlib/test_lazy.py132
-rw-r--r--Lib/test/test_importlib/util.py147
-rw-r--r--Lib/test/test_inspect.py108
-rw-r--r--Lib/test/test_io.py28
-rw-r--r--Lib/test/test_ipaddress.py121
-rw-r--r--Lib/test/test_json/test_tool.py8
-rw-r--r--Lib/test/test_math.py12
-rw-r--r--Lib/test/test_module.py24
-rw-r--r--Lib/test/test_operator.py11
-rw-r--r--Lib/test/test_os.py36
-rw-r--r--Lib/test/test_poplib.py15
-rw-r--r--Lib/test/test_selectors.py10
-rw-r--r--Lib/test/test_set.py2
-rw-r--r--Lib/test/test_signal.py40
-rw-r--r--Lib/test/test_socketserver.py32
-rw-r--r--Lib/test/test_ssl.py114
-rw-r--r--Lib/test/test_sys.py49
-rw-r--r--Lib/test/test_tarfile.py39
-rw-r--r--Lib/test/test_tokenize.py5
-rw-r--r--Lib/test/test_tuple.py8
-rw-r--r--Lib/test/test_types.py2
-rw-r--r--Lib/test/test_unicode.py47
-rw-r--r--Lib/test/test_wait3.py3
-rw-r--r--Lib/test/test_wait4.py5
-rw-r--r--Lib/test/test_warnings.py16
-rw-r--r--Lib/test/test_xmlrpc.py18
-rw-r--r--Lib/test/test_zipfile.py23
-rw-r--r--Lib/tkinter/__init__.py5
-rw-r--r--Lib/tkinter/test/test_tkinter/test_misc.py5
-rw-r--r--Lib/token.py11
-rw-r--r--Lib/tokenize.py5
-rw-r--r--Lib/turtledemo/__init__.py14
-rwxr-xr-xLib/turtledemo/__main__.py80
-rw-r--r--Lib/turtledemo/about_turtle.txt76
-rw-r--r--Lib/turtledemo/about_turtledemo.txt13
-rw-r--r--Lib/turtledemo/demohelp.txt70
-rw-r--r--Lib/unittest/mock.py23
-rw-r--r--Lib/unittest/test/test_case.py2
-rw-r--r--Lib/unittest/test/test_loader.py10
-rw-r--r--Lib/unittest/test/testmock/testmock.py20
-rw-r--r--Lib/unittest/test/testmock/testpatch.py24
-rw-r--r--Lib/xmlrpc/client.py6
-rw-r--r--Mac/PythonLauncher/Info.plist.in4
-rw-r--r--Mac/PythonLauncher/Makefile.in30
-rwxr-xr-xMac/Tools/bundlebuilder.py934
-rw-r--r--Makefile.pre.in12
-rw-r--r--Misc/ACKS7
-rw-r--r--Misc/HISTORY1113
-rw-r--r--Misc/NEWS4338
-rw-r--r--Misc/RPM/python-3.5.spec (renamed from Misc/RPM/python-3.4.spec)4
-rw-r--r--Modules/Setup.config.in2
-rw-r--r--Modules/_collectionsmodule.c50
-rw-r--r--Modules/_datetimemodule.c38
-rw-r--r--Modules/_decimal/docstrings.h860
-rw-r--r--Modules/_heapqmodule.c299
-rw-r--r--Modules/_io/textio.c34
-rw-r--r--Modules/_operator.c4
-rw-r--r--Modules/_testcapimodule.c180
-rw-r--r--Modules/_testembed.c4
-rw-r--r--Modules/_tracemalloc.c57
-rw-r--r--Modules/_winapi.c137
-rw-r--r--Modules/gcmodule.c24
-rw-r--r--Modules/main.c19
-rw-r--r--Modules/mathmodule.c16
-rw-r--r--Modules/posixmodule.c45
-rw-r--r--Modules/signalmodule.c6
-rw-r--r--Modules/winreparse.h53
-rw-r--r--Objects/abstract.c14
-rw-r--r--Objects/bytearrayobject.c16
-rw-r--r--Objects/bytesobject.c113
-rw-r--r--Objects/dictobject.c56
-rw-r--r--Objects/longobject.c2
-rw-r--r--Objects/moduleobject.c53
-rw-r--r--Objects/obmalloc.c126
-rw-r--r--Objects/typeobject.c10
-rw-r--r--Objects/typeslots.inc2
-rw-r--r--Objects/unicodeobject.c478
-rw-r--r--PC/VS9.0/kill_python.c14
-rw-r--r--PC/VS9.0/pyproject.vsprops2
-rw-r--r--PC/config.c4
-rw-r--r--PC/example_nt/example.vcproj4
-rw-r--r--PC/pyconfig.h4
-rw-r--r--PC/python3.def1398
-rw-r--r--PC/python3.mak12
-rw-r--r--PC/python35gen.py (renamed from PC/python34gen.py)8
-rw-r--r--PC/python35stub.def (renamed from PC/python34stub.def)2
-rw-r--r--PCbuild/_tkinter.vcxproj32
-rw-r--r--PCbuild/build_ssl.py253
-rw-r--r--PCbuild/build_tkinter.py78
-rw-r--r--PCbuild/debug.props4
-rw-r--r--PCbuild/kill_python.c14
-rw-r--r--PCbuild/pcbuild.sln54
-rw-r--r--PCbuild/prepare_ssl.bat (renamed from PCbuild/build_ssl.bat)8
-rw-r--r--PCbuild/prepare_ssl.py217
-rw-r--r--PCbuild/pyproject.props36
-rw-r--r--PCbuild/python.vcxproj162
-rw-r--r--PCbuild/readme.txt76
-rw-r--r--PCbuild/release.props4
-rw-r--r--PCbuild/ssl.vcxproj82
-rw-r--r--PCbuild/tcl.vcxproj175
-rw-r--r--PCbuild/tcltk.props30
-rw-r--r--PCbuild/tix.vcxproj171
-rw-r--r--PCbuild/tk.vcxproj178
-rw-r--r--PCbuild/x64.props8
-rw-r--r--Parser/Python.asdl2
-rw-r--r--Parser/asdl.py588
-rwxr-xr-xParser/asdl_c.py54
-rw-r--r--Parser/spark.py849
-rw-r--r--Parser/tokenizer.c8
-rw-r--r--Python/Python-ast.c24
-rw-r--r--Python/ast.c8
-rw-r--r--Python/ceval.c24
-rw-r--r--Python/compile.c6
-rw-r--r--Python/formatter_unicode.c7
-rw-r--r--Python/graminit.c435
-rw-r--r--Python/importlib.h320
-rw-r--r--Python/opcode_targets.h4
-rw-r--r--Python/pythonrun.c13
-rw-r--r--Python/random.c9
-rw-r--r--Python/thread_foobar.h63
-rw-r--r--README16
-rw-r--r--Tools/buildbot/README.tcltk-AMD6436
-rw-r--r--Tools/buildbot/external-amd64.bat15
-rw-r--r--Tools/buildbot/external-common.bat7
-rw-r--r--Tools/buildbot/external.bat16
-rw-r--r--Tools/buildbot/test-amd64.bat3
-rw-r--r--Tools/buildbot/test.bat3
-rw-r--r--Tools/msi/msi.py4
-rw-r--r--Tools/parser/unparse.py2
-rw-r--r--Tools/scripts/generate_opcode_h.py54
-rw-r--r--Tools/scripts/run_tests.py2
-rwxr-xr-xconfigure124
-rw-r--r--configure.ac35
-rw-r--r--pyconfig.h.in3
-rw-r--r--setup.py16
275 files changed, 9335 insertions, 11032 deletions
diff --git a/.hgignore b/.hgignore
index c67ffb8..4dc93c4 100644
--- a/.hgignore
+++ b/.hgignore
@@ -18,6 +18,7 @@ db_home
platform$
pyconfig.h$
python$
+python.bat$
python.exe$
python-config$
python-config.py$
diff --git a/.hgtouch b/.hgtouch
index 7e3a5e7..00efbef 100644
--- a/.hgtouch
+++ b/.hgtouch
@@ -4,6 +4,8 @@
Python/importlib.h: Lib/importlib/_bootstrap.py Modules/_freeze_importlib.c
+Include/opcode.h: Lib/opcode.py Tools/scripts/generate_opcode_h.py
+
Include/Python-ast.h: Parser/Python.asdl Parser/asdl.py Parser/asdl_c.py
Python/Python-ast.c: Include/Python-ast.h
diff --git a/Doc/README.txt b/Doc/README.txt
index 6df12ab..fed1f74 100644
--- a/Doc/README.txt
+++ b/Doc/README.txt
@@ -3,7 +3,7 @@ Python Documentation README
This directory contains the reStructuredText (reST) sources to the Python
documentation. You don't need to build them yourself, prebuilt versions are
-available at <https://docs.python.org/3.4/download.html>.
+available at <https://docs.python.org/dev/download.html>.
Documentation on authoring Python documentation, including information about
both style and markup, is available in the "Documenting Python" chapter of the
diff --git a/Doc/c-api/memory.rst b/Doc/c-api/memory.rst
index a82e1c2..ec5f691 100644
--- a/Doc/c-api/memory.rst
+++ b/Doc/c-api/memory.rst
@@ -92,8 +92,8 @@ functions are thread-safe, the :term:`GIL <global interpreter lock>` does not
need to be held.
The default raw memory block allocator uses the following functions:
-:c:func:`malloc`, :c:func:`realloc` and :c:func:`free`; call ``malloc(1)`` when
-requesting zero bytes.
+:c:func:`malloc`, :c:func:`calloc`, :c:func:`realloc` and :c:func:`free`; call
+``malloc(1)`` (or ``calloc(1, 1)``) when requesting zero bytes.
.. versionadded:: 3.4
@@ -106,6 +106,17 @@ requesting zero bytes.
been initialized in any way.
+.. c:function:: void* PyMem_RawCalloc(size_t nelem, size_t elsize)
+
+ Allocates *nelem* elements each whose size in bytes is *elsize* and returns
+ a pointer of type :c:type:`void\*` to the allocated memory, or *NULL* if the
+ request fails. The memory is initialized to zeros. Requesting zero elements
+ or elements of size zero bytes returns a distinct non-*NULL* pointer if
+ possible, as if ``PyMem_RawCalloc(1, 1)`` had been called instead.
+
+ .. versionadded:: 3.5
+
+
.. c:function:: void* PyMem_RawRealloc(void *p, size_t n)
Resizes the memory block pointed to by *p* to *n* bytes. The contents will
@@ -136,8 +147,8 @@ behavior when requesting zero bytes, are available for allocating and releasing
memory from the Python heap.
The default memory block allocator uses the following functions:
-:c:func:`malloc`, :c:func:`realloc` and :c:func:`free`; call ``malloc(1)`` when
-requesting zero bytes.
+:c:func:`malloc`, :c:func:`calloc`, :c:func:`realloc` and :c:func:`free`; call
+``malloc(1)`` (or ``calloc(1, 1)``) when requesting zero bytes.
.. warning::
@@ -152,6 +163,17 @@ requesting zero bytes.
been called instead. The memory will not have been initialized in any way.
+.. c:function:: void* PyMem_Calloc(size_t nelem, size_t elsize)
+
+ Allocates *nelem* elements each whose size in bytes is *elsize* and returns
+ a pointer of type :c:type:`void\*` to the allocated memory, or *NULL* if the
+ request fails. The memory is initialized to zeros. Requesting zero elements
+ or elements of size zero bytes returns a distinct non-*NULL* pointer if
+ possible, as if ``PyMem_Calloc(1, 1)`` had been called instead.
+
+ .. versionadded:: 3.5
+
+
.. c:function:: void* PyMem_Realloc(void *p, size_t n)
Resizes the memory block pointed to by *p* to *n* bytes. The contents will be
@@ -222,11 +244,17 @@ Customize Memory Allocators
+----------------------------------------------------------+---------------------------------------+
| ``void* malloc(void *ctx, size_t size)`` | allocate a memory block |
+----------------------------------------------------------+---------------------------------------+
+ | ``void* calloc(void *ctx, size_t nelem, size_t elsize)`` | allocate a memory block initialized |
+ | | with zeros |
+ +----------------------------------------------------------+---------------------------------------+
| ``void* realloc(void *ctx, void *ptr, size_t new_size)`` | allocate or resize a memory block |
+----------------------------------------------------------+---------------------------------------+
| ``void free(void *ctx, void *ptr)`` | free a memory block |
+----------------------------------------------------------+---------------------------------------+
+ .. versionchanged:: 3.5
+ Add a new field ``calloc``.
+
.. c:type:: PyMemAllocatorDomain
Enum used to identify an allocator domain. Domains:
diff --git a/Doc/c-api/number.rst b/Doc/c-api/number.rst
index 21951c3..9bcb649 100644
--- a/Doc/c-api/number.rst
+++ b/Doc/c-api/number.rst
@@ -30,6 +30,14 @@ Number Protocol
the equivalent of the Python expression ``o1 * o2``.
+.. c:function:: PyObject* PyNumber_MatrixMultiply(PyObject *o1, PyObject *o2)
+
+ Returns the result of matrix multiplication on *o1* and *o2*, or *NULL* on
+ failure. This is the equivalent of the Python expression ``o1 @ o2``.
+
+ .. versionadded:: 3.5
+
+
.. c:function:: PyObject* PyNumber_FloorDivide(PyObject *o1, PyObject *o2)
Return the floor of *o1* divided by *o2*, or *NULL* on failure. This is
@@ -146,6 +154,15 @@ Number Protocol
the Python statement ``o1 *= o2``.
+.. c:function:: PyObject* PyNumber_InPlaceMatrixMultiply(PyObject *o1, PyObject *o2)
+
+ Returns the result of matrix multiplication on *o1* and *o2*, or *NULL* on
+ failure. The operation is done *in-place* when *o1* supports it. This is
+ the equivalent of the Python statement ``o1 @= o2``.
+
+ .. versionadded:: 3.5
+
+
.. c:function:: PyObject* PyNumber_InPlaceFloorDivide(PyObject *o1, PyObject *o2)
Returns the mathematical floor of dividing *o1* by *o2*, or *NULL* on failure.
diff --git a/Doc/c-api/typeobj.rst b/Doc/c-api/typeobj.rst
index 3a64724..f21d058 100644
--- a/Doc/c-api/typeobj.rst
+++ b/Doc/c-api/typeobj.rst
@@ -1139,6 +1139,9 @@ Number Object Structures
binaryfunc nb_inplace_true_divide;
unaryfunc nb_index;
+
+ binaryfunc nb_matrix_multiply;
+ binaryfunc nb_inplace_matrix_multiply;
} PyNumberMethods;
.. note::
diff --git a/Doc/library/code.rst b/Doc/library/code.rst
index 5b5d7cc..99bdedc 100644
--- a/Doc/library/code.rst
+++ b/Doc/library/code.rst
@@ -4,6 +4,7 @@
.. module:: code
:synopsis: Facilities to implement read-eval-print loops.
+**Source code:** :source:`Lib/code.py`
The ``code`` module provides facilities to implement read-eval-print loops in
Python. Two classes and convenience functions are included which can be used to
@@ -165,4 +166,3 @@ interpreter objects as well as the following additions.
newline. When the user enters the EOF key sequence, :exc:`EOFError` is raised.
The base implementation reads from ``sys.stdin``; a subclass may replace this
with a different implementation.
-
diff --git a/Doc/library/codecs.rst b/Doc/library/codecs.rst
index 3729dac..36144e9 100644
--- a/Doc/library/codecs.rst
+++ b/Doc/library/codecs.rst
@@ -7,6 +7,7 @@
.. sectionauthor:: Marc-André Lemburg <mal@lemburg.com>
.. sectionauthor:: Martin v. Löwis <martin@v.loewis.de>
+**Source code:** :source:`Lib/codecs.py`
.. index::
single: Unicode
@@ -1418,4 +1419,3 @@ This module implements a variant of the UTF-8 codec: On encoding a UTF-8 encoded
BOM will be prepended to the UTF-8 encoded bytes. For the stateful encoder this
is only done once (on the first write to the byte stream). For decoding an
optional UTF-8 encoded BOM at the start of the data will be skipped.
-
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index f5fe12a..06ba042 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -978,6 +978,9 @@ The :class:`OrderedDict` constructor and :meth:`update` method both accept
keyword arguments, but their order is lost because Python's function call
semantics pass-in keyword arguments using a regular unordered dictionary.
+.. versionchanged:: 3.5
+ The items, keys, and values :term:`views <view>` of :class:`OrderedDict` now
+ support reverse iteration using :func:`reversed`.
:class:`OrderedDict` Examples and Recipes
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/Doc/library/configparser.rst b/Doc/library/configparser.rst
index 024d27c..bd6c364 100644
--- a/Doc/library/configparser.rst
+++ b/Doc/library/configparser.rst
@@ -11,6 +11,8 @@
.. sectionauthor:: Christopher G. Petrilli <petrilli@amber.org>
.. sectionauthor:: Łukasz Langa <lukasz@langa.pl>
+**Source code:** :source:`Lib/configparser.py`
+
.. index::
pair: .ini; file
pair: configuration; file
diff --git a/Doc/library/csv.rst b/Doc/library/csv.rst
index ccc9dc6..616df55 100644
--- a/Doc/library/csv.rst
+++ b/Doc/library/csv.rst
@@ -5,6 +5,7 @@
:synopsis: Write and read tabular data to and from delimited files.
.. sectionauthor:: Skip Montanaro <skip@pobox.com>
+**Source code:** :source:`Lib/csv.py`
.. index::
single: csv
diff --git a/Doc/library/datetime.rst b/Doc/library/datetime.rst
index e4f1eb2..553046f 100644
--- a/Doc/library/datetime.rst
+++ b/Doc/library/datetime.rst
@@ -7,6 +7,8 @@
.. sectionauthor:: Tim Peters <tim@zope.com>
.. sectionauthor:: A.M. Kuchling <amk@amk.ca>
+**Source code:** :source:`Lib/datetime.py`
+
.. XXX what order should the types be discussed in?
The :mod:`datetime` module supplies classes for manipulating dates and times in
@@ -1376,10 +1378,13 @@ Supported operations:
* efficient pickling
-* in Boolean contexts, a :class:`.time` object is considered to be true if and
- only if, after converting it to minutes and subtracting :meth:`utcoffset` (or
- ``0`` if that's ``None``), the result is non-zero.
+In boolean contexts, a :class:`.time` object is always considered to be true.
+.. versionchanged:: 3.5
+ Before Python 3.5, a :class:`.time` object was considered to be false if it
+ represented midnight in UTC. This behavior was considered obscure and
+ error-prone and has been removed in Python 3.5. See :issue:`13936` for full
+ details.
Instance methods:
diff --git a/Doc/library/decimal.rst b/Doc/library/decimal.rst
index 059ae7c..7052985 100644
--- a/Doc/library/decimal.rst
+++ b/Doc/library/decimal.rst
@@ -12,6 +12,8 @@
.. moduleauthor:: Stefan Krah <skrah at bytereef.org>
.. sectionauthor:: Raymond D. Hettinger <python at rcn.com>
+**Source code:** :source:`Lib/decimal.py`
+
.. import modules for testing inline doctests with the Sphinx doctest builder
.. testsetup:: *
@@ -742,7 +744,7 @@ Decimal objects
* ``"NaN"``, indicating that the operand is a quiet NaN (Not a Number).
* ``"sNaN"``, indicating that the operand is a signaling NaN.
- .. method:: quantize(exp, rounding=None, context=None, watchexp=True)
+ .. method:: quantize(exp, rounding=None, context=None)
Return a value equal to the first operand after rounding and having the
exponent of the second operand.
@@ -765,14 +767,8 @@ Decimal objects
``context`` argument; if neither argument is given the rounding mode of
the current thread's context is used.
- If *watchexp* is set (default), then an error is returned whenever the
- resulting exponent is greater than :attr:`Emax` or less than
- :attr:`Etiny`.
-
- .. deprecated:: 3.3
- *watchexp* is an implementation detail from the pure Python version
- and is not present in the C version. It will be removed in version
- 3.4, where it defaults to ``True``.
+ An error is returned whenever the resulting exponent is greater than
+ :attr:`Emax` or less than :attr:`Etiny`.
.. method:: radix()
@@ -2092,4 +2088,3 @@ Alternatively, inputs can be rounded upon creation using the
>>> Context(prec=5, rounding=ROUND_DOWN).create_decimal('1.2345678')
Decimal('1.2345')
-
diff --git a/Doc/library/difflib.rst b/Doc/library/difflib.rst
index 2a75d2c..707f179 100644
--- a/Doc/library/difflib.rst
+++ b/Doc/library/difflib.rst
@@ -7,6 +7,8 @@
.. sectionauthor:: Tim Peters <tim_one@users.sourceforge.net>
.. Markup by Fred L. Drake, Jr. <fdrake@acm.org>
+**Source code:** :source:`Lib/difflib.py`
+
.. testsetup::
import sys
@@ -25,7 +27,9 @@ diffs. For comparing directories and files, see also, the :mod:`filecmp` module.
little fancier than, an algorithm published in the late 1980's by Ratcliff and
Obershelp under the hyperbolic name "gestalt pattern matching." The idea is to
find the longest contiguous matching subsequence that contains no "junk"
- elements (the Ratcliff and Obershelp algorithm doesn't address junk). The same
+ elements; these "junk" elements are ones that are uninteresting in some
+ sense, such as blank lines or whitespace. (Handling junk is an
+ extension to the Ratcliff and Obershelp algorithm.) The same
idea is then applied recursively to the pieces of the sequences to the left and
to the right of the matching subsequence. This does not yield minimal edit
sequences, but does tend to yield matches that "look right" to people.
@@ -208,7 +212,7 @@ diffs. For comparing directories and files, see also, the :mod:`filecmp` module.
Compare *a* and *b* (lists of strings); return a :class:`Differ`\ -style
delta (a :term:`generator` generating the delta lines).
- Optional keyword parameters *linejunk* and *charjunk* are for filter functions
+ Optional keyword parameters *linejunk* and *charjunk* are filtering functions
(or ``None``):
*linejunk*: A function that accepts a single string argument, and returns
@@ -222,7 +226,7 @@ diffs. For comparing directories and files, see also, the :mod:`filecmp` module.
*charjunk*: A function that accepts a character (a string of length 1), and
returns if the character is junk, or false if not. The default is module-level
function :func:`IS_CHARACTER_JUNK`, which filters out whitespace characters (a
- blank or tab; note: bad idea to include newline in this!).
+ blank or tab; it's a bad idea to include newline in this!).
:file:`Tools/scripts/ndiff.py` is a command-line front-end to this function.
@@ -622,6 +626,12 @@ The :class:`Differ` class has this constructor:
length 1), and returns true if the character is junk. The default is ``None``,
meaning that no character is considered junk.
+ These junk-filtering functions speed up matching to find
+ differences and do not cause any differing lines or characters to
+ be ignored. Read the description of the
+ :meth:`~SequenceMatcher.find_longest_match` method's *isjunk*
+ parameter for an explanation.
+
:class:`Differ` objects are used (deltas generated) via a single method:
diff --git a/Doc/library/dis.rst b/Doc/library/dis.rst