diff --git a/sphinx/writers/texinfo.py b/sphinx/writers/texinfo.py index fd0c244d3..63c7d2af8 100644 --- a/sphinx/writers/texinfo.py +++ b/sphinx/writers/texinfo.py @@ -387,6 +387,9 @@ class TexinfoTranslator(nodes.NodeVisitor): bad_chars = ',:()' for bc in bad_chars: s = s.replace(bc, ' ') + if re.search('[^ .]', s): + # remove DOTs if name contains other characters + s = s.replace('.', ' ') s = ' '.join(s.split()).strip() return self.escape(s) diff --git a/tests/test_build_texinfo.py b/tests/test_build_texinfo.py index a1987689b..93e10d758 100644 --- a/tests/test_build_texinfo.py +++ b/tests/test_build_texinfo.py @@ -110,5 +110,5 @@ def test_texinfo_escape_id(app, status, warning): assert translator.escape_id('Hello Sphinx world') == 'Hello Sphinx world' assert translator.escape_id('Hello:world') == 'Hello world' assert translator.escape_id('Hello(world)') == 'Hello world' - assert translator.escape_id('Hello world.') == 'Hello world.' + assert translator.escape_id('Hello world.') == 'Hello world' assert translator.escape_id('.') == '.'