Erik Janssens [Wed, 5 Sep 2018 06:29:42 +0000 (08:29 +0200)]
closes bpo-34581 : Conditionalize use of __pragma in Modules/socketmodule.c. (GH-9067)
Brendan Gerrity [Tue, 4 Sep 2018 16:35:46 +0000 (09:35 -0700)]
bpo-34565: Change a PC/launcher.c comment to accurately describe valid major versions. (GH-9037)
Alexander Buchkovsky [Tue, 4 Sep 2018 16:10:28 +0000 (19:10 +0300)]
bpo-34563: Fix for invalid assert on big output of multiprocessing.Process (GH-9027)
Fix for invalid assert on big output of multiprocessing.Process.
Serhiy Storchaka [Tue, 4 Sep 2018 12:04:25 +0000 (15:04 +0300)]
bpo-26544: Add test for platform._comparable_version(). (GH-8973)
Victor Stinner [Tue, 4 Sep 2018 09:01:09 +0000 (11:01 +0200)]
bpo-34530: Fix distutils find_executable() (GH-9049)
distutils.spawn.find_executable() now falls back on os.defpath if the
PATH environment variable is not set.
Pablo Galindo [Tue, 4 Sep 2018 08:53:54 +0000 (09:53 +0100)]
bpo-33613, test_semaphore_tracker_sigint: fix race condition (#7850)
Fail `test_semaphore_tracker_sigint` if no warnings are expected and one is received.
Fix race condition when the child receives SIGINT before it can register signal handlers for it.
The race condition occurs when the parent calls
`_semaphore_tracker.ensure_running()` (which in turn spawns the
semaphore_tracker using `_posixsubprocess.fork_exec`), the child
registers the signal handlers and the parent tries to kill the child.
What seem to happen is that in some slow systems, the parent sends the
signal to kill the child before the child protects against the signal.
Pablo Galindo [Mon, 3 Sep 2018 21:20:06 +0000 (22:20 +0100)]
bpo-33083 - Make math.factorial reject arguments that are not int-like (GH-6149)
math.factorial() was accepting non-integral Decimal instances. This is inconsistent with the actual behaviour for floats, which are not accepted.
Victor Stinner [Mon, 3 Sep 2018 21:17:20 +0000 (23:17 +0200)]
bpo-26901: Fix the Argument Clinic test suite (GH-8879)
* Fix Tools/clinic/clinic_test.py: add missing
FakeClinic.destination_buffers attribute and pass a file argument
to Clinic().
* Rename Tools/clinic/clinic_test.py to Lib/test/test_clinic.py:
add temporary Tools/clinic/ to sys.path to import the clinic
module.
Co-Authored-By: Pablo Galindo <pablogsal@gmail.com>
Victor Stinner [Mon, 3 Sep 2018 15:32:31 +0000 (17:32 +0200)]
bpo-34544: pymain_read_conf() don't change LC_ALL (GH-9045)
bpo-34485, bpo-34544: Again, pymain_read_conf() leaves LC_ALL locale
unchanged: only modify LC_CTYPE.
Victor Stinner [Mon, 3 Sep 2018 15:06:39 +0000 (17:06 +0200)]
bpo-34567: pythoninfo gets coreconfig (GH-9043)
* Add _testcapi.get_coreconfig() to get the _PyCoreConfig of the
interpreter
* test.pythoninfo now gets the core configuration using
_testcapi.get_coreconfig()
Victor Stinner [Mon, 3 Sep 2018 15:05:18 +0000 (17:05 +0200)]
_Py_CoerceLegacyLocale() restores LC_CTYPE on fail (GH-9044)
bpo-34544: If _Py_CoerceLegacyLocale() fails to coerce the C locale,
restore the LC_CTYPE locale to the its previous value.
Victor Stinner [Mon, 3 Sep 2018 12:38:21 +0000 (14:38 +0200)]
bpo-34544: Fix setlocale() in pymain_read_conf() (GH-9041)
bpo-34485, bpo-34544: On some FreeBSD, nl_langinfo(CODESET) fails if
LC_ALL or LC_CTYPE is set to an invalid locale name. Replace
_Py_SetLocaleFromEnv(LC_CTYPE) with _Py_SetLocaleFromEnv(LC_ALL) to
initialize properly locales.
Partially revert commit
177d921c8c03d30daa32994362023f777624b10d.
Raymond Hettinger [Sun, 2 Sep 2018 20:34:21 +0000 (13:34 -0700)]
Minor improvement to code clarity (GH-9036)
Make it clear that the n==0 case is included. Otherwise, you have to know that max==0.0 whenever n==0.
Zachary Ware [Sun, 2 Sep 2018 01:59:27 +0000 (20:59 -0500)]
Fix struct sequence glossary entry grammar (GH-9030)
... by removing a superfluous "either".
Reported by Никита Люшненко on docs@.
Thomas Herzog [Sat, 1 Sep 2018 22:13:57 +0000 (00:13 +0200)]
closes bpo-34555: Fix incorrectly nested test for HAVE_LINUX_VM_SOCKETS_H (GH-9016)
Tim McNamara [Sat, 1 Sep 2018 08:56:58 +0000 (20:56 +1200)]
Fix typo in typing.py module docstring (#9014)
"explicitelly" → "explicitly"
Michael Felt [Sat, 1 Sep 2018 02:31:07 +0000 (04:31 +0200)]
bpo-34558: Add missing parentheses in _aix.py (GH-9017)
p.wait()
Pablo Galindo [Fri, 31 Aug 2018 22:04:47 +0000 (23:04 +0100)]
bpo-34007: Skip traceback tests if the Program Counter is not available. (GH-9018)
Sometimes some versions of the shared libraries that are part of the
traceback are compiled in optimised mode and the Program Counter (PC)
is not present, not allowing gdb to walk the frames back. When this
happens, the Python bindings of gdb raise an exception, making the
test impossible to succeed.
Pablo Galindo [Fri, 31 Aug 2018 21:49:29 +0000 (22:49 +0100)]
bpo-34408: Prevent a null pointer dereference and resource leakage in `PyInterpreterState_New()` (GH-8767)
* A pointer in `PyInterpreterState_New()` could have been `NULL` when being dereferenced.
* Memory was leaked in `PyInterpreterState_New()` when taking some error-handling code path.
Raymond Hettinger [Fri, 31 Aug 2018 18:22:13 +0000 (11:22 -0700)]
Simplify vector_norm() by eliminating special cases in the main loop (GH-9006)
The *max* value is no longer treated as a special case in the main loop. Besides making the main loop simpler and branchless, this also lets us relax the input restriction of *vec* to contain only non-negative values.
Brendan Gerrity [Fri, 31 Aug 2018 15:15:42 +0000 (08:15 -0700)]
bpo-34062: Add missing launcher argument and make behavior consistent between short and long arguments (GH-8827)
Added previously missing "--list" argument.
Made "--list" and "--list-paths" behavior consistent with the corresponding "-0" and "-0p" arguments.
Steve Dower [Fri, 31 Aug 2018 15:11:35 +0000 (08:11 -0700)]
Add VSTS status badge to readme (GH-8958)
Marcel Plch [Fri, 31 Aug 2018 14:43:31 +0000 (16:43 +0200)]
bpo-34097: Polish API design (GH-8725)
Move strict_timestamps to constructor.
Naris R [Thu, 30 Aug 2018 16:56:14 +0000 (02:56 +1000)]
bpo-34427: Fix infinite loop when calling MutableSequence.extend() on self (GH-8813)
Christian Heimes [Thu, 30 Aug 2018 05:25:49 +0000 (07:25 +0200)]
bpo-34542: Update test certs and keys (GH-8997)
Update all test certs and keys to use future proof crypto settings:
* 3072 bit RSA keys
* SHA-256 signature
Signed-off-by: Christian Heimes <christian@python.org>
Victor Stinner [Wed, 29 Aug 2018 23:21:11 +0000 (01:21 +0200)]
Fix TestPosixSpawn.test_close_file() (GH-8992)
Modify TestPosixSpawn to run Python using -I and -S options.
Disable site module to avoid side effects. For example, on Fedora 28,
if the HOME environment variable is not set, site._getuserbase()
calls pwd.getpwuid() which opens /var/lib/sss/mc/passwd, but then
leaves the file open which makes test_close_file() to fail.
Victor Stinner [Wed, 29 Aug 2018 22:50:45 +0000 (00:50 +0200)]
bpo-34523: Use _PyCoreConfig instead of globals (GH-9005)
Use the core configuration of the interpreter, rather
than using global configuration variables. For example, replace
Py_QuietFlag with core_config->quiet.
Victor Stinner [Wed, 29 Aug 2018 21:26:55 +0000 (23:26 +0200)]
bpo-34523: Py_FileSystemDefaultEncoding NULL by default (GH-9003)
* Py_FileSystemDefaultEncoding and Py_FileSystemDefaultEncodeErrors
default value is now NULL: initfsencoding() set them
during Python initialization.
* Document how Python chooses the filesystem encoding and error
handler.
* Add an assertion to _PyCoreConfig_Read().
Victor Stinner [Wed, 29 Aug 2018 20:56:06 +0000 (22:56 +0200)]
bpo-34485: Emit C locale coercion warning later (GH-9002)
PYTHONCOERCELOCALE=warn warning is now emitted later and written into
sys.stderr, rather than being written into the C stderr stream.
Victor Stinner [Wed, 29 Aug 2018 20:21:32 +0000 (22:21 +0200)]
bpo-34523: Support surrogatepass in locale codecs (GH-8995)
Add support for the "surrogatepass" error handler in
PyUnicode_DecodeFSDefault() and PyUnicode_EncodeFSDefault()
for the UTF-8 encoding.
Changes:
* _Py_DecodeUTF8Ex() and _Py_EncodeUTF8Ex() now support the
surrogatepass error handler (_Py_ERROR_SURROGATEPASS).
* _Py_DecodeLocaleEx() and _Py_EncodeLocaleEx() now use
the _Py_error_handler enum instead of "int surrogateescape" to pass
the error handler. These functions now return -3 if the error
handler is unknown.
* Add unit tests on _Py_DecodeLocaleEx() and _Py_EncodeLocaleEx()
in test_codecs.
* Rename get_error_handler() to _Py_GetErrorHandler() and expose it
as a private function.
* _freeze_importlib doesn't need config.filesystem_errors="strict"
workaround anymore.
Victor Stinner [Wed, 29 Aug 2018 17:32:47 +0000 (19:32 +0200)]
bpo-34523: Py_DecodeLocale() use UTF-8 on Windows (GH-8998)
Py_DecodeLocale() and Py_EncodeLocale() now use the UTF-8 encoding on
Windows if Py_LegacyWindowsFSEncodingFlag is zero.
pymain_read_conf() now sets Py_LegacyWindowsFSEncodingFlag in its
loop, but restore its value at exit.
Victor Stinner [Wed, 29 Aug 2018 11:45:34 +0000 (13:45 +0200)]
bpo-34523: Fix config_init_fs_encoding() (GH-8991)
Call config_init_fs_encoding() if filesystem_errors is not NULL but
filesystem_encoding is NULL.
Victor Stinner [Wed, 29 Aug 2018 11:25:36 +0000 (13:25 +0200)]
bpo-34523: Add _PyCoreConfig.filesystem_encoding (GH-8963)
_PyCoreConfig_Read() is now responsible to choose the filesystem
encoding and error handler. Using Py_Main(), the encoding is now
chosen even before calling Py_Initialize().
_PyCoreConfig.filesystem_encoding is now the reference, instead of
Py_FileSystemDefaultEncoding, for the Python filesystem encoding.
Changes:
* Add filesystem_encoding and filesystem_errors to _PyCoreConfig
* _PyCoreConfig_Read() now reads the locale encoding for the file
system encoding.
* PyUnicode_EncodeFSDefault() and PyUnicode_DecodeFSDefaultAndSize()
now use the interpreter configuration rather than
Py_FileSystemDefaultEncoding and Py_FileSystemDefaultEncodeErrors
global configuration variables.
* Add _Py_SetFileSystemEncoding() and _Py_ClearFileSystemEncoding()
private functions to only modify Py_FileSystemDefaultEncoding and
Py_FileSystemDefaultEncodeErrors in coreconfig.c.
* _Py_CoerceLegacyLocale() now takes an int rather than
_PyCoreConfig for the warning.
Victor Stinner [Wed, 29 Aug 2018 09:47:29 +0000 (11:47 +0200)]
bpo-34485: Add _PyCoreConfig.stdio_encoding (GH-8881)
* Add stdio_encoding and stdio_errors fields to _PyCoreConfig.
* Add unit tests on stdio_encoding and stdio_errors.
Victor Stinner [Wed, 29 Aug 2018 09:25:15 +0000 (11:25 +0200)]
bpo-34485, Windows: LC_CTYPE set to user preference (GH-8988)
On Windows, the LC_CTYPE is now set to the user preferred locale at
startup: _Py_SetLocaleFromEnv(LC_CTYPE) is now called during the
Python initialization. Previously, the LC_CTYPE locale was "C" at
startup, but changed when calling setlocale(LC_CTYPE, "") or
setlocale(LC_ALL, "").
pymain_read_conf() now also calls _Py_SetLocaleFromEnv(LC_CTYPE) to
behave as _Py_InitializeCore(). Moreover, it doesn't save/restore the
LC_ALL anymore.
On Windows, standard streams like sys.stdout now always use
surrogateescape error handler by default (ignore the locale).
Victor Stinner [Wed, 29 Aug 2018 07:58:12 +0000 (09:58 +0200)]
bpo-34485: stdout uses surrogateescape on POSIX locale (GH-8986)
Standard streams like sys.stdout now use the "surrogateescape" error
handler, instead of "strict", on the POSIX locale (when the C locale is not
coerced and the UTF-8 Mode is disabled).
Add tests on sys.stdout.errors with LC_ALL=POSIX.
Raymond Hettinger [Wed, 29 Aug 2018 05:47:24 +0000 (22:47 -0700)]
Improve commutativity of math.hypot() and math.dist() (GH-8984)
Victor Stinner [Tue, 28 Aug 2018 23:29:06 +0000 (01:29 +0200)]
bpo-34485: Add _Py_ClearStandardStreamEncoding() (GH-8982)
* Move Py_SetStandardStreamEncoding() from pylifecycle.c
to coreconfig.c
* Add _Py_ClearStandardStreamEncoding() private function.
* pymain_free() now calls _Py_ClearStandardStreamEncoding().
* Add assertions add the end of _PyCoreConfig_Read()
* _PyCoreConfig_Copy(): rename COPY_STR_ATTR() macro
to COPY_WSTR_ATTR().
* Fix get_stdio_errors() indentation.
Victor Stinner [Tue, 28 Aug 2018 22:16:53 +0000 (00:16 +0200)]
bpo-34485: Fix _Py_InitializeCore() for C locale coercion (GH-8979)
* _Py_InitializeCore() now sets the LC_CTYPE locale to the user
preferred locale before checking if the C locale should be coerced
or not in _PyCoreConfig_Read().
* Fix pymain_read_conf(): remember if the C locale has been coerced
when the configuration should be read again if the encoding has
changed.
Victor Stinner [Tue, 28 Aug 2018 21:26:33 +0000 (23:26 +0200)]
bpo-34485: Enhance init_sys_streams() (GH-8978)
Python now gets the locale encoding with C code to initialize the encoding
of standard streams like sys.stdout. Moreover, the encoding is now
initialized to the Python codec name to get a normalized encoding name and
to ensure that the codec is loaded. The change avoids importing
_bootlocale and _locale modules at startup by default.
When the PYTHONIOENCODING environment variable only contains an encoding,
the error handler is now is now set explicitly to "strict".
Rename also get_default_standard_stream_error_handler() to
get_stdio_errors().
Reduce the buffer to format the "cpXXX" string (Windows locale encoding).
Victor Stinner [Tue, 28 Aug 2018 15:27:36 +0000 (17:27 +0200)]
bpo-34403: On HP-UX, force ASCII for C locale (GH-8969)
On HP-UX with C or POSIX locale, sys.getfilesystemencoding() now returns
"ascii" instead of "roman8" (when the UTF-8 Mode is disabled and the C locale
is not coerced).
nl_langinfo(CODESET) announces "roman8" whereas it uses the Latin1
encoding in practice.
Victor Stinner [Tue, 28 Aug 2018 10:35:44 +0000 (12:35 +0200)]
bpo-34527: POSIX locale enables the UTF-8 Mode (GH-8972)
* The UTF-8 Mode is now also enabled by the "POSIX" locale, not only
by the "C" locale.
* On FreeBSD, Py_DecodeLocale() and Py_EncodeLocale() now also forces
the ASCII encoding if the LC_CTYPE locale is "POSIX", not only if
the LC_CTYPE locale is "C".
* test_utf8_mode.test_cmd_line() checks also that the command line
arguments are decoded from UTF-8 when the the UTF-8 Mode is enabled
with POSIX locale or C locale.
Carl Meyer [Tue, 28 Aug 2018 07:11:56 +0000 (01:11 -0600)]
bpo-21145: Add cached_property decorator in functools (#6982)
Robust caching of calculated properties is
harder than it looks at first glance, so add
a solid, well-tested implementation to the
standard library.
Przemysław Spodymek [Mon, 27 Aug 2018 21:33:45 +0000 (23:33 +0200)]
bpo-33635: Handling Bad file descriptor in Path.is_file and related. (GH-8542)
Michael Felt [Mon, 27 Aug 2018 13:40:17 +0000 (15:40 +0200)]
bpo-34347: Fix test_utf8_mode.test_cmd_line for AIX (GH-8923)
AIX uses ISO-8859-1 encoding for the C locale.
Louis Sautier [Mon, 27 Aug 2018 10:45:26 +0000 (12:45 +0200)]
bpo-34434: Update doc for bool(), float() and int() arguments (GH-8834)
Serhiy Storchaka [Mon, 27 Aug 2018 10:29:51 +0000 (13:29 +0300)]
bpo-26544: Get rid of dependence from distutils in platform. (GH-8356)
Serhiy Storchaka [Mon, 27 Aug 2018 10:10:36 +0000 (13:10 +0300)]
bpo-34171: Fix test_trace. (GH-8940)
Remove "trace.cover" left from previous test runs before testing
that it is no longer created.
Elias Zamaria [Mon, 27 Aug 2018 06:59:28 +0000 (23:59 -0700)]
bpo-32968: Make modulo and floor division involving Fraction and float consistent with other operations (#5956)
Make mixed-type `%` and `//` operations involving `Fraction` and `float` objects behave like all other mixed-type arithmetic operations: first the `Fraction` object is converted to a `float`, then the `float` operation is performed as normal. This fixes some surprising corner cases, like `Fraction('1/3') % inf` giving a NaN.
Thanks Elias Zamaria for the patch.
Raymond Hettinger [Mon, 27 Aug 2018 00:38:31 +0000 (19:38 -0500)]
Fast path for exact floats in math.hypot() and math.dist() (GH-8949)
Michael Felt [Sun, 26 Aug 2018 17:29:36 +0000 (19:29 +0200)]
Remove AIX workaround test_subprocess (GH-8939)
An old apparent AIX behavior workaround in test_subprocess's
test_undecodable_env is no longer needed.
Alexey Izbyshev [Sun, 26 Aug 2018 16:31:25 +0000 (19:31 +0300)]
bpo-34503: Fix refleak in PyErr_SetObject() (GH-8934)
Alexey Izbyshev [Sat, 25 Aug 2018 23:52:27 +0000 (02:52 +0300)]
closes bpo-34504: Remove the useless NULL check in PySequence_Check(). (GH-8935)
Reported by Svace static analyzer.
Alexey Izbyshev [Sat, 25 Aug 2018 18:53:47 +0000 (21:53 +0300)]
closes bpo-34501: PyType_FromSpecWithBases: Check spec->name before dereferencing it. (GH-8930)
Reported by Svace static analyzer.
Alexey Izbyshev [Sat, 25 Aug 2018 18:23:00 +0000 (21:23 +0300)]
closes bpo-34502: Remove a note about utf8_mode from sys.exit() docs. (GH-8928)
Zackery Spytz [Sat, 25 Aug 2018 17:10:14 +0000 (11:10 -0600)]
Remove unneeded PyErr_Clear() in _winapi_SetNamedPipeHandleState_impl() (GH-8281)
Andrés Delfino [Sat, 25 Aug 2018 14:08:20 +0000 (11:08 -0300)]
Fix markup in stdtypes documentation (GH-8905)
Sergey Fedoseev [Sat, 25 Aug 2018 10:41:58 +0000 (15:41 +0500)]
bpo-34395: Don't free allocated memory on realloc fail in load_mark() in _pickle.c. (GH-8788)
Sergey Fedoseev [Sat, 25 Aug 2018 07:54:40 +0000 (12:54 +0500)]
Fix upsizing of marks stack in pickle module. (GH-8860)
Previously marks stack was upsized even there was space for additional item.
Serhiy Storchaka [Sat, 25 Aug 2018 07:27:55 +0000 (10:27 +0300)]
bpo-34171: Prevent creating Lib/trace.cover when run the trace module. (GH-8841)
Alexey Izbyshev [Sat, 25 Aug 2018 07:15:23 +0000 (10:15 +0300)]
closes bpo-34493: Objects/genobject.c: Add missing NULL check to compute_cr_origin() (GH-8911)
Alexander Vasin [Sat, 25 Aug 2018 02:38:11 +0000 (05:38 +0300)]
Fixed typo with asynccontextmanager code example (GH-8845)
`yield conn`, instead of just `yield`.
Danish Prakash [Sat, 25 Aug 2018 02:00:25 +0000 (07:30 +0530)]
bpo-34426: fix typo (__lltrace__ -> __ltrace__) (GH-8822)
Gregory P. Smith [Sat, 25 Aug 2018 01:08:50 +0000 (18:08 -0700)]
bpo-13312: Avoid int underflow in time year. (GH-8912)
Avoids an integer underflow in the time module's year handling code.
Alexey Izbyshev [Fri, 24 Aug 2018 23:34:56 +0000 (02:34 +0300)]
bpo-34492: Python/coreconfig.c: Fix _Py_wstrlist_copy() (GH-8910)
bpo-34492: Python/coreconfig.c: Add missing NULL check to _Py_wstrlist_copy().
Fix _Py_wstrlist_clear() call on a wrong list.
Reported by Svace static analyzer.
Michael Osipov [Fri, 24 Aug 2018 16:17:19 +0000 (18:17 +0200)]
bpo-34448: Improve output of usable wchar_t check (GH-8846)
Alexey Izbyshev [Fri, 24 Aug 2018 15:53:16 +0000 (18:53 +0300)]
closes bpo-34471: _datetime: Add missing NULL check to tzinfo_from_isoformat_results. (GH-8869)
Reported by Svace static analyzer.
Vladimir Matveev [Fri, 24 Aug 2018 14:18:00 +0000 (07:18 -0700)]
bpo-6700: Fix inspect.getsourcelines for module level frames/tracebacks (GH-8864)
Daniel Dương [Fri, 24 Aug 2018 09:19:24 +0000 (16:19 +0700)]
Fix typo in the dataclasses's doc (GH-8896)
Alexey Izbyshev [Fri, 24 Aug 2018 04:39:45 +0000 (07:39 +0300)]
closes bpo-34468: Objects/rangeobject.c: Fix an always-false condition in range_repr() (GH-8880)
Also, propagate the error from PyNumber_AsSsize_t() because we don't care
only about OverflowError which is not reported if the second argument is NULL.
Reported by Svace static analyzer.
Alexey Izbyshev [Fri, 24 Aug 2018 04:27:52 +0000 (07:27 +0300)]
closes bpo-34474: Python/bltinmodule.c: Add missing NULL check in builtin_sum_impl() (GH-8872)
Reported by Svace static analyzer.
Alexey Izbyshev [Fri, 24 Aug 2018 04:22:16 +0000 (07:22 +0300)]
closes bpo-34477: Objects/typeobject.c: Add missing NULL check to type_init() (GH-8876)
Reported by Svace static analyzer.
Anthony Sottile [Fri, 24 Aug 2018 03:08:54 +0000 (20:08 -0700)]
Fix doc for `add_subparsers` arguments (GH-8884)
There was a missing comma.
Jelle Zijlstra [Fri, 24 Aug 2018 01:50:00 +0000 (18:50 -0700)]
Fix typo in asyncio.BoundedSemaphore docs (GH-8882)
semapthores -> semaphores
Paul Ganssle [Thu, 23 Aug 2018 15:06:20 +0000 (11:06 -0400)]
bpo-34454: fix .fromisoformat() methods crashing on inputs with surrogate code points (GH-8862)
The current C implementations **crash** if the input includes a surrogate
Unicode code point, which is not possible to encode in UTF-8.
Important notes:
1. It is possible to pass a non-UTF-8 string as a separator to the
`.isoformat()` methods.
2. The pure-Python `datetime.fromisoformat()` implementation accepts
strings with a surrogate as the separator.
In `datetime.fromisoformat()`, in the special case of non-UTF-8 separators,
this implementation will take a performance hit by making a copy of the
input string and replacing the separator with 'T'.
Co-authored-by: Alexey Izbyshev <izbyshev@ispras.ru>
Co-authored-by: Paul Ganssle <paul@ganssle.io>
Ville Skyttä [Thu, 23 Aug 2018 14:49:18 +0000 (17:49 +0300)]
Make it more clear that setUpClass runs before each class, not "class run" (GH-8844)
Michael Osipov [Thu, 23 Aug 2018 13:27:19 +0000 (15:27 +0200)]
bpo-34412: Make signal.strsignal() work on HP-UX (GH-8786)
Introduce a configure check for strsignal(3) which defines HAVE_STRSIGNAL for
signalmodule.c. Add some common signals on HP-UX. This change applies for
Windows and HP-UX.
Victor Stinner [Thu, 23 Aug 2018 10:23:46 +0000 (12:23 +0200)]
bpo-34207: Fix pymain_read_conf() for UTF-8 Mode (GH-8868)
bpo-34170, bpo-34207: pymain_read_conf() now sets Py_UTF8Mode to
config->utf8_mode. pymain_read_conf() calls indirectly
Py_DecodeLocale() and Py_EncodeLocale() which depend on Py_UTF8Mode.
Alexey Izbyshev [Thu, 23 Aug 2018 07:50:52 +0000 (10:50 +0300)]
bpo-34436: Fix check that disables overallocation for the last fmt specifier (GH-8826)
Reported by Svace static analyzer.
Grant Jenks [Wed, 22 Aug 2018 20:14:14 +0000 (13:14 -0700)]
Remove superseded line from argparse.HelpFormatter() (GH-8839)
Alexey Izbyshev [Wed, 22 Aug 2018 18:27:32 +0000 (21:27 +0300)]
bpo-34462: Add missing NULL check to _copy_raw_string() (GH-8863)
Reported by Svace static analyzer.
Berker Peksag [Wed, 22 Aug 2018 18:21:05 +0000 (21:21 +0300)]
bpo-2122: Make mmap.flush() behave same on all platforms (GH-8692)
Previously, its behavior was platform-dependent and there was no error checking
under Windows.
Alexey Izbyshev [Wed, 22 Aug 2018 04:55:16 +0000 (07:55 +0300)]
bpo-34457: Python/ast.c: Add missing NULL check to alias_for_import_name(). (GH-8852)
Reported by Svace static analyzer.
Alexey Izbyshev [Wed, 22 Aug 2018 04:51:25 +0000 (07:51 +0300)]
bpo-34456: pickle: Add missing NULL check to save_global(). (GH-8851)
Reported by Svace static analyzer.
Berker Peksag [Tue, 21 Aug 2018 14:58:49 +0000 (17:58 +0300)]
Fix Doc/whatsnew/3.8.rst (GH-8848)
The entry about deprecation of __getitem__ methods of
several classes was placed in the wrong section.
Zackery Spytz [Tue, 21 Aug 2018 03:11:40 +0000 (21:11 -0600)]
bpo-34400: Fix more undefined behavior in parsetok.c (GH-8833)
Alexey Izbyshev [Mon, 20 Aug 2018 20:04:19 +0000 (23:04 +0300)]
bpo-34441: Fix ABC.__subclasscheck__ crash on classes with invalid __subclasses__ (GH-8835)
The missing NULL check was reported by Svace static analyzer.
Xiang Zhang [Mon, 20 Aug 2018 14:36:19 +0000 (22:36 +0800)]
bpo-30411: Use --git-dir instead of -C to make git work under version below 1.8.5. (GH-8744)
Alexey Izbyshev [Sun, 19 Aug 2018 18:52:04 +0000 (21:52 +0300)]
bpo-34435: Add missing NULL check to unicode_encode_ucs1(). (GH-8823)
Reported by Svace static analyzer.
Berker Peksag [Sun, 19 Aug 2018 10:25:33 +0000 (13:25 +0300)]
bpo-22057: Clarify eval() documentation (GH-8812)
If a globals dictionary without a '__builtins__' key is passed to
eval(), a '__builtins__' key will be inserted to the dictionary:
>>> eval("print('__builtins__' in globals())", {})
True
(As a result of this behavior, we can use the builtins
print() and globals() even if we passed a dictionary without a
'__builtins__' key to eval().)
Serhiy Storchaka [Sun, 19 Aug 2018 07:00:11 +0000 (10:00 +0300)]
bpo-34318: Convert deprecation warnings to errors in assertRaises() etc. (GH-8623)
Zackery Spytz [Sun, 19 Aug 2018 04:43:38 +0000 (22:43 -0600)]
bpo-22602: Raise an exception in the UTF-7 decoder for ill-formed sequences starting with "+". (GH-8741)
The UTF-7 decoder now raises UnicodeDecodeError for ill-formed
sequences starting with "+" (as specified in RFC 2152).
Vinay Sajip [Sun, 19 Aug 2018 04:14:19 +0000 (05:14 +0100)]
bpo-34415: Updated logging.Formatter docstring. (GH-8811)
Andrés Delfino [Sat, 18 Aug 2018 17:36:24 +0000 (14:36 -0300)]
bpo-34432: doc Mention complex and decimal.Decimal on str.format not about locales (GH-8808)
Michael Osipov [Fri, 17 Aug 2018 21:43:34 +0000 (23:43 +0200)]
bpo-34381: refer to 'Running & Writing Tests' in README.rst (GH-8797)
davidair [Fri, 17 Aug 2018 19:09:58 +0000 (15:09 -0400)]
Improve error message when mock.assert_has_calls fails (GH-8205)
This makes the assertion error message more useful, aiding debugging.
Thanks @davidair!
Alfred Perlstein [Fri, 17 Aug 2018 13:48:05 +0000 (09:48 -0400)]
Warn not to set SIGPIPE to SIG_DFL (#6773)
Michael Osipov [Fri, 17 Aug 2018 11:43:02 +0000 (13:43 +0200)]
bpo-34419: selectmodule.c does not compile on HP-UX due to bpo-31938 (GH-8796)
Fix compile errors reported by HP aCC by fixing bugs introduced in
6dc57e2a20c
which do not cause trouble on clang or GCC.
Patch by Michael Osipov.
Sebastian Rittau [Fri, 17 Aug 2018 09:47:32 +0000 (11:47 +0200)]
bpo-34418: Fix HTTPErrorProcessor documentation (GH-8793)
The http_response() and https_response() methods of the HTTPErrorProcessor
class have two required parameters, 'request' and 'response'.
Christian Heimes [Thu, 16 Aug 2018 17:43:44 +0000 (19:43 +0200)]
bpo-34391: Fix ftplib test for TLS 1.3 (GH-8787)
Read from data socket to avoid "[SSL] shutdown while in init" exception
during shutdown of the dummy server.
Signed-off-by: Christian Heimes <christian@python.org>
<!-- issue-number: [bpo-34391](https://www.bugs.python.org/issue34391) -->
https://bugs.python.org/issue34391
<!-- /issue-number -->