chiark / gitweb /
documentation/doxygen: drop handling for a Doxygen 1.8.15 bug.
authorVladimír Vondruš <mosra@centrum.cz>
Thu, 7 May 2020 11:28:11 +0000 (13:28 +0200)
committerVladimír Vondruš <mosra@centrum.cz>
Thu, 7 May 2020 15:26:27 +0000 (17:26 +0200)
documentation/doxygen.py
documentation/test_doxygen/contents_brief_multiline_ingroup/Doxyfile [deleted file]
documentation/test_doxygen/contents_brief_multiline_ingroup/File.h [deleted file]
documentation/test_doxygen/contents_brief_multiline_ingroup/group__thatgroup.html [deleted file]
documentation/test_doxygen/test_contents.py

index cb12de0031b04f7ea20f3a64ec2b2e6a6286e384..03ca56a42c9ebbab8e2ea35f32192abc916f1d13 100755 (executable)
@@ -1599,19 +1599,13 @@ def parse_desc_internal(state: State, element: ET.Element, immediate_parent: ET.
                 assert out.parsed.startswith('<p>') and out.parsed.endswith('</p>')
                 out.parsed = out.parsed[3:-4]
 
-        # Sane behavior otherwise. Well, no. I give up.
+        # Sane behavior otherwise
         else:
-            # In 1.8.15 if @brief is followed by an @ingroup, then the
-            # immediately following paragraph gets merged with it for some
-            # freaking reason.
-            if paragraph_count > 1:
-                logging.warning("{}: brief description containing multiple paragraphs, possibly due to @ingroup following a @brief. That's not supported, ignoring the whole contents of {}".format(state.current, out.parsed))
-                out.parsed = ''
-            else:
-                assert not has_block_elements and paragraph_count <= 1
-                if paragraph_count == 1:
-                    assert out.parsed.startswith('<p>') and out.parsed.endswith('</p>')
-                    out.parsed = out.parsed[3:-4]
+            assert not has_block_elements and paragraph_count <= 1, \
+                "{}: brief description containing multiple paragraphs, possibly due to @ingroup following a @brief in {}. This was a bug in Doxygen 1.8.15/16 and fixed since, please upgrade.".format(state.current, out.parsed)
+            if paragraph_count == 1:
+                assert out.parsed.startswith('<p>') and out.parsed.endswith('</p>')
+                out.parsed = out.parsed[3:-4]
 
     # Strip superfluous <p> for simple elments (list items, parameter and
     # return value description, table cells), but only if there is just a
diff --git a/documentation/test_doxygen/contents_brief_multiline_ingroup/Doxyfile b/documentation/test_doxygen/contents_brief_multiline_ingroup/Doxyfile
deleted file mode 100644 (file)
index bab230d..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-INPUT                   = File.h
-QUIET                   = YES
-GENERATE_HTML           = NO
-GENERATE_LATEX          = NO
-GENERATE_XML            = YES
-XML_PROGRAMLISTING      = NO
-CASE_SENSE_NAMES        = YES
-
-##! M_PAGE_FINE_PRINT   =
-##! M_THEME_COLOR       =
-##! M_FAVICON           =
-##! M_LINKS_NAVBAR1     =
-##! M_LINKS_NAVBAR2     =
-##! M_SEARCH_DISABLED   = YES
-
diff --git a/documentation/test_doxygen/contents_brief_multiline_ingroup/File.h b/documentation/test_doxygen/contents_brief_multiline_ingroup/File.h
deleted file mode 100644 (file)
index deb92f4..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-/** @defgroup thatgroup This is a group */
-
-/**
-@brief Function that's in a group
-@ingroup thatgroup
-
-Lines of detailed description that get merged to the brief for no freaking
-reason.
-*/
-void foo();
diff --git a/documentation/test_doxygen/contents_brief_multiline_ingroup/group__thatgroup.html b/documentation/test_doxygen/contents_brief_multiline_ingroup/group__thatgroup.html
deleted file mode 100644 (file)
index 13e9cf2..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-  <meta charset="UTF-8" />
-  <title>This is a group module | My Project</title>
-  <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600" />
-  <link rel="stylesheet" href="m-dark+documentation.compiled.css" />
-  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
-</head>
-<body>
-<header><nav id="navigation">
-  <div class="m-container">
-    <div class="m-row">
-      <a href="index.html" id="m-navbar-brand" class="m-col-t-8 m-col-m-none m-left-m">My Project</a>
-    </div>
-  </div>
-</nav></header>
-<main><article>
-  <div class="m-container m-container-inflatable">
-    <div class="m-row">
-      <div class="m-col-l-10 m-push-l-1">
-        <h1>
-          This is a group <span class="m-thin">module</span></h1>
-      </div>
-    </div>
-  </div>
-</article></main>
-</body>
-</html>
index 1b1ff18c58af382375b11536630004d082d0b0d7..8be7dd0e7e7f47c2c930c5b92ec58931f9fd0758 100644 (file)
@@ -422,11 +422,3 @@ class Htmlinclude(IntegrationTestCase):
     def test_warnings(self):
         self.run_doxygen(wildcard='warnings.xml')
         self.assertEqual(*self.actual_expected_contents('warnings.html'))
-
-class BriefMultilineIngroup(IntegrationTestCase):
-    def __init__(self, *args, **kwargs):
-        super().__init__(__file__, 'brief_multiline_ingroup', *args, **kwargs)
-
-    def test(self):
-        self.run_doxygen(wildcard='group__thatgroup.xml')
-        self.assertEqual(*self.actual_expected_contents('group__thatgroup.html'))