<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Tools, branch v3.10.0a2</title>
<subtitle>github.com: python/cpython.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/'/>
<entry>
<title>bpo-42218: Correctly handle errors in left-recursive rules (GH-23065)</title>
<updated>2020-10-31T18:31:41+00:00</updated>
<author>
<name>Lysandros Nikolaou</name>
<email>lisandrosnik@gmail.com</email>
</author>
<published>2020-10-31T18:31:41+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=02cdfc93f82fecdb7eae97a868d4ee222b9875d9'/>
<id>02cdfc93f82fecdb7eae97a868d4ee222b9875d9</id>
<content type='text'>
Left-recursive rules need to check for errors explicitly, since
even if the rule returns NULL, the parsing might continue and lead
to long-distance failures.

Co-authored-by: Pablo Galindo &lt;Pablogsal@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Left-recursive rules need to check for errors explicitly, since
even if the rule returns NULL, the parsing might continue and lead
to long-distance failures.

Co-authored-by: Pablo Galindo &lt;Pablogsal@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-36876: Small adjustments to the C-analyzer tool. (GH-23045)</title>
<updated>2020-10-30T21:46:52+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2020-10-30T21:46:52+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=4fe72090deb7fb7bc09bfa56c92f6b3b0967d395'/>
<id>4fe72090deb7fb7bc09bfa56c92f6b3b0967d395</id>
<content type='text'>
This is a little bit of clean-up, small fixes, and additional helpers prior to building an updated &amp; accurate list of globals to eliminate.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is a little bit of clean-up, small fixes, and additional helpers prior to building an updated &amp; accurate list of globals to eliminate.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-42208: Fix test_gdb for gc_collect_main() name (GH-23041)</title>
<updated>2020-10-30T20:09:48+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-10-30T20:09:48+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=b9ee4af4c643a323779fd7076e80b29d611f2709'/>
<id>b9ee4af4c643a323779fd7076e80b29d611f2709</id>
<content type='text'>
The gcmodule.c collect() function was renamed to gc_collect_main():
update gdb/libpython.py (python-gdb.py).</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The gcmodule.c collect() function was renamed to gc_collect_main():
update gdb/libpython.py (python-gdb.py).</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-42161: Remove private _PyLong_Zero and _PyLong_One (GH-23003)</title>
<updated>2020-10-27T20:34:33+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-10-27T20:34:33+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=c310185c081110741fae914c06c7aaf673ad3d0d'/>
<id>c310185c081110741fae914c06c7aaf673ad3d0d</id>
<content type='text'>
Use PyLong_FromLong(0) and PyLong_FromLong(1) of the public C API
instead. For Python internals, _PyLong_GetZero() and _PyLong_GetOne()
of pycore_long.h can be used.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use PyLong_FromLong(0) and PyLong_FromLong(1) of the public C API
instead. For Python internals, _PyLong_GetZero() and _PyLong_GetOne()
of pycore_long.h can be used.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-42123: Run the parser two times and only enable invalid rules on the second run (GH-22111)</title>
<updated>2020-10-26T22:42:04+00:00</updated>
<author>
<name>Lysandros Nikolaou</name>
<email>lisandrosnik@gmail.com</email>
</author>
<published>2020-10-26T22:42:04+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=bca701403253379409dece03053dbd739c0bd059'/>
<id>bca701403253379409dece03053dbd739c0bd059</id>
<content type='text'>
* Implement running the parser a second time for the errors messages

The first parser run is only responsible for detecting whether
there is a `SyntaxError` or not. If there isn't the AST gets returned.
Otherwise, the parser is run a second time with all the `invalid_*`
rules enabled so that all the customized error messages get produced.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Implement running the parser a second time for the errors messages

The first parser run is only responsible for detecting whether
there is a `SyntaxError` or not. If there isn't the AST gets returned.
Otherwise, the parser is run a second time with all the `invalid_*`
rules enabled so that all the customized error messages get produced.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-36876: Fix the C analyzer tool. (GH-22841)</title>
<updated>2020-10-23T00:42:51+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2020-10-23T00:42:51+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=345cd37abe324ad4f60f80e2c3133b8849e54e9b'/>
<id>345cd37abe324ad4f60f80e2c3133b8849e54e9b</id>
<content type='text'>
The original tool wasn't working right and it was simpler to create a new one, partially re-using some of the old code. At this point the tool runs properly on the master. (Try: ./python Tools/c-analyzer/c-analyzer.py analyze.)  It take ~40 seconds on my machine to analyze the full CPython code base.

