mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-09 15:20:56 -06:00
Sphinx: Specify encoding when opening files for title extraction
When the encoding is not specified, open() may choose an encoding based on the locale in use. That encoding may have no relationship to the encoding of the file being opened. Use the locale from the document settings instead, which should better match the file's encoding. Fixes: #24679
This commit is contained in:
@@ -242,12 +242,13 @@ class CMakeTransform(Transform):
|
||||
The cmake --help-*-list commands also depend on this convention.
|
||||
Return the title or False if the document file does not exist.
|
||||
"""
|
||||
env = self.document.settings.env
|
||||
settings = self.document.settings
|
||||
env = settings.env
|
||||
title = self.titles.get(docname)
|
||||
if title is None:
|
||||
fname = os.path.join(env.srcdir, docname+'.rst')
|
||||
try:
|
||||
f = open(fname, 'r')
|
||||
f = open(fname, 'r', encoding=settings.input_encoding)
|
||||
except IOError:
|
||||
title = False
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user