From ddd5aede237c4c7968cf79f5a8ba84ced1a5690c Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Date: Fri, 22 Nov 2024 14:54:50 +0000 Subject: [PATCH] Ensure `changeset.descname` is a string when not None (#13150) --- sphinx/builders/changes.py | 5 +---- sphinx/directives/__init__.py | 6 +++++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/sphinx/builders/changes.py b/sphinx/builders/changes.py index 918ed3bca..49cab2c7a 100644 --- a/sphinx/builders/changes.py +++ b/sphinx/builders/changes.py @@ -61,10 +61,7 @@ class ChangesBuilder(Builder): return logger.info(bold(__('writing summary file...'))) for changeset in changesets: - if isinstance(changeset.descname, tuple): - descname = changeset.descname[0] - else: - descname = changeset.descname + descname = changeset.descname ttext = self.typemap[changeset.type] context = changeset.content.replace('\n', ' ') if descname and changeset.docname.startswith('c-api'): diff --git a/sphinx/directives/__init__.py b/sphinx/directives/__init__.py index 181c6f81a..c45232c92 100644 --- a/sphinx/directives/__init__.py +++ b/sphinx/directives/__init__.py @@ -282,7 +282,11 @@ class ObjectDescription(SphinxDirective, Generic[ObjDescT]): if self.names: # needed for association of version{added,changed} directives - self.env.temp_data['object'] = self.names[0] + object_name: ObjDescT = self.names[0] + if isinstance(object_name, tuple): + self.env.temp_data['object'] = str(object_name[0]) + else: + self.env.temp_data['object'] = str(object_name) self.before_content() content_children = self.parse_content_to_nodes(allow_section_headings=True) content_node = addnodes.desc_content('', *content_children)