linux/Documentation/sphinx
Vegard Nossum b7b2ffc3ca docs: translations: use attribute to store current language
Akira Yokosawa reported [1] that the "translations" extension we added in
commit 7418ec5b15 ("docs: translations: add translations links when they
exist") broke the build on Sphinx versions v6.1.3 through 7.1.2 (possibly
others) with the following error:

    Exception occurred:
      File "/usr/lib/python3.12/site-packages/sphinx/util/nodes.py", line 624, in _copy_except__document
        newnode = self.__class__(rawsource=self.rawsource, **self.attributes)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    TypeError: LanguagesNode.__init__() missing 1 required positional argument: 'current_language'
    The full traceback has been saved in /tmp/sphinx-err-7xmwytuu.log, if you want to report the issue to the developers.

Solve this problem by making 'current_language' a true element attribute
of the LanguagesNode element, which is probably the more correct way to do
it anyway.

Tested on Sphinx 2.x, 3.x, 6.x, and 7.x.

[1]: https://lore.kernel.org/all/54a56c2e-a27c-45a0-b712-02a7bc7d2673@gmail.com/

Fixes: 7418ec5b15 ("docs: translations: add translations links when they exist")
Reported-by: Akira Yokosawa <akiyks@gmail.com>
Signed-off-by: Vegard Nossum <vegard.nossum@oracle.com>
Closes: https://lore.kernel.org/all/54a56c2e-a27c-45a0-b712-02a7bc7d2673@gmail.com/
Tested-by: Akira Yokosawa <akiyks@gmail.com>  # Sphinx 4.3.2, 5.3.0 and 6.2.1
Signed-off-by: Jonathan Corbet <corbet@lwn.net>
Link: https://lore.kernel.org/r/20240215064109.1193556-1-vegard.nossum@oracle.com
2024-02-21 13:41:37 -07:00
..
templates docs/sphinx: Fix TOC scroll hack for the home page 2024-01-23 14:33:13 -07:00
automarkup.py docs: Raise the minimum Sphinx requirement to 2.4.4 2023-12-15 08:36:33 -07:00
cdomain.py docs: Raise the minimum Sphinx requirement to 2.4.4 2023-12-15 08:36:33 -07:00
kernel_abi.py docs: kernel_abi.py: fix command injection 2024-01-03 13:44:11 -07:00
kernel_feat.py docs: kernel_feat.py: fix build error for missing files 2024-02-08 11:05:35 -07:00
kernel_include.py docs: kernel_include.py: add sphinx build dependencies 2022-03-28 13:53:46 -06:00
kerneldoc-preamble.sty docs: kerneldoc-preamble: Test xeCJK.sty before loading 2022-08-18 11:27:55 -06:00
kerneldoc.py docs/sphinx: Explicitly convert Sphinx paths to str 2023-10-10 13:35:54 -06:00
kernellog.py Move our minimum Sphinx version to 1.7 2021-02-01 16:29:12 -07:00
kfigure.py docs: Raise the minimum Sphinx requirement to 2.4.4 2023-12-15 08:36:33 -07:00
load_config.py docs: Fix the docs build with Sphinx 6.0 2023-01-06 13:04:00 -07:00
maintainers_include.py Documentation/sphinx: fix Python string escapes 2023-09-12 14:27:45 -06:00
parallel-wrapper.sh docs: Fix empty parallelism argument 2020-02-25 03:11:04 -07:00
parse-headers.pl tweewide: Fix most Shebang lines 2020-12-08 23:30:04 +09:00
requirements.txt A handful of late-arriving documentation fixes. 2024-01-17 11:49:11 -08:00
rstFlatTable.py docs: sphinx: Fix couple of spellings in the file rstFlatTable.py 2021-03-06 17:36:50 -07:00
translations.py docs: translations: use attribute to store current language 2024-02-21 13:41:37 -07:00