<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/cpython-git.git/Include, branch v3.10.0b2</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>Python 3.10.0b2</title>
<updated>2021-05-31T11:30:34+00:00</updated>
<author>
<name>Pablo Galindo</name>
<email>pablogsal@gmail.com</email>
</author>
<published>2021-05-31T11:29:21+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=317314165a0b98c851c7774150f8121ad7e99254'/>
<id>317314165a0b98c851c7774150f8121ad7e99254</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-43795: Remove Py_FrozenMain from the Limited API &amp; Stable ABI  (GH-26241) (GH-26353)</title>
<updated>2021-05-25T11:59:10+00:00</updated>
<author>
<name>Miss Islington (bot)</name>
<email>31488909+miss-islington@users.noreply.github.com</email>
</author>
<published>2021-05-25T11:59:10+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=68b9c20a98887bf0a92698f8df9f28b9440970dc'/>
<id>68b9c20a98887bf0a92698f8df9f28b9440970dc</id>
<content type='text'>
Py_FrozenMain was added to the Limited C API in [bpo-42591]() (3.10.0a4);
but to fix that issue it would be enough to add it to the regular C API.

The function is undocumented, tests were added very recently ([bpo-44131]()),
and most importantly, it is not present in all builds of Python, as
the linker sometimes omits it as unused.
It should be added back when these issues are fixed.

Note that this does not affect Python's regular C API.
(cherry picked from commit d16856960e33bc5f64fc5b842f132058becafa37)

Co-authored-by: Petr Viktorin &lt;encukou@gmail.com&gt;

Co-authored-by: Petr Viktorin &lt;encukou@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Py_FrozenMain was added to the Limited C API in [bpo-42591]() (3.10.0a4);
but to fix that issue it would be enough to add it to the regular C API.

The function is undocumented, tests were added very recently ([bpo-44131]()),
and most importantly, it is not present in all builds of Python, as
the linker sometimes omits it as unused.
It should be added back when these issues are fixed.

Note that this does not affect Python's regular C API.
(cherry picked from commit d16856960e33bc5f64fc5b842f132058becafa37)

Co-authored-by: Petr Viktorin &lt;encukou@gmail.com&gt;

Co-authored-by: Petr Viktorin &lt;encukou@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-44201: Avoid side effects of "invalid_*" rules in the REPL (GH-26298) (GH-26313)</title>
<updated>2021-05-22T22:23:26+00:00</updated>
<author>
<name>Miss Islington (bot)</name>
<email>31488909+miss-islington@users.noreply.github.com</email>
</author>
<published>2021-05-22T22:23:26+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=1fb6b9e91d8685f7eca0fc33402589c65723bd94'/>
<id>1fb6b9e91d8685f7eca0fc33402589c65723bd94</id>
<content type='text'>
When the parser does a second pass to check for errors, these rules can
have some small side-effects as they may advance the parser more than
the point reached in the first pass. This can cause the tokenizer to ask
for extra tokens in interactive mode causing the tokenizer to show the
prompt instead of failing instantly.

To avoid this, add a new mode to the tokenizer that is activated in the
second pass and deactivates asking for new tokens when the interactive
line is finished. As the parsing should have reached the last line in
the first pass, the second pass should not need to ask for more tokens.

(cherry picked from commit bd7476dae337e905e7b1bbf33ddb96cc270fdc84)

Co-authored-by: Pablo Galindo &lt;Pablogsal@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the parser does a second pass to check for errors, these rules can
have some small side-effects as they may advance the parser more than
the point reached in the first pass. This can cause the tokenizer to ask
for extra tokens in interactive mode causing the tokenizer to show the
prompt instead of failing instantly.

To avoid this, add a new mode to the tokenizer that is activated in the
second pass and deactivates asking for new tokens when the interactive
line is finished. As the parsing should have reached the last line in
the first pass, the second pass should not need to ask for more tokens.

(cherry picked from commit bd7476dae337e905e7b1bbf33ddb96cc270fdc84)

Co-authored-by: Pablo Galindo &lt;Pablogsal@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-44184: Fix subtype_dealloc() for freed type (GH-26274) (GH-26290)</title>
<updated>2021-05-21T22:50:11+00:00</updated>
<author>
<name>Miss Islington (bot)</name>
<email>31488909+miss-islington@users.noreply.github.com</email>
</author>
<published>2021-05-21T22:50:11+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=50b0d148a68072292832eb69bdf1815b8059355f'/>
<id>50b0d148a68072292832eb69bdf1815b8059355f</id>
<content type='text'>
Fix a crash at Python exit when a deallocator function removes the
last strong reference to a heap type.

Don't read type memory after calling basedealloc() since
basedealloc() can deallocate the type and free its memory.

_PyMem_IsPtrFreed() argument is now constant.
(cherry picked from commit 615069eb08494d089bf24e43547fbc482ed699b8)

Co-authored-by: Victor Stinner &lt;vstinner@python.org&gt;

Co-authored-by: Victor Stinner &lt;vstinner@python.org&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix a crash at Python exit when a deallocator function removes the
last strong reference to a heap type.

Don't read type memory after calling basedealloc() since
basedealloc() can deallocate the type and free its memory.

_PyMem_IsPtrFreed() argument is now constant.
(cherry picked from commit 615069eb08494d089bf24e43547fbc482ed699b8)

Co-authored-by: Victor Stinner &lt;vstinner@python.org&gt;

