Commit Graph

2362 Commits

Author SHA1 Message Date
Nick Coghlan d00342347e Issue #26823: Abbreviate recursive tracebacks
Large sections of repeated lines in tracebacks are now abbreviated as
"[Previous line repeated {count} more times]" by both the traceback
module and the builtin traceback rendering.

Patch by Emanuel Barry.
2016-08-15 13:11:34 +10:00
Serhiy Storchaka 9171a8b4ce Issue #27574: Decreased an overhead of parsing keyword arguments in functions
implemented with using Argument Clinic.
2016-08-14 10:52:18 +03:00
Zachary Ware 75bc032341 Closes #27207: Merge with 3.5 2016-08-10 00:31:31 -05:00
Zachary Ware 4032620f93 Issue #27207: Fix doctests in Doc/whatsnew/3.2.rst
Initial patch by Jelle Zijlstra.
2016-08-10 00:30:41 -05:00
Serhiy Storchaka febc332056 Issue #26754: Undocumented support of general bytes-like objects
as path in compile() and similar functions is now deprecated.
2016-08-06 23:29:29 +03:00
Serhiy Storchaka d73c31899e Issue #26800: Undocumented support of general bytes-like objects
as paths in os functions is now deprecated.
2016-08-06 23:22:08 +03:00
Vinay Sajip fd0f84bd8f Closes #22829: Added --prompt option to venv. 2016-08-06 10:43:44 +01:00
Nick Coghlan 607e1c4c44 Issue 27366: PEP 487 docs updates
- Porting note for type keyword arg handling
- __init_subclass__ note regarding  metaclass hint
2016-07-31 12:42:49 +10:00
Nick Coghlan d78448e912 Issue #27366: Implement PEP 487
- __init_subclass__ called when new subclasses defined
- __set_name__ called when descriptors are part of a
  class definition
2016-07-30 16:26:03 +10:00
Martin Panter 6a09315ff0 Issue #26462: Merge code block fixes from 3.5 2016-07-29 01:49:37 +00:00
Martin Panter 1050d2d0c7 Issue #26462: Doc: reduce literal_block warnings, fix syntax highlighting.
Patch by Julien Palard.
2016-07-26 11:18:21 +02:00
Ned Deily 538f5c4786 Issue #27285: Cleanup "suspicious" warnings. 2016-07-11 14:21:58 -04:00
Serhiy Storchaka 0122ae9ac8 Issue #21708: Deprecated dbm.dumb behavior that differs from common dbm
behavior: creating a database in 'r' and 'w' modes and modifying a database
in 'r' mode.
2016-07-06 12:21:58 +03:00
Serhiy Storchaka 7e160ce356 Issue #23034: The output of a special Python build with defined COUNT_ALLOCS,
SHOW_ALLOC_COUNT or SHOW_TRACK_COUNT macros is now off by  default.  It can
be re-enabled using the "-X showalloccount" option.  It now outputs to stderr
instead of stdout.
2016-07-03 21:03:53 +03:00
Berker Peksag a9e1ebb780 Issue #27430: Merge from 3.5 2016-07-01 12:17:45 +03:00
Berker Peksag e39682b076 Issue #27430: Fix typos, patch by scop. 2016-07-01 12:17:05 +03:00
Berker Peksag e807e892ed Fix typo in whatsnew/3.6.rst 2016-07-01 12:12:19 +03:00
Martin Panter 34eeed4290 Issue #26721: Change StreamRequestHandler.wfile to BufferedIOBase 2016-06-29 10:12:22 +00:00
Serhiy Storchaka 8122174af1 Issue #22115: Added methods trace_add, trace_remove and trace_info in the
tkinter.Variable class.  They replace old methods trace_variable, trace,
trace_vdelete and trace_vinfo that use obsolete Tcl commands and might
not work in future versions of Tcl.
2016-06-26 09:46:57 +03:00
Brett Cannon 696c35e86b Issue #26186: Remove the restriction that built-in and extension
modules  can't be lazily loaded.

Thanks to Python 3.6 allowing for types.ModuleType to have its
__class__ mutated, the restriction can be lifted by calling
create_module() on the wrapped loader.
2016-06-25 10:58:17 -07:00
Benjamin Peterson ec51eb7b25 merge 3.5 2016-06-21 23:47:24 -07:00
Benjamin Peterson 8550bd80ae alter header; '%' really throws latex through a loop 2016-06-21 23:47:16 -07:00
Serhiy Storchaka aacd53f6cb Issue #18726: All optional parameters of the dump(), dumps(),
load() and loads() functions and JSONEncoder and JSONDecoder class
constructors in the json module are now keyword-only.
2016-06-22 00:03:20 +03:00
Martin Panter df1d31c2cd Fix “allow(s) to” 2016-06-20 08:00:45 +00:00
Martin Panter 2fec611a70 Issue #24314: Merge doc links from 3.5 2016-06-18 08:20:22 +00:00
Martin Panter bae5d81f5d Issue #24314: Fix doc links for general attributes like __name__, __dict__ 2016-06-18 03:57:31 +00:00
Steve Dower ea93ac013d Issue #26536: socket.ioctl now supports SIO_LOOPBACK_FAST_PATH. Patch by Daniel Stokes. 2016-06-17 12:52:18 -07:00
Berker Peksag e0b70cd8a9 Issue #16864: Cursor.lastrowid now supports REPLACE statement
Initial patch by Alex LordThorsen.
2016-06-14 15:25:36 +03:00
Terry Jan Reedy dffd42f130 Whitespace 2016-06-13 00:42:42 -04:00
Terry Jan Reedy d9792a0f18 Issue #27163: Add idlelib/IDLE entry to What's New in 3.6. 2016-06-13 00:41:53 -04:00
Martin Panter aea671efc6 Merge typo fixes from 3.5 2016-06-12 06:16:51 +00:00
Martin Panter 70c502aacf Fix typos and English grammar in documentation and code comment 2016-06-12 06:14:03 +00:00
Martin Panter 99cb0cda15 Issue #24136: Merge unpacking doc from 3.5 2016-06-12 01:55:03 +00:00
Martin Panter 0c0da48aed Issue #24136: Document generalized unpacking, PEP 448
Based on patches by Konstantin Molchanov and Neil Girdhar.
2016-06-12 01:46:50 +00:00
Serhiy Storchaka e670be2273 Issue #27029: Removed deprecated support of universal newlines mode from ZipFile.open(). 2016-06-11 19:32:44 +03:00
Serhiy Storchaka f41b82fb19 Issue #26282: PyArg_ParseTupleAndKeywords() and Argument Clinic now support
positional-only and keyword parameters in the same function.
2016-06-09 16:30:29 +03:00
Yury Selivanov 711d25db48 Merge 3.5 (issue #27243) 2016-06-09 15:13:16 -04:00
Yury Selivanov a6f6edbda8 Issue #27243: Fix __aiter__ protocol 2016-06-09 15:08:31 -04:00
Yury Selivanov 7a713386d8 Merge 3.5 (asyncio) 2016-06-08 13:57:23 -04:00
Yury Selivanov c1cf296de6 asyncio: Remove asyncio.timeout() context manager.
It will probably be added back in Python 3.6, once its compatibility
issues are resolved; see [1] for more details.

[1] https://mail.python.org/pipermail/async-sig/2016-June/000045.html
2016-06-08 13:57:03 -04:00
Yury Selivanov d211bfbe79 Merge 3.5 (whatsnew) 2016-06-08 12:55:54 -04:00
Yury Selivanov af74512e44 asyncio: Update whatsnew/3.5.2 2016-06-08 12:55:29 -04:00
Martin Panter 0d3535a6ab Issue #23883: News updates for __all__ attributes 2016-06-06 02:09:08 +00:00
Senthil Kumaran 1b749c5ef6 [merge from 3.5] - issue27202 - Fix the mistake in changesets 70af472451cb (3.5) and 2bb806539ca6 (3.6)
exclude_patterns in Sphinx conf.py will exclude the .rsts from the build. It
was incorrect exclude 2.x rsts in that.  This fix contributed again Jelle
Zijlstra, excludes doctests in whatsnew/2.7.rst from being exercised by using
doctests skip option.
2016-06-04 22:23:18 -07:00
Senthil Kumaran 889f914edb issue27202 - Fix the mistake in changesets 70af472451cb (3.5) and 2bb806539ca6 (3.6)
exclude_patterns in Sphinx conf.py will exclude the .rsts from the build. It
was incorrect exclude 2.x rsts in that.  This fix contributed again Jelle
Zijlstra, excludes doctests in whatsnew/2.7.rst from being exercised by using
doctests skip option.
2016-06-04 22:22:26 -07:00
Martin Panter e514093a2f Issue #27125: Merge typo fixes from 3.5 2016-05-30 05:24:49 +00:00
Martin Panter a90a4a9651 Issue #27125: Remove duplicated words from documentation and comments 2016-05-30 04:04:50 +00:00
Serhiy Storchaka 8c740c4d19 Improved docs for issue27033. Based on comments by R. David Murray. 2016-05-29 23:43:24 +03:00
Martin Panter e501a93c18 Issue #27125: Merge typo fixes from 3.5
Also merge changes from Issue #27117; no actual code changes to 3.6.
2016-05-29 09:05:06 +00:00
Martin Panter 8d56c026a5 Issue #27125: Fix various errors like “will [be] inherited” 2016-05-29 04:13:35 +00:00
Steve Dower 4d4bc42c8b Closes #23026: Documentation improvements and code formatting 2016-05-25 11:26:07 -07:00
Steve Dower 80ac11d01e Issue #23026: winreg.QueryValueEx() now return an integer for REG_QWORD type. (Patch by hakril) 2016-05-24 15:42:04 -07:00
Paul Moore 835416cf7c Issue #27064: The py.exe launcher now defaults to Python 3.
The Windows launcher ``py.exe`` no longer prefers an installed
Python 2 version over Python 3 by default when used interactively.
2016-05-22 12:28:41 +01:00
Victor Stinner 5a48e21ff1 subprocess now emits a ResourceWarning warning
Issue #26741: subprocess.Popen destructor now emits a ResourceWarning warning
if the child process is still running.
2016-05-20 12:11:15 +02:00
Victor Stinner 19ed27ec2b Optimize pickle.load() and pickle.loads()
Issue #27056: Optimize pickle.load() and pickle.loads(), up to 10% faster to
deserialize a lot of small objects.
2016-05-20 11:42:37 +02:00
Yury Selivanov b4a0d52a3f docs: Update whatsnew/3.6 with asyncio changes 2016-05-16 16:25:16 -04:00
Yury Selivanov f979d55886 Merge 3.5 2016-05-16 16:23:20 -04:00
Yury Selivanov 950204df9c docs: Update asyncio docs & whatsnew 2016-05-16 16:23:00 -04:00
Serhiy Storchaka 2e208b7d62 Issue #27031: Removed dummy methods in Tkinter widget classes: tk_menuBar()
and tk_bindForTraversal().
2016-05-16 22:35:46 +03:00
Martin Panter f0dbf7a6ab Issue #26870: Add readline.set_auto_history(), originally by Tyler Crompton 2016-05-15 01:26:25 +00:00
Serhiy Storchaka 18ee29d0b8 Issue #26039: zipfile.ZipFile.open() can now be used to write data into a ZIP
file, as well as for extracting data.  Patch by Thomas Kluyver.
2016-05-13 13:52:49 +03:00
Serhiy Storchaka c499f30286 Issue #23921: Standardized documentation whitespace formatting.
Original patch by James Edwards.
2016-05-10 12:01:56 +03:00
Serhiy Storchaka dba903993a Issue #23921: Standardized documentation whitespace formatting.
Original patch by James Edwards.
2016-05-10 12:01:23 +03:00
Serhiy Storchaka 1acbf853c8 Issue #26736: Used HTTPS for external links in the documentation if possible. 2016-05-07 10:49:58 +03:00
Serhiy Storchaka 6dff0205b7 Issue #26736: Used HTTPS for external links in the documentation if possible. 2016-05-07 10:49:07 +03:00
Serhiy Storchaka b275210a3b Issue #25788: fileinput.hook_encoded() now supports an "errors" argument
for passing to open.  Original patch by Joseph Hackman.
2016-04-27 23:13:46 +03:00
Victor Stinner 8153ac8f00 Issue #26249: Mention PyMem_Malloc() change in What's New in Python 3.6 in the
Optimizations section.
2016-04-24 22:33:26 +02:00
Berker Peksag e50d8465ab Issue #26041: Remove "will be removed in Python 3.7" from description messages
We will keep platform.dist() and platform.linux_distribution() to make porting
from Python 2 easier.

Patch by Kumaripaba Miyurusara Athukorala.
2016-04-24 03:32:50 +03:00
Berker Peksag 8d8221f0d6 Issue #26041: Remove "will be removed in Python 3.7" from description messages
We will keep platform.dist() and platform.linux_distribution() to make porting
from Python 2 easier.

Patch by Kumaripaba Miyurusara Athukorala.
2016-04-24 03:32:24 +03:00
Victor Stinner f5c4b99034 PyMem_Malloc() now uses the fast pymalloc allocator
Issue #26249: PyMem_Malloc() allocator family now uses the pymalloc allocator
rather than system malloc(). Applications calling PyMem_Malloc() without
holding the GIL can now crash: use PYTHONMALLOC=debug environment variable to
validate the usage of memory allocators in your application.
2016-04-22 16:26:23 +02:00
Senthil Kumaran 5439fc4901 [minor] Doc fix in old python doc. 2016-04-21 00:23:08 -07:00
Martin Panter abe4d52a1a Merge doc and comment fixes from 3.5 2016-04-19 23:23:16 +00:00
Martin Panter 8f26565ba9 Fix spelling (inital), grammar (may translates) in documentation, comments 2016-04-19 04:03:41 +00:00
Serhiy Storchaka b6a9c9761c Issue #26778: Fixed "a/an/and" typos in code comment, documentation and error
messages.
2016-04-17 09:39:28 +03:00
Serhiy Storchaka 6a7b3a77b4 Issue #26778: Fixed "a/an/and" typos in code comment and documentation. 2016-04-17 08:32:47 +03:00
Martin Panter 528619b6c3 Issue #26782: Add STARTUPINFO to subprocess.__all__ on Windows 2016-04-16 23:42:37 +00:00
Martin Panter 8b04a945ef Merge typo fixes from 3.5 2016-04-16 09:29:17 +00:00
Martin Panter 119e502277 Fix typos in code comments and documentation 2016-04-16 09:28:57 +00:00
Martin Panter d3aeb9b797 Issue #26638: Merge link fixes from 3.5 2016-04-16 07:36:08 +00:00
Martin Panter 00ccacc8db Issue #26638: Fix links to some CLI options and section headings
* Disable inappropriate links to Python interpreter options
* Correct link to CLI section in zipapp
* Make CLI section label in timeit less ambiguous
2016-04-16 04:59:38 +00:00
Martin Panter 0cab9c1eba Issue #26404: Add context manager to socketserver, by Aviv Palivoda 2016-04-13 00:36:52 +00:00
Serhiy Storchaka 96790a4b82 Issue #25910: Fixed more links in the docs. 2016-04-11 17:33:27 +03:00
Serhiy Storchaka de886d9233 Issue #25910: Fixed more links in the docs. 2016-04-11 17:32:33 +03:00
Serhiy Storchaka 336fc5bbb0 Issue #25910: Fixed dead links in the docs. 2016-04-11 12:34:07 +03:00
Serhiy Storchaka 90be7333ea Issue #25910: Fixed dead links in the docs. 2016-04-11 12:18:56 +03:00
Martin Panter 50ab1a3694 Issue #26685: Raise OSError if closing a socket fails 2016-04-11 00:38:12 +00:00
Martin Panter 3872d62133 Issue #25609: Double back-ticks to avoid “make check” buildbot failure 2016-04-10 02:41:25 +00:00
Brett Cannon 5f0507d8ab Issue #26587: Allow .pth files to specify file paths as well as
directories.

Thanks to Wolfgang Langner for the bug report and initial version of
the patch.
2016-04-08 15:04:28 -07:00
Brett Cannon 9e080e0e74 Issue #25609: Introduce contextlib.AbstractContextManager and
typing.ContextManager.
2016-04-08 12:15:27 -07:00
Martin Panter dcfebb32e2 Issue #26676: Add missing XMLPullParser to ElementTree.__all__ 2016-04-01 06:55:55 +00:00
Serhiy Storchaka 7b1e5a7722 Remove redundant leading zeroes in PEP references. 2016-03-31 15:31:20 +03:00
Serhiy Storchaka e4ba872543 Remove redundant leading zeroes in PEP references. 2016-03-31 15:30:54 +03:00
Victor Stinner 404cdc5a92 faulthandler: add Windows exception handler
Issue #23848: On Windows, faulthandler.enable() now also installs an exception
handler to dump the traceback of all Python threads on any Windows exception,
not only on UNIX signals (SIGSEGV, SIGFPE, SIGABRT).
2016-03-23 10:39:17 +01:00
Victor Stinner fac395681f Optimize bytes.replace(b'', b'.')
Issue #26574: Optimize bytes.replace(b'', b'.') and
bytearray.replace(b'', b'.'): up to 80% faster. Patch written by Josh Snider.
2016-03-21 10:38:58 +01:00
Berker Peksag 3c3d7f4b99 Issue #18787: spwd.getspnam() now raises a PermissionError if the user
doesn't have privileges.
2016-03-19 11:44:17 +02:00
Victor Stinner ee803a8d2c Issue #26567: enhance ResourceWarning example 2016-03-19 10:33:25 +01:00
Victor Stinner 914cde89d4 On ResourceWarning, log traceback where the object was allocated
Issue #26567:

* Add a new function PyErr_ResourceWarning() function to pass the destroyed
  object
* Add a source attribute to warnings.WarningMessage
* Add warnings._showwarnmsg() which uses tracemalloc to get the traceback where
  source object was allocated.
2016-03-19 01:03:51 +01:00
Victor Stinner 9b46a57302 Doc: fix typos, patch written by Stefan Behnel 2016-03-18 15:10:43 +01:00
Victor Stinner c2fc56836f Enhance documentation on malloc debug hooks
Issue #26564, #26516, #26563.
2016-03-18 11:04:31 +01:00
Victor Stinner 0611c26a58 On memory error, dump the memory block traceback
Issue #26564: _PyObject_DebugDumpAddress() now dumps the traceback where a
memory block was allocated on memory block. Use the tracemalloc module to get
the traceback.
2016-03-15 22:22:13 +01:00
Victor Stinner c4aec3628b Check the GIL in PyObject_Malloc()
Issue #26558: The debug hook of PyObject_Malloc() now checks that the GIL is
held when the function is called.
2016-03-14 22:26:53 +01:00
Victor Stinner 34be807ca4 Add PYTHONMALLOC env var
Issue #26516:

* Add PYTHONMALLOC environment variable to set the Python memory
  allocators and/or install debug hooks.
* PyMem_SetupDebugHooks() can now also be used on Python compiled in release
  mode.
* The PYTHONMALLOCSTATS environment variable can now also be used on Python
  compiled in release mode. It now has no effect if set to an empty string.
* In debug mode, debug hooks are now also installed on Python memory allocators
  when Python is configured without pymalloc.
2016-03-14 12:04:26 +01:00
Victor Stinner 2c2a4e63d7 Add Mock.assert_called()
Issue #26323: Add assert_called() and assert_called_once() methods to
unittest.mock.Mock.
2016-03-11 22:17:48 +01:00
Georg Brandl 3902d62c4e merge with 3.5 2016-02-26 19:37:52 +01:00
Georg Brandl 5d94134040 Closes #25910: fix dead and permanently redirected links in the docs. Thanks to SilentGhost for the patch. 2016-02-26 19:37:12 +01:00
Martin Panter d9108d1253 Issue #23430: Stop socketserver from catching SystemExit etc from handlers
Also make handle_error() consistently output to stderr, and fix the
documentation.
2016-02-21 08:49:56 +00:00
Martin Panter bc1ee460dc Issue #25179: Documentation for formatted string literals aka f-strings
Some of the inspiration and wording is taken from the text of PEP 498 by Eric
V. Smith, and the existing str.format() documentation.
2016-02-13 00:41:37 +00:00
Serhiy Storchaka ffe96ae10b Issue #25994: Added the close() method and the support of the context manager
protocol for the os.scandir() iterator.
2016-02-11 13:21:30 +02:00
Martin Panter 288ed038aa Issue #26304: Additional “allows to” fix specific to 3.6 2016-02-10 05:45:55 +00:00
Martin Panter 3008b1c4bb Issue #26304: Merge doc wording from 3.5 2016-02-10 05:44:56 +00:00
Martin Panter c04fb56e36 Issue #26304: Change "allows to <verb>" to "allows <verb>ing" or similar
The original form is incorrect grammar and feels awkward, even though the
meaning is clear.
2016-02-10 05:44:01 +00:00
Martin Panter 7e3a91a5fc Issue #26136: Upgrade the generator_stop warning to DeprecationWarning
Patch by Anish Shah.
2016-02-10 04:40:48 +00:00
Martin Panter 1fe0d13d12 Issue #26243: zlib.compress() keyword argument support by Aviv Palivoda 2016-02-10 10:06:36 +00:00
Martin Panter 96a4f07107 Issues #26310, #26311: Fix typos in the documentation and code comments 2016-02-10 01:17:51 +00:00
Martin Panter 263c448a2e Issues #26310, 26311: Merge typo fixes from 3.5 2016-02-10 01:18:36 +00:00
Serhiy Storchaka 503f908090 Issue #26039: Added zipfile.ZipInfo.from_file() and zipinfo.ZipInfo.is_dir().
Patch by Thomas Kluyver.
2016-02-08 00:02:25 +02:00
Brett Cannon 9fa812668f Issue #18018: Raise an ImportError if a relative import is attempted
with no known parent package.

Previously SystemError was raised if the parent package didn't exist
(e.g., __package__ was set to '').
Thanks to Florent Xicluna and Yongzhi Pan for reporting the issue.
2016-01-22 16:39:02 -08:00
Brett Cannon 849113af6b Issue #25791: Warn when __package__ != __spec__.parent.
In a previous change, __spec__.parent was prioritized over
__package__. That is a backwards-compatibility break, but we do
eventually want __spec__ to be the ground truth for module details. So
this change reverts the change in semantics and instead raises an
ImportWarning when __package__ != __spec__.parent to give people time
to adjust to using spec objects.
2016-01-22 15:25:50 -08:00
Victor Stinner f3914eb16d co_lnotab supports negative line number delta
Issue #26107: The format of the co_lnotab attribute of code objects changes to
support negative line number delta.

Changes:

* assemble_lnotab(): if line number delta is less than -128 or greater than
  127, emit multiple (offset_delta, lineno_delta) in co_lnotab
* update functions decoding co_lnotab to use signed 8-bit integers

  - dis.findlinestarts()
  - PyCode_Addr2Line()
  - _PyCode_CheckLineNumber()
  - frame_setlineno()

* update lnotab_notes.txt
* increase importlib MAGIC_NUMBER to 3361
* document the change in What's New in Python 3.6
* cleanup also PyCode_Optimize() to use better variable names
2016-01-20 12:16:21 +01:00
Senthil Kumaran 613065b60d Issue26069 - Update whatsnew/3.6.rst on traceback module's api removals. 2016-01-17 20:12:16 -08:00
Martin Panter e8afd01db8 Issue #23883: Update news 2016-01-16 07:01:46 +00:00
Brett Cannon 63b8505281 Issue #25791: Raise an ImportWarning when __spec__ or __package__ are
not defined for a relative import.

This is the start of work to try and clean up import semantics to rely
more on a module's spec than on the myriad attributes that get set on
a module. Thanks to Rose Ames for the patch.
2016-01-15 13:33:03 -08:00
Yury Selivanov 37dc2b2883 Issue #25486: Resurrect inspect.getargspec in 3.6. Backout a565aad5d6e1.
The decision is that we shouldn't remove popular APIs (however long they
are depreacted) from Python 3, while 2.7 is still around and supported.
2016-01-11 15:15:01 -05:00
Brett Cannon eae3079041 Issue #25802: Deprecate load_module() on importlib.machinery.SourceFileLoader and SourcelessFileLoader.
They were the only remaining implementations of load_module() not
documented as deprecated.
2015-12-28 17:55:27 -08:00
Brett Cannon 1e3c3e906c Issue #25768: Make compileall functions return booleans and document
the return values as well as test them.

Thanks to Nicholas Chammas for the bug report and initial patch.
2015-12-27 13:17:04 -08:00
Yury Selivanov 2c008d83dc Merge 3.5 2015-12-15 00:38:38 -05:00
Yury Selivanov 4a18b35dbd docs/whatsnew/3.5: Fix ref link 2015-12-15 00:38:28 -05:00
Yury Selivanov e93f407a0f Merge 3.5 2015-12-15 00:30:32 -05:00
Yury Selivanov bf077ee043 whatsnew/3.5: Mention new asyncio APIs in 3.5.1 2015-12-15 00:30:18 -05:00
Martin Panter b4ce1fc31b Issue #5319: New Py_FinalizeEx() API to exit with status 120 on failure 2015-11-30 03:18:29 +00:00
R David Murray 4f09806e66 #25485: Add context manager support to Telnet class.
Patch by Stéphane Wirtel.
2015-11-28 12:24:52 -05:00
Martin Panter 28a465c9e0 Issue #23883: Add news listing modules with new exported APIs 2015-11-14 12:52:08 +00:00
Martin Panter fad4b60074 Adjust grammar and punctuation in whatsnew/3.6.rst 2015-11-14 01:29:17 +00:00
Martin Panter 22fd1c262a Merge typo and grammar fixes from 3.5 2015-11-14 01:29:13 +00:00
Martin Panter 97ce0faa4d Fix grammar in whatsnew/3.5.rst and elsewhere
Mainly missing grammatical articles (the, a).
2015-11-14 01:14:54 +00:00
Martin Panter 6fe39266c8 Issue #25590: Complete attribute names even if they are not yet created 2015-11-13 23:54:02 +00:00
Zachary Ware d545f7f4cb Merge with 3.5 2015-11-11 22:54:28 -06:00
Zachary Ware ccbc8dedec Fix awkward grammar in whatsnew.
Reported on docs@ by Keith Briggs.
2015-11-11 22:53:47 -06:00
Zachary Ware c826ab06c8 Fix typos in whatsnew.
Reported on docs@ by Igor Zhun.
2015-11-11 22:41:43 -06:00
Raymond Hettinger 2fbde51e2f merge 2015-11-09 08:26:28 -08:00
Raymond Hettinger 850be0fb18 Improve namedtuple doc string examples 2015-11-09 08:24:53 -08:00
Serhiy Storchaka 4a7c03aab4 Issue #25523: Merge a-to-an corrections from 3.5. 2015-11-02 14:44:29 +02:00
Serhiy Storchaka a84f6c3dd3 Issue #25523: Merge a-to-an corrections from 3.4. 2015-11-02 14:39:05 +02:00
Serhiy Storchaka d65c9496da Issue #25523: Further a-to-an corrections. 2015-11-02 14:10:23 +02:00
Raymond Hettinger a1fc949b5a Issue #24379: Revert the operator.subscript patch (dccc4e63aef5) pending resolution of the related refcnt leak. 2015-11-02 00:39:56 -05:00
Martin Panter e56a919100 Issue #25523: Merge a-to-an corrections from 3.5 2015-11-02 04:27:17 +00:00
Martin Panter d2ad5718ad Issue #25523: Further a-to-an corrections new in 3.5 2015-11-02 04:20:33 +00:00
Martin Panter 2eb819f7a8 Issue #25523: Merge "a" to "an" fixes from 3.4 into 3.5 2015-11-02 04:04:57 +00:00
Martin Panter 7462b64911 Issue #25523: Correct "a" article to "an" article
This changes the main documentation, doc strings, source code comments, and a
couple error messages in the test suite. In some cases the word was removed
or edited some other way to fix the grammar.
2015-11-02 03:37:02 +00:00
Yury Selivanov 22d4553acb Merge 3.5 2015-10-31 13:34:01 -04:00
Yury Selivanov f97edf1aa6 whatsnew/3.5: NumPy 1.10 has been released 2015-10-31 13:33:49 -04:00
Martin Panter ff99988397 Merge typo fixes from 3.5 2015-10-31 12:23:03 +00:00
Martin Panter 0e5eba25c7 Fix more typos in whatsnew/3.5.rst 2015-10-31 12:18:10 +00:00
Martin Panter 4827e488a4 Merge spelling fixes from 3.4 into 3.5 2015-10-31 12:16:18 +00:00
Martin Panter 1f1177d69a Fix some spelling errors in documentation and code comments 2015-10-31 11:48:53 +00:00
Terry Jan Reedy 6dc9ce1923 Remove double 'error'. 2015-10-20 01:07:53 -04:00
Berker Peksag 8b880c7412 Fix another typo noticed by SilentGhost 2015-10-19 00:56:59 +03:00
Berker Peksag ad56c922b0 Fix another typo noticed by SilentGhost 2015-10-19 00:56:39 +03:00
Berker Peksag 65a73cd8be Issue #25434: Fix typo in whatsnew/3.5rst
Patch by Louis Sautier.
2015-10-18 20:22:38 +03:00
Berker Peksag 5783ee12bd Issue #25434: Fix typo in whatsnew/3.5rst
Patch by Louis Sautier.
2015-10-18 20:22:15 +03:00
Brett Cannon 9b63868f77 Issue #25154: Deprecate the pyvenv script.
This was done so as to move users to `python3 -m venv` which prevents
confusion over which Python interpreter will be used in the virtual
environment when more than one is installed.
2015-10-16 15:14:27 -07:00
Brett Cannon c0d91aff9a Upgrade the imp module's deprecation to DeprecationWarning. 2015-10-16 12:21:37 -07:00
Victor Stinner 2bf8993db9 Optimize bytes.fromhex() and bytearray.fromhex()
Issue #25401: Optimize bytes.fromhex() and bytearray.fromhex(): they are now
between 2x and 3.5x faster. Changes:

* Use a fast-path working on a char* string for ASCII string
* Use a slow-path for non-ASCII string
* Replace slow hex_digit_to_int() function with a O(1) lookup in
  _PyLong_DigitValue precomputed table
* Use _PyBytesWriter API to handle the buffer
* Add unit tests to check the error position in error messages
2015-10-14 11:25:33 +02:00
Victor Stinner ebcf9edc05 Document latest optimizations using _PyBytesWriter 2015-10-14 10:10:00 +02:00
Serhiy Storchaka 0d554d7ef1 Issue #24164: Objects that need calling ``__new__`` with keyword arguments,
can now be pickled using pickle protocols older than protocol version 4.
2015-10-10 22:42:18 +03:00
Berker Peksag b6c9572fa9 Sort module names in whatsnew/3.6.rst 2015-10-08 13:58:49 +03:00
Berker Peksag 960e848f0d Issue #16099: RobotFileParser now supports Crawl-delay and Request-rate
extensions.

Patch by Nikolay Bogoychev.
2015-10-08 12:27:06 +03:00
Alexander Belopolsky 68713e41a5 Closes issue #12006: Add ISO 8601 year, week, and day directives to strptime.
This commit adds %G, %V, and %u directives to strptime.  Thanks Ashley Anderson
for the implementation.
2015-10-06 13:29:56 -04:00
Victor Stinner 1d65d9192d Issue #25301: The UTF-8 decoder is now up to 15 times as fast for error
handlers: ``ignore``, ``replace`` and ``surrogateescape``.
2015-10-05 13:43:50 +02:00
Yury Selivanov d763909885 asyncio: Make ensure_future() accept all kinds of awaitables. (Merge 3.5) 2015-10-02 15:09:51 -04:00
Yury Selivanov 43d71e2512 asyncio: Make ensure_future() accept all kinds of awaitables. 2015-10-02 15:05:59 -04:00
Victor Stinner 01ada3996b Issue #25267: The UTF-8 encoder is now up to 75 times as fast for error
handlers: ``ignore``, ``replace``, ``surrogateescape``, ``surrogatepass``.
Patch co-written with Serhiy Storchaka.
2015-10-01 21:54:51 +02:00
Victor Stinner c3713e9706 Optimize ascii/latin1+surrogateescape encoders
Issue #25227: Optimize ASCII and latin1 encoders with the ``surrogateescape``
error handler: the encoders are now up to 3 times as fast.

