]> granicus.if.org Git - python/log
python
7 years agobpo-32327: Convert asyncio functions documented as coroutines to coroutines. (#4872)
Yury Selivanov [Fri, 15 Dec 2017 01:53:26 +0000 (20:53 -0500)]
bpo-32327: Convert asyncio functions documented as coroutines to coroutines. (#4872)

7 years agobpo-32030: Add _PyMainInterpreterConfig.executable (#4876)
Victor Stinner [Fri, 15 Dec 2017 01:05:29 +0000 (02:05 +0100)]
bpo-32030: Add _PyMainInterpreterConfig.executable (#4876)

* Add new fields to _PyMainInterpreterConfig:

  * executable
  * prefix
  * base_prefix
  * exec_prefix
  * base_exec_prefix

* _PySys_EndInit() now sets sys attributes from
  _PyMainInterpreterConfig

7 years agobpo-32030: Add _PyCoreConfig_Copy() (#4874)
Victor Stinner [Fri, 15 Dec 2017 00:46:02 +0000 (01:46 +0100)]
bpo-32030: Add _PyCoreConfig_Copy() (#4874)

Each interpreter now has its core_config and main_config copy:

* Add _PyCoreConfig_Copy() and _PyMainInterpreterConfig_Copy()
* Move _PyCoreConfig_Read(), _PyCoreConfig_Clear() and
  _PyMainInterpreterConfig_Clear() from Python/pylifecycle.c to
  Modules/main.c
* Fix _Py_InitializeEx_Private(): call _PyCoreConfig_ReadEnv() before
  _Py_InitializeCore()

7 years agobpo-32329: Fix -R option for hash randomization (#4873)
Victor Stinner [Thu, 14 Dec 2017 23:51:22 +0000 (00:51 +0100)]
bpo-32329: Fix -R option for hash randomization (#4873)

bpo-32329, bpo-32030:

* The -R option now turns on hash randomization when the
  PYTHONHASHSEED environment variable is set to 0 Previously, the
  option was ignored.
* sys.flags.hash_randomization is now properly set to 0 when hash
  randomization is turned off by PYTHONHASHSEED=0.
* _PyCoreConfig_ReadEnv() now reads the PYTHONHASHSEED environment
  variable. _Py_HashRandomization_Init() now only apply the
  configuration, it doesn't read PYTHONHASHSEED anymore.

7 years agobpo-32143: add f_fsid to os.statvfs() (#4571)
Giuseppe Scrivano [Thu, 14 Dec 2017 22:46:46 +0000 (23:46 +0100)]
bpo-32143: add f_fsid to os.statvfs() (#4571)

Signed-off-by: Giuseppe Scrivano <gscrivan@redhat.com>
7 years agobpo-32226: Implementation of PEP 560 (core components) (#4732)
Ivan Levkivskyi [Thu, 14 Dec 2017 22:32:56 +0000 (23:32 +0100)]
bpo-32226: Implementation of PEP 560 (core components) (#4732)

This part of the PEP implementation adds support for
__mro_entries__ and __class_getitem__ by updating
__build_class__ and PyObject_GetItem.

7 years agobpo-29469: Optimize literal lists and sets iterating on the AST level. (#4866)
Serhiy Storchaka [Thu, 14 Dec 2017 18:24:31 +0000 (20:24 +0200)]
bpo-29469: Optimize literal lists and sets iterating on the AST level. (#4866)

7 years agobpo-32277: Fix exception raised from chmod(..., follow_symlinks=False) (#4797)
Anthony Sottile [Thu, 14 Dec 2017 16:57:55 +0000 (08:57 -0800)]
bpo-32277: Fix exception raised from chmod(..., follow_symlinks=False) (#4797)

7 years agobpo-32314: Implement asyncio.run() (#4852)
Yury Selivanov [Thu, 14 Dec 2017 14:42:21 +0000 (09:42 -0500)]
bpo-32314: Implement asyncio.run() (#4852)

7 years agobpo-29469: Remove unnecessary peephole optimizer (GH-4863)
INADA Naoki [Thu, 14 Dec 2017 13:18:26 +0000 (22:18 +0900)]
bpo-29469: Remove unnecessary peephole optimizer (GH-4863)

Conversions like `not a is b -> a is not b` are implemented
in AST optimizer in previous commit (7ea143a).
So this commit removes them from peephole optimizer.

7 years agobpo-32030: Add _PyMainInterpreterConfig.warnoptions (#4855)
Victor Stinner [Thu, 14 Dec 2017 11:05:26 +0000 (12:05 +0100)]
bpo-32030: Add _PyMainInterpreterConfig.warnoptions (#4855)

Add warnoptions and xoptions fields to _PyMainInterpreterConfig.

7 years agobpo-32297: Few misspellings found in Python source code comments. (#4803)
Mike [Thu, 14 Dec 2017 11:04:53 +0000 (14:04 +0300)]
bpo-32297: Few misspellings found in Python source code comments. (#4803)

* Fix multiple typos in code comments

* Add spacing in comments (test_logging.py, test_math.py)

* Fix spaces at the beginning of comments in test_logging.py

7 years agobpo-32225: Implementation of PEP 562 (#4731)
Ivan Levkivskyi [Thu, 14 Dec 2017 10:59:44 +0000 (11:59 +0100)]
bpo-32225: Implementation of PEP 562 (#4731)

Implement PEP 562: module __getattr__ and __dir__.
The implementation simply updates module_getattro and
module_dir.

7 years agobpo-32302: Fix distutils bdist_wininst for CRT v142 (#4851)
Victor Stinner [Thu, 14 Dec 2017 10:39:34 +0000 (11:39 +0100)]
bpo-32302: Fix distutils bdist_wininst for CRT v142 (#4851)

CRT v142 is binary compatible with CRT v140.

7 years agobpo-29469: Move constant folding to AST optimizer (GH-2858)
INADA Naoki [Thu, 14 Dec 2017 07:47:20 +0000 (16:47 +0900)]
bpo-29469: Move constant folding to AST optimizer (GH-2858)

7 years agobpo-32030: Rewrite _PyMainInterpreterConfig (#4854)
Victor Stinner [Thu, 14 Dec 2017 01:20:52 +0000 (02:20 +0100)]
bpo-32030: Rewrite _PyMainInterpreterConfig (#4854)

_PyMainInterpreterConfig now contains Python objects, whereas
_PyCoreConfig contains wchar_t* strings.

Core config:

* Rename _PyMainInterpreterConfig_ReadEnv() to _PyCoreConfig_ReadEnv()
* Move 3 strings from _PyMainInterpreterConfig to _PyCoreConfig:
  module_search_path_env, home, program_name.
* Add _PyCoreConfig_Clear()
* _PyPathConfig_Calculate() now takes core config rather than main
  config
* _PyMainInterpreterConfig_Read() now requires also a core config

Main config:

* Add _PyMainInterpreterConfig.module_search_path: sys.path list
* Add _PyMainInterpreterConfig.argv: sys.argv list
* _PyMainInterpreterConfig_Read() now computes module_search_path

7 years agobpo-30241: implement contextlib.AbstractAsyncContextManager (#1412)
Jelle Zijlstra [Thu, 14 Dec 2017 01:19:17 +0000 (17:19 -0800)]
bpo-30241: implement contextlib.AbstractAsyncContextManager (#1412)

7 years agobpo-32296: Unbreak tests on Windows (#4850)
Yury Selivanov [Wed, 13 Dec 2017 22:28:41 +0000 (17:28 -0500)]
bpo-32296: Unbreak tests on Windows (#4850)

7 years agobpo-32030: Add _PyPathConfig_ComputeArgv0() (#4845)
Victor Stinner [Wed, 13 Dec 2017 20:05:57 +0000 (21:05 +0100)]
bpo-32030: Add _PyPathConfig_ComputeArgv0() (#4845)

Changes:

* Split _PySys_SetArgvWithError() into subfunctions for Py_Main():

  * Create the Python list object
  * Set sys.argv to the list
  * Compute argv0
  * Prepend argv0 to sys.path

* Add _PyPathConfig_ComputeArgv0()
* Remove _PySys_SetArgvWithError()
* Py_Main() now splits the code to compute sys.argv/path0 and the
  code to update the sys module: add pymain_compute_argv()
  subfunction.

7 years agobpo-32296: Implement asyncio.get_event_loop and _get_running_loop in C. (#4827)
Yury Selivanov [Wed, 13 Dec 2017 19:49:42 +0000 (14:49 -0500)]
bpo-32296: Implement asyncio.get_event_loop and _get_running_loop in C. (#4827)

asyncio.get_event_loop(), and, subsequently asyncio._get_running_loop()
are one of the most frequently executed functions in asyncio.  They also
can't be sped up by third-party event loops like uvloop.

When implemented in C they become 4x faster.

7 years agopymain_set_sys_argv() now copies argv (#4838)
Victor Stinner [Wed, 13 Dec 2017 16:31:16 +0000 (17:31 +0100)]
pymain_set_sys_argv() now copies argv (#4838)

bpo-29240, bpo-32030:

* Rename pymain_set_argv() to pymain_set_sys_argv()
* pymain_set_sys_argv() now creates of copy of argv and modify the
  copy, rather than modifying pymain->argv
* Call pymain_set_sys_argv() earlier: before pymain_run_python(), but
  after pymain_get_importer().
* Add _PySys_SetArgvWithError() to handle errors

7 years agopythoninfo: Add builtins, test.support, ... (#4840)
Victor Stinner [Wed, 13 Dec 2017 16:27:40 +0000 (17:27 +0100)]
pythoninfo: Add builtins, test.support, ... (#4840)

Collect more info from builtins, resource, test.test_socket and
test.support modules.

Co-Authored-By: Christian Heimes <christian@python.org>
7 years agoFix couple typos (#4839)
Andrew Svetlov [Wed, 13 Dec 2017 15:50:16 +0000 (17:50 +0200)]
Fix couple typos (#4839)

7 years agotrivial: link updates in documentation (#2765)
jimmy [Wed, 13 Dec 2017 12:37:51 +0000 (13:37 +0100)]
trivial: link updates in documentation (#2765)

7 years agobpo-29240: PEP 540: Add a new UTF-8 Mode (#855)
Victor Stinner [Wed, 13 Dec 2017 11:29:09 +0000 (12:29 +0100)]
bpo-29240: PEP 540: Add a new UTF-8 Mode (#855)

* Add -X utf8 command line option, PYTHONUTF8 environment variable
  and a new sys.flags.utf8_mode flag.
* If the LC_CTYPE locale is "C" at startup: enable automatically the
  UTF-8 mode.
* Add _winapi.GetACP(). encodings._alias_mbcs() now calls
  _winapi.GetACP() to get the ANSI code page
* locale.getpreferredencoding() now returns 'UTF-8' in the UTF-8
  mode. As a side effect, open() now uses the UTF-8 encoding by
  default in this mode.
* Py_DecodeLocale() and Py_EncodeLocale() now use the UTF-8 encoding
  in the UTF-8 Mode.
* Update subprocess._args_from_interpreter_flags() to handle -X utf8
* Skip some tests relying on the current locale if the UTF-8 mode is
  enabled.
* Add test_utf8mode.py.
* _Py_DecodeUTF8_surrogateescape() gets a new optional parameter to
  return also the length (number of wide characters).
* pymain_get_global_config() and pymain_set_global_config() now
  always copy flag values, rather than only copying if the new value
  is greater than the old value.

7 years agobpo-32284: Fix documentation of BinaryIO and TextIO (#4832)
Sebastian Rittau [Wed, 13 Dec 2017 08:39:55 +0000 (09:39 +0100)]
bpo-32284: Fix documentation of BinaryIO and TextIO (#4832)

7 years agoTest atexit shutdown mechanism in a subprocess (#4828)
Antoine Pitrou [Wed, 13 Dec 2017 01:29:07 +0000 (02:29 +0100)]
Test atexit shutdown mechanism in a subprocess (#4828)

* Test atexit shutdown mechanism in a subprocess

7 years agobpo-17852: Revert incorrect fix based on misunderstanding of _Py_PyAtExit() semantics...
Antoine Pitrou [Wed, 13 Dec 2017 00:39:26 +0000 (01:39 +0100)]
bpo-17852: Revert incorrect fix based on misunderstanding of _Py_PyAtExit() semantics (#4826)

7 years agoimport.c: Fix a GCC warning (#4822)
Victor Stinner [Tue, 12 Dec 2017 22:29:28 +0000 (23:29 +0100)]
import.c: Fix a GCC warning (#4822)

Fix the warning:

Python/import.c: warning: comparison between signed and unsigned integer expressions
     if ((i + n + 1) <= PY_SSIZE_T_MAX / sizeof(struct _inittab)) {

7 years agobpo-32101: Fix tests for PYTHONDEVMODE=1 (#4821)
Victor Stinner [Tue, 12 Dec 2017 22:15:00 +0000 (23:15 +0100)]
bpo-32101: Fix tests for PYTHONDEVMODE=1 (#4821)

test_asycio: remove also aio_path which was used when asyncio was
developed outside the stdlib.

7 years agobpo-32230: Set sys.warnoptions with -X dev (#4820)
Victor Stinner [Tue, 12 Dec 2017 21:59:48 +0000 (22:59 +0100)]
bpo-32230: Set sys.warnoptions with -X dev (#4820)

Rather than supporting dev mode directly in the warnings module, this
instead adjusts the initialisation code to add an extra 'default'
entry to sys.warnoptions when dev mode is enabled.

This ensures that dev mode behaves *exactly* as if `-Wdefault` had
been passed on the command line, including in the way it interacts
with `sys.warnoptions`, and with other command line flags like `-bb`.

Fix also bpo-20361: have -b & -bb options take precedence over any
other warnings options.

Patch written by Nick Coghlan, with minor modifications of Victor Stinner.

7 years agoFix improper use of re.escape() in tests. (#4814)
Serhiy Storchaka [Tue, 12 Dec 2017 17:21:50 +0000 (19:21 +0200)]
Fix improper use of re.escape() in tests. (#4814)

7 years agoFix implementation dependent assertion in test_plistlib. (#4813)
Serhiy Storchaka [Tue, 12 Dec 2017 17:03:08 +0000 (19:03 +0200)]
Fix implementation dependent assertion in test_plistlib. (#4813)

It is failed with an advanced optimizer.

7 years agobpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748)
Serhiy Storchaka [Tue, 12 Dec 2017 11:55:04 +0000 (13:55 +0200)]
bpo-32241: Add the const qualifire to declarations of umodifiable strings. (#4748)

7 years agobpo-31942: Document optional support of start and stop attributes in Sequence.index...
Nitish Chandra [Tue, 12 Dec 2017 10:22:30 +0000 (15:52 +0530)]
bpo-31942: Document optional support of start and stop attributes in Sequence.index method (#4277)

7 years agobpo-32255: Always quote a single empty field when write into a CSV file. (#4769)
Licht Takeuchi [Tue, 12 Dec 2017 09:57:06 +0000 (18:57 +0900)]
bpo-32255: Always quote a single empty field when write into a CSV file. (#4769)

This allows to distinguish an empty row from a row consisting of a single empty field.

7 years agoFix small typo in tupleobject.h (#4801)
Chris [Tue, 12 Dec 2017 07:59:30 +0000 (23:59 -0800)]
Fix small typo in tupleobject.h (#4801)

7 years agoFix idlelib comment typos reported by Mike on pull request 4803. (#4807)
Terry Jan Reedy [Tue, 12 Dec 2017 03:59:08 +0000 (22:59 -0500)]
Fix idlelib comment typos reported by Mike on pull request 4803. (#4807)

7 years agobpo-32227: functools.singledispatch supports registering via type annotations (#4733)
Łukasz Langa [Mon, 11 Dec 2017 21:56:31 +0000 (13:56 -0800)]
bpo-32227: functools.singledispatch supports registering via type annotations (#4733)

7 years agobpo-32258: Replace 'yield from' to 'await' in asyncio docs (#4779)
Andrew Svetlov [Mon, 11 Dec 2017 15:35:49 +0000 (17:35 +0200)]
bpo-32258: Replace 'yield from' to 'await' in asyncio docs (#4779)

* Replace 'yield from' to 'await' in asyncio docs

* Fix docstrings

7 years agoAdd asyncio.get_running_loop() function. (#4782)
Yury Selivanov [Mon, 11 Dec 2017 15:07:44 +0000 (10:07 -0500)]
Add asyncio.get_running_loop() function. (#4782)

7 years agobpo-32273: Move asyncio.test_utils to test.test_asyncio (#4785)
Yury Selivanov [Mon, 11 Dec 2017 15:04:40 +0000 (10:04 -0500)]
bpo-32273: Move asyncio.test_utils to test.test_asyncio (#4785)

7 years agobpo-32272: Remove asyncio.async() function. (#4784)
Yury Selivanov [Mon, 11 Dec 2017 15:03:48 +0000 (10:03 -0500)]
bpo-32272: Remove asyncio.async() function. (#4784)

7 years agobpo-22671: Clarify and test default read method implementations (#4568)
Sanyam Khurana [Mon, 11 Dec 2017 13:42:09 +0000 (19:12 +0530)]
bpo-22671: Clarify and test default read method implementations (#4568)

Original patch written by Martin Panter, enhanced by Sanyam Khurana.

7 years agobpo-32252: Fix faulthandler_suppress_crash_report() (#4794)
Victor Stinner [Mon, 11 Dec 2017 12:57:12 +0000 (13:57 +0100)]
bpo-32252: Fix faulthandler_suppress_crash_report() (#4794)

Fix faulthandler_suppress_crash_report() used to prevent core dump files
when testing crashes. getrlimit() returns zero on success.

7 years agobpo-32262: Fix f-string (#4787)
Yury Selivanov [Mon, 11 Dec 2017 00:52:53 +0000 (19:52 -0500)]
bpo-32262: Fix f-string (#4787)

7 years agobpo-32262: Fix codestyle; use f-strings formatting where necessary. (#4775)
Yury Selivanov [Sun, 10 Dec 2017 23:36:12 +0000 (18:36 -0500)]
bpo-32262: Fix codestyle; use f-strings formatting where necessary. (#4775)

7 years agoSkip test_read_pty_output test on macOS for poll and select. (#4774)
Yury Selivanov [Sun, 10 Dec 2017 17:40:19 +0000 (12:40 -0500)]
Skip test_read_pty_output test on macOS for poll and select. (#4774)

Starting with 10.13.2 the test hangs forever.

7 years agobpo-32114: Updated the documentation for get_event_loop to reflect the policy change...
Pablo Galindo [Sun, 10 Dec 2017 17:34:59 +0000 (17:34 +0000)]
bpo-32114: Updated the documentation for get_event_loop to reflect the policy change (#4510)

7 years agoRemoved doubled 'bpo-'. (#4777)
Terry Jan Reedy [Sun, 10 Dec 2017 09:02:53 +0000 (04:02 -0500)]
Removed doubled 'bpo-'. (#4777)

7 years agobpo-31506: Improve the error message logic for class instantiation (GH-4740)
Sanyam Khurana [Sun, 10 Dec 2017 00:14:22 +0000 (05:44 +0530)]
bpo-31506: Improve the error message logic for class instantiation (GH-4740)

The error messages in `object.__new__` and `object.__init__` now aim
to point the user more directly at the name of the class being instantiated
in cases where they *haven't* been overridden (on the assumption that
the actual problem is a missing `__new__` or `__init__` definition in the
class body).

When they *have* been overridden, the errors still report themselves as
coming from object, on the assumption that the problem is with the call
up to the base class in the method implementation, rather than with the
way the constructor is being called.

7 years agobyte swap the raw hash secrets (more bpo-32260) (#4773)
Benjamin Peterson [Sat, 9 Dec 2017 21:11:39 +0000 (13:11 -0800)]
byte swap the raw hash secrets (more bpo-32260) (#4773)

7 years agofix my byte-swapping implementation (#4772)
Benjamin Peterson [Sat, 9 Dec 2017 20:18:56 +0000 (12:18 -0800)]
fix my byte-swapping implementation (#4772)

7 years agobpo-32260: don't byte swap siphash keys (#4771)
Benjamin Peterson [Sat, 9 Dec 2017 19:24:18 +0000 (11:24 -0800)]
bpo-32260: don't byte swap siphash keys (#4771)

Reference siphash takes the keys as a bytes, so it makes sense to byte swap
when reifying the keys as 64-bit integers. However, Python's siphash takes host
integers in to start with.

7 years agocloses bpo-31650: PEP 552 (Deterministic pycs) implementation (#4575)
Benjamin Peterson [Sat, 9 Dec 2017 18:26:52 +0000 (10:26 -0800)]
closes bpo-31650: PEP 552 (Deterministic pycs) implementation (#4575)

Python now supports checking bytecode cache up-to-dateness with a hash of the
source contents rather than volatile source metadata. See the PEP for details.

While a fairly straightforward idea, quite a lot of code had to be modified due
to the pervasiveness of pyc implementation details in the codebase. Changes in
this commit include:

- The core changes to importlib to understand how to read, validate, and
  regenerate hash-based pycs.

- Support for generating hash-based pycs in py_compile and compileall.

- Modifications to our siphash implementation to support passing a custom
  key. We then expose it to importlib through _imp.

- Updates to all places in the interpreter, standard library, and tests that
  manually generate or parse pyc files to grok the new format.

- Support in the interpreter command line code for long options like
  --check-hash-based-pycs.

- Tests and documentation for all of the above.

7 years agobpo-32253: Deprecate with statement and bare await for asyncio locks (GH-4764)
Andrew Svetlov [Sat, 9 Dec 2017 18:00:05 +0000 (20:00 +0200)]
bpo-32253: Deprecate with statement and bare await for asyncio locks (GH-4764)

* Add test for 'with (yield from lock)'
* Deprecate with statement for asyncio locks
* Document the deprecation

7 years agobpo-32212: Updated logging documentation to make parameter names more consistent...
Vinay Sajip [Sat, 9 Dec 2017 11:09:04 +0000 (11:09 +0000)]
bpo-32212: Updated logging documentation to make parameter names more consistent with source. (GH-4765)

7 years agobpo-32193: Convert asyncio to async/await usage (#4753)
Andrew Svetlov [Fri, 8 Dec 2017 22:23:48 +0000 (00:23 +0200)]
bpo-32193: Convert asyncio to async/await usage (#4753)

* Convert asyncio/tasks.py to async/await

* Convert asyncio/queues.py to async/await

* Convert asyncio/test_utils.py to async/await

* Convert asyncio/base_subprocess.py to async/await

* Convert asyncio/subprocess.py to async/await

* Convert asyncio/streams.py to async/await

* Fix comments

* Convert asyncio/locks.py to async/await

* Convert asyncio.sleep to async def

* Add a comment

* Add missing news

* Convert stubs from AbstrctEventLoop to async functions

* Convert subprocess_shell/subprocess_exec

* Convert connect_read_pipe/connect_write_pip to async/await syntax

* Convert create_datagram_endpoint

* Convert create_unix_server/create_unix_connection

* Get rid of old style coroutines in unix_events.py

* Convert selector_events.py to async/await

* Convert wait_closed and create_connection

* Drop redundant line

* Convert base_events.py

* Code cleanup

* Drop redundant comments

* Fix indentation

* Add explicit tests for compatibility between old and new coroutines

* Convert windows event loop to use async/await

* Fix double awaiting of async function

* Convert asyncio/locks.py

* Improve docstring

* Convert tests to async/await

* Convert more tests

* Convert more tests

* Convert more tests

* Convert tests

* Improve test

7 years agobpo-22589 Changed MIME type of .bmp to "image/bmp" (#4756)
Nitish Chandra [Fri, 8 Dec 2017 12:48:44 +0000 (18:18 +0530)]
bpo-22589 Changed MIME type of .bmp to "image/bmp" (#4756)

Per rfc7903 this is the standard MIME type for this file format, and appears as such in the IANA MIME registry.

7 years agoFix missing DECREF of mod. (#4749)
Neil Schemenauer [Fri, 8 Dec 2017 00:24:59 +0000 (16:24 -0800)]
Fix missing DECREF of mod. (#4749)

7 years agoPyLong_FromString(): fix Coverity CID 1424951 (#4738)
Victor Stinner [Thu, 7 Dec 2017 23:06:55 +0000 (00:06 +0100)]
PyLong_FromString(): fix Coverity CID 1424951 (#4738)

Explicitly cast digits (Py_ssize_t) to double to fix the following
false-alarm warning from Coverity:

"fsize_z = digits * log_base_BASE[base] + 1;"

CID 1424951: Incorrect expression (UNINTENDED_INTEGER_DIVISION)
Dividing integer expressions "9223372036854775783UL" and "4UL", and
then converting the integer quotient to type "double". Any remainder,
or fractional part of the quotient, is ignored.

7 years agobpo-32208: update threading.Semaphore docs and add unit test (#4709)
Garrett Berg [Thu, 7 Dec 2017 18:04:26 +0000 (11:04 -0700)]
bpo-32208: update threading.Semaphore docs and add unit test (#4709)

* fix issue32208: update threading.Semaphore docs and add unit test to validate correct behavior

* add test for blocking

* Update threading.rst

* semaphore: remove documentation validation tests and move 'return value' test to BaseSemaphore

7 years agobpo-32199: The getnode() ip getter now uses 'ip link' instead of 'ip link list'...
xdegaye [Thu, 7 Dec 2017 11:59:13 +0000 (12:59 +0100)]
bpo-32199:  The getnode() ip getter now uses 'ip link' instead of 'ip link list' (GH-4696)

7 years agoFix hardcoded value in test_os.py (#4744)
Pablo Galindo [Thu, 7 Dec 2017 06:55:44 +0000 (06:55 +0000)]
Fix hardcoded value in test_os.py (#4744)

7 years agoAllows non-critical upload steps to fail (#4742)
Steve Dower [Wed, 6 Dec 2017 19:33:15 +0000 (11:33 -0800)]
Allows non-critical upload steps to fail (#4742)

7 years agoUse raw strings for regex to avoid invalid escape sequences. (GH-4741)
Eric V. Smith [Wed, 6 Dec 2017 19:00:34 +0000 (14:00 -0500)]
Use raw strings for regex to avoid invalid escape sequences. (GH-4741)

7 years agoModify configure to link with the compiler driver under HP-UX when not using gcc...
Rob Boehne [Wed, 6 Dec 2017 17:58:17 +0000 (11:58 -0600)]
Modify configure to link with the compiler driver under HP-UX when not using gcc. (#2519)

7 years agobpo-32233: Fix build with --with-system-libmpdec. (#4739)
Stefan Krah [Wed, 6 Dec 2017 17:24:17 +0000 (18:24 +0100)]
bpo-32233: Fix build with --with-system-libmpdec. (#4739)

7 years agobpo-32030: Add _PyImport_Fini2() (#4737)
Victor Stinner [Wed, 6 Dec 2017 17:12:59 +0000 (18:12 +0100)]
bpo-32030: Add _PyImport_Fini2() (#4737)

PyImport_ExtendInittab() now uses PyMem_RawRealloc() rather than
PyMem_Realloc(). PyImport_ExtendInittab() can be called before
Py_Initialize() whereas only the PyMem_Raw allocator is supposed to
be used before Py_Initialize().

Add _PyImport_Fini2() to release the memory allocated by
PyImport_ExtendInittab() at exit. PyImport_ExtendInittab() now forces
the usage of the default raw allocator, to be able to release memory
in _PyImport_Fini2().

Don't export these functions anymore to be C API, only to
Py_BUILD_CORE:

* _PyExc_Fini()
* _PyImport_Fini()
* _PyGC_DumpShutdownStats()
* _PyGC_Fini()
* _PyType_Fini()
* _Py_HashRandomization_Fini()

7 years agobpo-25910: Fixes redirection from http to https (#4674)
Sanyam Khurana [Wed, 6 Dec 2017 16:39:33 +0000 (22:09 +0530)]
bpo-25910: Fixes redirection from http to https (#4674)

7 years agobpo-32030: Add pymain_get_global_config() (#4735)
Victor Stinner [Wed, 6 Dec 2017 16:26:10 +0000 (17:26 +0100)]
bpo-32030: Add pymain_get_global_config() (#4735)

* Py_Main() now starts by reading Py_xxx configuration variables to
  only work on its own private structure, and then later writes back
  the configuration into these variables.
* Replace Py_GETENV() with pymain_get_env_var() which ignores empty
  variables.
* Add _PyCoreConfig.dump_refs
* Add _PyCoreConfig.malloc_stats
* _PyObject_DebugMallocStats() is now responsible to check if debug
  hooks are installed. The function returns 1 if stats were written,
  or 0 if the hooks are disabled. Mark _PyMem_PymallocEnabled() as
  static.

7 years agobpo-32030: pass interp to _PyImport_Init() (#4736)
Victor Stinner [Wed, 6 Dec 2017 16:25:50 +0000 (17:25 +0100)]
bpo-32030: pass interp to _PyImport_Init() (#4736)

Remove also the initstr variable, unused since the commit
e69f0df45b709c25ac80617c41bbae16f56870fb pushed in 2012: "bpo-13959:
Re-implement imp.find_module() in Lib/imp.py"

7 years agoBump to 3.7.0a3+
Ned Deily [Wed, 6 Dec 2017 02:06:12 +0000 (21:06 -0500)]
Bump to 3.7.0a3+

7 years agoMerge tag 'v3.7.0a3'
Ned Deily [Wed, 6 Dec 2017 01:57:44 +0000 (20:57 -0500)]
Merge tag 'v3.7.0a3'

7 years agoAdd Guido and Ivan as owners for typing.py (#4729)
Guido van Rossum [Tue, 5 Dec 2017 21:56:39 +0000 (13:56 -0800)]
Add Guido and Ivan as owners for typing.py (#4729)

7 years agoAdd dataclasses to CODEOWNERS. (GH-4730)
Eric V. Smith [Tue, 5 Dec 2017 20:52:19 +0000 (15:52 -0500)]
Add dataclasses to CODEOWNERS. (GH-4730)

7 years agobpo-32030: Simplify _PyCoreConfig_INIT macro (#4728)
Victor Stinner [Tue, 5 Dec 2017 14:12:41 +0000 (15:12 +0100)]
bpo-32030: Simplify _PyCoreConfig_INIT macro (#4728)

* Simplify _PyCoreConfig_INIT, _PyMainInterpreterConfig_INIT,
  _PyPathConfig_INIT macros: no need to set fields to 0/NULL, it's
  redundant (the C language sets them to 0/NULL for us).
* Fix typo: pymain_run_statup() => pymain_run_startup()
* Remove a few XXX/TODO

7 years agoBump to 3.7.0a3 v3.7.0a3
Ned Deily [Tue, 5 Dec 2017 08:27:19 +0000 (03:27 -0500)]
Bump to 3.7.0a3

7 years agoUpdate NEWS and pydoc topics.
Ned Deily [Tue, 5 Dec 2017 08:17:33 +0000 (03:17 -0500)]
Update NEWS and pydoc topics.

7 years agoTidy NEWS entry.
Ned Deily [Tue, 5 Dec 2017 07:45:57 +0000 (02:45 -0500)]
Tidy NEWS entry.

7 years agoAdd a missing space in tkinter documentation. (GH-4692)
Julien Palard [Tue, 5 Dec 2017 05:05:33 +0000 (06:05 +0100)]
Add a missing space in tkinter documentation. (GH-4692)

7 years agobpo-31380: Skip test_httpservers test_undecodable_file on macOS. (#4720)
Ned Deily [Tue, 5 Dec 2017 04:42:02 +0000 (23:42 -0500)]
bpo-31380: Skip test_httpservers test_undecodable_file on macOS. (#4720)

The undecodable file name cannot be created on macOS APFS file systems.

7 years agoUpdate macOS installer to XZ 5.2.3 (#4718)
Ned Deily [Tue, 5 Dec 2017 03:55:20 +0000 (22:55 -0500)]
Update macOS installer to XZ 5.2.3 (#4718)

7 years agobpo-31392: Update macOS installer to use OpenSSL 1.0.2m (#4715)
Ned Deily [Tue, 5 Dec 2017 03:24:41 +0000 (22:24 -0500)]
bpo-31392: Update macOS installer to use OpenSSL 1.0.2m (#4715)

7 years agobpo-19610: Warn if distutils is provided something other than a list to some fields...
Neil Schemenauer [Tue, 5 Dec 2017 02:58:12 +0000 (18:58 -0800)]
bpo-19610: Warn if distutils is provided something other than a list to some fields (#4685)

* Rather than raise TypeError, warn and call list() on the value.

* Fix tests, revise NEWS and whatsnew text.

* Revise documentation, a string is okay as well.

* Ensure 'requires' and 'obsoletes' are real lists.

* Test that requires and obsoletes are turned to lists.

7 years agoEnable SQLite JSON functions for macOS installer build (#4712)
Ned Deily [Tue, 5 Dec 2017 02:50:29 +0000 (21:50 -0500)]
Enable SQLite JSON functions for macOS installer build (#4712)

7 years ago[bpo-28556] Minor fixes for typing module (#4710)
Ivan Levkivskyi [Tue, 5 Dec 2017 02:43:58 +0000 (03:43 +0100)]
[bpo-28556] Minor fixes for typing module (#4710)

7 years agobpo-28791: Update macOS installer to use SQLite 3.21.0. (#4245)
Mariatta [Tue, 5 Dec 2017 02:04:49 +0000 (18:04 -0800)]
bpo-28791: Update macOS installer to use SQLite 3.21.0. (#4245)

7 years agobpo-30928: update idlelib/NEWS.txt. (#4706)
Terry Jan Reedy [Mon, 4 Dec 2017 22:04:15 +0000 (17:04 -0500)]
bpo-30928: update idlelib/NEWS.txt. (#4706)

7 years agobpo-32214: Implement PEP 557: Data Classes (#4704)
Eric V. Smith [Mon, 4 Dec 2017 21:58:55 +0000 (16:58 -0500)]
bpo-32214: Implement PEP 557: Data Classes (#4704)

7 years agobpo-32207: Improve tk event exception tracebacks in IDLE. (#4703)
Terry Jan Reedy [Mon, 4 Dec 2017 21:16:18 +0000 (16:16 -0500)]
bpo-32207: Improve tk event exception tracebacks in IDLE. (#4703)

When tk event handling is driven by IDLE's run loop, a confusing
and distracting queue.EMPTY traceback context is no longer added
to tk event exception tracebacks.  The traceback is now the same
as when event handling is driven by user code.  Patch based on
a suggestion by Serhiy Storchaka.

7 years agobpo-30928: Update idlelib/NEWS.txt to 2017 Dec 3. (#4701)
Terry Jan Reedy [Mon, 4 Dec 2017 19:48:25 +0000 (14:48 -0500)]
bpo-30928: Update idlelib/NEWS.txt to 2017 Dec 3. (#4701)

Patches are in 3.7.0a3 even if this update is not.

7 years agoRevert "bpo-32197: Try to fix a compiler error on OS X introduced in bpo-32030. ...
Victor Stinner [Mon, 4 Dec 2017 12:39:15 +0000 (13:39 +0100)]
Revert "bpo-32197: Try to fix a compiler error on OS X introduced in bpo-32030. (#4681)" (#4694)

* Revert "bpo-32197: Try to fix a compiler error on OS X introduced in bpo-32030. (#4681)"

This reverts commit 13badcbc60cdbfae1dba1683fd2fae9d70717143.

Re-apply commits:

* "bpo-32030: _PyPathConfig_Init() sets home and program_name (#4673)"
  commit af5a895073c24637c094772b27526b94a12ec897.
* "bpo-32030: Fix config_get_program_name() on macOS (#4669)"
  commit e23c06e2b03452c9aaf0dae52296c85e572f9bcd.
* "bpo-32030: Add Python/pathconfig.c (#4668)"
  commit 0ea395ae964c9cd0f499e2ef0d0030c971201220.
* "bpo-32030: Don't call _PyPathConfig_Fini() in Py_FinalizeEx() (#4667)"
  commit ebac19dad6263141d5db0a2c923efe049dba99d2.
* "bpo-32030: Fix Py_GetPath(): init program_name (#4665)"
  commit 9ac3d8882712c9675c3d2f9f84af6b5729575cde.

* Fix compilation error on macOS

7 years agobpo-25054, bpo-1647489: Added support of splitting on zerowidth patterns. (#4471)
Serhiy Storchaka [Mon, 4 Dec 2017 12:29:05 +0000 (14:29 +0200)]
bpo-25054, bpo-1647489: Added support of splitting on zerowidth patterns. (#4471)

Also fixed searching patterns that could match an empty string.

7 years agoFix a regression in uuid added in bpo-32107. (#4677)
Serhiy Storchaka [Mon, 4 Dec 2017 09:51:55 +0000 (11:51 +0200)]
Fix a regression in uuid added in bpo-32107. (#4677)

uuid.get_node() always must return a stable result.
Also added a test for non-reproducibility of _random_getnode().
Original patch by Xavier de Gaye.

7 years agobpo-27240 Rewrite the email header folding algorithm. (#3488)
R. David Murray [Sun, 3 Dec 2017 23:51:41 +0000 (18:51 -0500)]
bpo-27240 Rewrite the email header folding algorithm. (#3488)

The original algorithm tried to delegate the folding to the tokens so
that those tokens whose folding rules differed could specify the
differences.  However, this resulted in a lot of duplicated code because
most of the rules were the same.

The new algorithm moves all folding logic into a set of functions
external to the token classes, but puts the information about which
tokens can be folded in which ways on the tokens...with the exception of
mime-parameters, which are a special case (which was not even
implemented in the old folder).

This algorithm can still probably be improved and hopefully simplified
somewhat.

Note that some of the test expectations are changed.  I believe the
changes are toward more desirable and consistent behavior: in general
when (re) folding a line the canonical version of the tokens is
generated, rather than preserving errors or extra whitespace.

7 years agobpo-31619: Fixed integer overflow in converting huge strings to int. (#3884)
Serhiy Storchaka [Sun, 3 Dec 2017 20:16:21 +0000 (22:16 +0200)]
bpo-31619: Fixed integer overflow in converting huge strings to int. (#3884)

7 years agobpo-32137: The repr of deeply nested dict now raises a RecursionError (#4570)
Serhiy Storchaka [Sun, 3 Dec 2017 20:12:11 +0000 (22:12 +0200)]
bpo-32137: The repr of deeply nested dict now raises a RecursionError (#4570)

instead of crashing due to a stack overflow.

This perhaps will fix similar problems in other extension types.

7 years agoRefactor PyImport_ImportModuleLevelObject(). (#4680)
Neil Schemenauer [Sun, 3 Dec 2017 17:26:03 +0000 (09:26 -0800)]
Refactor PyImport_ImportModuleLevelObject(). (#4680)

Add import_find_and_load() helper function.  The addition of
the importtime option has made PyImport_ImportModuleLevelObject() large
and so using a helper seems worthwhile.  It also makes it clearer that
abs_name is the only argument needed by _find_and_load().

7 years agobpo-32176: Set CO_NOFREE in the code object constructor (GH-4675)
Nick Coghlan [Sun, 3 Dec 2017 01:12:20 +0000 (11:12 +1000)]
bpo-32176: Set CO_NOFREE in the code object constructor (GH-4675)

Previously, CO_NOFREE was set in the compiler, which meant
it could end up being set incorrectly when code objects
were created directly. Setting it in the constructor based
on freevars and cellvars ensures it is always accurate,
regardless of how the code object is defined.