<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Python, branch datetime_backport_test</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/'/>
<entry>
<title>bpo-38324: Fix test__locale.py Windows failures (GH-20529)</title>
<updated>2020-10-20T11:39:52+00:00</updated>
<author>
<name>TIGirardi</name>
<email>tiagoigirardi@gmail.com</email>
</author>
<published>2020-10-20T11:39:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=f2312037e3a974d26ed3e23884f94c6af111a27a'/>
<id>f2312037e3a974d26ed3e23884f94c6af111a27a</id>
<content type='text'>
Use wide-char _W_* fields of lconv structure on Windows
Remove "ps_AF" from test__locale.known_numerics on Windows</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use wide-char _W_* fields of lconv structure on Windows
Remove "ps_AF" from test__locale.known_numerics on Windows</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-42093: Add opcode cache for LOAD_ATTR (GH-22803)</title>
<updated>2020-10-20T05:22:44+00:00</updated>
<author>
<name>Pablo Galindo</name>
<email>Pablogsal@gmail.com</email>
</author>
<published>2020-10-20T05:22:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=109826c8508dd02e06ae0f1784f1d202495a8680'/>
<id>109826c8508dd02e06ae0f1784f1d202495a8680</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>closes bpo-42030: Remove legacy AIX dynload support (GH-22717)</title>
<updated>2020-10-16T18:03:28+00:00</updated>
<author>
<name>Kevin Adler</name>
<email>kadler@us.ibm.com</email>
</author>
<published>2020-10-16T18:03:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=1dd6d956a3ddf2cf6d4a69241dba8cd1379421b9'/>
<id>1dd6d956a3ddf2cf6d4a69241dba8cd1379421b9</id>
<content type='text'>
Since c19c5a6, AIX builds have defaulted to using dynload_shlib over
dynload_aix when dlopen is available. This function has been available
since AIX 4.3, which went out of support in 2003, the same year the
previously referenced commit was made. It has been nearly 20 years
since a version of AIX has been supported which has not used
dynload_shlib so there's no reason to keep this legacy code around.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since c19c5a6, AIX builds have defaulted to using dynload_shlib over
dynload_aix when dlopen is available. This function has been available
since AIX 4.3, which went out of support in 2003, the same year the
previously referenced commit was made. It has been nearly 20 years
since a version of AIX has been supported which has not used
dynload_shlib so there's no reason to keep this legacy code around.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-41919, test_codecs: Move codecs.register calls to setUp() (GH-22513)</title>
<updated>2020-10-16T08:34:15+00:00</updated>
<author>
<name>Hai Shi</name>
<email>shihai1992@gmail.com</email>
</author>
<published>2020-10-16T08:34:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=c9f696cb96d1c362d5cad871f61da520572d9b08'/>
<id>c9f696cb96d1c362d5cad871f61da520572d9b08</id>
<content type='text'>
* Move the codecs' (un)register operation to testcases.
* Remove _codecs._forget_codec() and _PyCodec_Forget()</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Move the codecs' (un)register operation to testcases.
* Remove _codecs._forget_codec() and _PyCodec_Forget()</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-41894: Fix UnicodeDecodeError while loading native module (GH-22466)</title>
<updated>2020-10-15T01:53:27+00:00</updated>
<author>
<name>Kevin Adler</name>
<email>kadler@us.ibm.com</email>
</author>
<published>2020-10-15T01:53:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=2d2af320d94afc6561e8f8adf174c9d3fd9065bc'/>
<id>2d2af320d94afc6561e8f8adf174c9d3fd9065bc</id>
<content type='text'>
When running in a non-UTF-8 locale, if an error occurs while importing a
native Python module (say because a dependent share library is missing),
the error message string returned may contain non-ASCII code points
causing a UnicodeDecodeError.

PyUnicode_DecodeFSDefault is used for buffers which may contain
filesystem  paths. For consistency with os.strerror(),
PyUnicode_DecodeLocale is used for buffers which contain system error
messages. While the shortname parameter is always encoded in ASCII
according to PEP 489, it is left decoded using PyUnicode_FromString to
minimize the changes and since it should not affect the decoding (albeit
_potentially_ slower).

In dynload_hpux, since the error buffer contains a message generated
from a static ASCII string and the module filesystem path,
PyUnicode_DecodeFSDefault is used instead of PyUnicode_DecodeLocale as
is used elsewhere.

* bpo-41894: Fix bugs in dynload error msg handling

For both dynload_aix and dynload_hpux, properly handle the possibility
that decoding strings may return NULL and when such an error happens,
properly decrement any previously decoded strings and return early.

In addition, in dynload_aix, ensure that we pass the decoded string
*object* pathname_ob to PyErr_SetImportError instead of the original
pathname buffer.

