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

Distributed member group documentation not properly distributed (Origin: bugzilla #593040) #3492

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.6.1-SVN on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2009-08-25 17:13:03 +0000, Erik Zeek wrote:

Created attachment 141663
Class demonstrating the problem.

When using DISTRIBUTE_GROUP_DOC and multiple groups, subsequent groups use the
first groups documentation for all but the first member of the group.

In the attached class func{1,2,3,5} are documented properly, but func4 and
func6 have the documentation from the first group applied to them.

On 2009-08-25 17:13:39 +0000, Erik Zeek wrote:

Created attachment 141664
The Doxyfile for the test.

On 2009-12-17 12:38:21 +0000, Marcus D. Hanwell wrote:

*** Bug 604412 has been marked as a duplicate of this bug. ***

On 2009-12-17 12:51:28 +0000, Marcus D. Hanwell wrote:

I have been looking into this issue, and reported the duplicate bug (missed this one). I have been examining the behavior of the groups and how they are used. In your example there appears to be just one big group (as in mine).

One of the main functions involved in distributing the documentation is MemberGroup::distributeMemberGroupDocumentation(), I came up with a patch that could likely be used by VTK which uses the member names, but this does not work in the general case.

It looks like something in the logic of addMembersToMemberGroup() would need patching to create distinct groups for each group in a file, rather than what appears to happen now - one big group for each member of a group in a file.

On 2009-12-22 11:56:27 +0000, Dimitri van Heesch wrote:

The problem turned out to be in function findExistingGroup(). This function should compute a group id. For a previously defined member group it should return that group id or a new group id for a newly defined group. Anonymous groups (without name) should always get a fresh group id (now they all got the same group id).

Patch is to replace in commentscan.l in function findExistingGroup():

if (g_compoundName==mi->compoundName &&  // same file or scope
    stricmp(mi->header,info->header)==0  // same header
   )

by

if (g_compoundName==mi->compoundName &&  // same file or scope
    !mi->header.isEmpty() &&             // not nameless group and
    stricmp(mi->header,info->header)==0  // same header name
   )

Will be fixed in the next subversion update.

On 2009-12-22 23:30:08 +0000, Marcus D. Hanwell wrote:

That is great news, I will patch our doxygen and test out your patch. I was hoping we could avoid staying with an old version for too long, but had not found any more time to look into the issue myself.

Thanks for digging into the issue and providing a patch - our API docs thank you!

On 2009-12-30 13:38:44 +0000, Dimitri van Heesch wrote:

This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.6.2. Please verify if this is indeed the case and reopen the
bug if you think it is not fixed (include any additional information that you
think can be relevant).

On 2009-12-31 04:33:11 +0000, Marcus D. Hanwell wrote:

We have started running the latest SVN snapshot of Doxygen on the VTK headers and things are now much improved. Thanks for looking into this and providing a patch in such a timely manner. Once 1.6.2 is released we will hopefully be able to move back to a released version. Thanks.

@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