New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiline //!< behavior changed (Origin: bugzilla #756185) #5882

Closed
doxygen opened this Issue Jul 2, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@doxygen
Owner

doxygen commented Jul 2, 2018

status RESOLVED severity normal in component general for ---
Reported in version 1.8.9.1 on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2015-10-07 13:16:01 +0000, Stephan Beyer wrote:

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

On 2015-10-07 15:48:00 +0000, albert wrote:

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?

On 2015-10-07 18:29:20 +0000, Stephan Beyer wrote:

Created attachment 312844
foo.h

Code example

On 2015-10-07 18:30:27 +0000, Stephan Beyer wrote:

Created attachment 312845
doxygen.cfg

The default config file with MULTILINE_CPP_IS_BRIEF = YES

On 2015-10-07 18:56:18 +0000, Stephan Beyer wrote:

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.)

On 2015-10-11 17:07:42 +0000, albert wrote:

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:
[^\n]"\n"[ \t]"//"[/!] { // continuation of multiline C++-style comment
into
[^\n]"\n"[ \t]"//"[/!][<]? { // continuation of multiline C++-style comment
though I don't know if this will have side effects.

On 2016-10-09 11:11:29 +0000, Dimitri van Heesch wrote:

I think Albert's proposal is an improvement indeed.
Should be corrected in the next GIT update.

On 2016-12-29 18:46:05 +0000, Dimitri van Heesch wrote:

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).

@doxygen doxygen closed this Jul 2, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment