GNOME Bugzilla – Bug 756185
Multiline //!< behavior changed
Last modified: 2016-12-29 18:46:05 UTC
Hi, in 1.8.8, this example: int foo; //!< This is an example member //!< with a multiline comment generated "This is an example member with a multiline comment" In 1.8.9.1 it generates "This is an example member < with a multiline comment" Replacing the last //!< by //! is a workaround for the issue but the new behavior is unintuitive and does not look intentional. Regards Stephan
I tried to reproduce the problem, but failed (placed the code in a .h file) Can you please attach a self-contained example (source+config file in a tar or zip) that allows us to reproduce the problem?
Created attachment 312844 [details] foo.h Code example
Created attachment 312845 [details] doxygen.cfg The default config file with MULTILINE_CPP_IS_BRIEF = YES
Two sorries: 1. Sorry for sending two mails, I thought Bugzilla would create one post with two attachments. 2. The behavior did *not* change between the noted versions. (I found this behavior in some bigger series of changes, in one MULTILINE_CPP_IS_BRIEF was changed from NO to YES.)
The problem here has to do with the setting of MULTILINE_CPP_IS_BRIEF. In case this is set to YES the reported problem appears, when the MULTILINE_CPP_IS_BRIEF is set to NO the problem does not appear. From the documentation in the in the Doxyfile (doxygen.cfg): # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a # multi-line C++ special comment block (i.e. a block of //! or /// comments) as # a brief description. This used to be the default behavior. The new default is # to treat a multi-line C++ comment block as a detailed description. Set this # tag to YES if you prefer the old behavior instead. So it look to me that this is not a bug or it is a non expected side effect. In the later case and looking in scanner.l (currently line 62015) the "problem" might be overcome bu changing the line: <DocLine>[^\n]*"\n"[ \t]*"//"[/!] { // continuation of multiline C++-style comment into <DocLine>[^\n]*"\n"[ \t]*"//"[/!][<]? { // continuation of multiline C++-style comment though I don't know if this will have side effects.
I think Albert's proposal is an improvement indeed. Should be corrected in the next GIT update.
This bug was previously marked ASSIGNED, which means it should be fixed in doxygen version 1.8.13. 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 (preferably in the form of a self-contained example).