<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Python/clinic, branch master</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-45020: Identify which frozen modules are actually aliases. (gh-28655)</title>
<updated>2021-10-05T17:26:37+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2021-10-05T17:26:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=08285d563e64c179a56ab2f952345b3dbcdb54f3'/>
<id>08285d563e64c179a56ab2f952345b3dbcdb54f3</id>
<content type='text'>
In the list of generated frozen modules at the top of Tools/scripts/freeze_modules.py, you will find that some of the modules have a different name than the module (or .py file) that is actually frozen. Let's call each case an "alias". Aliases do not come into play until we get to the (generated) list of modules in Python/frozen.c. (The tool for freezing modules, Programs/_freeze_module, is only concerned with the source file, not the module it will be used for.)

Knowledge of which frozen modules are aliases (and the identity of the original module) normally isn't important. However, this information is valuable when we go to set __file__ on frozen stdlib modules. This change updates Tools/scripts/freeze_modules.py to map aliases to the original module name (or None if not a stdlib module) in Python/frozen.c. We also add a helper function in Python/import.c to look up a frozen module's alias and add the result of that function to the frozen info returned from find_frozen().

https://bugs.python.org/issue45020</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the list of generated frozen modules at the top of Tools/scripts/freeze_modules.py, you will find that some of the modules have a different name than the module (or .py file) that is actually frozen. Let's call each case an "alias". Aliases do not come into play until we get to the (generated) list of modules in Python/frozen.c. (The tool for freezing modules, Programs/_freeze_module, is only concerned with the source file, not the module it will be used for.)

Knowledge of which frozen modules are aliases (and the identity of the original module) normally isn't important. However, this information is valuable when we go to set __file__ on frozen stdlib modules. This change updates Tools/scripts/freeze_modules.py to map aliases to the original module name (or None if not a stdlib module) in Python/frozen.c. We also add a helper function in Python/import.c to look up a frozen module's alias and add the result of that function to the frozen info returned from find_frozen().

https://bugs.python.org/issue45020</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-45324: Capture data in FrozenImporter.find_spec() to use in exec_module(). (gh-28633)</title>
<updated>2021-10-05T16:01:27+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2021-10-05T16:01:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=c3d9ac8b340fcbf54cee865737e67f11fcd70ed3'/>
<id>c3d9ac8b340fcbf54cee865737e67f11fcd70ed3</id>
<content type='text'>
Before this change we end up duplicating effort and throwing away data in FrozenImporter.find_spec().  Now we do the work once in find_spec() and the only thing we do in FrozenImporter.exec_module() is turn the raw frozen data into a code object and then exec it.

We've added _imp.find_frozen(), add an arg to _imp.get_frozen_object(), and updated FrozenImporter.  We've also moved some code around to reduce duplication, get a little more consistency in outcomes, and be more efficient.