Initial patch written by Serhiy Storchaka.
2015-09-29 12:32:13 +02:00
Serhiy Storchaka ab824222d1 Issue #25011: rlcomplete now omits private and special attribute names unless
the prefix starts with underscores.
2015-09-27 13:43:50 +03:00
Berker Peksag dd7cb10b89 Issue #25137: Add a note to whatsnew/3.5.rst for nested functools.partial calls
Also, properly skip the test_nested_optimization test for partial subclasses
and add a test for the suggested usage.
2015-09-22 13:08:42 +03:00
Berker Peksag 9b93c6b5df Issue #25137: Add a note to whatsnew/3.5.rst for nested functools.partial calls
Also, properly skip the test_nested_optimization test for partial subclasses
and add a test for the suggested usage.
2015-09-22 13:08:16 +03:00
Victor Stinner f96418de05 Issue #24870: Optimize the ASCII decoder for error handlers: surrogateescape,
ignore and replace. Initial patch written by Naoki Inada.

The decoder is now up to 60 times as fast for these error handlers.

Add also unit tests for the ASCII decoder.
2015-09-21 23:06:27 +02:00
Yury Selivanov b1a3d9ae56 Merge 3.5 2015-09-16 12:18:55 -04:00
Yury Selivanov 8e3b04c70b whatsnew/3.5: Reword bytes*.hex message 2015-09-16 12:18:29 -04:00
Berker Peksag d7bf45f5f7 whatsnew/3.5: Add missing word "class" 2015-09-15 20:06:48 +03:00
Berker Peksag 878bc871b4 whatsnew/3.5: Add missing word "class" 2015-09-15 20:06:28 +03:00
Serhiy Storchaka d3b9407538 Use :menuselection: in whatsnew/3.4. 2015-09-13 21:06:40 +03:00
Serhiy Storchaka 516a1a96ee Use :menuselection: in whatsnew/3.4. 2015-09-13 21:06:06 +03:00
Serhiy Storchaka 66ad8464cf Use :menuselection: in whatsnew/3.4. 2015-09-13 21:05:37 +03:00
Yury Selivanov f0fccb585c Merge 3.5 2015-09-13 12:51:46 -04:00
Larry Hastings d5fd984a60 Merge from 3.5. 2015-09-13 16:57:16 +01:00
Yury Selivanov 69a15f1576 whatsnew/3.5: Fix typo 2015-09-13 11:52:07 -04:00
Yury Selivanov 801306bb65 whatsnew/3.5: One more edit 2015-09-13 11:40:00 -04:00
Yury Selivanov a33cb35688 whatsnew/3.5: Edits
Patch by me and Elvis Pranskevichus
2015-09-13 11:21:25 -04:00
Larry Hastings 9c51f89cd6 Merge release engineering work from Python 3.5.0. 2015-09-13 15:43:21 +01:00
Yury Selivanov 1cecec5da5 Merge 3.5 2015-09-13 08:31:07 -04:00
Yury Selivanov 73953d8670 whatsnew/3.5: Fix typo (issue #25082) 2015-09-13 08:30:58 -04:00
Yury Selivanov e148710410 Merge 3.5 2015-09-13 08:29:30 -04:00
Yury Selivanov fe369a6e0e whatsnew/3.5: Reorder stuff (issue #25082). 2015-09-13 08:29:19 -04:00
Serhiy Storchaka 48a0469862 Merge 3.5 2015-09-13 12:08:19 +03:00
Serhiy Storchaka 35a361f1af whatsnew/3.5: Fix formatting. More minor edits. 2015-09-13 12:07:54 +03:00
Yury Selivanov 5944e251df Merge 3.5 2015-09-13 01:58:09 -04:00
Yury Selivanov 3854f9e9fe whatsnew/3.5: Delete prerelease warning note.
(we'll make a couple more commits tomorrow before release)
2015-09-13 01:57:57 -04:00
Yury Selivanov cc32fbabe2 Merge 3.5 2015-09-13 01:40:46 -04:00
Yury Selivanov a7672baa73 whatsnew/3.5: Fix formatting 2015-09-13 01:40:36 -04:00
Yury Selivanov bd316c71ae Merge 3.5 2015-09-13 01:39:16 -04:00
Yury Selivanov 72dab13105 whatsnew/3.5: Tweak asyncio module section 2015-09-13 01:39:05 -04:00
Yury Selivanov f1e6faec67 Merge 3.5 2015-09-13 01:10:29 -04:00
Yury Selivanov 6d9dd756af whatsnew/3.5: More examples 2015-09-13 01:10:19 -04:00
Yury Selivanov a0c32e96b9 Merge 3.5 2015-09-13 00:29:14 -04:00
Yury Selivanov 63ae9f3b38 whatsnew/3.5: Cover asyncio changes relative to 3.4.0 2015-09-13 00:29:02 -04:00
Yury Selivanov b698b7d38c Merge 3.5 2015-09-12 23:46:50 -04:00
Yury Selivanov 239503773d whatsnew/3.5: Add some examples
Patch by Elvis Pranskevichus
2015-09-12 23:46:39 -04:00
Yury Selivanov cd8f9d603e Merge 3.5 2015-09-12 17:53:42 -04:00
Yury Selivanov 7b76baeabf whatsnew/3.5: Update editor's email addresses 2015-09-12 17:53:33 -04:00
Yury Selivanov dd9114c2e4 Merge 3.5 2015-09-12 17:51:16 -04:00
Yury Selivanov 95fd26bc01 whatsnew/3.5 More edits
Patch by Elvis Praskevichus.  (+ issue #25070)
2015-09-12 17:50:58 -04:00
Yury Selivanov cd8611d572 Merge 3.5 2015-09-12 15:52:20 -04:00
Yury Selivanov 46a8b40ca8 whatsnew/3.5: Edits
Patch by Elvis Pranskevichus
2015-09-12 15:52:04 -04:00
Larry Hastings 2e789a1f1d Final touch-ups for the What's New In Python 3.5 document. 2015-09-12 17:36:44 +01:00
Larry Hastings 17e9f3b774 Backported the What's New In 3.5 from 3.5.1 to 3.5.0 (final!). 2015-09-12 17:12:36 +01:00
Serhiy Storchaka 233cdb3e9c Marked keystrokes with the :kbd: role.
Fixed the case of the "Ctrl-" prefixes.
2015-09-12 17:46:56 +03:00
Serhiy Storchaka 153627c111 Marked keystrokes with the :kbd: role.
Fixed the case of the "Ctrl-" prefixes.
2015-09-12 17:46:20 +03:00
Serhiy Storchaka 0424eaf753 Marked keystrokes with the :kbd: role.
Fixed the case of the "Ctrl-" prefixes.
2015-09-12 17:45:25 +03:00
Serhiy Storchaka 4d31570837 Merge 3.5 2015-09-11 20:56:05 +03:00
Serhiy Storchaka 1c30e7ef56 whatsnew/3.5: Added missed author names. 2015-09-11 20:55:28 +03:00
Yury Selivanov 25a2afdb2d Merge 3.5 2015-09-11 01:23:31 -04:00
Yury Selivanov dddfffeda1 whatsnew/3.5: Fix nits 2015-09-11 01:23:10 -04:00
Yury Selivanov c88acaae30 Merge 3.5 2015-09-11 00:50:54 -04:00
Yury Selivanov fd8d52b96c whatsnew/3.5: Drop empty section 2015-09-11 00:50:39 -04:00
Yury Selivanov f3d9ef9ba6 Merge 3.5 2015-09-11 00:48:45 -04:00
Yury Selivanov 4dde587405 whatsnew/3.5: Sync whatsnew with versionadded/versionchanged doc tags 2015-09-11 00:48:21 -04:00
Yury Selivanov 4b55a9300a Merge 3.5 2015-09-10 23:37:16 -04:00
Yury Selivanov 508a81e094 whatsnew/3.5: Second pass over NEWS entries 2015-09-10 23:37:06 -04:00
Yury Selivanov 9026924604 Merge 3.5 2015-09-10 21:45:08 -04:00
Yury Selivanov 79cf1b04a3 whatsnew/3.5: Reformat code examples 2015-09-10 21:44:59 -04:00
Yury Selivanov c545f1ce8f Merge 3.5 2015-09-10 21:27:04 -04:00
Yury Selivanov a88cd646d1 whatsnew/3.5: Another editing pass
Patch by Elvis Pranskevichus.
2015-09-10 21:26:54 -04:00
Yury Selivanov 977afe5ac1 Merge 3.5 2015-09-10 19:02:34 -04:00
Yury Selivanov 3b76552538 whatsnew/3.5: Fix refs in the importlib section 2015-09-10 19:02:24 -04:00
Yury Selivanov 8aa184692e Merge 3.5 2015-09-10 18:59:52 -04:00
Yury Selivanov 1c73e69ec5 whatsnew/3.5: Clarify types.coroutine & types.CoroutineType 2015-09-10 18:59:42 -04:00
Yury Selivanov a8379ea639 Merge 3.5 2015-09-10 18:32:00 -04:00
Yury Selivanov 83c6d729d4 whatsnew/3.5: Don't mention pyio.FileIO 2015-09-10 18:31:49 -04:00
Yury Selivanov cbfee5a171 Merge 3.5 (issue #22980, whatsnew/3.5) 2015-09-10 18:27:17 -04:00
Yury Selivanov c973990f4e whatsnew/3.5: Describe changes in issue #22980
Initial patch by Larry Hastings.
2015-09-10 18:26:44 -04:00
Yury Selivanov 6bb33d6ac3 Merge 3.5 2015-09-10 18:04:45 -04:00
Yury Selivanov 5c3111e319 whatsnew/3.5: More edits -- use articles consistently; fix refs 2015-09-10 18:04:35 -04:00
Yury Selivanov f0ac36c7f8 Merge 3.5 2015-09-10 17:35:51 -04:00
Yury Selivanov ce917c731d whatsnew/3.5: Editorialization pass on library section
Patch by Elvis Pranskevichus
2015-09-10 17:35:38 -04:00
Yury Selivanov 4f1f6e4618 Merge 3.5 2015-09-09 22:46:51 -04:00
Yury Selivanov 88d073dad5 whatsnew/3.5: Mention issue 22464
(About the only new feature that was worth mentioning in
whatsnew without a NEWS entry)
2015-09-09 22:46:40 -04:00
Yury Selivanov 0ae505e7d3 Merge 3.5 2015-09-09 13:50:12 -04:00
Yury Selivanov ef05af5941 whatsnew/3.5: Merge argparse entries 2015-09-09 13:49:29 -04:00
Yury Selivanov cbed49550a Merge 3.5 2015-09-09 12:23:18 -04:00
Yury Selivanov 336b37b1dd whatsnew/3.5: First pass over NEWS is done. 2015-09-09 12:23:01 -04:00
Yury Selivanov 095492a980 Merge 3.5 2015-09-09 09:27:46 -04:00
Yury Selivanov 1f4d4705bd whatsnew/3.5: Fix nits per Berker Peksag suggestion 2015-09-09 09:27:29 -04:00
Yury Selivanov a5f1563441 Merge 3.5 2015-09-08 23:41:22 -04:00
Yury Selivanov 0ac5f28bee whatsnew/3.5: Reformat PEP 475 to render in less space; add "ugly" ex in 465 2015-09-08 23:40:46 -04:00
Yury Selivanov a6cf627f93 Merge 3.5 2015-09-08 23:28:17 -04:00
Yury Selivanov 40301c04eb whatsnew/3.5: Better formatting; add traceback to significantly improved stdlib 2015-09-08 23:28:06 -04:00
Yury Selivanov 9b82a99a64 Merge 3.5 2015-09-08 22:40:45 -04:00
Yury Selivanov 100fc3fbc2 whatsnew/3.5: Fix library news till Py3.5a1. Update other docs. 2015-09-08 22:40:30 -04:00
Yury Selivanov 1638bdfa1a Merge 3.5 2015-09-08 15:33:33 -04:00
Yury Selivanov dfcfe13300 docs/whatsnew/3.5: Update peps section
Patch by Elvis Pranskevichus.
2015-09-08 15:33:15 -04:00
Larry Hastings f962473149 Merge. 2015-08-24 12:59:38 -07:00
Larry Hastings d5b129c9a1 Fix for one-letter type in What's New In Python 3.5. 2015-08-24 12:49:22 -07:00
Raymond Hettinger 47d159f522 Issue #24379: Add operator.subscript() as a convenience for building slices. 2015-08-16 19:43:34 -07:00
Larry Hastings 721b9aab10 One-character typo fix.
os.path.commonprefix always returns a valid *path*, not a valid *patch*.
2015-08-14 08:03:30 -07:00
Robert Collins dfa95c9a8f Issue #20059: urllib.parse raises ValueError on all invalid ports.
Patch by Martin Panter.
2015-08-10 09:53:30 +12:00
Yury Selivanov d38718d419 Merge 3.5 2015-08-05 19:02:03 -04:00
Yury Selivanov 7d6adab716 whatsnew/3.5: Mention new ssl memory bio 2015-08-05 19:01:51 -04:00
Yury Selivanov 4aac06ae50 Merge 3.5 2015-08-05 12:46:40 -04:00
Yury Selivanov 40c0ce472e whatsnew/3.5: Mention 'typing' module docs in seealso for pep 484 2015-08-05 12:46:29 -04:00
Yury Selivanov afe0ab6d24 Merge 3.5 (whatsnew) 2015-08-04 12:52:32 -04:00
Yury Selivanov a5a0062627 whatsnew: Add pep 448 to new syntax features section 2015-08-04 12:52:16 -04:00
Yury Selivanov 480a770138 Merge 3.5 (whatsnew) 2015-08-04 12:47:12 -04:00
Yury Selivanov 5df36af8b7 whatsnew/3.5: Briefly mention PEP 484 2015-08-04 12:46:57 -04:00
Yury Selivanov e8b086374b Merge 3.5 (whatsnew) 2015-08-04 12:42:36 -04:00
Yury Selivanov 216d999345 whatsnew/3.5: Mention PEP 448 2015-08-04 12:42:20 -04:00
Yury Selivanov 62f27b5b98 whatsnew/3.5,3.6: Mention that 'async' is a bad name for modules 2015-08-03 14:57:21 -04:00
Yury Selivanov 13b74aef62 whatsnew/3.5: Mention that 'async' is a bad name for modules 2015-08-03 14:55:58 -04:00
Berker Peksag 317ccf3cd4 Issue #15582: Add a whatsnew entry for inspect.getdoc() changes in 3.5.
Patch by Martin Panter.
2015-07-30 18:06:30 +03:00
Berker Peksag 4333d8bad7 Issue #15582: Add a whatsnew entry for inspect.getdoc() changes in 3.5.
Patch by Martin Panter.
2015-07-30 18:06:09 +03:00
Victor Stinner 9f0b5e7097 Merge 3.5 (doc) 2015-07-29 02:29:54 +02:00
Victor Stinner ace8848df6 What's New in Python 3.5: document os.urandom() changes 2015-07-29 02:28:32 +02:00
Victor Stinner a1d9fa326c Merge 3.5 (doc) 2015-07-29 01:41:34 +02:00
Victor Stinner 988101364a What's New in Python 3.5: document socket.sendall() change on timeout 2015-07-29 01:41:25 +02:00
Victor Stinner 5019d55b52 Merge 3.5 (doc) 2015-07-29 01:39:30 +02:00
Victor Stinner 287452eeaf What's New in Python 3.5: Document ssl methods change on timeout 2015-07-29 01:39:13 +02:00
Victor Stinner e036611aab Merge 3.5 (doc) 2015-07-29 01:21:19 +02:00
Victor Stinner 6752d65daf What's New in Python 3.5: move PEP 475 doc 2015-07-29 01:11:10 +02:00
Yury Selivanov 5661316e4d Sync NEWS (re removed inspect.getargspec and inspect.getmoduleinfo) 2015-07-23 17:51:34 +03:00
Yury Selivanov 6dfbc5d98e Issue #13248: Remove inspect.getmoduleinfo() from 3.6 (deprecated in 3.3) 2015-07-23 17:49:00 +03:00
Yury Selivanov f1b5ccb993 Issue #13248: Remove inspect.getargspec from 3.6 (deprecated from 3.0) 2015-07-23 17:36:02 +03:00
Steve Dower 752dfda2d4 Issue #24642: Adds installer notes and links to What's New for 3.5 2015-07-17 16:49:24 -07:00
Steve Dower 313fbf4548 Issue #24642: Adds installer notes and links to What's New for 3.5 2015-07-17 16:48:48 -07:00
Zachary Ware f149ae410b Merge 3.5 2015-07-07 00:08:50 -05:00
Zachary Ware 3d3aedc8ba Fix usage of the default role. 2015-07-07 00:07:25 -05:00
Yury Selivanov d48fb485d9 Merge 3.5 (Issue #24400) 2015-07-03 13:11:54 -04:00
Yury Selivanov fdbeb2b4b6 Issue #24400: Resurrect inspect.isawaitable()
collections.abc.Awaitable and collections.abc.Coroutine no longer
use __instancecheck__ hook to detect generator-based coroutines.

inspect.isawaitable() can be used to detect generator-based coroutines
and to distinguish them from regular generator objects.
2015-07-03 13:11:35 -04:00
Nick Coghlan 11e6d79eca Merge fix for #24458 from 3.5 2015-07-03 19:52:05 +10:00
Nick Coghlan 2ab5b092e5 Close #24458: PEP 489 documentation
Patch by Petr Viktorin.
2015-07-03 19:49:15 +10:00
Yury Selivanov bb215e2300 Merge 3.5 (Issue #19235) 2015-07-03 01:10:11 -04:00