Co-authored-by: Victor Stinner &lt;vstinner@python.org&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-43795: PEP 652 user documentation (GH-25668) (GH-26034)</title>
<updated>2021-05-14T05:29:09+00:00</updated>
<author>
<name>Miss Islington (bot)</name>
<email>31488909+miss-islington@users.noreply.github.com</email>
</author>
<published>2021-05-14T05:29:09+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=373937182ee029c282bea58cdda57ab41990f404'/>
<id>373937182ee029c282bea58cdda57ab41990f404</id>
<content type='text'>
- Reformat the C API and ABI Versioning page (and extend/clarify a bit)
- Rewrite the stable ABI docs into a general text on C API Compatibility
- Add a list of Limited API contents, and notes for the individual items.
- Replace `Include/README.rst` with a link to a devguide page with the same info
(cherry picked from commit b05955d6f5f149523b5855a335444b7c6324bdb7)

Co-authored-by: Petr Viktorin &lt;encukou@gmail.com&gt;

Co-authored-by: Petr Viktorin &lt;encukou@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Reformat the C API and ABI Versioning page (and extend/clarify a bit)
- Rewrite the stable ABI docs into a general text on C API Compatibility
- Add a list of Limited API contents, and notes for the individual items.
- Replace `Include/README.rst` with a link to a devguide page with the same info
(cherry picked from commit b05955d6f5f149523b5855a335444b7c6324bdb7)

Co-authored-by: Petr Viktorin &lt;encukou@gmail.com&gt;

Co-authored-by: Petr Viktorin &lt;encukou@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>Post 3.10.0b1</title>
<updated>2021-05-03T20:16:33+00:00</updated>
<author>
<name>Pablo Galindo</name>
<email>pablogsal@gmail.com</email>
</author>
<published>2021-05-03T20:16:33+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=1d320fe1893fdee46b7b07ffb20f8758bc6e5828'/>
<id>1d320fe1893fdee46b7b07ffb20f8758bc6e5828</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Python 3.10.0b1</title>
<updated>2021-05-03T19:34:56+00:00</updated>
<author>
<name>Pablo Galindo</name>
<email>pablogsal@gmail.com</email>
</author>
<published>2021-05-03T19:33:17+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=ba4217537c8a9f316921b8e3468bec86a9cab5f6'/>
<id>ba4217537c8a9f316921b8e3468bec86a9cab5f6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-38530: Refactor and improve AttributeError suggestions (GH-25776)</title>
<updated>2021-05-03T15:47:27+00:00</updated>
<author>
<name>Dennis Sweeney</name>
<email>36520290+sweeneyde@users.noreply.github.com</email>
</author>
<published>2021-05-03T15:47:27+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=80a2a4ed7d090fff2584302f07315d567109bca9'/>
<id>80a2a4ed7d090fff2584302f07315d567109bca9</id>
<content type='text'>
- Make case-swaps half the cost of any other edit
- Refactor Levenshtein code to not use memory allocator, and to bail early on no match.
- Add comments to Levenshtein distance code
- Add test cases for Levenshtein distance behind a debug macro
- Set threshold to `(name_size + item_size + 3) * MOVE_COST / 6`.
  - Reasoning: similar to `difflib.SequenceMatcher.ratio()` &gt;= 2/3:
```
"Multiset Jaccard similarity" &gt;= 2/3
matching letters / total letters &gt;= 2/3
(name_size - distance + item_size - distance) / (name_size + item_size) &gt;= 2/3
1 - (2*distance) / (name_size + item_size) &gt;= 2/3
1/3 &gt;= (2*distance) / (name_size + item_size)
(name_size + item_size) / 6 &gt;= distance
With rounding:
(name_size + item_size + 3) // 6 &gt;= distance
```

Co-authored-by: Pablo Galindo &lt;pablogsal@gmail.com&gt;</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Make case-swaps half the cost of any other edit
- Refactor Levenshtein code to not use memory allocator, and to bail early on no match.
- Add comments to Levenshtein distance code
- Add test cases for Levenshtein distance behind a debug macro
- Set threshold to `(name_size + item_size + 3) * MOVE_COST / 6`.
  - Reasoning: similar to `difflib.SequenceMatcher.ratio()` &gt;= 2/3:
```
"Multiset Jaccard similarity" &gt;= 2/3
matching letters / total letters &gt;= 2/3
(name_size - distance + item_size - distance) / (name_size + item_size) &gt;= 2/3
1 - (2*distance) / (name_size + item_size) &gt;= 2/3
1/3 &gt;= (2*distance) / (name_size + item_size)
(name_size + item_size) / 6 &gt;= distance
With rounding:
(name_size + item_size + 3) // 6 &gt;= distance
```

Co-authored-by: Pablo Galindo &lt;pablogsal@gmail.com&gt;</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-43916: Move the _PyStructSequence_InitType function to the internal API (GH-25854)</title>
<updated>2021-05-03T14:50:24+00:00</updated>
<author>
<name>Pablo Galindo</name>
<email>Pablogsal@gmail.com</email>
</author>
<published>2021-05-03T14:50:24+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=c2931d31f8ba7cf10044de276018c713ffc73592'/>
<id>c2931d31f8ba7cf10044de276018c713ffc73592</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>bpo-42725: Render annotations effectless on symbol table with PEP 563 (GH-25583)</title>
<updated>2021-05-03T07:43:00+00:00</updated>
<author>
<name>Batuhan Taskaya</name>
<email>isidentical@gmail.com</email>
</author>
<published>2021-05-03T07:43:00+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/cpython-git.git/commit/?id=ad106c68eb00f5e4af2f937107baff6141948cee'/>
<id>ad106c68eb00f5e4af2f937107baff6141948cee</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
