GNOME Bugzilla – Bug 678177
Explicitly specified <PRE> tags are no longer handled properly
Last modified: 2012-07-12 15:41:57 UTC
Created attachment 216530 [details] Zipped source, cfg and output from both 1.7.6.1 and 1.8.1.1 I recently switched from version 1.7.6.1 to 1.8.1.1 in order to get the fix for a header guard problem that was affecting one of my modules. Unfortunately, the newer version has now broken the documentation of several other things which used the HTML <PRE> and </PRE> tags to embed "ASCII" graphics in the documentation. I'm attaching a much trimmed example and the output produced by both versions. While processing the source, version 1.7.6.1 is entirely happy, but version 1.8.1.1 outputs the following two warnings: X:/test.cpp:253: warning: found </pre> at different nesting level (5) than expected (2) X:/test.cpp:469: warning: end of comment block while expecting command </pre> It's pretty clear that the text between the <PRE> and </PRE> tags is being processed by the newer version of Doxygen, while it was always just copied verbatim by the older version. I've downloaded and tested the 1.8.0 and 1.8.1 versions too, and both of them have the same problem.
I think that in your example you should have used @verbatim..@endverbatim instead of <pre>..</pre> as markup processing is done inside <pre>..</pre>, and you clearly don't want that. One of the markup processing steps is Markdown (which you can disabled by setting MARKDOWN_SUPPORT to NO). Another is that -- is replaced by – and --- by &mdash. I see if I can make this more robust (e.g. disabling it inside <pre>..</pre>).
I see that I had already disabled Markdown procesinng inside <pre> blocks except for a small part (lists starting with +), so I'll correct that as well, and then your example should work with or without Markdown processing enabled.
*** Bug 679756 has been marked as a duplicate of this bug. ***
This bug was previously marked ASSIGNED, which means it should be fixed in doxygen version 1.8.1.2. Please verify if this is indeed the case. Reopen the bug if you think it is not fixed and please include any additional information that you think can be relevant.