Note that this change is mostly necessary if we want to set __file__ on frozen stdlib modules. (See https://bugs.python.org/issue21736.)

https://bugs.python.org/issue45324</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before this change we end up duplicating effort and throwing away data in FrozenImporter.find_spec().  Now we do the work once in find_spec() and the only thing we do in FrozenImporter.exec_module() is turn the raw frozen data into a code object and then exec it.

We've added _imp.find_frozen(), add an arg to _imp.get_frozen_object(), and updated FrozenImporter.  We've also moved some code around to reduce duplication, get a little more consistency in outcomes, and be more efficient.

Note that this change is mostly necessary if we want to set __file__ on frozen stdlib modules. (See https://bugs.python.org/issue21736.)

https://bugs.python.org/issue45324</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-45020: Add -X frozen_modules=[on|off] to explicitly control use of frozen modules. (gh-28320)</title>
<updated>2021-09-14T23:31:45+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2021-09-14T23:31:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=a65c86889e208dddb26a7ebe7840c24edbcca775'/>
<id>a65c86889e208dddb26a7ebe7840c24edbcca775</id>
<content type='text'>
Currently we freeze several modules into the runtime. For each of these modules it is essential to bootstrapping the runtime that they be frozen. Any other stdlib module that we later freeze into the runtime is not essential. We can just as well import from the .py file.  This PR lets users explicitly choose which should be used, with the new "-X frozen_modules=[on|off]" CLI flag. The default is "off" for now.

https://bugs.python.org/issue45020</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently we freeze several modules into the runtime. For each of these modules it is essential to bootstrapping the runtime that they be frozen. Any other stdlib module that we later freeze into the runtime is not essential. We can just as well import from the .py file.  This PR lets users explicitly choose which should be used, with the new "-X frozen_modules=[on|off]" CLI flag. The default is "off" for now.

https://bugs.python.org/issue45020</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-45019: Do some cleanup related to frozen modules. (gh-28319)</title>
<updated>2021-09-13T22:18:37+00:00</updated>
<author>
<name>Eric Snow</name>
<email>ericsnowcurrently@gmail.com</email>
</author>
<published>2021-09-13T22:18:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=a2d8c4b81b8e68e2ffe10945f7ca69174c14e52a'/>
<id>a2d8c4b81b8e68e2ffe10945f7ca69174c14e52a</id>
<content type='text'>
There are a few things I missed in gh-27980. This is a follow-up that will make subsequent PRs cleaner. It includes fixes to tests and tools that reference the frozen modules.

https://bugs.python.org/issue45019</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are a few things I missed in gh-27980. This is a follow-up that will make subsequent PRs cleaner. It includes fixes to tests and tools that reference the frozen modules.

https://bugs.python.org/issue45019</pre>
</div>
</content>
</entry>
<entry>
<title>Add tests for the C tokenizer and expose it as a private module (GH-27924)</title>
<updated>2021-08-24T16:50:05+00:00</updated>
<author>
<name>Pablo Galindo Salgado</name>
<email>Pablogsal@gmail.com</email>
</author>
<published>2021-08-24T16:50:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=a24676bedcd332dd7e6fa5521d0449206391d190'/>
<id>a24676bedcd332dd7e6fa5521d0449206391d190</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-20201: variadic arguments support for AC (GH-18609)</title>
<updated>2021-07-16T15:43:02+00:00</updated>
<author>
<name>Batuhan Taskaya</name>
<email>batuhan@python.org</email>
</author>
<published>2021-07-16T15:43:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=9af34c935185eca497617a216d141c72ffaeae9c'/>
<id>9af34c935185eca497617a216d141c72ffaeae9c</id>
<content type='text'>
Implement support for `*args` in AC, and port `print()` to use it.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Implement support for `*args` in AC, and port `print()` to use it.</pre>
</div>
</content>
</entry>
<entry>
<title>Remove sys._deactivate_opcache() now that is not needed (GH-27154)</title>
<updated>2021-07-15T13:43:59+00:00</updated>
<author>
<name>Pablo Galindo Salgado</name>
<email>Pablogsal@gmail.com</email>
</author>
<published>2021-07-15T13:43:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=4cb7263f0c7199280c01d911a1e7021568b548fd'/>
<id>4cb7263f0c7199280c01d911a1e7021568b548fd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-43918: document signature and default argument of `anext` builtin (#25551)</title>
<updated>2021-06-22T21:00:51+00:00</updated>
<author>
<name>Erik Welch</name>
<email>erik.n.welch@gmail.com</email>
</author>
<published>2021-06-22T21:00:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=6af4e6b266cb19d646ad7e4051fc7974c3096d23'/>
<id>6af4e6b266cb19d646ad7e4051fc7974c3096d23</id>
<content type='text'>
Co-authored-by: Dennis Sweeney &lt;36520290+sweeneyde@users.noreply.github.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: Dennis Sweeney &lt;36520290+sweeneyde@users.noreply.github.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-44187: Quickening infrastructure (GH-26264)</title>
<updated>2021-06-07T17:38:06+00:00</updated>
<author>
<name>Mark Shannon</name>
<email>mark@hotpy.org</email>
</author>
<published>2021-06-07T17:38:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=001eb520b5757294dc455c900d94b7b153de6cdd'/>
<id>001eb520b5757294dc455c900d94b7b153de6cdd</id>
<content type='text'>
* Add co_firstinstr field to code object.

* Implement barebones quickening.

* Use non-quickened bytecode when tracing.

* Add NEWS item

* Add new file to Windows build.

* Don't specialize instructions with EXTENDED_ARG.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add co_firstinstr field to code object.

* Implement barebones quickening.

* Use non-quickened bytecode when tracing.

* Add NEWS item

* Add new file to Windows build.

* Don't specialize instructions with EXTENDED_ARG.
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-31861: Add aiter and anext to builtins (#23847)</title>
<updated>2021-03-23T22:47:21+00:00</updated>
<author>
<name>Joshua Bronson</name>
<email>jabronson@gmail.com</email>
</author>
<published>2021-03-23T22:47:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/cpython-git.git/commit/?id=f0a6fde8827d5d4f7a1c741ab1a8b206b66ffd57'/>
<id>f0a6fde8827d5d4f7a1c741ab1a8b206b66ffd57</id>
<content type='text'>
Co-authored-by: jab &lt;jab@users.noreply.github.com&gt;
Co-authored-by: Daniel Pope &lt;mauve@mauveweb.co.uk&gt;
Co-authored-by: Justin Wang &lt;justin39@gmail.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-authored-by: jab &lt;jab@users.noreply.github.com&gt;
Co-authored-by: Daniel Pope &lt;mauve@mauveweb.co.uk&gt;
Co-authored-by: Justin Wang &lt;justin39@gmail.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
