Staging
v0.5.1
https://github.com/python/cpython

sort by:
Revision Author Date Message Commit Date
811b287 Ignore importlib.h for automatic review requests from the import team. (GH-5087) Otherwise the import team gets flagged for reviews any time the bytecode for importlib.h changes (e.g new bytecode, optimizations, etc.). 03 January 2018, 19:32:22 UTC
f190eb5 bpo-32452: clarify term 'brackets' in generator tutorial (#5079) Updates documentation for generator expressions in classes tutorial: Clarify usage of ambiguous term "brackets" by replacing with "square brackets". Updated subsequent lines to respect line breaks. (#5079) 02 January 2018, 01:34:53 UTC
7cc42c3 bpo-32478: Add tests for 'break' and 'return' inside 'finally' clause. (#5078) 02 January 2018, 00:38:35 UTC
e8ed965 bpo-32416: Add two new tests in test_sys_settrace. (#5072) Move other test to more proper place. 01 January 2018, 17:39:38 UTC
1470914 bpo-32468: Better frame repr() (#5067) bpo-32468: Better frame repr() 31 December 2017, 21:35:22 UTC
0a37a30 closes bpo-32460: ensure all non-static globals have initializers (#5061) 31 December 2017, 18:04:13 UTC
6c6d3a4 Add missing backslashes in PCbuild bat files (GH-5056) 30 December 2017, 23:17:36 UTC
0d3ccb4 bpo-32399: Starting with AIX6.1 there is support in libc.a for uuid (RFC4122) (#4974) Starting with AIX6.1 there is support in libc.a for uuid (RFC4122) This patch provides the changes needed for this integration with the OS. On AIX the base function is uuid_create() rather than uuid_generate_time() The AIX uuid_t typedef is more aligned to the UUID field based definition while the Linux typedef that is more aligned with UUID bytes (or perhaps UUID bytes_le) definitions. 30 December 2017, 21:39:20 UTC
0c36bed bpo-32458: Temporarily mask start-tls proactor test on Windows (#5054) 30 December 2017, 20:40:20 UTC
deae6b4 bpo-32248 - Implement importlib.resources (#4911) Port importlib_resources to importlib.resources 30 December 2017, 20:18:06 UTC
ffcb4c0 bpo-32418: Postfix, raise NotImplementdError and close resources in tests (#5052) 30 December 2017, 16:52:56 UTC
1634fc2 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 30 December 2017, 15:09:32 UTC
fc35932 Fix typo (#5049) 30 December 2017, 13:40:27 UTC
02b9ef2 bpo-32439: Clean up the code for compiling comparison expressions. (#5029) 30 December 2017, 07:47:42 UTC
f111b3d bpo-23749: Implement loop.start_tls() (#5039) 30 December 2017, 05:35:36 UTC
bbdb17d return the new file descriptor from os.dup2 (closes bpo-32441) (#5041) 29 December 2017, 21:13:06 UTC
03220fd bpo-32427: Expose dataclasses.MISSING object. (#5045) 29 December 2017, 18:59:58 UTC
e325608 remove unused import (#5040) 29 December 2017, 07:24:40 UTC
e5f7dcc make PatternCompiler use the packaged grammar if possible (more bpo-24960) (#5034) 29 December 2017, 01:54:12 UTC
e5681b9 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. 28 December 2017, 14:37:46 UTC
531dd7e Fix minor spelling error in test_sys_settrace.py. (#5025) 28 December 2017, 08:28:25 UTC
53f9135 bpo-32416: Refactor tests for the f_lineno setter and add new tests. (#4991) 26 December 2017, 22:38:56 UTC
13a6c09 bpo-32259: Make a TypeError message when unpack non-iterable more specific. (#4903) 26 December 2017, 10:30:41 UTC
a8f4e15 bpo-26133: Fix typos (#5010) * Fix typos * Change warning text * Add test 26 December 2017, 09:53:38 UTC
e0aef4f bpo-31721: Allow Future._log_traceback to only be set to False (#5009) 25 December 2017, 21:16:10 UTC
3070b71 bpo-32422: Reduce lru_cache memory usage (GH-5008) 25 December 2017, 17:03:24 UTC
0cf16f9 bpo-32363: Disable Task.set_exception() and Task.set_result() (#4923) 25 December 2017, 15:48:15 UTC
3dfbaf5 bpo-32372: Move __debug__ optimization to the AST level. (#4925) 25 December 2017, 10:47:50 UTC
1b3029a bpo-29084: Exclude C API for OrderedDict from the limited C API. (#4900) 25 December 2017, 00:08:42 UTC
4f146f9 bpo-26133: Clear signals list on interpreter finalizing (#5002) 24 December 2017, 11:50:03 UTC
4856b0f bpo-32402: io: Add missing NULL check. (GH-4971) _PyUnicode_FromId() may return NULL. Reported by coverity scan: CID 1426868, 1426867. 24 December 2017, 01:29:19 UTC
719ccbc bpo-32415: Fix "error is already set" (#4999) 23 December 2017, 21:29:26 UTC
a330f48 Fix check for run_in_executor on closed loop. (#4996) 23 December 2017, 21:03:27 UTC
a8fb079 bpo-32415: Add more tests (#4995) 23 December 2017, 20:42:27 UTC
0f47fa2 bpo-32357: Use PySet_GET_SIZE macro in _is_coroutine() from _asynciomodule.c (#4990) 23 December 2017, 20:06:46 UTC
ca9b36c bpo-32415: Add asyncio.Task.get_loop() and Future.get_loop() (#4992) 23 December 2017, 20:04:15 UTC
558aa30 bpo-32357: Fix tests in refleak mode (#4989) 23 December 2017, 17:44:29 UTC
c0919c2 bpo-26439: Convert %s in Lib/ctypes/_aix.py to f-strings. (GH-4986) 23 December 2017, 07:39:03 UTC
d11e8e0 correct wording (#4983) 23 December 2017, 04:48:13 UTC
8a58771 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. 22 December 2017, 20:18:33 UTC
62ed6be remove the dynload_next.c file (closes bpo-32386) (#4957) 22 December 2017, 05:43:09 UTC
424315f 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. 21 December 2017, 23:09:26 UTC
550ee05 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. 21 December 2017, 23:05:05 UTC
9bee329 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. 21 December 2017, 15:49:13 UTC
9dd7620 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. 21 December 2017, 15:20:32 UTC
4a02543 bpo-26133: Dont unsubscribe signals in UNIX even loop on interpreter shutdown (#4956) 21 December 2017, 15:06:46 UTC
e47e698 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. 21 December 2017, 14:45:16 UTC
fbd6051 bpo-32323: urllib.parse.urlsplit() must not lowercase() IPv6 scope value (#4867) 21 December 2017, 12:16:17 UTC
a8d25a1 Fix trivial typo in pickle.rst (#4955) 21 December 2017, 09:00:49 UTC
09dc2f5 bpo-15873: Implement [date][time].fromisoformat (#4699) Closes bpo-15873. 21 December 2017, 05:33:49 UTC
507434f bpo-15216: io: TextIOWrapper.reconfigure() accepts encoding, errors and newline (GH-2343) 21 December 2017, 00:59:53 UTC
31e9908 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. 20 December 2017, 22:41:38 UTC
83cb778 correct the typos (#4950) 20 December 2017, 21:36:10 UTC
9cfc002 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. 20 December 2017, 18:36:46 UTC
51eb1c6 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. 20 December 2017, 18:24:43 UTC
a7a751d 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. 20 December 2017, 18:06:20 UTC
6b91a59 bpo-32385: Clean up the C3 MRO algorithm implementation. (#4942) Use tuples and raw arrays instead of lists. 20 December 2017, 17:21:02 UTC
ca719ac 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. 20 December 2017, 17:00:19 UTC
1f1a34c bpo-32379: Faster MRO computation for single inheritance (#4932) * bpo-32379: Faster MRO computation for single inheritance 20 December 2017, 14:58:21 UTC
776407f bpo-31901: atexit callbacks should be run at subinterpreter shutdown (#4611) Change atexit behavior and PEP-489 multiphase init support. 20 December 2017, 10:17:58 UTC
1976086 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() 20 December 2017, 00:41:59 UTC
c4bca95 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() 19 December 2017, 22:48:17 UTC
f4e21a2 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. 19 December 2017, 21:03:09 UTC
f7686c1 bpo-29970: Add timeout for SSL handshake in asyncio 10 seconds by default. 19 December 2017, 19:45:42 UTC
4b96593 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. 19 December 2017, 18:48:45 UTC
e40ad79 Fix GCC warning in _asynciomodule.c (#4928) 19 December 2017, 18:48:13 UTC
c5ae169 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. 19 December 2017, 12:58:49 UTC
319c034 bpo-29711: Fix stop_serving in proactor loop kill all listening servers (#431) 19 December 2017, 12:23:17 UTC
36c2c04 bpo-32355: Optimize asyncio.gather() (#4913) 19 December 2017, 12:19:53 UTC
a9d7e55 bpo-32357: Optimize asyncio.iscoroutine() for non-native coroutines (#4915) 19 December 2017, 12:18:45 UTC
a7bd64c bpo-27456: Simplify sock type checks (#4922) Recent sock.type fix (see bug 32331) makes sock.type checks simpler in asyncio. 19 December 2017, 11:44:37 UTC
5d86246 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. 19 December 2017, 10:35:58 UTC
21be85f Improve test coverage (#4924) 19 December 2017, 06:51:16 UTC
9818142 bpo-32331: Fix socket.type when SOCK_NONBLOCK is available (#4877) 19 December 2017, 01:02:54 UTC
6efcb6d 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 18 December 2017, 22:42:55 UTC
d757aaf bpo-32356: idempotent pause_/resume_reading; new is_reading method. (#4914) 18 December 2017, 22:03:23 UTC
2d8f063 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. 18 December 2017, 20:26:49 UTC
02e4b7f Add @asvetlov to asyncio codeowners (#4917) 18 December 2017, 16:20:42 UTC
bd6ec4d bpo-32365: Fix a reference leak when compile __debug__. (#4916) It was introduced in bpo-27169. 18 December 2017, 12:29:12 UTC
b2a6083 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. 18 December 2017, 09:28:19 UTC
87010e8 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. 18 December 2017, 06:52:54 UTC
902ab80 bpo-30050: Allow disabling full buffer warnings in signal.set_wakeup_fd (#4792) 18 December 2017, 04:10:18 UTC
1b7c11f bpo-32348: Optimize asyncio.Future schedule/add/remove callback. (#4907) 18 December 2017, 01:19:47 UTC
4c72bc4 add 'extern' to pygetopt.h symbols, so then don't end up in comdat (#4909) bpo-32264 17 December 2017, 18:34:00 UTC
5382c05 bpo-32351: Use fastpath in asyncio.sleep if delay<0 (#4908) * Use fastpath in asyncio.sleep if delay<0 * Add NEWS entry 17 December 2017, 14:41:30 UTC
44d1a59 bpo-32250: Implement asyncio.current_task() and asyncio.all_tasks() (#4799) 16 December 2017, 19:58:38 UTC
9508402 Fix PyObject_Hash signature in comment (#4905) 16 December 2017, 19:08:05 UTC
45700fb Add tests for using PEP560 with classes implemented in C. (#4883) Based on tests from #4878 16 December 2017, 09:25:56 UTC
9c19b02 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) 16 December 2017, 08:51:19 UTC
0c644fc 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. 16 December 2017, 07:42:33 UTC
9454060 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. 16 December 2017, 03:54:22 UTC
e796b2f bpo-27456: Ensure TCP_NODELAY is set on linux (#4231) 16 December 2017, 00:32:25 UTC
4ac5150 bpo-32248: Implement importlib.abc.ResourceReader (GH-4892) 16 December 2017, 00:29:35 UTC
d2b0231 bpo-29240: Don't define decode_locale() on macOS (#4895) Don't define decode_locale() nor encode_locale() on macOS or Android. 15 December 2017, 22:06:17 UTC
6693d7a Minor wording tweak for itertools documentation (#4893) 15 December 2017, 21:17:55 UTC
d924fa5 F-strings docs: link to Format Specifiers (GH-4888) Link to the Format Specification Mini Language section from f-strings' documentation. 15 December 2017, 18:07:01 UTC
9402c83 bpo-32294: Fix multiprocessing test_semaphore_tracker() (#4885) Run the child process with -E option to ignore the PYTHONWARNINGS environment variable. 15 December 2017, 15:29:24 UTC
642d67b bpo-32329: Add versionchanged to -R option doc (#4884) 15 December 2017, 15:29:01 UTC
3327a2d bpo-32265: Classify class and static methods of builtin types. (#4776) Add types.ClassMethodDescriptorType for unbound class methods. 15 December 2017, 12:13:41 UTC
2e3f570 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. 15 December 2017, 12:11:43 UTC
back to top