Co-authored-by: Serhiy Storchaka &lt;storchaka@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When running in a non-UTF-8 locale, if an error occurs while importing a
native Python module (say because a dependent share library is missing),
the error message string returned may contain non-ASCII code points
causing a UnicodeDecodeError.

PyUnicode_DecodeFSDefault is used for buffers which may contain
filesystem  paths. For consistency with os.strerror(),
PyUnicode_DecodeLocale is used for buffers which contain system error
messages. While the shortname parameter is always encoded in ASCII
according to PEP 489, it is left decoded using PyUnicode_FromString to
minimize the changes and since it should not affect the decoding (albeit
_potentially_ slower).

In dynload_hpux, since the error buffer contains a message generated
from a static ASCII string and the module filesystem path,
PyUnicode_DecodeFSDefault is used instead of PyUnicode_DecodeLocale as
is used elsewhere.

* bpo-41894: Fix bugs in dynload error msg handling

For both dynload_aix and dynload_hpux, properly handle the possibility
that decoding strings may return NULL and when such an error happens,
properly decrement any previously decoded strings and return early.

In addition, in dynload_aix, ensure that we pass the decoded string
*object* pathname_ob to PyErr_SetImportError instead of the original
pathname buffer.

Co-authored-by: Serhiy Storchaka &lt;storchaka@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>closes bpo-42029: Remove dynload_dl (GH-22687)</title>
<updated>2020-10-14T01:49:24+00:00</updated>
<author>
<name>Kevin Adler</name>
<email>kadler@us.ibm.com</email>
</author>
<published>2020-10-14T01:49:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=0cafcd3c56c9475913d8d4fd0223c297dbb70ac6'/>
<id>0cafcd3c56c9475913d8d4fd0223c297dbb70ac6</id>
<content type='text'>
All references to this dynamic loading method were removed in b9949db,
when support for this method was dropped, but the implementation code
was not dropped (seemingly in oversight).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
All references to this dynamic loading method were removed in b9949db,
when support for this method was dropped, but the implementation code
was not dropped (seemingly in oversight).</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-40422: Move _Py_closerange to fileutils.c (GH-22680)</title>
<updated>2020-10-13T20:04:44+00:00</updated>
<author>
<name>Kyle Evans</name>
<email>kevans91@users.noreply.github.com</email>
</author>
<published>2020-10-13T20:04:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=7992579cd27f14f472acc37aca537eec55f681ef'/>
<id>7992579cd27f14f472acc37aca537eec55f681ef</id>
<content type='text'>
This API is relatively lightweight and organizationally, given that it's
used by multiple modules, it makes sense to move it to fileutils.

Requires making sure that _posixsubprocess is compiled with the appropriate
Py_BUIILD_CORE_BUILTIN macro.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This API is relatively lightweight and organizationally, given that it's
used by multiple modules, it makes sense to move it to fileutils.

Requires making sure that _posixsubprocess is compiled with the appropriate
Py_BUIILD_CORE_BUILTIN macro.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-41993: Fix possible issues in remove_module() (GH-22631)</title>
<updated>2020-10-11T13:51:07+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2020-10-11T13:51:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=8287aadb75f6bd0154996424819334cd3839707c'/>
<id>8287aadb75f6bd0154996424819334cd3839707c</id>
<content type='text'>
* PyMapping_HasKey() is not safe because it silences all exceptions and can return incorrect result.
* Informative exceptions from PyMapping_DelItem() are overridden with RuntimeError and
  the original exception raised before calling remove_module() is lost.
* There is a race condition between PyMapping_HasKey() and PyMapping_DelItem().</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* PyMapping_HasKey() is not safe because it silences all exceptions and can return incorrect result.
* Informative exceptions from PyMapping_DelItem() are overridden with RuntimeError and
  the original exception raised before calling remove_module() is lost.
* There is a race condition between PyMapping_HasKey() and PyMapping_DelItem().</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-42002: Clean up initialization of the sys module. (GH-22642)</title>
<updated>2020-10-11T12:30:43+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2020-10-11T12:30:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=fa1d83db62a545580d9a1a585b2c1fb55961a5c3'/>
<id>fa1d83db62a545580d9a1a585b2c1fb55961a5c3</id>
<content type='text'>
Makes the code clearer and make errors handling more correct.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Makes the code clearer and make errors handling more correct.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38605: bump the magic number for 'annotations' future (#22630)</title>
<updated>2020-10-10T22:19:46+00:00</updated>
<author>
<name>Batuhan Taskaya</name>
<email>batuhanosmantaskaya@gmail.com</email>
</author>
<published>2020-10-10T22:19:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=22220ae216b11644b23511c6287a52e7d28aeb9f'/>
<id>22220ae216b11644b23511c6287a52e7d28aeb9f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
