Skip to content
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

Links using @ref stopped working in doxygen 1.8.19 #8037

Closed
swt2c opened this issue Sep 16, 2020 · 7 comments
Closed

Links using @ref stopped working in doxygen 1.8.19 #8037

swt2c opened this issue Sep 16, 2020 · 7 comments
Labels

Comments

@swt2c
Copy link

swt2c commented Sep 16, 2020

Describe the bug
In wxWidgets interface documentation, @ref is used to link to reference a different class in the documentation. It appears that in doxygen 1.8.19, these links stopped being generated correctly. I bisected the issue to commit 327423e.

Expected behavior
These are how the links look in doxygen 1.8.18 (correct):

$ grep -rsI "For more information on socket events" *
out/html/classwx_socket_base.html: For more information on socket events see <a class="el" href="socket_8h.html#wxSocketFlags">wxSocketFlags</a> . </li>
out/html/classwx_socket_base.html:<p>For more information on socket events see <a class="el" href="socket_8h.html#wxSocketEventFlags">wxSocketEventFlags</a> . </p>

Screenshots
This is how the links look in doxygen 1.8.19:

[talbert@deasil doxygen]$ grep -rsI "For more information on socket events" *
out/html/classwx_socket_base.html: For more information on socket events see <a class="el" href="/home/talbert/Downloads/dox_repro/interface/wx/socket.h#wxSocketFlags">wxSocketFlags</a> . </li>
out/html/classwx_socket_base.html:<p>For more information on socket events see <a class="el" href="/home/talbert/Downloads/dox_repro/interface/wx/socket.h#wxSocketEventFlags">wxSocketEventFlags</a> . </p>

To Reproduce
doxygen.tar.gz

Version
1.8.18 works, 1.8.19+ doesn't.

@albert-github
Copy link
Collaborator

At the moment it is hard to debug this problem due to the sheer size of the wx code and the time it takes to process.
By setting, in the doxygen Doxyfile, we get a more acceptable time:

HAVE_DOT               = NO
INPUT                  = ../interface/wx/socket.h

We have to check what the reason is for the

href="/home/talbert/Downloads/dox_repro/interface/wx/socket.h#wxSocketEventFlags"

instead of the:

socket_8h.html#wxSocketEventFlags

i.e. why there is now a reference to the real source and not to the documentation.

@albert-github
Copy link
Collaborator

albert-github commented Sep 17, 2020

I created a very small example showing the problem:


/**
    @anchor wxSocketFlags
    @class wxSocketBase
    Some docu
*/
class wxSocketBase
{
public:
    /**
        @name Basic I/O
    */

    /**
        \details For more information on socket events see @ref wxSocketFlags or somewhere else.
    */
    void SetFlags(wxSocketFlags flags);


};

with settings:

QUIET = YES
JAVADOC_AUTOBRIEF      = YES
#QT_AUTOBRIEF      = YES

The strange things, for me, are:

  • it happens only when JAVADOC_AUTOBRIEF is set
  • it doesn't happen when QT_AUTOBRIEF is set (and JAVADOC_AUTOBRIEF not set).
  • setting the "anchor" command to Block instead of Invisible looks like to solve the issue (I don't see a new paragraph appearing), but it contradicts in my opinion the meaning of these settings:
enum class CommandSpacing
{
  Invisible, // command sets some property but does not appear in the output.
  Inline,    // command appears inline in the output which can be a brief description.
  Block      // command starts a new paragraphs / ends a brief description.
};

Example: example.tar.gz

Edit

  • when changing the first comment block from /** to /*! the QT_AUTOBRIEF kicks in.
  • the problem disappears also when the \anchor is not, potential, part of the brief description.

@doxygen
Copy link
Owner

doxygen commented Sep 21, 2020

@swt2c and @albert-github Please verify if the commit I just pushed fixes the problem.

@doxygen doxygen added the fixed but not released Bug is fixed in github, but still needs to make its way to an official release label Sep 21, 2020
@albert-github
Copy link
Collaborator

Looks OK to me.

@swt2c
Copy link
Author

swt2c commented Sep 21, 2020

Yes, I can confirm the fix works for the full wxWidgets documentation. Thanks a lot!

@simevo
Copy link

simevo commented Sep 23, 2020

when do you plan to release this ? I am asking because if 1.8.21 is coming soon we'll wait, else we'd ship this patch in Debian as doxygen 1.8.20-3

@doxygen
Copy link
Owner

doxygen commented Dec 27, 2020

This issue was previously marked 'fixed but not released',
which means it should be fixed in doxygen version 1.9.0.
Please verify if this is indeed the case. Reopen the
issue 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 removed the fixed but not released Bug is fixed in github, but still needs to make its way to an official release label Dec 27, 2020
@doxygen doxygen closed this as completed Dec 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants