forked from pool/python312
- Tools/Demos
- gh-139330: SBOM generation tool didn’t cross-check the version
and checksum values against the Modules/expat/refresh.sh script,
leading to the values becoming out-of-date during routine
updates.
- Security
- gh-139700: Check consistency of the zip64 end of central
directory record. Support records with “zip64 extensible data”
if there are no bytes prepended to the ZIP file.
- gh-139400: xml.parsers.expat: Make sure that parent Expat
parsers are only garbage-collected once they are no longer
referenced by subparsers created by
ExternalEntityParserCreate(). Patch by Sebastian Pipping.
- gh-135661: Fix parsing start and end tags in
html.parser.HTMLParser according to the HTML5 standard.
* Whitespaces no longer accepted between </ and the tag name.
E.g. </ script> does not end the script section.
* Vertical tabulation (\v) and non-ASCII whitespaces no longer
recognized as whitespaces. The only whitespaces are \t\n\r\f
and space.
* Null character (U+0000) no longer ends the tag name.
* Attributes and slashes after the tag name in end tags are now
ignored, instead of terminating after the first > in quoted
attribute value. E.g. </script/foo=">"/>.
* Multiple slashes and whitespaces between the last attribute
and closing > are now ignored in both start and end tags. E.g.
<a foo=bar/ //>.
* Multiple = between attribute name and value are no longer
collapsed. E.g. <a foo==bar> produces attribute “foo” with
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python312?expand=0&rev=162
46 lines
1.9 KiB
Diff
46 lines
1.9 KiB
Diff
---
|
|
Doc/tools/extensions/c_annotations.py | 6 +++++-
|
|
Doc/tools/extensions/glossary_search.py | 12 ++++++++++--
|
|
2 files changed, 15 insertions(+), 3 deletions(-)
|
|
|
|
Index: Python-3.12.10/Doc/tools/extensions/c_annotations.py
|
|
===================================================================
|
|
--- Python-3.12.10.orig/Doc/tools/extensions/c_annotations.py 2025-04-08 13:35:47.000000000 +0200
|
|
+++ Python-3.12.10/Doc/tools/extensions/c_annotations.py 2025-04-11 21:16:39.007011463 +0200
|
|
@@ -117,7 +117,11 @@
|
|
state = app.env.domaindata["c_annotations"]
|
|
refcount_data = state["refcount_data"]
|
|
stable_abi_data = state["stable_abi_data"]
|
|
- for node in doctree.findall(addnodes.desc_content):
|
|
+ try:
|
|
+ findall = doctree.findall
|
|
+ except AttributeError:
|
|
+ findall = doctree.traverse
|
|
+ for node in findall(addnodes.desc_content):
|
|
par = node.parent
|
|
if par["domain"] != "c":
|
|
continue
|
|
Index: Python-3.12.10/Doc/tools/extensions/glossary_search.py
|
|
===================================================================
|
|
--- Python-3.12.10.orig/Doc/tools/extensions/glossary_search.py 2025-04-08 13:35:47.000000000 +0200
|
|
+++ Python-3.12.10/Doc/tools/extensions/glossary_search.py 2025-04-11 21:16:39.007340209 +0200
|
|
@@ -30,8 +30,16 @@
|
|
else:
|
|
terms = app.env.glossary_terms = {}
|
|
|
|
- for node in doctree.findall(glossary):
|
|
- for glossary_item in node.findall(nodes.definition_list_item):
|
|
+ try:
|
|
+ findall = doctree.findall
|
|
+ except AttributeError:
|
|
+ findall = doctree.traverse
|
|
+ for node in findall(glossary):
|
|
+ try:
|
|
+ node_findall = node.findall
|
|
+ except AttributeError:
|
|
+ node_findall = node.traverse
|
|
+ for glossary_item in node_findall(nodes.definition_list_item):
|
|
term = glossary_item[0].astext()
|
|
definition = glossary_item[-1]
|
|
|