From 3787a7c1f2a63393bb5e2d9f7af87955783b1cf8 Mon Sep 17 00:00:00 2001 From: Adam Turner <9087854+AA-Turner@users.noreply.github.com> Date: Sat, 27 Apr 2024 11:19:19 +0100 Subject: [PATCH] Patch ``app.config`` in a more resilient manner (#783) Co-authored-by: Pradyun Gedam --- src/furo/__init__.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/furo/__init__.py b/src/furo/__init__.py index 44f5da17..4a24e062 100644 --- a/src/furo/__init__.py +++ b/src/furo/__init__.py @@ -283,7 +283,13 @@ def _builder_inited(app: sphinx.application.Sphinx) -> None: update_known_styles_state(app) def _update_default(key: str, *, new_default: Any) -> None: - app.config.values[key] = (new_default, *app.config.values[key][1:]) + try: + conf_py_settings = app.config._raw_config + except AttributeError: + pass # Sphinx's config has changed. + else: + if key not in conf_py_settings: + app.config._raw_config.setdefault(key, new_default) # Change the default permalinks icon _update_default("html_permalinks_icon", new_default="#")