You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
(5) |
May
(27) |
Jun
(22) |
Jul
(72) |
Aug
(82) |
Sep
(86) |
Oct
(138) |
Nov
(100) |
Dec
(62) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(122) |
Feb
(147) |
Mar
(92) |
Apr
(82) |
May
(101) |
Jun
(153) |
Jul
(37) |
Aug
(34) |
Sep
(46) |
Oct
(46) |
Nov
(6) |
Dec
(38) |
2004 |
Jan
(64) |
Feb
(81) |
Mar
(36) |
Apr
(194) |
May
(329) |
Jun
(272) |
Jul
(68) |
Aug
(74) |
Sep
(150) |
Oct
(57) |
Nov
(62) |
Dec
(63) |
2005 |
Jan
(78) |
Feb
(30) |
Mar
(137) |
Apr
(78) |
May
(54) |
Jun
(122) |
Jul
(72) |
Aug
(110) |
Sep
(80) |
Oct
(75) |
Nov
(125) |
Dec
(79) |
2006 |
Jan
(100) |
Feb
(15) |
Mar
(41) |
Apr
(67) |
May
(30) |
Jun
(11) |
Jul
(14) |
Aug
(22) |
Sep
(20) |
Oct
(14) |
Nov
(11) |
Dec
(15) |
2007 |
Jan
(17) |
Feb
(16) |
Mar
(35) |
Apr
(21) |
May
(33) |
Jun
(50) |
Jul
(12) |
Aug
(7) |
Sep
(2) |
Oct
(6) |
Nov
(5) |
Dec
(2) |
2008 |
Jan
(14) |
Feb
(20) |
Mar
(35) |
Apr
(9) |
May
(57) |
Jun
(21) |
Jul
(42) |
Aug
(4) |
Sep
(13) |
Oct
(76) |
Nov
(40) |
Dec
(55) |
2009 |
Jan
(26) |
Feb
(15) |
Mar
(3) |
Apr
(67) |
May
(32) |
Jun
(39) |
Jul
(59) |
Aug
(31) |
Sep
(59) |
Oct
(64) |
Nov
(21) |
Dec
(10) |
2010 |
Jan
(21) |
Feb
(3) |
Mar
(116) |
Apr
(33) |
May
(9) |
Jun
(28) |
Jul
(21) |
Aug
(23) |
Sep
(146) |
Oct
(70) |
Nov
(31) |
Dec
(57) |
2011 |
Jan
(33) |
Feb
(22) |
Mar
(11) |
Apr
(21) |
May
(51) |
Jun
(47) |
Jul
(35) |
Aug
(26) |
Sep
(25) |
Oct
(34) |
Nov
(61) |
Dec
(51) |
2012 |
Jan
(75) |
Feb
(31) |
Mar
(26) |
Apr
(16) |
May
(24) |
Jun
(24) |
Jul
(31) |
Aug
(46) |
Sep
(36) |
Oct
(28) |
Nov
(37) |
Dec
(21) |
2013 |
Jan
(16) |
Feb
(56) |
Mar
(31) |
Apr
(44) |
May
(45) |
Jun
(29) |
Jul
(38) |
Aug
(18) |
Sep
(12) |
Oct
(16) |
Nov
(21) |
Dec
(11) |
2014 |
Jan
(13) |
Feb
(14) |
Mar
(28) |
Apr
(7) |
May
(72) |
Jun
(33) |
Jul
(21) |
Aug
(1) |
Sep
(6) |
Oct
(14) |
Nov
(18) |
Dec
(22) |
2015 |
Jan
(23) |
Feb
(108) |
Mar
(76) |
Apr
(114) |
May
(60) |
Jun
(9) |
Jul
(8) |
Aug
(9) |
Sep
(42) |
Oct
(9) |
Nov
|
Dec
(7) |
2016 |
Jan
(6) |
Feb
(15) |
Mar
(7) |
Apr
|
May
(33) |
Jun
(3) |
Jul
(19) |
Aug
(12) |
Sep
(6) |
Oct
(16) |
Nov
(17) |
Dec
(125) |
2017 |
Jan
(66) |
Feb
(98) |
Mar
(29) |
Apr
(32) |
May
(63) |
Jun
(98) |
Jul
(26) |
Aug
(33) |
Sep
(19) |
Oct
(77) |
Nov
(31) |
Dec
(27) |
2018 |
Jan
(32) |
Feb
(11) |
Mar
(5) |
Apr
(12) |
May
(4) |
Jun
(9) |
Jul
(9) |
Aug
(13) |
Sep
(11) |
Oct
(6) |
Nov
(23) |
Dec
(2) |
2019 |
Jan
(26) |
Feb
(12) |
Mar
(20) |
Apr
(18) |
May
(7) |
Jun
(22) |
Jul
(81) |
Aug
(129) |
Sep
(32) |
Oct
(18) |
Nov
(11) |
Dec
(44) |
2020 |
Jan
(19) |
Feb
(10) |
Mar
(38) |
Apr
(4) |
May
(9) |
Jun
(15) |
Jul
(29) |
Aug
(79) |
Sep
(12) |
Oct
(22) |
Nov
(10) |
Dec
(37) |
2021 |
Jan
(16) |
Feb
(14) |
Mar
(20) |
Apr
(100) |
May
(21) |
Jun
(19) |
Jul
(13) |
Aug
(13) |
Sep
(37) |
Oct
(112) |
Nov
(64) |
Dec
(22) |
2022 |
Jan
(209) |
Feb
(38) |
Mar
(11) |
Apr
(10) |
May
(55) |
Jun
(104) |
Jul
(35) |
Aug
(10) |
Sep
(21) |
Oct
(21) |
Nov
(50) |
Dec
(12) |
2023 |
Jan
(6) |
Feb
|
Mar
(3) |
Apr
(41) |
May
(48) |
Jun
(9) |
Jul
(6) |
Aug
(25) |
Sep
(3) |
Oct
(22) |
Nov
(56) |
Dec
(12) |
2024 |
Jan
(5) |
Feb
(5) |
Mar
(38) |
Apr
(62) |
May
(12) |
Jun
(10) |
Jul
(3) |
Aug
(59) |
Sep
(2) |
Oct
(36) |
Nov
(14) |
Dec
(3) |
2025 |
Jan
(5) |
Feb
(19) |
Mar
(7) |
Apr
(65) |
May
(11) |
Jun
(13) |
Jul
(46) |
Aug
(27) |
Sep
(5) |
Oct
|
Nov
|
Dec
|
From: Günter M. <mi...@us...> - 2025-09-08 19:18:52
|
Commit [r10226] fixes the [regeression in Sphinx](https://github.com/sphinx-doc/sphinx/issues/13861). In order to correctly support sections in nested parsing, it reverts to using `memo.section_level` to keep record of the current section level. This is cumbersome and error prone because it needs to be updated with every switch of the current node. The attached patch implements an alternative: Store the difference between the intended start level of nested parsing and the number of parents of the base node in the new attribute `section_level_offset`. Use it to correct the section level determined via `node.section_hierarchy()`. Attachments: - [0001-rST-parser-Use-section_level_offset-instead-of-memo..patch](https://sourceforge.net/p/docutils/bugs/_discuss/thread/4184882201/424c/attachment/0001-rST-parser-Use-section_level_offset-instead-of-memo..patch) (7.0 kB; text/x-patch) --- **[bugs:#511] Problems with nested parsing and sections.** **Status:** pending-remind **Created:** Tue Aug 26, 2025 10:13 AM UTC by Günter Milde **Last Updated:** Mon Sep 08, 2025 07:09 PM UTC **Owner:** nobody **Attachments:** - [old_nested_parsing.py](https://sourceforge.net/p/docutils/bugs/511/attachment/old_nested_parsing.py) (7.5 kB; text/x-python) In Docutils <= 0.22, parsing a nested content block with `docutils.parsers.rst.state.RSTState.nested_parse()` uses the document-wide "title style hierarchy". With Docutils <=0.21, this method can **loose complete sections** without warning when the `match_titles` argument is True and the nested content block contains sections with a title style that matches a lower section level than the current section level (try the attached test with a Docutils version below 0.22). Docutils itself does not use `nested_parse()` with `match_titles` True and did not test. However, the feature is used by Sphinx and several Sphinx extensions (cf. [bugs:#508], [bugs:#509], and https://github.com/sphinx-doc/sphinx/issues/13845). The new section parsing algorithm introduced in Docutils 0.22 fixes the data loss, but sections with a title style that matches a lower section level than the current section level are attached in wrong order: After the nested parsing is complete, the calling parser continues where it left of, messing the order of elements in the doctree (try the attached test with [r10204]). This was fixed in [r10206] at the expense of dropping support for document-wide title styles in nested parsing. As a result, the Sphinx "only" directive (which uses a new section style hierarchy with later re-attachment of the first section) now fails: https://github.com/sphinx-doc/sphinx/issues/13861 --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-09-08 19:09:03
|
The fix is implemented in [r10223]. --- **[bugs:#511] Problems with nested parsing and sections.** **Status:** pending-remind **Created:** Tue Aug 26, 2025 10:13 AM UTC by Günter Milde **Last Updated:** Mon Sep 08, 2025 07:06 PM UTC **Owner:** nobody **Attachments:** - [old_nested_parsing.py](https://sourceforge.net/p/docutils/bugs/511/attachment/old_nested_parsing.py) (7.5 kB; text/x-python) In Docutils <= 0.22, parsing a nested content block with `docutils.parsers.rst.state.RSTState.nested_parse()` uses the document-wide "title style hierarchy". With Docutils <=0.21, this method can **loose complete sections** without warning when the `match_titles` argument is True and the nested content block contains sections with a title style that matches a lower section level than the current section level (try the attached test with a Docutils version below 0.22). Docutils itself does not use `nested_parse()` with `match_titles` True and did not test. However, the feature is used by Sphinx and several Sphinx extensions (cf. [bugs:#508], [bugs:#509], and https://github.com/sphinx-doc/sphinx/issues/13845). The new section parsing algorithm introduced in Docutils 0.22 fixes the data loss, but sections with a title style that matches a lower section level than the current section level are attached in wrong order: After the nested parsing is complete, the calling parser continues where it left of, messing the order of elements in the doctree (try the attached test with [r10204]). This was fixed in [r10206] at the expense of dropping support for document-wide title styles in nested parsing. As a result, the Sphinx "only" directive (which uses a new section style hierarchy with later re-attachment of the first section) now fails: https://github.com/sphinx-doc/sphinx/issues/13861 --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-09-08 19:06:16
|
- Description has changed: Diff: ~~~~ --- old +++ new @@ -3,7 +3,7 @@ With Docutils <=0.21, this method can **loose complete sections** without warning when the `match_titles` argument is True and the nested content block contains sections with a title style that matches a lower section level than the current section level (try the attached test with a Docutils version below 0.22). Docutils itself does not use `nested_parse()` with `match_titles` True and did not test. -However, the feature is used by Sphinx and several Sphinx extensions (cf. [bugs:#508], [bugs#509], and https://github.com/sphinx-doc/sphinx/issues/13845). +However, the feature is used by Sphinx and several Sphinx extensions (cf. [bugs:#508], [bugs:#509], and https://github.com/sphinx-doc/sphinx/issues/13845). The new section parsing algorithm introduced in Docutils 0.22 fixes the data loss, but sections with a title style that matches a lower section level than the current section level are attached in wrong order: After the nested parsing is complete, the calling parser continues where it left of, messing the order of elements in the doctree (try the attached test with [r10204]). ~~~~ --- **[bugs:#511] Problems with nested parsing and sections.** **Status:** pending-remind **Created:** Tue Aug 26, 2025 10:13 AM UTC by Günter Milde **Last Updated:** Tue Sep 02, 2025 09:54 AM UTC **Owner:** nobody **Attachments:** - [old_nested_parsing.py](https://sourceforge.net/p/docutils/bugs/511/attachment/old_nested_parsing.py) (7.5 kB; text/x-python) In Docutils <= 0.22, parsing a nested content block with `docutils.parsers.rst.state.RSTState.nested_parse()` uses the document-wide "title style hierarchy". With Docutils <=0.21, this method can **loose complete sections** without warning when the `match_titles` argument is True and the nested content block contains sections with a title style that matches a lower section level than the current section level (try the attached test with a Docutils version below 0.22). Docutils itself does not use `nested_parse()` with `match_titles` True and did not test. However, the feature is used by Sphinx and several Sphinx extensions (cf. [bugs:#508], [bugs:#509], and https://github.com/sphinx-doc/sphinx/issues/13845). The new section parsing algorithm introduced in Docutils 0.22 fixes the data loss, but sections with a title style that matches a lower section level than the current section level are attached in wrong order: After the nested parsing is complete, the calling parser continues where it left of, messing the order of elements in the doctree (try the attached test with [r10204]). This was fixed in [r10206] at the expense of dropping support for document-wide title styles in nested parsing. As a result, the Sphinx "only" directive (which uses a new section style hierarchy with later re-attachment of the first section) now fails: https://github.com/sphinx-doc/sphinx/issues/13861 --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-09-06 10:56:15
|
- **status**: open --> open-fixed - **Comment**: This should be fixed in [r10227]. Could you re-try? --- **[bugs:#509] regression with docutils 0.22: unsupported operand type(s) for +: 'NoneType' and 'list'** **Status:** open-fixed **Created:** Wed Aug 06, 2025 06:13 PM UTC by Oliver Smith **Last Updated:** Mon Aug 11, 2025 12:44 PM UTC **Owner:** nobody Hello, after upgrading to docutils 0.22, building documentation for the pmbootstrap project fails: ~~~ Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/sphinx/cmd/build.py", line 432, in build_main app.build(args.force_all, args.filenames) File "/usr/lib/python3.12/site-packages/sphinx/application.py", line 426, in build self.builder.build_update() File "/usr/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 375, in build_update self.build( File "/usr/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 403, in build updated_docnames = set(self.read()) ^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 519, in read self._read_serial(docnames) File "/usr/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 584, in _read_serial self.read_doc(docname) File "/usr/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 648, in read_doc publisher.publish() File "/usr/lib/python3.12/site-packages/docutils/core.py", line 269, in publish self.document = self.reader.read(self.source, self.parser, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/sphinx/io.py", line 103, in read self.parse() File "/usr/lib/python3.12/site-packages/docutils/readers/__init__.py", line 101, in parse self.parser.parse(self.input, document) File "/usr/lib/python3.12/site-packages/sphinx/parsers.py", line 86, in parse self.statemachine.run(inputlines, document, inliner=self.inliner) File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 165, in run results = StateMachineWS.run(self, input_lines, input_offset, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 2354, in explicit_markup nodelist, blank_finish = self.explicit_construct(match) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 2366, in explicit_construct return method(self, expmatch) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 2103, in directive return self.run_directive( ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 2153, in run_directive result = directive_instance.run() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/sphinxcontrib/autoprogram.py", line 262, in run nested_parse_with_titles(self.state, result, node) File "/usr/lib/python3.12/site-packages/sphinx/util/nodes.py", line 378, in nested_parse_with_titles ret = state.nested_parse(content, content_offset, node, match_titles=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 275, in nested_parse state_machine.run(block, input_offset, memo=self.memo, File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 191, in run results = StateMachineWS.run(self, input_lines, input_offset) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 2787, in underline self.section(title, source, style, lineno - 1, messages) File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 321, in section self.new_subsection(title, lineno, messages) File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 370, in new_subsection self.parent += section_node File "/usr/lib/python3.12/site-packages/docutils/nodes.py", line 736, in __radd__ return other + self.children ~~~~~~^~~~~~~~~~~~~~~ TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' ~~~ Source code: https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/ Tested with commit: 5927ff70b8d2468d5d0e2c978bc1fe30d036fd7f Distribution: Alpine Linux Edge --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-09-06 10:55:54
|
- **status**: open --> open-fixed - **Comment**: This should be fixed in [r10227]. Could you re-try? --- **[bugs:#508] qemu build problem after docutils update to 0.22** **Status:** open-fixed **Created:** Mon Aug 04, 2025 08:23 AM UTC by Thomas Klausner **Last Updated:** Mon Aug 18, 2025 12:23 PM UTC **Owner:** nobody After updating docutils in pkgsrc to 0.22 (with sphinx 8.2.3), qemu 10.0.3 (https://gitlab.com/qemu-project/qemu) stopped building. The output is not very clear: ``` [5596/6204] Generating docs/QEMU manual with a custom command FAILED: [code=2] docs/docs.stamp /scratch/emulators/qemu/work/.tools/bin/env CONFDIR=/usr/pkg/etc/qemu/qemu /scratch/emulators/qemu/work/qemu-10.0.3/build/pyvenv/bin/sphinx-build -q -j auto -Dversion=10.0.3 -Drelease= -Ddepfile=docs/docs.d -Ddepfile_sta mp=docs/docs.stamp -b html -d /scratch/emulators/qemu/work/qemu-10.0.3/build/docs/manual.p /scratch/emulators/qemu/work/qemu-10.0.3/docs /scratch/emulators/qemu/work/qemu-10.0.3/build/docs/manual Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:70: CRITICAL: Inconsistent title style: skip from level 1 to 3. Valid requests ^^^^^^^^^^^^^^ Established title styles: =/= - ^ [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:73: CRITICAL: Inconsistent title style: skip from level 1 to 4. 10:17:35 [41/1829] Clock management: """"""""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:107: CRITICAL: Inconsistent title style: skip from level 1 to 4. PIO and memory access: """""""""""""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:215: CRITICAL: Inconsistent title style: skip from level 1 to 4. IRQ management: """"""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:239: CRITICAL: Inconsistent title style: skip from level 1 to 4. Setting interrupt level: """""""""""""""""""""""" Established title styles: =/= - ^ " [docutils] Sphinx parallel build error! Versions ======== * Platform: netbsd11; (NetBSD-11.99.1-amd64-x86_64-64bit-ELF) * Python version: 3.13.5 (CPython) * Sphinx version: 8.2.3 * Docutils version: 0.22 * Jinja2 version: 3.1.6 * Pygments version: 2.19.2 Last Messages ============= reading sources... [ 91%] system/s390x/protvirt .. system/target-loongarch reading sources... [ 94%] system/target-m68k .. system/target-sparc64 reading sources... [ 97%] system/target-xtensa .. tools/qemu-nbd Loaded Extensions ================= * sphinx.ext.mathjax (8.2.3) * alabaster (1.0.0) * sphinxcontrib.applehelp (2.0.0) * sphinxcontrib.devhelp (2.0.0) * sphinxcontrib.htmlhelp (2.1.0) * sphinxcontrib.serializinghtml (2.0.0) * sphinxcontrib.qthelp (2.0.0) * depfile (1.0) * hxtool (1.0) * kerneldoc (1.0) * qapi_domain (1.0) * qapidoc (2.0) * qmp_lexer (unknown version) * dbusdoc (1.0) * sphinxcontrib.jquery (4.1) * sphinx_rtd_theme (unknown version) Traceback ========= File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/parallel.py", line 137, in _join_one raise SphinxParallelError(*result) sphinx.errors.SphinxParallelError: TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' The full traceback has been saved in: /tmp/sphinx-err-gj6pt4nj.log To report this error to the developers, please open an issue at <https://github.com/sphinx-doc/sphinx/issues/>. Thanks! Please also report this if it was a user error, so that a better error message can be provided next time. ``` The full traceback from the log lists docutils code as the origin of the breakage: ``` Traceback ========= (Error in parallel process) Traceback (most recent call last): File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/parallel.py", line 83, in _process ret = func(arg) # type: ignore[call-arg] File "/usr/pkg/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 603, in read_process self.read_doc(docname, _cache=False) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 648, in read_doc publisher.publish() ~~~~~~~~~~~~~~~~~^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/core.py", line 269, in publish self.document = self.reader.read(self.source, self.parser, ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ self.settings) ^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/io.py", line 103, in read self.parse() ~~~~~~~~~~^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/readers/__init__.py", line 101, in parse self.parser.parse(self.input, document) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/parsers.py", line 86, in parse self.statemachine.run(inputlines, document, inliner=self.inliner) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 165, in run results = StateMachineWS.run(self, input_lines, input_offset, input_source=document['source']) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2356, in explicit_markup self.explicit_list(blank_finish) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2381, in explicit_list newline_offset, blank_finish = self.nested_list_parse( ~~~~~~~~~~~~~~~~~~~~~~^ self.state_machine.input_lines[offset:], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... blank_finish=blank_finish, ^^^^^^^^^^^^^^^^^^^^^^^^^^ match_titles=self.state_machine.match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 312, in nested_list_parse state_machine.run(block, input_offset, memo=self.memo, ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ node=node, match_titles=match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 191, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2659, in explicit_markup nodelist, blank_finish = self.explicit_construct(match) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2366, in explicit_construct return method(self, expmatch) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2103, in directive return self.run_directive( ~~~~~~~~~~~~~~~~~~^ directive_class, match, type_name, option_presets) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2153, in run_directive result = directive_instance.run() File "/scratch/emulators/qemu/work/qemu-10.0.3/docs/sphinx/qapidoc.py", line 620, in run contentnode = self.transmogrify(schema) File "/scratch/emulators/qemu/work/qemu-10.0.3/docs/sphinx/qapidoc.py", line 549, in transmogrify nested_parse_with_titles(self.state, content, contentnode) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/nodes.py", line 378, in nested_parse_with_titles ret = state.nested_parse(content, content_offset, node, match_titles=True) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 275, in nested_parse state_machine.run(block, input_offset, memo=self.memo, ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ node=node, match_titles=match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 191, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 3024, in text self.section(title.lstrip(), source, style, lineno + 1, messages) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 321, in section self.new_subsection(title, lineno, messages) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 370, in new_subsection self.parent += section_node File "/usr/pkg/lib/python3.13/site-packages/docutils/nodes.py", line 736, in __radd__ return other + self.children ~~~~~~^~~~~~~~~~~~~~~ TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' ``` Even with the "CRITICAL: Inconsistent title style" problems fixed, the build stops. Any ideas what the problem is or how to fix it? Thanks. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-31 16:28:38
|
- Description has changed: Diff: ~~~~ --- old +++ new @@ -8,4 +8,4 @@ The new section parsing algorithm introduced in Docutils 0.22 fixes the data loss, but sections with a title style that matches a lower section level than the current section level are attached in wrong order: After the nested parsing is complete, the calling parser continues where it left of, messing the order of elements in the doctree (try the attached test with [r10204]). This was fixed in [r10206] at the expense of dropping support for document-wide title styles in nested parsing. -As a result, the Sphinx "only" directive (which uses a new section style hierarchy with later re-attachment of the first section) now fails: https://github.com/sphinx-doc/sphinx/issues/13845#issuecomment-3209397215. +As a result, the Sphinx "only" directive (which uses a new section style hierarchy with later re-attachment of the first section) now fails: https://github.com/sphinx-doc/sphinx/issues/13861 ~~~~ --- **[bugs:#511] Problems with nested parsing and sections.** **Status:** pending-remind **Created:** Tue Aug 26, 2025 10:13 AM UTC by Günter Milde **Last Updated:** Fri Aug 29, 2025 09:25 PM UTC **Owner:** nobody **Attachments:** - [old_nested_parsing.py](https://sourceforge.net/p/docutils/bugs/511/attachment/old_nested_parsing.py) (7.5 kB; text/x-python) In Docutils <= 0.22, parsing a nested content block with `docutils.parsers.rst.state.RSTState.nested_parse()` uses the document-wide "title style hierarchy". With Docutils <=0.21, this method can **loose complete sections** without warning when the `match_titles` argument is True and the nested content block contains sections with a title style that matches a lower section level than the current section level (try the attached test with a Docutils version below 0.22). Docutils itself does not use `nested_parse()` with `match_titles` True and did not test. However, the feature is used by Sphinx and several Sphinx extensions (cf. [bugs:#508], [bugs#509], and https://github.com/sphinx-doc/sphinx/issues/13845). The new section parsing algorithm introduced in Docutils 0.22 fixes the data loss, but sections with a title style that matches a lower section level than the current section level are attached in wrong order: After the nested parsing is complete, the calling parser continues where it left of, messing the order of elements in the doctree (try the attached test with [r10204]). This was fixed in [r10206] at the expense of dropping support for document-wide title styles in nested parsing. As a result, the Sphinx "only" directive (which uses a new section style hierarchy with later re-attachment of the first section) now fails: https://github.com/sphinx-doc/sphinx/issues/13861 --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: engelbert g. <gr...@us...> - 2025-08-31 09:57:58
|
assuming the included document. is complete, has a consistent title hierarchy means first title-style is top, next is 2nd asf standard use case is to include the document at a position where it's top level is one below the current in the including document e.g. section l1 ========== section l2 ---------- .. included doc section l3 ========== section l4 ---------- .. including doc section l2 ---------- is there a use case for including and setting a different level, absolute or relative ? On Fri, 29 Aug 2025 at 23:25, Günter Milde <mi...@us...> wrote: > An alternative idea: nested parse uses the document-wide title style > hierarchy if the "node" argument is left at its default value. The result > of the nested parsing is directly added to the document (at the "current" > node). Sections are appended according to their level. > > Attachments: > > - 0001-Support-nested-parsing-with-document-wide-section-ti.patch > <https://sourceforge.net/p/docutils/bugs/_discuss/thread/4184882201/2af4/attachment/0001-Support-nested-parsing-with-document-wide-section-ti.patch> > (11.8 kB; text/x-patch) > > ------------------------------ > > *[bugs:#511] <https://sourceforge.net/p/docutils/bugs/511/> Problems with > nested parsing and sections.* > > *Status:* pending-remind > *Created:* Tue Aug 26, 2025 10:13 AM UTC by Günter Milde > *Last Updated:* Tue Aug 26, 2025 10:38 AM UTC > *Owner:* nobody > *Attachments:* > > - old_nested_parsing.py > <https://sourceforge.net/p/docutils/bugs/511/attachment/old_nested_parsing.py> > (7.5 kB; text/x-python) > > In Docutils <= 0.22, parsing a nested content block with > docutils.parsers.rst.state.RSTState.nested_parse() uses the document-wide > "title style hierarchy". > > With Docutils <=0.21, this method can *loose complete sections* without > warning when the match_titles argument is True and the nested content > block contains sections with a title style that matches a lower section > level than the current section level (try the attached test with a Docutils > version below 0.22). > > Docutils itself does not use nested_parse() with match_titles True and > did not test. > However, the feature is used by Sphinx and several Sphinx extensions (cf. > [bugs:#508] <https://sourceforge.net/p/docutils/bugs/508/>, [bugs#509], > and https://github.com/sphinx-doc/sphinx/issues/13845). > > The new section parsing algorithm introduced in Docutils 0.22 fixes the > data loss, but sections with a title style that matches a lower section > level than the current section level are attached in wrong order: After the > nested parsing is complete, the calling parser continues where it left of, > messing the order of elements in the doctree (try the attached test with > [r10204] <https://sourceforge.net/p/docutils/code/10204/>). > > This was fixed in [r10206] > <https://sourceforge.net/p/docutils/code/10206/> at the expense of > dropping support for document-wide title styles in nested parsing. > As a result, the Sphinx "only" directive (which uses a new section style > hierarchy with later re-attachment of the first section) now fails: > https://github.com/sphinx-doc/sphinx/issues/13845#issuecomment-3209397215. > ------------------------------ > > Sent from sourceforge.net because you indicated interest in > https://sourceforge.net/p/docutils/bugs/511/ > > To unsubscribe from further messages, please visit > https://sourceforge.net/auth/subscriptions/ > --- **[bugs:#511] Problems with nested parsing and sections.** **Status:** pending-remind **Created:** Tue Aug 26, 2025 10:13 AM UTC by Günter Milde **Last Updated:** Fri Aug 29, 2025 09:25 PM UTC **Owner:** nobody **Attachments:** - [old_nested_parsing.py](https://sourceforge.net/p/docutils/bugs/511/attachment/old_nested_parsing.py) (7.5 kB; text/x-python) In Docutils <= 0.22, parsing a nested content block with `docutils.parsers.rst.state.RSTState.nested_parse()` uses the document-wide "title style hierarchy". With Docutils <=0.21, this method can **loose complete sections** without warning when the `match_titles` argument is True and the nested content block contains sections with a title style that matches a lower section level than the current section level (try the attached test with a Docutils version below 0.22). Docutils itself does not use `nested_parse()` with `match_titles` True and did not test. However, the feature is used by Sphinx and several Sphinx extensions (cf. [bugs:#508], [bugs#509], and https://github.com/sphinx-doc/sphinx/issues/13845). The new section parsing algorithm introduced in Docutils 0.22 fixes the data loss, but sections with a title style that matches a lower section level than the current section level are attached in wrong order: After the nested parsing is complete, the calling parser continues where it left of, messing the order of elements in the doctree (try the attached test with [r10204]). This was fixed in [r10206] at the expense of dropping support for document-wide title styles in nested parsing. As a result, the Sphinx "only" directive (which uses a new section style hierarchy with later re-attachment of the first section) now fails: https://github.com/sphinx-doc/sphinx/issues/13845#issuecomment-3209397215. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-29 21:25:44
|
An alternative idea: nested parse uses the document-wide title style hierarchy if the "node" argument is left at its default value. The result of the nested parsing is directly added to the document (at the "current" node). Sections are appended according to their level. Attachments: - [0001-Support-nested-parsing-with-document-wide-section-ti.patch](https://sourceforge.net/p/docutils/bugs/_discuss/thread/4184882201/2af4/attachment/0001-Support-nested-parsing-with-document-wide-section-ti.patch) (11.8 kB; text/x-patch) --- **[bugs:#511] Problems with nested parsing and sections.** **Status:** pending-remind **Created:** Tue Aug 26, 2025 10:13 AM UTC by Günter Milde **Last Updated:** Tue Aug 26, 2025 10:38 AM UTC **Owner:** nobody **Attachments:** - [old_nested_parsing.py](https://sourceforge.net/p/docutils/bugs/511/attachment/old_nested_parsing.py) (7.5 kB; text/x-python) In Docutils <= 0.22, parsing a nested content block with `docutils.parsers.rst.state.RSTState.nested_parse()` uses the document-wide "title style hierarchy". With Docutils <=0.21, this method can **loose complete sections** without warning when the `match_titles` argument is True and the nested content block contains sections with a title style that matches a lower section level than the current section level (try the attached test with a Docutils version below 0.22). Docutils itself does not use `nested_parse()` with `match_titles` True and did not test. However, the feature is used by Sphinx and several Sphinx extensions (cf. [bugs:#508], [bugs#509], and https://github.com/sphinx-doc/sphinx/issues/13845). The new section parsing algorithm introduced in Docutils 0.22 fixes the data loss, but sections with a title style that matches a lower section level than the current section level are attached in wrong order: After the nested parsing is complete, the calling parser continues where it left of, messing the order of elements in the doctree (try the attached test with [r10204]). This was fixed in [r10206] at the expense of dropping support for document-wide title styles in nested parsing. As a result, the Sphinx "only" directive (which uses a new section style hierarchy with later re-attachment of the first section) now fails: https://github.com/sphinx-doc/sphinx/issues/13845#issuecomment-3209397215. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-26 10:38:46
|
An idea how to fix Sphinx's "only" directive with a new internal attribute "title_style" for the nodes.section element. Attachments: - [0001-New-internal-attribute-nodes.section.title_style.patch](https://sourceforge.net/p/docutils/bugs/_discuss/thread/4184882201/b9f8/attachment/0001-New-internal-attribute-nodes.section.title_style.patch) (8.4 kB; text/x-patch) --- **[bugs:#511] Problems with nested parsing and sections.** **Status:** pending-remind **Created:** Tue Aug 26, 2025 10:13 AM UTC by Günter Milde **Last Updated:** Tue Aug 26, 2025 10:32 AM UTC **Owner:** nobody **Attachments:** - [old_nested_parsing.py](https://sourceforge.net/p/docutils/bugs/511/attachment/old_nested_parsing.py) (7.5 kB; text/x-python) In Docutils <= 0.22, parsing a nested content block with `docutils.parsers.rst.state.RSTState.nested_parse()` uses the document-wide "title style hierarchy". With Docutils <=0.21, this method can **loose complete sections** without warning when the `match_titles` argument is True and the nested content block contains sections with a title style that matches a lower section level than the current section level (try the attached test with a Docutils version below 0.22). Docutils itself does not use `nested_parse()` with `match_titles` True and did not test. However, the feature is used by Sphinx and several Sphinx extensions (cf. [bugs:#508], [bugs#509], and https://github.com/sphinx-doc/sphinx/issues/13845). The new section parsing algorithm introduced in Docutils 0.22 fixes the data loss, but sections with a title style that matches a lower section level than the current section level are attached in wrong order: After the nested parsing is complete, the calling parser continues where it left of, messing the order of elements in the doctree (try the attached test with [r10204]). This was fixed in [r10206] at the expense of dropping support for document-wide title styles in nested parsing. As a result, the Sphinx "only" directive (which uses a new section style hierarchy with later re-attachment of the first section) now fails: https://github.com/sphinx-doc/sphinx/issues/13845#issuecomment-3209397215. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-26 10:32:44
|
Element after a section from nested parsing may be invalid. `parsers.rst.RSTSTate.nested_parse()` with `match_titles=True` (i.e. support for sections) leads to an invalid document tree, if the nested block contains a section but the element following the nested block is not a section. The [structure model](https://docutils.sourceforge.io/docs/ref/doctree.html#structure-model) ony allows a `<section>` as sibling after a `<section>`. An invalid doctree can be prevented if the following content is appended to the last nested section instead of its parent. The "nested" directive attempts this but fails if it is called from another nested state machine: In a nested state_machine we cannot access/change the `node` attribute ("insertion point") of the calling state_machine (cf. [r10222]). A fix using a new attribute to store the parent state machine of nested state machines is attached. Attachments: - [0001-New-attribute-to-store-the-parent-state-machine-of-n.patch](https://sourceforge.net/p/docutils/bugs/_discuss/thread/4184882201/239b/attachment/0001-New-attribute-to-store-the-parent-state-machine-of-n.patch) (6.0 kB; text/x-patch) --- **[bugs:#511] Problems with nested parsing and sections.** **Status:** pending-remind **Created:** Tue Aug 26, 2025 10:13 AM UTC by Günter Milde **Last Updated:** Tue Aug 26, 2025 10:25 AM UTC **Owner:** nobody **Attachments:** - [old_nested_parsing.py](https://sourceforge.net/p/docutils/bugs/511/attachment/old_nested_parsing.py) (7.5 kB; text/x-python) In Docutils <= 0.22, parsing a nested content block with `docutils.parsers.rst.state.RSTState.nested_parse()` uses the document-wide "title style hierarchy". With Docutils <=0.21, this method can **loose complete sections** without warning when the `match_titles` argument is True and the nested content block contains sections with a title style that matches a lower section level than the current section level (try the attached test with a Docutils version below 0.22). Docutils itself does not use `nested_parse()` with `match_titles` True and did not test. However, the feature is used by Sphinx and several Sphinx extensions (cf. [bugs:#508], [bugs#509], and https://github.com/sphinx-doc/sphinx/issues/13845). The new section parsing algorithm introduced in Docutils 0.22 fixes the data loss, but sections with a title style that matches a lower section level than the current section level are attached in wrong order: After the nested parsing is complete, the calling parser continues where it left of, messing the order of elements in the doctree (try the attached test with [r10204]). This was fixed in [r10206] at the expense of dropping support for document-wide title styles in nested parsing. As a result, the Sphinx "only" directive (which uses a new section style hierarchy with later re-attachment of the first section) now fails: https://github.com/sphinx-doc/sphinx/issues/13845#issuecomment-3209397215. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-26 10:25:23
|
- **status**: open-fixed --> pending-remind --- **[bugs:#511] Problems with nested parsing and sections.** **Status:** pending-remind **Created:** Tue Aug 26, 2025 10:13 AM UTC by Günter Milde **Last Updated:** Tue Aug 26, 2025 10:15 AM UTC **Owner:** nobody **Attachments:** - [old_nested_parsing.py](https://sourceforge.net/p/docutils/bugs/511/attachment/old_nested_parsing.py) (7.5 kB; text/x-python) In Docutils <= 0.22, parsing a nested content block with `docutils.parsers.rst.state.RSTState.nested_parse()` uses the document-wide "title style hierarchy". With Docutils <=0.21, this method can **loose complete sections** without warning when the `match_titles` argument is True and the nested content block contains sections with a title style that matches a lower section level than the current section level (try the attached test with a Docutils version below 0.22). Docutils itself does not use `nested_parse()` with `match_titles` True and did not test. However, the feature is used by Sphinx and several Sphinx extensions (cf. [bugs:#508], [bugs#509], and https://github.com/sphinx-doc/sphinx/issues/13845). The new section parsing algorithm introduced in Docutils 0.22 fixes the data loss, but sections with a title style that matches a lower section level than the current section level are attached in wrong order: After the nested parsing is complete, the calling parser continues where it left of, messing the order of elements in the doctree (try the attached test with [r10204]). This was fixed in [r10206] at the expense of dropping support for document-wide title styles in nested parsing. As a result, the Sphinx "only" directive (which uses a new section style hierarchy with later re-attachment of the first section) now fails: https://github.com/sphinx-doc/sphinx/issues/13845#issuecomment-3209397215. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-26 10:15:52
|
- Attachments has changed: Diff: ~~~~ --- old +++ new @@ -0,0 +1 @@ +old_nested_parsing.py (7.5 kB; text/x-python) ~~~~ --- **[bugs:#511] Problems with nested parsing and sections.** **Status:** open-fixed **Created:** Tue Aug 26, 2025 10:13 AM UTC by Günter Milde **Last Updated:** Tue Aug 26, 2025 10:13 AM UTC **Owner:** nobody **Attachments:** - [old_nested_parsing.py](https://sourceforge.net/p/docutils/bugs/511/attachment/old_nested_parsing.py) (7.5 kB; text/x-python) In Docutils <= 0.22, parsing a nested content block with `docutils.parsers.rst.state.RSTState.nested_parse()` uses the document-wide "title style hierarchy". With Docutils <=0.21, this method can **loose complete sections** without warning when the `match_titles` argument is True and the nested content block contains sections with a title style that matches a lower section level than the current section level (try the attached test with a Docutils version below 0.22). Docutils itself does not use `nested_parse()` with `match_titles` True and did not test. However, the feature is used by Sphinx and several Sphinx extensions (cf. [bugs:#508], [bugs#509], and https://github.com/sphinx-doc/sphinx/issues/13845). The new section parsing algorithm introduced in Docutils 0.22 fixes the data loss, but sections with a title style that matches a lower section level than the current section level are attached in wrong order: After the nested parsing is complete, the calling parser continues where it left of, messing the order of elements in the doctree (try the attached test with [r10204]). This was fixed in [r10206] at the expense of dropping support for document-wide title styles in nested parsing. As a result, the Sphinx "only" directive (which uses a new section style hierarchy with later re-attachment of the first section) now fails: https://github.com/sphinx-doc/sphinx/issues/13845#issuecomment-3209397215. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-26 10:14:50
|
- Attachments has changed: Diff: ~~~~ --- old +++ new @@ -1 +0,0 @@ -old_nested_parsing.py (7.7 kB; text/x-python) ~~~~ --- **[bugs:#511] Problems with nested parsing and sections.** **Status:** open-fixed **Created:** Tue Aug 26, 2025 10:13 AM UTC by Günter Milde **Last Updated:** Tue Aug 26, 2025 10:13 AM UTC **Owner:** nobody In Docutils <= 0.22, parsing a nested content block with `docutils.parsers.rst.state.RSTState.nested_parse()` uses the document-wide "title style hierarchy". With Docutils <=0.21, this method can **loose complete sections** without warning when the `match_titles` argument is True and the nested content block contains sections with a title style that matches a lower section level than the current section level (try the attached test with a Docutils version below 0.22). Docutils itself does not use `nested_parse()` with `match_titles` True and did not test. However, the feature is used by Sphinx and several Sphinx extensions (cf. [bugs:#508], [bugs#509], and https://github.com/sphinx-doc/sphinx/issues/13845). The new section parsing algorithm introduced in Docutils 0.22 fixes the data loss, but sections with a title style that matches a lower section level than the current section level are attached in wrong order: After the nested parsing is complete, the calling parser continues where it left of, messing the order of elements in the doctree (try the attached test with [r10204]). This was fixed in [r10206] at the expense of dropping support for document-wide title styles in nested parsing. As a result, the Sphinx "only" directive (which uses a new section style hierarchy with later re-attachment of the first section) now fails: https://github.com/sphinx-doc/sphinx/issues/13845#issuecomment-3209397215. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-26 10:13:07
|
--- **[bugs:#511] Problems with nested parsing and sections.** **Status:** open-fixed **Created:** Tue Aug 26, 2025 10:13 AM UTC by Günter Milde **Last Updated:** Tue Aug 26, 2025 10:13 AM UTC **Owner:** nobody **Attachments:** - [old_nested_parsing.py](https://sourceforge.net/p/docutils/bugs/511/attachment/old_nested_parsing.py) (7.7 kB; text/x-python) In Docutils <= 0.22, parsing a nested content block with `docutils.parsers.rst.state.RSTState.nested_parse()` uses the document-wide "title style hierarchy". With Docutils <=0.21, this method can **loose complete sections** without warning when the `match_titles` argument is True and the nested content block contains sections with a title style that matches a lower section level than the current section level (try the attached test with a Docutils version below 0.22). Docutils itself does not use `nested_parse()` with `match_titles` True and did not test. However, the feature is used by Sphinx and several Sphinx extensions (cf. [bugs:#508], [bugs#509], and https://github.com/sphinx-doc/sphinx/issues/13845). The new section parsing algorithm introduced in Docutils 0.22 fixes the data loss, but sections with a title style that matches a lower section level than the current section level are attached in wrong order: After the nested parsing is complete, the calling parser continues where it left of, messing the order of elements in the doctree (try the attached test with [r10204]). This was fixed in [r10206] at the expense of dropping support for document-wide title styles in nested parsing. As a result, the Sphinx "only" directive (which uses a new section style hierarchy with later re-attachment of the first section) now fails: https://github.com/sphinx-doc/sphinx/issues/13845#issuecomment-3209397215. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-25 08:54:22
|
- **status**: open --> open-fixed - **Comment**: Thanks for the report. This is fixed in the repository. A fixup release will take some time, because of [bugs:#508] and [bugs:#509] prove tricky... --- **[bugs:#510] Release date for 0.22 is in the future** **Status:** open-fixed **Created:** Mon Aug 25, 2025 06:21 AM UTC by Dilian Wesselinov Palauzov **Last Updated:** Mon Aug 25, 2025 06:21 AM UTC **Owner:** nobody According to https://docutils.sourceforge.io/HISTORY.html docutils 0.22 was released in 2026, but in fact it was published in 2025. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-21 16:24:16
|
- **status**: open --> open-fixed - **Comment**: Fixed in [r10219]. --- **[bugs:#503] LaTeX writer fails to generate "labels" for some elements with "ids".** **Status:** open-fixed **Created:** Wed Jun 04, 2025 04:34 PM UTC by Günter Milde **Last Updated:** Wed Jun 04, 2025 04:34 PM UTC **Owner:** nobody Most doctree elements (nodes) accept the "ids" attribute that can be used as end-point for internal cross references. In LaTeX, "ids" are represented as "labels". This is only implemented for a small subset of elements. For example the internal hyperlink in ~~~ .. note:: :name: my-note This is an admonition with ID Link to my-note_. ~~~ does not work because there is no `\label{my-note}` in the LaTeX output. See also [Sphinx issue #13609](https://github.com/sphinx-doc/sphinx/issues/13609#issuecomment-2937289148). --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-19 21:30:57
|
- **status**: open --> open-fixed - **Comment**: Fixed in [r10208]. Thank you for report and patch. --- **[patches:#214] Give better messages on malformed tables** **Status:** open-fixed **Group:** None **Created:** Sun Jun 08, 2025 05:58 PM UTC by Jynn Nelson **Last Updated:** Thu Jul 31, 2025 01:06 PM UTC **Owner:** nobody **Attachments:** - [tables.diff](https://sourceforge.net/p/docutils/patches/214/attachment/tables.diff) (5.2 kB; application/octet-stream) This does several things: - Specifies `Misaligned right border` for that error, instead of just "malformed table". - Shows the line where each error happened, not the line where the table starts. - This had a complication that line numbers appear to be wrong when `include` directives are present (they include the lines in the source document, instead of being relative to the included document). Just disabled the new smarter logic in that case. - Changes `malformed_table` to require both detail and an offset, so poor errors like this can't happen in the future. Fixes https://sourceforge.net/p/docutils/bugs/504/. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/patches/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/patches/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-19 21:30:13
|
- **status**: open --> open-fixed - **Comment**: Fixed in [r10208]. Thank you for report and patch. --- **[bugs:#504] errors for malformed tables do not indicate what the error is** **Status:** open-fixed **Created:** Thu Jun 05, 2025 09:04 PM UTC by Jynn Nelson **Last Updated:** Sun Jul 20, 2025 10:00 PM UTC **Owner:** nobody **Attachments:** - [table.rst](https://sourceforge.net/p/docutils/bugs/504/attachment/table.rst) (1.1 kB; application/octet-stream) The error messages for malformed tables are quite long and do not indicate where the error occurred. I expect docutils to point at a single line of code, and say why it was malformed. Instead it points at the whole table and just says "malformed table". ~~~ $ grep PRETTY /etc/os-release PRETTY_NAME="Pop!_OS 22.04 LTS" $ python -V Python 3.10.12 $ docutils -V docutils (Docutils 0.21.2, Python 3.10.12, on linux) $ docutils --traceback table.rst >/dev/null table.rst:5: (ERROR/3) Malformed table. +-------------------------+-------------------+ | Standard Code | Message(s) | +=========================+===================+ | M1, indicator undefined | Illegal reference | +-------------------------+-------------------+ | M1, indicator undefined | Illegal reference | +-------------------------+-------------------+ | M1, indicator undefined | Illegal reference | +-------------------------+-------------------+ | M1, indicator undefined | Illegal reference | +-------------------------+-------------------+ | M1, indicator undefined | Illegal reference | +-------------------------+-------------------+ | M1, indicator undefined | Illegal reference | +-------------------------+-------------------+ | M1, indicator undefined | Illegal reference | +-------------------------+-------------------+ | M1, indicator undefined | Illegal reference | +-------------------------+-------------------+ | M2, Invalid combination | None | +-------------------------+-------------------+ ~~~ Note that docutils *does* have the information to report this bug, because I can see it in a debugger. It simply doesn't include that info in the error. ~~~ $ python -m pdb $(which docutils) --traceback table.rst > /home/jyn/.local/bin/docutils(3)<module>() -> import re (Pdb) break docutils/parsers/rst/states.py:1787 Breakpoint 1 at /home/jyn/.local/lib/python3.10/site-packages/docutils/parsers/rst/states.py:1787 (Pdb) c > /home/jyn/.local/lib/python3.10/site-packages/docutils/parsers/rst/states.py(1787)malformed_table() -> message = 'Malformed table.' (Pdb) up > /home/jyn/.local/lib/python3.10/site-packages/docutils/parsers/rst/states.py(1737)isolate_grid_table() -> messages.extend(self.malformed_table(block)) (Pdb) list 1732 else: 1733 messages.extend(self.malformed_table(block)) 1734 return [], messages, blank_finish 1735 for i in range(len(block)): # check right edge 1736 if len(block[i]) != width or block[i][-1] not in '+|': 1737 -> messages.extend(self.malformed_table(block)) 1738 return [], messages, blank_finish 1739 return block, messages, blank_finish 1740 1741 def isolate_simple_table(self): 1742 start = self.state_machine.line_offset (Pdb) p block[i] '| Standard Code | Message(s) |' (Pdb) p width 47 (Pdb) p len(block[i]) 46 ~~~ --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-18 12:23:08
|
Good news. The remaining warnings are from a different issue (see the comment by Peter Maydell). I will do some more testing and cleanups. Then we can release a new Docutils version. Thank you for report and testing. --- **[bugs:#508] qemu build problem after docutils update to 0.22** **Status:** open **Created:** Mon Aug 04, 2025 08:23 AM UTC by Thomas Klausner **Last Updated:** Sun Aug 17, 2025 07:17 PM UTC **Owner:** nobody After updating docutils in pkgsrc to 0.22 (with sphinx 8.2.3), qemu 10.0.3 (https://gitlab.com/qemu-project/qemu) stopped building. The output is not very clear: ``` [5596/6204] Generating docs/QEMU manual with a custom command FAILED: [code=2] docs/docs.stamp /scratch/emulators/qemu/work/.tools/bin/env CONFDIR=/usr/pkg/etc/qemu/qemu /scratch/emulators/qemu/work/qemu-10.0.3/build/pyvenv/bin/sphinx-build -q -j auto -Dversion=10.0.3 -Drelease= -Ddepfile=docs/docs.d -Ddepfile_sta mp=docs/docs.stamp -b html -d /scratch/emulators/qemu/work/qemu-10.0.3/build/docs/manual.p /scratch/emulators/qemu/work/qemu-10.0.3/docs /scratch/emulators/qemu/work/qemu-10.0.3/build/docs/manual Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:70: CRITICAL: Inconsistent title style: skip from level 1 to 3. Valid requests ^^^^^^^^^^^^^^ Established title styles: =/= - ^ [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:73: CRITICAL: Inconsistent title style: skip from level 1 to 4. 10:17:35 [41/1829] Clock management: """"""""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:107: CRITICAL: Inconsistent title style: skip from level 1 to 4. PIO and memory access: """""""""""""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:215: CRITICAL: Inconsistent title style: skip from level 1 to 4. IRQ management: """"""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:239: CRITICAL: Inconsistent title style: skip from level 1 to 4. Setting interrupt level: """""""""""""""""""""""" Established title styles: =/= - ^ " [docutils] Sphinx parallel build error! Versions ======== * Platform: netbsd11; (NetBSD-11.99.1-amd64-x86_64-64bit-ELF) * Python version: 3.13.5 (CPython) * Sphinx version: 8.2.3 * Docutils version: 0.22 * Jinja2 version: 3.1.6 * Pygments version: 2.19.2 Last Messages ============= reading sources... [ 91%] system/s390x/protvirt .. system/target-loongarch reading sources... [ 94%] system/target-m68k .. system/target-sparc64 reading sources... [ 97%] system/target-xtensa .. tools/qemu-nbd Loaded Extensions ================= * sphinx.ext.mathjax (8.2.3) * alabaster (1.0.0) * sphinxcontrib.applehelp (2.0.0) * sphinxcontrib.devhelp (2.0.0) * sphinxcontrib.htmlhelp (2.1.0) * sphinxcontrib.serializinghtml (2.0.0) * sphinxcontrib.qthelp (2.0.0) * depfile (1.0) * hxtool (1.0) * kerneldoc (1.0) * qapi_domain (1.0) * qapidoc (2.0) * qmp_lexer (unknown version) * dbusdoc (1.0) * sphinxcontrib.jquery (4.1) * sphinx_rtd_theme (unknown version) Traceback ========= File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/parallel.py", line 137, in _join_one raise SphinxParallelError(*result) sphinx.errors.SphinxParallelError: TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' The full traceback has been saved in: /tmp/sphinx-err-gj6pt4nj.log To report this error to the developers, please open an issue at <https://github.com/sphinx-doc/sphinx/issues/>. Thanks! Please also report this if it was a user error, so that a better error message can be provided next time. ``` The full traceback from the log lists docutils code as the origin of the breakage: ``` Traceback ========= (Error in parallel process) Traceback (most recent call last): File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/parallel.py", line 83, in _process ret = func(arg) # type: ignore[call-arg] File "/usr/pkg/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 603, in read_process self.read_doc(docname, _cache=False) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 648, in read_doc publisher.publish() ~~~~~~~~~~~~~~~~~^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/core.py", line 269, in publish self.document = self.reader.read(self.source, self.parser, ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ self.settings) ^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/io.py", line 103, in read self.parse() ~~~~~~~~~~^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/readers/__init__.py", line 101, in parse self.parser.parse(self.input, document) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/parsers.py", line 86, in parse self.statemachine.run(inputlines, document, inliner=self.inliner) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 165, in run results = StateMachineWS.run(self, input_lines, input_offset, input_source=document['source']) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2356, in explicit_markup self.explicit_list(blank_finish) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2381, in explicit_list newline_offset, blank_finish = self.nested_list_parse( ~~~~~~~~~~~~~~~~~~~~~~^ self.state_machine.input_lines[offset:], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... blank_finish=blank_finish, ^^^^^^^^^^^^^^^^^^^^^^^^^^ match_titles=self.state_machine.match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 312, in nested_list_parse state_machine.run(block, input_offset, memo=self.memo, ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ node=node, match_titles=match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 191, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2659, in explicit_markup nodelist, blank_finish = self.explicit_construct(match) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2366, in explicit_construct return method(self, expmatch) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2103, in directive return self.run_directive( ~~~~~~~~~~~~~~~~~~^ directive_class, match, type_name, option_presets) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2153, in run_directive result = directive_instance.run() File "/scratch/emulators/qemu/work/qemu-10.0.3/docs/sphinx/qapidoc.py", line 620, in run contentnode = self.transmogrify(schema) File "/scratch/emulators/qemu/work/qemu-10.0.3/docs/sphinx/qapidoc.py", line 549, in transmogrify nested_parse_with_titles(self.state, content, contentnode) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/nodes.py", line 378, in nested_parse_with_titles ret = state.nested_parse(content, content_offset, node, match_titles=True) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 275, in nested_parse state_machine.run(block, input_offset, memo=self.memo, ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ node=node, match_titles=match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 191, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 3024, in text self.section(title.lstrip(), source, style, lineno + 1, messages) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 321, in section self.new_subsection(title, lineno, messages) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 370, in new_subsection self.parent += section_node File "/usr/pkg/lib/python3.13/site-packages/docutils/nodes.py", line 736, in __radd__ return other + self.children ~~~~~~^~~~~~~~~~~~~~~ TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' ``` Even with the "CRITICAL: Inconsistent title style" problems fixed, the build stops. Any ideas what the problem is or how to fix it? Thanks. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-15 22:38:24
|
Could you re-try with a checkout or snapshot of [r10204] that introduces independent section title style hierarchies for nested parsing? --- **[bugs:#508] qemu build problem after docutils update to 0.22** **Status:** open **Created:** Mon Aug 04, 2025 08:23 AM UTC by Thomas Klausner **Last Updated:** Fri Aug 15, 2025 09:24 AM UTC **Owner:** nobody After updating docutils in pkgsrc to 0.22 (with sphinx 8.2.3), qemu 10.0.3 (https://gitlab.com/qemu-project/qemu) stopped building. The output is not very clear: ``` [5596/6204] Generating docs/QEMU manual with a custom command FAILED: [code=2] docs/docs.stamp /scratch/emulators/qemu/work/.tools/bin/env CONFDIR=/usr/pkg/etc/qemu/qemu /scratch/emulators/qemu/work/qemu-10.0.3/build/pyvenv/bin/sphinx-build -q -j auto -Dversion=10.0.3 -Drelease= -Ddepfile=docs/docs.d -Ddepfile_sta mp=docs/docs.stamp -b html -d /scratch/emulators/qemu/work/qemu-10.0.3/build/docs/manual.p /scratch/emulators/qemu/work/qemu-10.0.3/docs /scratch/emulators/qemu/work/qemu-10.0.3/build/docs/manual Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:70: CRITICAL: Inconsistent title style: skip from level 1 to 3. Valid requests ^^^^^^^^^^^^^^ Established title styles: =/= - ^ [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:73: CRITICAL: Inconsistent title style: skip from level 1 to 4. 10:17:35 [41/1829] Clock management: """"""""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:107: CRITICAL: Inconsistent title style: skip from level 1 to 4. PIO and memory access: """""""""""""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:215: CRITICAL: Inconsistent title style: skip from level 1 to 4. IRQ management: """"""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:239: CRITICAL: Inconsistent title style: skip from level 1 to 4. Setting interrupt level: """""""""""""""""""""""" Established title styles: =/= - ^ " [docutils] Sphinx parallel build error! Versions ======== * Platform: netbsd11; (NetBSD-11.99.1-amd64-x86_64-64bit-ELF) * Python version: 3.13.5 (CPython) * Sphinx version: 8.2.3 * Docutils version: 0.22 * Jinja2 version: 3.1.6 * Pygments version: 2.19.2 Last Messages ============= reading sources... [ 91%] system/s390x/protvirt .. system/target-loongarch reading sources... [ 94%] system/target-m68k .. system/target-sparc64 reading sources... [ 97%] system/target-xtensa .. tools/qemu-nbd Loaded Extensions ================= * sphinx.ext.mathjax (8.2.3) * alabaster (1.0.0) * sphinxcontrib.applehelp (2.0.0) * sphinxcontrib.devhelp (2.0.0) * sphinxcontrib.htmlhelp (2.1.0) * sphinxcontrib.serializinghtml (2.0.0) * sphinxcontrib.qthelp (2.0.0) * depfile (1.0) * hxtool (1.0) * kerneldoc (1.0) * qapi_domain (1.0) * qapidoc (2.0) * qmp_lexer (unknown version) * dbusdoc (1.0) * sphinxcontrib.jquery (4.1) * sphinx_rtd_theme (unknown version) Traceback ========= File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/parallel.py", line 137, in _join_one raise SphinxParallelError(*result) sphinx.errors.SphinxParallelError: TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' The full traceback has been saved in: /tmp/sphinx-err-gj6pt4nj.log To report this error to the developers, please open an issue at <https://github.com/sphinx-doc/sphinx/issues/>. Thanks! Please also report this if it was a user error, so that a better error message can be provided next time. ``` The full traceback from the log lists docutils code as the origin of the breakage: ``` Traceback ========= (Error in parallel process) Traceback (most recent call last): File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/parallel.py", line 83, in _process ret = func(arg) # type: ignore[call-arg] File "/usr/pkg/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 603, in read_process self.read_doc(docname, _cache=False) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 648, in read_doc publisher.publish() ~~~~~~~~~~~~~~~~~^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/core.py", line 269, in publish self.document = self.reader.read(self.source, self.parser, ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ self.settings) ^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/io.py", line 103, in read self.parse() ~~~~~~~~~~^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/readers/__init__.py", line 101, in parse self.parser.parse(self.input, document) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/parsers.py", line 86, in parse self.statemachine.run(inputlines, document, inliner=self.inliner) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 165, in run results = StateMachineWS.run(self, input_lines, input_offset, input_source=document['source']) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2356, in explicit_markup self.explicit_list(blank_finish) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2381, in explicit_list newline_offset, blank_finish = self.nested_list_parse( ~~~~~~~~~~~~~~~~~~~~~~^ self.state_machine.input_lines[offset:], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... blank_finish=blank_finish, ^^^^^^^^^^^^^^^^^^^^^^^^^^ match_titles=self.state_machine.match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 312, in nested_list_parse state_machine.run(block, input_offset, memo=self.memo, ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ node=node, match_titles=match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 191, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2659, in explicit_markup nodelist, blank_finish = self.explicit_construct(match) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2366, in explicit_construct return method(self, expmatch) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2103, in directive return self.run_directive( ~~~~~~~~~~~~~~~~~~^ directive_class, match, type_name, option_presets) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2153, in run_directive result = directive_instance.run() File "/scratch/emulators/qemu/work/qemu-10.0.3/docs/sphinx/qapidoc.py", line 620, in run contentnode = self.transmogrify(schema) File "/scratch/emulators/qemu/work/qemu-10.0.3/docs/sphinx/qapidoc.py", line 549, in transmogrify nested_parse_with_titles(self.state, content, contentnode) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/nodes.py", line 378, in nested_parse_with_titles ret = state.nested_parse(content, content_offset, node, match_titles=True) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 275, in nested_parse state_machine.run(block, input_offset, memo=self.memo, ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ node=node, match_titles=match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 191, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 3024, in text self.section(title.lstrip(), source, style, lineno + 1, messages) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 321, in section self.new_subsection(title, lineno, messages) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 370, in new_subsection self.parent += section_node File "/usr/pkg/lib/python3.13/site-packages/docutils/nodes.py", line 736, in __radd__ return other + self.children ~~~~~~^~~~~~~~~~~~~~~ TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' ``` Even with the "CRITICAL: Inconsistent title style" problems fixed, the build stops. Any ideas what the problem is or how to fix it? Thanks. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-15 06:54:34
|
Looking at `docs/sphinx/kerneldoc.py`, I see that it uses Docutil's `RSTState.nested_parse()` which (up to now) forces a consistent title style hierarchy. OTOH, *quapidoc* uses Sphinx's `nested_parse_with_titles()` that starts a new title style hierarchy. Could you check, if the remaining CRITICAL errors also show up with Docutils 0.21? --- **[bugs:#508] qemu build problem after docutils update to 0.22** **Status:** open **Created:** Mon Aug 04, 2025 08:23 AM UTC by Thomas Klausner **Last Updated:** Thu Aug 14, 2025 07:44 PM UTC **Owner:** nobody After updating docutils in pkgsrc to 0.22 (with sphinx 8.2.3), qemu 10.0.3 (https://gitlab.com/qemu-project/qemu) stopped building. The output is not very clear: ``` [5596/6204] Generating docs/QEMU manual with a custom command FAILED: [code=2] docs/docs.stamp /scratch/emulators/qemu/work/.tools/bin/env CONFDIR=/usr/pkg/etc/qemu/qemu /scratch/emulators/qemu/work/qemu-10.0.3/build/pyvenv/bin/sphinx-build -q -j auto -Dversion=10.0.3 -Drelease= -Ddepfile=docs/docs.d -Ddepfile_sta mp=docs/docs.stamp -b html -d /scratch/emulators/qemu/work/qemu-10.0.3/build/docs/manual.p /scratch/emulators/qemu/work/qemu-10.0.3/docs /scratch/emulators/qemu/work/qemu-10.0.3/build/docs/manual Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:70: CRITICAL: Inconsistent title style: skip from level 1 to 3. Valid requests ^^^^^^^^^^^^^^ Established title styles: =/= - ^ [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:73: CRITICAL: Inconsistent title style: skip from level 1 to 4. 10:17:35 [41/1829] Clock management: """"""""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:107: CRITICAL: Inconsistent title style: skip from level 1 to 4. PIO and memory access: """""""""""""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:215: CRITICAL: Inconsistent title style: skip from level 1 to 4. IRQ management: """"""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:239: CRITICAL: Inconsistent title style: skip from level 1 to 4. Setting interrupt level: """""""""""""""""""""""" Established title styles: =/= - ^ " [docutils] Sphinx parallel build error! Versions ======== * Platform: netbsd11; (NetBSD-11.99.1-amd64-x86_64-64bit-ELF) * Python version: 3.13.5 (CPython) * Sphinx version: 8.2.3 * Docutils version: 0.22 * Jinja2 version: 3.1.6 * Pygments version: 2.19.2 Last Messages ============= reading sources... [ 91%] system/s390x/protvirt .. system/target-loongarch reading sources... [ 94%] system/target-m68k .. system/target-sparc64 reading sources... [ 97%] system/target-xtensa .. tools/qemu-nbd Loaded Extensions ================= * sphinx.ext.mathjax (8.2.3) * alabaster (1.0.0) * sphinxcontrib.applehelp (2.0.0) * sphinxcontrib.devhelp (2.0.0) * sphinxcontrib.htmlhelp (2.1.0) * sphinxcontrib.serializinghtml (2.0.0) * sphinxcontrib.qthelp (2.0.0) * depfile (1.0) * hxtool (1.0) * kerneldoc (1.0) * qapi_domain (1.0) * qapidoc (2.0) * qmp_lexer (unknown version) * dbusdoc (1.0) * sphinxcontrib.jquery (4.1) * sphinx_rtd_theme (unknown version) Traceback ========= File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/parallel.py", line 137, in _join_one raise SphinxParallelError(*result) sphinx.errors.SphinxParallelError: TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' The full traceback has been saved in: /tmp/sphinx-err-gj6pt4nj.log To report this error to the developers, please open an issue at <https://github.com/sphinx-doc/sphinx/issues/>. Thanks! Please also report this if it was a user error, so that a better error message can be provided next time. ``` The full traceback from the log lists docutils code as the origin of the breakage: ``` Traceback ========= (Error in parallel process) Traceback (most recent call last): File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/parallel.py", line 83, in _process ret = func(arg) # type: ignore[call-arg] File "/usr/pkg/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 603, in read_process self.read_doc(docname, _cache=False) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 648, in read_doc publisher.publish() ~~~~~~~~~~~~~~~~~^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/core.py", line 269, in publish self.document = self.reader.read(self.source, self.parser, ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ self.settings) ^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/io.py", line 103, in read self.parse() ~~~~~~~~~~^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/readers/__init__.py", line 101, in parse self.parser.parse(self.input, document) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/parsers.py", line 86, in parse self.statemachine.run(inputlines, document, inliner=self.inliner) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 165, in run results = StateMachineWS.run(self, input_lines, input_offset, input_source=document['source']) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2356, in explicit_markup self.explicit_list(blank_finish) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2381, in explicit_list newline_offset, blank_finish = self.nested_list_parse( ~~~~~~~~~~~~~~~~~~~~~~^ self.state_machine.input_lines[offset:], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... blank_finish=blank_finish, ^^^^^^^^^^^^^^^^^^^^^^^^^^ match_titles=self.state_machine.match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 312, in nested_list_parse state_machine.run(block, input_offset, memo=self.memo, ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ node=node, match_titles=match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 191, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2659, in explicit_markup nodelist, blank_finish = self.explicit_construct(match) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2366, in explicit_construct return method(self, expmatch) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2103, in directive return self.run_directive( ~~~~~~~~~~~~~~~~~~^ directive_class, match, type_name, option_presets) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2153, in run_directive result = directive_instance.run() File "/scratch/emulators/qemu/work/qemu-10.0.3/docs/sphinx/qapidoc.py", line 620, in run contentnode = self.transmogrify(schema) File "/scratch/emulators/qemu/work/qemu-10.0.3/docs/sphinx/qapidoc.py", line 549, in transmogrify nested_parse_with_titles(self.state, content, contentnode) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/nodes.py", line 378, in nested_parse_with_titles ret = state.nested_parse(content, content_offset, node, match_titles=True) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 275, in nested_parse state_machine.run(block, input_offset, memo=self.memo, ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ node=node, match_titles=match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 191, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 3024, in text self.section(title.lstrip(), source, style, lineno + 1, messages) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 321, in section self.new_subsection(title, lineno, messages) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 370, in new_subsection self.parent += section_node File "/usr/pkg/lib/python3.13/site-packages/docutils/nodes.py", line 736, in __radd__ return other + self.children ~~~~~~^~~~~~~~~~~~~~~ TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' ``` Even with the "CRITICAL: Inconsistent title style" problems fixed, the build stops. Any ideas what the problem is or how to fix it? Thanks. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-14 19:44:24
|
I am working on a fix... --- **[bugs:#508] qemu build problem after docutils update to 0.22** **Status:** open **Created:** Mon Aug 04, 2025 08:23 AM UTC by Thomas Klausner **Last Updated:** Thu Aug 14, 2025 09:26 AM UTC **Owner:** nobody After updating docutils in pkgsrc to 0.22 (with sphinx 8.2.3), qemu 10.0.3 (https://gitlab.com/qemu-project/qemu) stopped building. The output is not very clear: ``` [5596/6204] Generating docs/QEMU manual with a custom command FAILED: [code=2] docs/docs.stamp /scratch/emulators/qemu/work/.tools/bin/env CONFDIR=/usr/pkg/etc/qemu/qemu /scratch/emulators/qemu/work/qemu-10.0.3/build/pyvenv/bin/sphinx-build -q -j auto -Dversion=10.0.3 -Drelease= -Ddepfile=docs/docs.d -Ddepfile_sta mp=docs/docs.stamp -b html -d /scratch/emulators/qemu/work/qemu-10.0.3/build/docs/manual.p /scratch/emulators/qemu/work/qemu-10.0.3/docs /scratch/emulators/qemu/work/qemu-10.0.3/build/docs/manual Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:70: CRITICAL: Inconsistent title style: skip from level 1 to 3. Valid requests ^^^^^^^^^^^^^^ Established title styles: =/= - ^ [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:73: CRITICAL: Inconsistent title style: skip from level 1 to 4. 10:17:35 [41/1829] Clock management: """"""""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:107: CRITICAL: Inconsistent title style: skip from level 1 to 4. PIO and memory access: """""""""""""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:215: CRITICAL: Inconsistent title style: skip from level 1 to 4. IRQ management: """"""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:239: CRITICAL: Inconsistent title style: skip from level 1 to 4. Setting interrupt level: """""""""""""""""""""""" Established title styles: =/= - ^ " [docutils] Sphinx parallel build error! Versions ======== * Platform: netbsd11; (NetBSD-11.99.1-amd64-x86_64-64bit-ELF) * Python version: 3.13.5 (CPython) * Sphinx version: 8.2.3 * Docutils version: 0.22 * Jinja2 version: 3.1.6 * Pygments version: 2.19.2 Last Messages ============= reading sources... [ 91%] system/s390x/protvirt .. system/target-loongarch reading sources... [ 94%] system/target-m68k .. system/target-sparc64 reading sources... [ 97%] system/target-xtensa .. tools/qemu-nbd Loaded Extensions ================= * sphinx.ext.mathjax (8.2.3) * alabaster (1.0.0) * sphinxcontrib.applehelp (2.0.0) * sphinxcontrib.devhelp (2.0.0) * sphinxcontrib.htmlhelp (2.1.0) * sphinxcontrib.serializinghtml (2.0.0) * sphinxcontrib.qthelp (2.0.0) * depfile (1.0) * hxtool (1.0) * kerneldoc (1.0) * qapi_domain (1.0) * qapidoc (2.0) * qmp_lexer (unknown version) * dbusdoc (1.0) * sphinxcontrib.jquery (4.1) * sphinx_rtd_theme (unknown version) Traceback ========= File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/parallel.py", line 137, in _join_one raise SphinxParallelError(*result) sphinx.errors.SphinxParallelError: TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' The full traceback has been saved in: /tmp/sphinx-err-gj6pt4nj.log To report this error to the developers, please open an issue at <https://github.com/sphinx-doc/sphinx/issues/>. Thanks! Please also report this if it was a user error, so that a better error message can be provided next time. ``` The full traceback from the log lists docutils code as the origin of the breakage: ``` Traceback ========= (Error in parallel process) Traceback (most recent call last): File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/parallel.py", line 83, in _process ret = func(arg) # type: ignore[call-arg] File "/usr/pkg/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 603, in read_process self.read_doc(docname, _cache=False) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 648, in read_doc publisher.publish() ~~~~~~~~~~~~~~~~~^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/core.py", line 269, in publish self.document = self.reader.read(self.source, self.parser, ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ self.settings) ^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/io.py", line 103, in read self.parse() ~~~~~~~~~~^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/readers/__init__.py", line 101, in parse self.parser.parse(self.input, document) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/parsers.py", line 86, in parse self.statemachine.run(inputlines, document, inliner=self.inliner) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 165, in run results = StateMachineWS.run(self, input_lines, input_offset, input_source=document['source']) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2356, in explicit_markup self.explicit_list(blank_finish) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2381, in explicit_list newline_offset, blank_finish = self.nested_list_parse( ~~~~~~~~~~~~~~~~~~~~~~^ self.state_machine.input_lines[offset:], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... blank_finish=blank_finish, ^^^^^^^^^^^^^^^^^^^^^^^^^^ match_titles=self.state_machine.match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 312, in nested_list_parse state_machine.run(block, input_offset, memo=self.memo, ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ node=node, match_titles=match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 191, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2659, in explicit_markup nodelist, blank_finish = self.explicit_construct(match) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2366, in explicit_construct return method(self, expmatch) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2103, in directive return self.run_directive( ~~~~~~~~~~~~~~~~~~^ directive_class, match, type_name, option_presets) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2153, in run_directive result = directive_instance.run() File "/scratch/emulators/qemu/work/qemu-10.0.3/docs/sphinx/qapidoc.py", line 620, in run contentnode = self.transmogrify(schema) File "/scratch/emulators/qemu/work/qemu-10.0.3/docs/sphinx/qapidoc.py", line 549, in transmogrify nested_parse_with_titles(self.state, content, contentnode) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/nodes.py", line 378, in nested_parse_with_titles ret = state.nested_parse(content, content_offset, node, match_titles=True) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 275, in nested_parse state_machine.run(block, input_offset, memo=self.memo, ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ node=node, match_titles=match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 191, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 3024, in text self.section(title.lstrip(), source, style, lineno + 1, messages) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 321, in section self.new_subsection(title, lineno, messages) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 370, in new_subsection self.parent += section_node File "/usr/pkg/lib/python3.13/site-packages/docutils/nodes.py", line 736, in __radd__ return other + self.children ~~~~~~^~~~~~~~~~~~~~~ TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' ``` Even with the "CRITICAL: Inconsistent title style" problems fixed, the build stops. Any ideas what the problem is or how to fix it? Thanks. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-13 16:55:16
|
- **Comment**: Did you check the generated HTML for missing section headings? While the build runs without crashing, there are still serious errors. Unfortunately, I cannot replicate or trace the reason. Here is what I found so far: The error is in docstrings that are collected by a Sphinx extension (qapidoc?). The error message tells, that the parser expects a consistent hierarchy of title adornment styles (i.e. sections in docstrings under/overlined with `*`, subsections underlined with `-`). Docstrings using this style (e.g. /scratch/emulators/qemu/work/qemu-10.0.3/qapi/pci.json) don't report an error any more. The mystery is, that Sphinx "autodoc" and (as far as I can see in the [source](https://gitlab.com/qemu-project/qemu/-/blob/master/docs/sphinx/qapidoc.py?ref_type=heads#L469)) "qapidoc" set up a "fresh" title style hierarchy for docstrings (with the auxiliary functions `nested_parse_with_titles()` rsp. `nested_parse_to_nodes()`). Nevertheless, the docstrings in `include/hw/qdev-core.h` and `system/qtest.c` are parsed with a non-empty section title style hierarchy. The traceback of a run with a "docutils.conf" file in the project directory that sets halt_level to 3 may give some hints. As a workaround, you may consider "normalizing" the section title adornments in `include/hw/qdev-core.h` and `system/qtest.c`. --- **[bugs:#508] qemu build problem after docutils update to 0.22** **Status:** open **Created:** Mon Aug 04, 2025 08:23 AM UTC by Thomas Klausner **Last Updated:** Mon Aug 11, 2025 09:20 PM UTC **Owner:** nobody After updating docutils in pkgsrc to 0.22 (with sphinx 8.2.3), qemu 10.0.3 (https://gitlab.com/qemu-project/qemu) stopped building. The output is not very clear: ``` [5596/6204] Generating docs/QEMU manual with a custom command FAILED: [code=2] docs/docs.stamp /scratch/emulators/qemu/work/.tools/bin/env CONFDIR=/usr/pkg/etc/qemu/qemu /scratch/emulators/qemu/work/qemu-10.0.3/build/pyvenv/bin/sphinx-build -q -j auto -Dversion=10.0.3 -Drelease= -Ddepfile=docs/docs.d -Ddepfile_sta mp=docs/docs.stamp -b html -d /scratch/emulators/qemu/work/qemu-10.0.3/build/docs/manual.p /scratch/emulators/qemu/work/qemu-10.0.3/docs /scratch/emulators/qemu/work/qemu-10.0.3/build/docs/manual Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:70: CRITICAL: Inconsistent title style: skip from level 1 to 3. Valid requests ^^^^^^^^^^^^^^ Established title styles: =/= - ^ [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:73: CRITICAL: Inconsistent title style: skip from level 1 to 4. 10:17:35 [41/1829] Clock management: """"""""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:107: CRITICAL: Inconsistent title style: skip from level 1 to 4. PIO and memory access: """""""""""""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:215: CRITICAL: Inconsistent title style: skip from level 1 to 4. IRQ management: """"""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:239: CRITICAL: Inconsistent title style: skip from level 1 to 4. Setting interrupt level: """""""""""""""""""""""" Established title styles: =/= - ^ " [docutils] Sphinx parallel build error! Versions ======== * Platform: netbsd11; (NetBSD-11.99.1-amd64-x86_64-64bit-ELF) * Python version: 3.13.5 (CPython) * Sphinx version: 8.2.3 * Docutils version: 0.22 * Jinja2 version: 3.1.6 * Pygments version: 2.19.2 Last Messages ============= reading sources... [ 91%] system/s390x/protvirt .. system/target-loongarch reading sources... [ 94%] system/target-m68k .. system/target-sparc64 reading sources... [ 97%] system/target-xtensa .. tools/qemu-nbd Loaded Extensions ================= * sphinx.ext.mathjax (8.2.3) * alabaster (1.0.0) * sphinxcontrib.applehelp (2.0.0) * sphinxcontrib.devhelp (2.0.0) * sphinxcontrib.htmlhelp (2.1.0) * sphinxcontrib.serializinghtml (2.0.0) * sphinxcontrib.qthelp (2.0.0) * depfile (1.0) * hxtool (1.0) * kerneldoc (1.0) * qapi_domain (1.0) * qapidoc (2.0) * qmp_lexer (unknown version) * dbusdoc (1.0) * sphinxcontrib.jquery (4.1) * sphinx_rtd_theme (unknown version) Traceback ========= File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/parallel.py", line 137, in _join_one raise SphinxParallelError(*result) sphinx.errors.SphinxParallelError: TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' The full traceback has been saved in: /tmp/sphinx-err-gj6pt4nj.log To report this error to the developers, please open an issue at <https://github.com/sphinx-doc/sphinx/issues/>. Thanks! Please also report this if it was a user error, so that a better error message can be provided next time. ``` The full traceback from the log lists docutils code as the origin of the breakage: ``` Traceback ========= (Error in parallel process) Traceback (most recent call last): File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/parallel.py", line 83, in _process ret = func(arg) # type: ignore[call-arg] File "/usr/pkg/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 603, in read_process self.read_doc(docname, _cache=False) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 648, in read_doc publisher.publish() ~~~~~~~~~~~~~~~~~^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/core.py", line 269, in publish self.document = self.reader.read(self.source, self.parser, ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ self.settings) ^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/io.py", line 103, in read self.parse() ~~~~~~~~~~^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/readers/__init__.py", line 101, in parse self.parser.parse(self.input, document) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/parsers.py", line 86, in parse self.statemachine.run(inputlines, document, inliner=self.inliner) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 165, in run results = StateMachineWS.run(self, input_lines, input_offset, input_source=document['source']) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2356, in explicit_markup self.explicit_list(blank_finish) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2381, in explicit_list newline_offset, blank_finish = self.nested_list_parse( ~~~~~~~~~~~~~~~~~~~~~~^ self.state_machine.input_lines[offset:], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... blank_finish=blank_finish, ^^^^^^^^^^^^^^^^^^^^^^^^^^ match_titles=self.state_machine.match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 312, in nested_list_parse state_machine.run(block, input_offset, memo=self.memo, ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ node=node, match_titles=match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 191, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2659, in explicit_markup nodelist, blank_finish = self.explicit_construct(match) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2366, in explicit_construct return method(self, expmatch) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2103, in directive return self.run_directive( ~~~~~~~~~~~~~~~~~~^ directive_class, match, type_name, option_presets) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2153, in run_directive result = directive_instance.run() File "/scratch/emulators/qemu/work/qemu-10.0.3/docs/sphinx/qapidoc.py", line 620, in run contentnode = self.transmogrify(schema) File "/scratch/emulators/qemu/work/qemu-10.0.3/docs/sphinx/qapidoc.py", line 549, in transmogrify nested_parse_with_titles(self.state, content, contentnode) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/nodes.py", line 378, in nested_parse_with_titles ret = state.nested_parse(content, content_offset, node, match_titles=True) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 275, in nested_parse state_machine.run(block, input_offset, memo=self.memo, ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ node=node, match_titles=match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 191, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 3024, in text self.section(title.lstrip(), source, style, lineno + 1, messages) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 321, in section self.new_subsection(title, lineno, messages) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 370, in new_subsection self.parent += section_node File "/usr/pkg/lib/python3.13/site-packages/docutils/nodes.py", line 736, in __radd__ return other + self.children ~~~~~~^~~~~~~~~~~~~~~ TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' ``` Even with the "CRITICAL: Inconsistent title style" problems fixed, the build stops. Any ideas what the problem is or how to fix it? Thanks. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-11 13:10:55
|
Yes, Docutils now checks, whether the new "self.parent" after switching the section level is valid and reports these CRITICAL system messages (downgraded to ERROR in [r10198]. However, there is still a serious problem: an incompatibility with "qapidoc" rsp `sphinx.util.nodes.nested_parse_with_titles()`. This should be fixed in [r10200]. Can you re-try? For added robustness, I recommend that "qapidoc" switches from using `sphinx.util.nodes.nested_parse_with_titles()` to `sphinx.util.parsing.nested_parse_to_nodes()` as recommended in the docstring of nested_parse_with_titles(); > This function is retained for compatibility and will be deprecated in Sphinx 8. Prefer ``nested_parse_to_nodes()``. Then, "qapidoc" should also work with Docutils 0.22. --- **[bugs:#508] qemu build problem after docutils update to 0.22** **Status:** open **Created:** Mon Aug 04, 2025 08:23 AM UTC by Thomas Klausner **Last Updated:** Fri Aug 08, 2025 08:56 PM UTC **Owner:** nobody After updating docutils in pkgsrc to 0.22 (with sphinx 8.2.3), qemu 10.0.3 (https://gitlab.com/qemu-project/qemu) stopped building. The output is not very clear: ``` [5596/6204] Generating docs/QEMU manual with a custom command FAILED: [code=2] docs/docs.stamp /scratch/emulators/qemu/work/.tools/bin/env CONFDIR=/usr/pkg/etc/qemu/qemu /scratch/emulators/qemu/work/qemu-10.0.3/build/pyvenv/bin/sphinx-build -q -j auto -Dversion=10.0.3 -Drelease= -Ddepfile=docs/docs.d -Ddepfile_sta mp=docs/docs.stamp -b html -d /scratch/emulators/qemu/work/qemu-10.0.3/build/docs/manual.p /scratch/emulators/qemu/work/qemu-10.0.3/docs /scratch/emulators/qemu/work/qemu-10.0.3/build/docs/manual Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. Possible precedence problem between ! and pattern match (m//) at /scratch/emulators/qemu/work/qemu-10.0.3/docs/../scripts/kernel-doc line 1597. /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:70: CRITICAL: Inconsistent title style: skip from level 1 to 3. Valid requests ^^^^^^^^^^^^^^ Established title styles: =/= - ^ [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:73: CRITICAL: Inconsistent title style: skip from level 1 to 4. 10:17:35 [41/1829] Clock management: """"""""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:107: CRITICAL: Inconsistent title style: skip from level 1 to 4. PIO and memory access: """""""""""""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:215: CRITICAL: Inconsistent title style: skip from level 1 to 4. IRQ management: """"""""""""""" Established title styles: =/= - ^ " [docutils] /scratch/emulators/qemu/work/qemu-10.0.3/docs/../system/qtest.c:239: CRITICAL: Inconsistent title style: skip from level 1 to 4. Setting interrupt level: """""""""""""""""""""""" Established title styles: =/= - ^ " [docutils] Sphinx parallel build error! Versions ======== * Platform: netbsd11; (NetBSD-11.99.1-amd64-x86_64-64bit-ELF) * Python version: 3.13.5 (CPython) * Sphinx version: 8.2.3 * Docutils version: 0.22 * Jinja2 version: 3.1.6 * Pygments version: 2.19.2 Last Messages ============= reading sources... [ 91%] system/s390x/protvirt .. system/target-loongarch reading sources... [ 94%] system/target-m68k .. system/target-sparc64 reading sources... [ 97%] system/target-xtensa .. tools/qemu-nbd Loaded Extensions ================= * sphinx.ext.mathjax (8.2.3) * alabaster (1.0.0) * sphinxcontrib.applehelp (2.0.0) * sphinxcontrib.devhelp (2.0.0) * sphinxcontrib.htmlhelp (2.1.0) * sphinxcontrib.serializinghtml (2.0.0) * sphinxcontrib.qthelp (2.0.0) * depfile (1.0) * hxtool (1.0) * kerneldoc (1.0) * qapi_domain (1.0) * qapidoc (2.0) * qmp_lexer (unknown version) * dbusdoc (1.0) * sphinxcontrib.jquery (4.1) * sphinx_rtd_theme (unknown version) Traceback ========= File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/parallel.py", line 137, in _join_one raise SphinxParallelError(*result) sphinx.errors.SphinxParallelError: TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' The full traceback has been saved in: /tmp/sphinx-err-gj6pt4nj.log To report this error to the developers, please open an issue at <https://github.com/sphinx-doc/sphinx/issues/>. Thanks! Please also report this if it was a user error, so that a better error message can be provided next time. ``` The full traceback from the log lists docutils code as the origin of the breakage: ``` Traceback ========= (Error in parallel process) Traceback (most recent call last): File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/parallel.py", line 83, in _process ret = func(arg) # type: ignore[call-arg] File "/usr/pkg/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 603, in read_process self.read_doc(docname, _cache=False) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/builders/__init__.py", line 648, in read_doc publisher.publish() ~~~~~~~~~~~~~~~~~^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/core.py", line 269, in publish self.document = self.reader.read(self.source, self.parser, ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ self.settings) ^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/io.py", line 103, in read self.parse() ~~~~~~~~~~^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/readers/__init__.py", line 101, in parse self.parser.parse(self.input, document) ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/parsers.py", line 86, in parse self.statemachine.run(inputlines, document, inliner=self.inliner) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 165, in run results = StateMachineWS.run(self, input_lines, input_offset, input_source=document['source']) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2356, in explicit_markup self.explicit_list(blank_finish) ~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2381, in explicit_list newline_offset, blank_finish = self.nested_list_parse( ~~~~~~~~~~~~~~~~~~~~~~^ self.state_machine.input_lines[offset:], ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...<2 lines>... blank_finish=blank_finish, ^^^^^^^^^^^^^^^^^^^^^^^^^^ match_titles=self.state_machine.match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 312, in nested_list_parse state_machine.run(block, input_offset, memo=self.memo, ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ node=node, match_titles=match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 191, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2659, in explicit_markup nodelist, blank_finish = self.explicit_construct(match) ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2366, in explicit_construct return method(self, expmatch) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2103, in directive return self.run_directive( ~~~~~~~~~~~~~~~~~~^ directive_class, match, type_name, option_presets) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 2153, in run_directive result = directive_instance.run() File "/scratch/emulators/qemu/work/qemu-10.0.3/docs/sphinx/qapidoc.py", line 620, in run contentnode = self.transmogrify(schema) File "/scratch/emulators/qemu/work/qemu-10.0.3/docs/sphinx/qapidoc.py", line 549, in transmogrify nested_parse_with_titles(self.state, content, contentnode) ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/sphinx/util/nodes.py", line 378, in nested_parse_with_titles ret = state.nested_parse(content, content_offset, node, match_titles=True) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 275, in nested_parse state_machine.run(block, input_offset, memo=self.memo, ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ node=node, match_titles=match_titles) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 191, in run results = StateMachineWS.run(self, input_lines, input_offset) File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ~~~~~~~~~~~~~~~^ context, state, transitions) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 3024, in text self.section(title.lstrip(), source, style, lineno + 1, messages) ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 321, in section self.new_subsection(title, lineno, messages) ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/pkg/lib/python3.13/site-packages/docutils/parsers/rst/states.py", line 370, in new_subsection self.parent += section_node File "/usr/pkg/lib/python3.13/site-packages/docutils/nodes.py", line 736, in __radd__ return other + self.children ~~~~~~^~~~~~~~~~~~~~~ TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' ``` Even with the "CRITICAL: Inconsistent title style" problems fixed, the build stops. Any ideas what the problem is or how to fix it? Thanks. --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |
From: Günter M. <mi...@us...> - 2025-08-11 12:44:27
|
In this case, the problem seems to be an incompatibility with Sphinx's "autoprogram". Can you please try with an updated repository version of Docutils? Commit [r10200] should fix it. --- **[bugs:#509] regression with docutils 0.22: unsupported operand type(s) for +: 'NoneType' and 'list'** **Status:** open **Created:** Wed Aug 06, 2025 06:13 PM UTC by Oliver Smith **Last Updated:** Thu Aug 07, 2025 07:18 PM UTC **Owner:** nobody Hello, after upgrading to docutils 0.22, building documentation for the pmbootstrap project fails: ~~~ Traceback (most recent call last): File "/usr/lib/python3.12/site-packages/sphinx/cmd/build.py", line 432, in build_main app.build(args.force_all, args.filenames) File "/usr/lib/python3.12/site-packages/sphinx/application.py", line 426, in build self.builder.build_update() File "/usr/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 375, in build_update self.build( File "/usr/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 403, in build updated_docnames = set(self.read()) ^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 519, in read self._read_serial(docnames) File "/usr/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 584, in _read_serial self.read_doc(docname) File "/usr/lib/python3.12/site-packages/sphinx/builders/__init__.py", line 648, in read_doc publisher.publish() File "/usr/lib/python3.12/site-packages/docutils/core.py", line 269, in publish self.document = self.reader.read(self.source, self.parser, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/sphinx/io.py", line 103, in read self.parse() File "/usr/lib/python3.12/site-packages/docutils/readers/__init__.py", line 101, in parse self.parser.parse(self.input, document) File "/usr/lib/python3.12/site-packages/sphinx/parsers.py", line 86, in parse self.statemachine.run(inputlines, document, inliner=self.inliner) File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 165, in run results = StateMachineWS.run(self, input_lines, input_offset, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 2354, in explicit_markup nodelist, blank_finish = self.explicit_construct(match) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 2366, in explicit_construct return method(self, expmatch) ^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 2103, in directive return self.run_directive( ^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 2153, in run_directive result = directive_instance.run() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/sphinxcontrib/autoprogram.py", line 262, in run nested_parse_with_titles(self.state, result, node) File "/usr/lib/python3.12/site-packages/sphinx/util/nodes.py", line 378, in nested_parse_with_titles ret = state.nested_parse(content, content_offset, node, match_titles=True) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 275, in nested_parse state_machine.run(block, input_offset, memo=self.memo, File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 191, in run results = StateMachineWS.run(self, input_lines, input_offset) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/statemachine.py", line 235, in run context, next_state, result = self.check_line( ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/statemachine.py", line 447, in check_line return method(match, context, next_state) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 2787, in underline self.section(title, source, style, lineno - 1, messages) File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 321, in section self.new_subsection(title, lineno, messages) File "/usr/lib/python3.12/site-packages/docutils/parsers/rst/states.py", line 370, in new_subsection self.parent += section_node File "/usr/lib/python3.12/site-packages/docutils/nodes.py", line 736, in __radd__ return other + self.children ~~~~~~^~~~~~~~~~~~~~~ TypeError: unsupported operand type(s) for +: 'NoneType' and 'list' ~~~ Source code: https://gitlab.postmarketos.org/postmarketOS/pmbootstrap/ Tested with commit: 5927ff70b8d2468d5d0e2c978bc1fe30d036fd7f Distribution: Alpine Linux Edge --- Sent from sourceforge.net because doc...@li... is subscribed to https://sourceforge.net/p/docutils/bugs/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/docutils/admin/bugs/options. Or, if this is a mailing list, you can unsubscribe from the mailing list. |