Raymond Hettinger
cc1c582f6f
bpo-37051: Refine note on what objects are hashable (GH-13587)
2019-05-27 10:21:31 -07:00
Zackery Spytz
02db696732
bpo-32941: Add madvise() for mmap objects (GH-6172)
...
Allow mmap objects to access the madvise() system call.
2019-05-27 18:48:16 +02:00
Victor Stinner
331a6a56e9
bpo-36763: Implement the PEP 587 (GH-13592)
...
* Add a whole new documentation page:
"Python Initialization Configuration"
* PyWideStringList_Append() return type is now PyStatus,
instead of int
* PyInterpreterState_New() now calls PyConfig_Clear() if
PyConfig_InitPythonConfig() fails.
* Rename files:
* Python/coreconfig.c => Python/initconfig.c
* Include/cpython/coreconfig.h => Include/cpython/initconfig.h
* Include/internal/: pycore_coreconfig.h => pycore_initconfig.h
* Rename structures
* _PyCoreConfig => PyConfig
* _PyPreConfig => PyPreConfig
* _PyInitError => PyStatus
* _PyWstrList => PyWideStringList
* Rename PyConfig fields:
* use_module_search_paths => module_search_paths_set
* module_search_path_env => pythonpath_env
* Rename PyStatus field: _func => func
* PyInterpreterState: rename core_config field to config
* Rename macros and functions:
* _PyCoreConfig_SetArgv() => PyConfig_SetBytesArgv()
* _PyCoreConfig_SetWideArgv() => PyConfig_SetArgv()
* _PyCoreConfig_DecodeLocale() => PyConfig_SetBytesString()
* _PyInitError_Failed() => PyStatus_Exception()
* _Py_INIT_ERROR_TYPE_xxx enums => _PyStatus_TYPE_xxx
* _Py_UnixMain() => Py_BytesMain()
* _Py_ExitInitError() => Py_ExitStatusException()
* _Py_PreInitializeFromArgs() => Py_PreInitializeFromBytesArgs()
* _Py_PreInitializeFromWideArgs() => Py_PreInitializeFromArgs()
* _Py_PreInitialize() => Py_PreInitialize()
* _Py_RunMain() => Py_RunMain()
* _Py_InitializeFromConfig() => Py_InitializeFromConfig()
* _Py_INIT_XXX() => _PyStatus_XXX()
* _Py_INIT_FAILED() => _PyStatus_EXCEPTION()
* Rename 'err' PyStatus variables to 'status'
* Convert RUN_CODE() macro to config_run_code() static inline function
* Remove functions:
* _Py_InitializeFromArgs()
* _Py_InitializeFromWideArgs()
* _PyInterpreterState_GetCoreConfig()
2019-05-27 16:39:22 +02:00
Yury Selivanov
8cd5165ba0
bpo-37027: Return a proxy socket object from transp.get_extra_info('socket') (GH-13530)
...
Return a safe to use proxy socket object from `transport.get_extra_info('socket')`
https://bugs.python.org/issue37027
2019-05-27 06:57:19 -07:00
Rémi Lapeyre
674ee12600
bpo-35397: Remove deprecation and document urllib.parse.unwrap (GH-11481)
2019-05-27 09:43:45 -04:00
Andrew Svetlov
1f39c28e48
bpo-37035: Don't log OSError (GH-13548)
...
https://bugs.python.org/issue37035
2019-05-27 06:28:34 -07:00
Xtreak
ff6b2e66b1
bpo-37047: Refactor AsyncMock setup logic for autospeccing (GH-13574)
...
Handle late binding and attribute access in unittest.mock.AsyncMock
setup for autospeccing.
2019-05-27 14:56:23 +02:00
Yury Selivanov
431b540bf7
bpo-32528: Make asyncio.CancelledError a BaseException. (GH-13528)
...
This will address the common mistake many asyncio users make:
an "except Exception" clause breaking Tasks cancellation.
In addition to this change, we stop inheriting asyncio.TimeoutError
and asyncio.InvalidStateError from their concurrent.futures.*
counterparts. There's no point for these exceptions to share the
inheritance chain.
In 3.9 we'll focus on implementing supervisors and cancel scopes,
which should allow better handling of all exceptions, including
SystemExit and KeyboardInterrupt
2019-05-27 14:45:12 +02:00
Yury Selivanov
16cefb0bc7
bpo-37028: asyncio REPL; activated via 'python -m asyncio'. (GH-13472)
...
This makes it easy to play with asyncio APIs with simply
using async/await in the REPL.
2019-05-27 13:42:29 +02:00
Victor Stinner
71c52e3048
bpo-36829: Add _PyErr_WriteUnraisableMsg() (GH-13488)
...
* sys.unraisablehook: add 'err_msg' field to UnraisableHookArgs.
* Use _PyErr_WriteUnraisableMsg() in _ctypes _DictRemover_call()
and gc delete_garbage().
2019-05-27 08:57:14 +02:00
Ivan Levkivskyi
2f0bfd27a5
Add one more test for typing.Final (GH-13588)
2019-05-27 00:54:13 +01:00
Raymond Hettinger
b821868e6d
bpo-36772 Allow lru_cache to be used as decorator without making a function call (GH-13048)
2019-05-26 11:27:35 -07:00
Chih-Hsuan Yen
aaf47caf35
bpo-37053: handle strings like u"bar" correctly in Tools/parser/unparse.py (GH-13583)
...
Constant.kind is added in https://bugs.python.org/issue36280 .
Current possible values for Constant.kind are "u" or None.
For r'bar' and b'bar', Constant.kind value is None, so there's no need
for special handling.
https://bugs.python.org/issue37053
2019-05-26 10:08:19 -07:00
Antoine Pitrou
91f4380ced
bpo-36785: PEP 574 implementation (GH-7076)
2019-05-26 17:10:09 +02:00
Anthony Sottile
22ccb0b490
Fix highlighting in importlib.metadata docs (GH-13575)
2019-05-26 10:30:52 -04:00
Julien Palard
180dc1b0f4
bpo-28866: No type cache for types with specialized mro, invalidation is hard. ( #13157 )
...
* No type cache for types with specialized mro, invalidation is hard.
* FIX: Don't disable method cache custom types that do not implement mro().
* fixing implem.
* Avoid storing error flags, also decref.
* news entry
* Clear as soon as we're getting an error.
* FIX: Reference leak.
2019-05-26 15:25:47 +01:00
Ivan Levkivskyi
135c6a56e5
bpo-37049: PEP 589: Add TypedDict to typing module (GH-13573)
...
The implementation is straightforward and essentially is just copied from `typing_extensions`.
2019-05-26 09:39:24 +01:00
Ivan Levkivskyi
b891c465bb
bpo-37046: PEP 586: Add Literal to typing module ( #13572 )
...
The implementation is straightforward and essentially is just copied from `typing_extensions`.
2019-05-26 09:37:48 +01:00
Ivan Levkivskyi
f367242d10
bpo-37045: PEP 591: Add final qualifiers to typing module (GH-13571)
...
The implementation is straightforward, it just mimics `ClassVar` (since the latter is also a name/access qualifier, not really a type). Also it is essentially copied from `typing_extensions`.
2019-05-26 09:37:07 +01:00
Michael J. Sullivan
47dd2f9fd8
bpo-37017: PyObject_CallMethodObjArgs uses LOAD_METHOD optimization (GH-13516)
...
Update PyObject_CallMethodObjArgs and _PyObject_CallMethodIdObjArgs
to use _PyObject_GetMethod to avoid creating a bound method object
in many cases.
On a microbenchmark of PyObject_CallMethodObjArgs calling a method on
an interpreted Python class, this optimization resulted in a 1.7x
speedup.
2019-05-26 16:23:33 +09:00
Julien Palard
7114c6504a
Docs: FIX broken links. (GH-13491)
2019-05-25 20:02:24 +02:00
Jason R. Coombs
f7fba6cfb6
bpo-34632 fix buildbots and remove artifact (GH-13566)
...
* bpo-34632: Also include the test data directory.
* bpo-34632: remove the framework resources artifacts, accidentally added in 1bbf7b661f
(ccbccce
)
2019-05-25 10:00:21 -04:00
Sviatoslav Sydorenko
af570745fe
📝 Add a GitHub-specific security page (GH-13526)
...
* 📝 Add a GitHub-specific security page
It will show up @
https://github.com/python/cpython/security/policy
allowing to navigate users who get there from "Security" tab in the
GitHub repo to the full article explaining the security vulnerability
reporting practices.
Co-Authored-By: Hugo <hugovk@users.noreply.github.com>
2019-05-25 13:03:45 +03:00
Chih-Hsuan Yen
c3738cfe63
bpo-34632: fix installation of importlib.metadata ( #13563 )
2019-05-25 04:09:34 -04:00
Terry Jan Reedy
81bb97df61
bpo-37038: Make idlelib.run runnable; add test clause (GH-13560)
2019-05-24 21:59:53 -04:00
Jason R. Coombs
1bbf7b661f
bpo-34632: Add importlib.metadata (GH-12547)
...
Add importlib.metadata module as forward port of the standalone importlib_metadata.
2019-05-24 16:59:01 -07:00
Victor Stinner
6dbbe748e1
bpo-36829: Document test.support.catch_unraisable_exception() (GH-13554)
...
catch_unraisable_exception() now also removes its 'unraisable'
attribute at the context manager exit.
2019-05-25 00:09:38 +02:00
Victor Stinner
a9f05d69cc
bpo-37032: Add CodeType.replace() method (GH-13542)
2019-05-24 23:57:23 +02:00
Pablo Galindo
561612d845
bpo-37021: Port _randommodule to the argument clinic (GH-13532)
2019-05-24 22:09:23 +01:00
Victor Stinner
1c9debd236
bpo-35907: Fix typo in the NEWS entry (GH-13559)
2019-05-24 23:06:25 +02:00
Rémi Lapeyre
458560347f
bpo-36969: Make PDB args command display positional only arguments (GH-13459)
2019-05-24 21:44:31 +01:00
Victor Stinner
deffee5774
bpo-35907: Clarify the NEWS entry (GH-13523)
2019-05-24 22:06:32 +02:00
Steve Dower
6de4574c63
bpo-37023: Skip test_gdb under PGO (GH-13555)
2019-05-24 13:00:04 -07:00
Berker Peksag
14738ff83d
bpo-8138: Initialize wsgiref's SimpleServer as single-threaded (GH-12977)
2019-05-24 20:24:42 +03:00
E. M. Bray
b1fc417841
bpo-21536: Fix configure.ac for LIBPYTHON on Android/Cygwin (GH-13552)
...
Add also missing AC_MSG_RESULT for AC_MSG_CHECKING(MACHDEP).
2019-05-24 18:39:38 +02:00
Victor Stinner
bc66faccb8
bpo-36721: Fix pkg-config symbolic links on "make install" (GH-13551)
2019-05-24 18:27:13 +02:00
Paul Monson
51394b8c3d
bpo-36511: Ensure error code propagates out of batch files (GH-13529)
2019-05-24 09:15:39 -07:00
E. M. Bray
c994c8fc19
bpo-21536: On Cygwin, C extensions must be linked with libpython (GH-13549)
...
It is also possible to link against a library or executable with a
statically linked libpython, but not both with the same DLL. In fact
building a statically linked python is currently broken on Cygwin
for other (related) reasons.
The same problem applies to other POSIX-like layers over Windows
(MinGW, MSYS) but Python's build system does not seem to attempt
to support those platforms at the moment.
2019-05-24 17:33:47 +02:00
Victor Stinner
438a12dd9d
bpo-36710: Add tstate parameter in ceval.c (GH-13547)
...
* Fix a possible reference leak in _PyErr_Print() if exception
is NULL.
* PyErr_BadInternalCall(): replace PyErr_Format() with _PyErr_SetString().
* Add pycore_pyerrors.h header file.
* New functions:
* _PyErr_Clear()
* _PyErr_Fetch()
* _PyErr_Print()
* _PyErr_Restore()
* _PyErr_SetObject()
* _PyErr_SetString()
* Add 'tstate' parameter to _PyEval_AddPendingCall().
2019-05-24 17:01:38 +02:00
Nick Sung
13d4e6a4a0
Fix typos in Doc/library/email.generator.rst documentation (GH-13539)
2019-05-24 09:50:35 -04:00
Victor Stinner
b49858b4b7
bpo-37031: Fix PyOS_AfterFork_Child() (GH-13537)
...
PyOS_AfterFork_Child(): _PyInterpreterState_DeleteExceptMain() must
be called after _PyRuntimeState_ReInitThreads().
_PyRuntimeState_ReInitThreads() resets interpreters mutex after fork,
mutex used by _PyInterpreterState_DeleteExceptMain().
2019-05-24 15:20:23 +02:00
Victor Stinner
b3a9843cd1
Support Py_UNUSED() on clang (GH-13544)
2019-05-24 15:16:08 +02:00
Victor Stinner
b4bdecd0fc
bpo-36710: Add tstate parameter in errors.c (GH-13540)
...
Add 'PyThreadState *tstate' parameter to errors.c functions to avoid
relying on global variables (indirectly on _PyRuntime).
2019-05-24 13:44:24 +02:00
Victor Stinner
d8613dc86f
bpo-37031: Reuse _PyRuntime.main_thread in signalmodule.c (GH-13538)
...
Remove main_thread and main_interp variables from signalmodule.c:
reuse _PyRuntime which already track the main thread and the main
interpreter.
* Remove #include <sys/types.h> which became useless: getpid() call
has been removed.
* Add runtime argument to is_main()
* is_main() now gets the interpreter from runtime.
2019-05-24 13:43:55 +02:00
Dan Rose
2a37f8f55b
bpo-36045: builtins.help() now prefixes `async` for async functions (GH-12010)
...
Previously, it was hard to tell whether a function should be awaited. It was also incorrect (per PEP 484) to put this in the type hint for coroutine functions. Added this info to the output of builtins.help and pydoc.
https://bugs.python.org/issue36045
2019-05-24 04:38:01 -07:00
Xtreak
cf7d5ef49b
Fix typo: decription -> description (GH-13543)
2019-05-24 04:17:47 -07:00
Cheryl Sabella
c95c93d4eb
bpo-20285: Improve help docs for object (GH-4759)
2019-05-24 06:43:29 -04:00
Petr Viktorin
f1e17e9f97
bpo-34626: Document creating heap types from the C-API (GH-9154)
...
bpo-34626: Document creating heap types from the C-API
Add missing descriptions of PEP384's PyType_Spec and PyType_Slot,
along with some introductory prose.
2019-05-24 11:19:42 +02:00
Pablo Galindo
cccc11b38e
Fix warning in _testembed.c (GH-13533)
2019-05-24 00:53:21 +01:00
Matěj Cepl
608876b6b1
bpo-23395: Fix PyErr_SetInterrupt if the SIGINT signal is ignored or not handled (GH-7778)
...
``_thread.interrupt_main()`` now avoids setting the Python error status if the ``SIGINT`` signal is ignored or not handled by Python.
2019-05-23 22:30:00 +02:00