Note that we'll need to iron out some OS-specific stuff (e.g. preprocessor). We're okay though since this tool isn't used yet in our workflow. We will also need to verify the analysis results in detail before activating the check in CI, though I'm pretty sure it's close.

https://bugs.python.org/issue36876</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The original tool wasn't working right and it was simpler to create a new one, partially re-using some of the old code. At this point the tool runs properly on the master. (Try: ./python Tools/c-analyzer/c-analyzer.py analyze.)  It take ~40 seconds on my machine to analyze the full CPython code base.

Note that we'll need to iron out some OS-specific stuff (e.g. preprocessor). We're okay though since this tool isn't used yet in our workflow. We will also need to verify the analysis results in detail before activating the check in CI, though I'm pretty sure it's close.

https://bugs.python.org/issue36876</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-41971: Fix test failure in test.test_tools.test_c_analyzer when mutating global state (GH-22652)</title>
<updated>2020-10-11T20:34:51+00:00</updated>
<author>
<name>Pablo Galindo</name>
<email>Pablogsal@gmail.com</email>
</author>
<published>2020-10-11T20:34:51+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=47ecfd8030c391779dd9d3b4b07e6b01a8392481'/>
<id>47ecfd8030c391779dd9d3b4b07e6b01a8392481</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-41985: Add _PyLong_FileDescriptor_Converter and AC converter for "fildes". (GH-22620)</title>
<updated>2020-10-09T20:00:45+00:00</updated>
<author>
<name>Serhiy Storchaka</name>
<email>storchaka@gmail.com</email>
</author>
<published>2020-10-09T20:00:45+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=9975cc5008c795e069ce11e2dbed2110cc12e74e'/>
<id>9975cc5008c795e069ce11e2dbed2110cc12e74e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Revert "Fix all Python Cookbook links (#22205)" (GH-22424)</title>
<updated>2020-09-27T00:47:25+00:00</updated>
<author>
<name>Andre Delfino</name>
<email>adelfino@gmail.com</email>
</author>
<published>2020-09-27T00:47:25+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=e8a2076e149703ea043db5a9dfaaf8d9b7f37c3e'/>
<id>e8a2076e149703ea043db5a9dfaaf8d9b7f37c3e</id>
<content type='text'>
This commit reverts commit ac0333e1e117b7f61ed7ef1dbcdb6e515ada603b as the original links are working again and they provide extended features such as comments and alternative versions.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit reverts commit ac0333e1e117b7f61ed7ef1dbcdb6e515ada603b as the original links are working again and they provide extended features such as comments and alternative versions.</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-41834: Remove _Py_CheckRecursionLimit variable (GH-22359)</title>
<updated>2020-09-23T12:04:57+00:00</updated>
<author>
<name>Victor Stinner</name>
<email>vstinner@python.org</email>
</author>
<published>2020-09-23T12:04:57+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=19c3ac92bf73f1902cff846988552fd7bb8a8621'/>
<id>19c3ac92bf73f1902cff846988552fd7bb8a8621</id>
<content type='text'>
Remove the global _Py_CheckRecursionLimit variable: it has been
replaced by ceval.recursion_limit of the PyInterpreterState
structure.

There is no need to keep the variable for the stable ABI, since
Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() were not usable
in Python 3.8 and older: these macros accessed PyThreadState members,
whereas the PyThreadState structure is opaque in the limited C API.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the global _Py_CheckRecursionLimit variable: it has been
replaced by ceval.recursion_limit of the PyInterpreterState
structure.

There is no need to keep the variable for the stable ABI, since
Py_EnterRecursiveCall() and Py_LeaveRecursiveCall() were not usable
in Python 3.8 and older: these macros accessed PyThreadState members,
whereas the PyThreadState structure is opaque in the limited C API.</pre>
</div>
</content>
</entry>
</feed>
