Andrew Svetlov [Sat, 30 Dec 2017 16:52:56 +0000 (18:52 +0200)]
bpo-32418: Postfix, raise NotImplementdError and close resources in tests (#5052)
bpo-32418: Add get_loop() method on Server, AbstractServer classes (#4997)
* Add abstract get_loop() method to Server, AbstractServer classes.
* Add test cases for get_loop() method in Server, AbstractServer classes
* Add documentation for get_loop() method
Andrew Svetlov [Sat, 30 Dec 2017 13:40:27 +0000 (15:40 +0200)]
Fix typo (#5049)
Serhiy Storchaka [Sat, 30 Dec 2017 07:47:42 +0000 (09:47 +0200)]
bpo-32439: Clean up the code for compiling comparison expressions. (#5029)
Yury Selivanov [Sat, 30 Dec 2017 05:35:36 +0000 (00:35 -0500)]
bpo-23749: Implement loop.start_tls() (#5039)
Benjamin Peterson [Fri, 29 Dec 2017 21:13:06 +0000 (13:13 -0800)]
return the new file descriptor from os.dup2 (closes bpo-32441) (#5041)
Eric V. Smith [Fri, 29 Dec 2017 18:59:58 +0000 (13:59 -0500)]
bpo-32427: Expose dataclasses.MISSING object. (#5045)
Benjamin Peterson [Fri, 29 Dec 2017 07:24:40 +0000 (23:24 -0800)]
remove unused import (#5040)
Benjamin Peterson [Fri, 29 Dec 2017 01:54:12 +0000 (17:54 -0800)]
make PatternCompiler use the packaged grammar if possible (more bpo-24960) (#5034)
oldk [Thu, 28 Dec 2017 14:37:46 +0000 (22:37 +0800)]
bpo-32440: Update the docs URL to https in help() (GH-5030)
In pydoc.py, the reference to Python' documentation was in http.
The link has been updated to use https.
gfyoung [Thu, 28 Dec 2017 08:28:25 +0000 (00:28 -0800)]
Fix minor spelling error in test_sys_settrace.py. (#5025)
Serhiy Storchaka [Tue, 26 Dec 2017 22:38:56 +0000 (00:38 +0200)]
bpo-32416: Refactor tests for the f_lineno setter and add new tests. (#4991)
Serhiy Storchaka [Tue, 26 Dec 2017 10:30:41 +0000 (12:30 +0200)]
bpo-32259: Make a TypeError message when unpack non-iterable more specific. (#4903)
Andrew Svetlov [Tue, 26 Dec 2017 09:53:38 +0000 (11:53 +0200)]
bpo-26133: Fix typos (#5010)
* Fix typos
* Change warning text
* Add test
Yury Selivanov [Mon, 25 Dec 2017 21:16:10 +0000 (16:16 -0500)]
bpo-31721: Allow Future._log_traceback to only be set to False (#5009)
INADA Naoki [Mon, 25 Dec 2017 17:03:24 +0000 (02:03 +0900)]
bpo-32422: Reduce lru_cache memory usage (GH-5008)
Yury Selivanov [Mon, 25 Dec 2017 15:48:15 +0000 (10:48 -0500)]
bpo-32363: Disable Task.set_exception() and Task.set_result() (#4923)
Serhiy Storchaka [Mon, 25 Dec 2017 10:47:50 +0000 (12:47 +0200)]
bpo-32372: Move __debug__ optimization to the AST level. (#4925)
Serhiy Storchaka [Mon, 25 Dec 2017 00:08:42 +0000 (02:08 +0200)]
bpo-29084: Exclude C API for OrderedDict from the limited C API. (#4900)
Andrew Svetlov [Sun, 24 Dec 2017 11:50:03 +0000 (13:50 +0200)]
bpo-26133: Clear signals list on interpreter finalizing (#5002)
INADA Naoki [Sun, 24 Dec 2017 01:29:19 +0000 (10:29 +0900)]
bpo-32402: io: Add missing NULL check. (GH-4971)
_PyUnicode_FromId() may return NULL.
Reported by coverity scan: CID
1426868,
1426867.
Yury Selivanov [Sat, 23 Dec 2017 21:29:26 +0000 (16:29 -0500)]
bpo-32415: Fix "error is already set" (#4999)
Andrew Svetlov [Sat, 23 Dec 2017 21:03:27 +0000 (23:03 +0200)]
Fix check for run_in_executor on closed loop. (#4996)
Yury Selivanov [Sat, 23 Dec 2017 20:42:27 +0000 (15:42 -0500)]
bpo-32415: Add more tests (#4995)
Andrew Svetlov [Sat, 23 Dec 2017 20:06:46 +0000 (22:06 +0200)]
bpo-32357: Use PySet_GET_SIZE macro in _is_coroutine() from _asynciomodule.c (#4990)
Yury Selivanov [Sat, 23 Dec 2017 20:04:15 +0000 (15:04 -0500)]
bpo-32415: Add asyncio.Task.get_loop() and Future.get_loop() (#4992)
Yury Selivanov [Sat, 23 Dec 2017 17:44:29 +0000 (12:44 -0500)]
bpo-32357: Fix tests in refleak mode (#4989)
Mariatta [Sat, 23 Dec 2017 07:39:03 +0000 (23:39 -0800)]
bpo-26439: Convert %s in Lib/ctypes/_aix.py to f-strings. (GH-4986)
Benjamin Peterson [Sat, 23 Dec 2017 04:48:13 +0000 (20:48 -0800)]
correct wording (#4983)
Benjamin Peterson [Fri, 22 Dec 2017 20:18:33 +0000 (12:18 -0800)]
bpo-24960: use pkgutil.get_data in lib2to3 to read pickled grammar files (#4977)
This is more complicated than it should be because we need to preserve the
useful mtime-based regeneration feature that lib2to3.pgen2.driver.load_grammar
has. We only look for the pickled grammar file with pkgutil.get_data and only if
the source file does not exist.
Benjamin Peterson [Fri, 22 Dec 2017 05:43:09 +0000 (21:43 -0800)]
remove the dynload_next.c file (closes bpo-32386) (#4957)
Victor Stinner [Thu, 21 Dec 2017 23:09:26 +0000 (00:09 +0100)]
bpo-29240: Skip test_readline.test_nonascii() (#4968)
Skip the test which fails on FreeBSD with POSIX locale.
Skip the test to fix FreeBSD buildbots, until a fix can be found, so
the buildbots can catch other regressions.
Victor Stinner [Thu, 21 Dec 2017 23:05:05 +0000 (00:05 +0100)]
bpo-20891: Skip test_embed.test_bpo20891() (#4967)
Skip the test failing randomly because of known race condition.
Skip the test to fix macOS buildbots until a decision is made on the
proper fix for the race condition.
Victor Stinner [Thu, 21 Dec 2017 15:49:13 +0000 (16:49 +0100)]
bpo-32030: Add _Py_FindEnvConfigValue() (#4963)
Add a new _Py_FindEnvConfigValue() function: code shared between
Windows and Unix implementations of _PyPathConfig_Calculate() to read
the pyenv.cfg file.
_Py_FindEnvConfigValue() now uses _Py_DecodeUTF8_surrogateescape()
instead of using a Python Unicode string, the Python API must not be
used early during Python initialization. Same change in Unix
search_for_exec_prefix(): use _Py_DecodeUTF8_surrogateescape().
Cleanup also encode_current_locale(): PyMem_RawFree/PyMem_Free can be
called with NULL.
Fix also "NUL byte" => "NULL byte" typo.
Victor Stinner [Thu, 21 Dec 2017 15:20:32 +0000 (16:20 +0100)]
bpo-32030: Add _Py_EncodeLocaleRaw() (#4961)
Replace Py_EncodeLocale() with _Py_EncodeLocaleRaw() in:
* _Py_wfopen()
* _Py_wreadlink()
* _Py_wrealpath()
* _Py_wstat()
* pymain_open_filename()
These functions are called early during Python intialization, only
the RAW memory allocator must be used.
Andrew Svetlov [Thu, 21 Dec 2017 15:06:46 +0000 (17:06 +0200)]
bpo-26133: Dont unsubscribe signals in UNIX even loop on interpreter shutdown (#4956)
Victor Stinner [Thu, 21 Dec 2017 14:45:16 +0000 (15:45 +0100)]
bpo-32030: Add _Py_EncodeUTF8_surrogateescape() (#4960)
Py_EncodeLocale() now uses _Py_EncodeUTF8_surrogateescape(), instead
of using temporary unicode and bytes objects. So Py_EncodeLocale()
doesn't use the Python C API anymore.
Коренберг Марк [Thu, 21 Dec 2017 12:16:17 +0000 (17:16 +0500)]
bpo-32323: urllib.parse.urlsplit() must not lowercase() IPv6 scope value (#4867)
Sebastian Pucilowski [Thu, 21 Dec 2017 09:00:49 +0000 (20:00 +1100)]
Fix trivial typo in pickle.rst (#4955)
Paul Ganssle [Thu, 21 Dec 2017 05:33:49 +0000 (00:33 -0500)]
bpo-15873: Implement [date][time].fromisoformat (#4699)
Closes bpo-15873.
INADA Naoki [Thu, 21 Dec 2017 00:59:53 +0000 (09:59 +0900)]
bpo-15216: io: TextIOWrapper.reconfigure() accepts encoding, errors and newline (GH-2343)
Victor Stinner [Wed, 20 Dec 2017 22:41:38 +0000 (23:41 +0100)]
bpo-32030: Fix usage of memory allocators (#4953)
* _Py_InitializeCore() doesn't call _PyMem_SetupAllocators() anymore
if the PYTHONMALLOC environment variable is not set.
* pymain_cmdline() now sets the allocator to the default, instead of
setting the allocator in subfunctions.
* Py_SetStandardStreamEncoding() now calls
_PyMem_SetDefaultAllocator() to get a known allocator, to be able
to release the memory with the same allocator.
correct the typos (#4950)
Victor Stinner [Wed, 20 Dec 2017 18:36:46 +0000 (19:36 +0100)]
bpo-32030: Complete _PyCoreConfig_Read() (#4946)
* Add _PyCoreConfig.install_signal_handlers
* Remove _PyMain.config: _PyMainInterpreterConfig usage is now
restricted to pymain_init_python_main().
* Rename _PyMain.core_config to _PyMain.config
* _PyMainInterpreterConfig_Read() now creates the xoptions dictionary
from the core config
* Fix _PyMainInterpreterConfig_Read(): don't replace xoptions and
argv if they are already set.
Andrew Svetlov [Wed, 20 Dec 2017 18:24:43 +0000 (20:24 +0200)]
bpo-29970: Make ssh_handshake_timeout None by default (#4939)
* Make ssh_handshake_timeout None by default.
* Raise ValueError if ssl_handshake_timeout is used without ssl.
* Raise ValueError if ssl_handshake_timeout is not positive.
Antoine Pitrou [Wed, 20 Dec 2017 18:06:20 +0000 (19:06 +0100)]
bpo-32306: Clarify c.f.Executor.map() documentation (#4947)
The built-in map() function collects function arguments lazily, but concurrent.futures.Executor.map() does so eagerly.
Serhiy Storchaka [Wed, 20 Dec 2017 17:21:02 +0000 (19:21 +0200)]
bpo-32385: Clean up the C3 MRO algorithm implementation. (#4942)
Use tuples and raw arrays instead of lists.
Victor Stinner [Wed, 20 Dec 2017 17:00:19 +0000 (18:00 +0100)]
bpo-32030: Add _PyCoreConfig.warnoptions (#4936)
Merge _PyCoreConfig_ReadEnv() into _PyCoreConfig_Read(), and
_Py_CommandLineDetails usage is now restricted to pymain_cmdline().
Changes:
* _PyCoreConfig: Add nxoption, xoptions, nwarnoption and warnoptions
* Add _PyCoreConfig.program: argv[0] or ""
* Move filename, command, module and xoptions from
_Py_CommandLineDetails to _PyMain. xoptions _Py_OptList becomes
(int, wchar_t**) list.
* Add pymain_cmdline() function
* Rename copy_argv() to copy_wstrlist(). Rename clear_argv() to
clear_wstrlist(). Remove _Py_OptList structure: use (int,
wchar_t**) list instead.
* Rename pymain_set_flag_from_env() to pymain_get_env_flag()
* Rename pymain_set_flags_from_env() to pymain_get_env_flags()
* _PyMainInterpreterConfig_Read() now creates the warnoptions from
_PyCoreConfig.warnoptions
* Inline pymain_add_warning_dev_mode() and
pymain_add_warning_bytes_flag() into config_init_warnoptions()
* Inline pymain_get_program_name() into _PyCoreConfig_Read()
* _Py_CommandLineDetails: Replace warning_options with nwarnoption
and warnoptions. Replace env_warning_options with nenv_warnoption
and env_warnoptions.
* pymain_warnings_envvar() now has a single implementation for
Windows and Unix: use config_get_env_var_dup() to also get the
variable as wchar_t* on Unix.
Antoine Pitrou [Wed, 20 Dec 2017 14:58:21 +0000 (15:58 +0100)]
bpo-32379: Faster MRO computation for single inheritance (#4932)
* bpo-32379: Faster MRO computation for single inheritance
Marcel Plch [Wed, 20 Dec 2017 10:17:58 +0000 (11:17 +0100)]
bpo-31901: atexit callbacks should be run at subinterpreter shutdown (#4611)
Change atexit behavior and PEP-489 multiphase init support.
Victor Stinner [Wed, 20 Dec 2017 00:41:59 +0000 (01:41 +0100)]
bpo-32030: Cleanup pymain_main() (#4935)
* Reorganize pymain_main() to make the code more flat
* Clear configurations before pymain_update_sys_path()
* Mark Py_FatalError() and _Py_FatalInitError() with _Py_NO_RETURN
* Replace _PyMain.run_code variable with a new RUN_CODE() macro
* Move _PyMain.cf into a local variable in pymain_run_python()
Victor Stinner [Tue, 19 Dec 2017 22:48:17 +0000 (23:48 +0100)]
bpo-32030: Add _PyCoreConfig.argv (#4934)
* Add argc and argv to _PyCoreConfig
* _PyMainInterpreterConfig_Read() now builds its argv from
_PyCoreConfig.arg
* Move _PyMain.env_warning_options into _Py_CommandLineDetails
* Reorder pymain_free()
KatherineMichel [Tue, 19 Dec 2017 21:03:09 +0000 (15:03 -0600)]
Improve the F-strings and format specifier documentation (GH-4931)
Mention that the format-specifier mini language in f-strings
is the same one used by str.format.
Neil Aspinall [Tue, 19 Dec 2017 19:45:42 +0000 (19:45 +0000)]
bpo-29970: Add timeout for SSL handshake in asyncio
10 seconds by default.
Antoine Pitrou [Tue, 19 Dec 2017 18:48:45 +0000 (19:48 +0100)]
bpo-32377: improve __del__ docs and fix mention about resurrection (#4927)
* Fix #32377: improve __del__ docs and fix mention about resurrection
* Mention that CPython only calls __del__ once.
Zackery Spytz [Tue, 19 Dec 2017 18:48:13 +0000 (11:48 -0700)]
Fix GCC warning in _asynciomodule.c (#4928)
Michael Felt [Tue, 19 Dec 2017 12:58:49 +0000 (13:58 +0100)]
bpo-26439 Fix ctypes.util.find_library failure on AIX (#4507)
Implement find_library() support in ctypes/util for AIX.
Add some AIX specific tests.
Julien Duponchelle [Tue, 19 Dec 2017 12:23:17 +0000 (13:23 +0100)]
bpo-29711: Fix stop_serving in proactor loop kill all listening servers (#431)
Yury Selivanov [Tue, 19 Dec 2017 12:19:53 +0000 (07:19 -0500)]
bpo-32355: Optimize asyncio.gather() (#4913)
Yury Selivanov [Tue, 19 Dec 2017 12:18:45 +0000 (07:18 -0500)]
bpo-32357: Optimize asyncio.iscoroutine() for non-native coroutines (#4915)
Yury Selivanov [Tue, 19 Dec 2017 11:44:37 +0000 (06:44 -0500)]
bpo-27456: Simplify sock type checks (#4922)
Recent sock.type fix (see bug 32331) makes sock.type checks simpler
in asyncio.
Victor Stinner [Tue, 19 Dec 2017 10:35:58 +0000 (11:35 +0100)]
bpo-32030: Fix compiler warnings (#4921)
Fix compiler warnings in Py_FinalizeEx(): only define variables if
they are needed, add #ifdef.
Other cleanup changes:
* _PyWarnings_InitWithConfig() is no more needed: call
_PyWarnings_Init() instead.
* Inline pymain_init_main_interpreter() in its caller. This
subfunction is no more justifed.
Andrew Svetlov [Tue, 19 Dec 2017 06:51:16 +0000 (08:51 +0200)]
Improve test coverage (#4924)
Yury Selivanov [Tue, 19 Dec 2017 01:02:54 +0000 (20:02 -0500)]
bpo-32331: Fix socket.type when SOCK_NONBLOCK is available (#4877)
Victor Stinner [Mon, 18 Dec 2017 22:42:55 +0000 (23:42 +0100)]
bpo-32030: Fix compilation on FreeBSD, #include <fenv.h> (#4919)
* main.c: add missing #include <fenv.h> on FreeBSD
* indent also other #ifdef in main.c
* cleanup Programs/python.c
Yury Selivanov [Mon, 18 Dec 2017 22:03:23 +0000 (17:03 -0500)]
bpo-32356: idempotent pause_/resume_reading; new is_reading method. (#4914)
izbyshev [Mon, 18 Dec 2017 20:26:49 +0000 (03:26 +0700)]
bpo-32369: test_subprocess: Fix pass_fds check in test_close_fds() (#4920)
The last part of test_close_fds() doesn't match its own comment.
The following assertion always holds because fds_to_keep and open_fds
are disjoint by construction.
self.assertFalse(remaining_fds & fds_to_keep & open_fds,
"Some fds not in pass_fds were left open")
Fix the code to match the message in the assertion.
Andrew Svetlov [Mon, 18 Dec 2017 16:20:42 +0000 (18:20 +0200)]
Add @asvetlov to asyncio codeowners (#4917)
Serhiy Storchaka [Mon, 18 Dec 2017 12:29:12 +0000 (14:29 +0200)]
bpo-32365: Fix a reference leak when compile __debug__. (#4916)
It was introduced in bpo-27169.
Segev Finer [Mon, 18 Dec 2017 09:28:19 +0000 (11:28 +0200)]
bpo-19764: Implemented support for subprocess.Popen(close_fds=True) on Windows (#1218)
Even though Python marks any handles it opens as non-inheritable there
is still a race when using `subprocess.Popen` since creating a process
with redirected stdio requires temporarily creating inheritable handles.
By implementing support for `subprocess.Popen(close_fds=True)` we fix
this race.
In order to implement this we use PROC_THREAD_ATTRIBUTE_HANDLE_LIST
which is available since Windows Vista. Which allows to pass an explicit
list of handles to inherit when creating a process.
This commit also adds `STARTUPINFO.lpAttributeList["handle_list"]`
which can be used to control PROC_THREAD_ATTRIBUTE_HANDLE_LIST
directly.
INADA Naoki [Mon, 18 Dec 2017 06:52:54 +0000 (15:52 +0900)]
bpo-29469: peephole: Remove const_stack (GH-4879)
Constant folding was moved to AST optimizer.
But compiler may emit LOAD_CONSTs + BUILD_TUPLE.
For example, default arguments can be constant tuple
if all arguments are constant.
This commit makes peephole's tuple folding simple.
It doesn't support nested tuples because nested
tuples are folded by AST optimizer already.
Nathaniel J. Smith [Mon, 18 Dec 2017 04:10:18 +0000 (20:10 -0800)]
bpo-30050: Allow disabling full buffer warnings in signal.set_wakeup_fd (#4792)
Yury Selivanov [Mon, 18 Dec 2017 01:19:47 +0000 (20:19 -0500)]
bpo-32348: Optimize asyncio.Future schedule/add/remove callback. (#4907)
Benjamin Peterson [Sun, 17 Dec 2017 18:34:00 +0000 (10:34 -0800)]
add 'extern' to pygetopt.h symbols, so then don't end up in comdat (#4909)
bpo-32264
Andrew Svetlov [Sun, 17 Dec 2017 14:41:30 +0000 (16:41 +0200)]
bpo-32351: Use fastpath in asyncio.sleep if delay<0 (#4908)
* Use fastpath in asyncio.sleep if delay<0
* Add NEWS entry
Andrew Svetlov [Sat, 16 Dec 2017 19:58:38 +0000 (21:58 +0200)]
bpo-32250: Implement asyncio.current_task() and asyncio.all_tasks() (#4799)
Andrew Svetlov [Sat, 16 Dec 2017 19:08:05 +0000 (21:08 +0200)]
Fix PyObject_Hash signature in comment (#4905)
Serhiy Storchaka [Sat, 16 Dec 2017 09:25:56 +0000 (11:25 +0200)]
Add tests for using PEP560 with classes implemented in C. (#4883)
Based on tests from #4878
Nick Coghlan [Sat, 16 Dec 2017 08:51:19 +0000 (21:51 +1300)]
bpo-32002: Refactor C locale coercion tests (GH-4369)
Exactly which locale requests will end up giving
you the "C" locale is actually platform dependent.
A blank locale and "POSIX" will translate to "C"
on most Linux distros, but may not do so on other platforms, so this adjusts the way the tests are structured to better account for that.
This is an initial step towards fixing the current
test failure on Cygwin (hence the issue reference)
Benjamin Peterson [Sat, 16 Dec 2017 07:42:33 +0000 (23:42 -0800)]
fix up signedness in PyImport_ExtendInittab (#4831)
As a result of
92a3c6f493ad411e4cf0acdf305ef4876aa90669, the compiler complains:
Python/import.c:2311:21: warning: comparison of integers of different signs: 'long' and 'unsigned long' [-Wsign-compare]
if ((i + n + 1) <= PY_SSIZE_T_MAX / sizeof(struct _inittab)) {
~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This overflow is extremely unlikely to happen, but let's avoid undefined
behavior anyway.
Victor Stinner [Sat, 16 Dec 2017 03:54:22 +0000 (04:54 +0100)]
bpo-29240, bpo-32030: Py_Main() re-reads config if encoding changes (#4899)
bpo-29240, bpo-32030: If the encoding change (C locale coerced or
UTF-8 Mode changed), Py_Main() now reads again the configuration with
the new encoding.
Changes:
* Add _Py_UnixMain() called by main().
* Rename pymain_free_pymain() to pymain_clear_pymain(), it can now be
called multipled times.
* Rename pymain_parse_cmdline_envvars() to pymain_read_conf().
* Py_Main() now clears orig_argc and orig_argv at exit.
* Remove argv_copy2, Py_Main() doesn't modify argv anymore. There is
no need anymore to get two copies of the wchar_t** argv.
* _PyCoreConfig: add coerce_c_locale and coerce_c_locale_warn.
* Py_UTF8Mode is now initialized to -1.
* Locale coercion (PEP 538) now respects -I and -E options.
Yury Selivanov [Sat, 16 Dec 2017 00:32:25 +0000 (19:32 -0500)]
bpo-27456: Ensure TCP_NODELAY is set on linux (#4231)
Brett Cannon [Sat, 16 Dec 2017 00:29:35 +0000 (16:29 -0800)]
bpo-32248: Implement importlib.abc.ResourceReader (GH-4892)
Victor Stinner [Fri, 15 Dec 2017 22:06:17 +0000 (23:06 +0100)]
bpo-29240: Don't define decode_locale() on macOS (#4895)
Don't define decode_locale() nor encode_locale() on macOS or Android.
Raymond Hettinger [Fri, 15 Dec 2017 21:17:55 +0000 (13:17 -0800)]
Minor wording tweak for itertools documentation (#4893)
Mariatta [Fri, 15 Dec 2017 18:07:01 +0000 (10:07 -0800)]
F-strings docs: link to Format Specifiers (GH-4888)
Link to the Format Specification Mini Language section from f-strings' documentation.
Victor Stinner [Fri, 15 Dec 2017 15:29:24 +0000 (16:29 +0100)]
bpo-32294: Fix multiprocessing test_semaphore_tracker() (#4885)
Run the child process with -E option to ignore the PYTHONWARNINGS
environment variable.
Victor Stinner [Fri, 15 Dec 2017 15:29:01 +0000 (16:29 +0100)]
bpo-32329: Add versionchanged to -R option doc (#4884)
Serhiy Storchaka [Fri, 15 Dec 2017 12:13:41 +0000 (14:13 +0200)]
bpo-32265: Classify class and static methods of builtin types. (#4776)
Add types.ClassMethodDescriptorType for unbound class methods.
Serhiy Storchaka [Fri, 15 Dec 2017 12:11:43 +0000 (14:11 +0200)]
bpo-30416: Protect the optimizer during constant folding. (#4860)
It no longer spends much time doing complex calculations and no
longer consumes much memory for creating large constants that will
be dropped later.
This fixes also bpo-21074.
Serhiy Storchaka [Fri, 15 Dec 2017 11:11:11 +0000 (13:11 +0200)]
bpo-32240: Add the const qualifier to declarations of PyObject* array arguments. (#4746)
Serhiy Storchaka [Fri, 15 Dec 2017 10:35:48 +0000 (12:35 +0200)]
bpo-27169: The __debug__ constant is now optimized out at compile time. (#4880)
This fixes also bpo-22091.
Ville Skyttä [Fri, 15 Dec 2017 10:19:23 +0000 (12:19 +0200)]
bpo-28393: Update encoding lookup docs wrt bpo-27938 (#4871)
Benjamin Peterson [Fri, 15 Dec 2017 07:48:12 +0000 (23:48 -0800)]
move pygetopt.h to internal (closes bpo-32264) (#4830)
Andrew Svetlov [Fri, 15 Dec 2017 05:04:38 +0000 (07:04 +0200)]
bpo-32311: Implement asyncio.create_task() shortcut (#4848)
* Implement functionality
* Add documentation
Yury Selivanov [Fri, 15 Dec 2017 01:53:26 +0000 (20:53 -0500)]
bpo-32327: Convert asyncio functions documented as coroutines to coroutines. (#4872)
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
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()
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.
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>