After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 594787 - Autolinking occurs for lowercase names
Autolinking occurs for lowercase names
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.6.1-SVN
Other All
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
: 597580 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2009-09-10 19:14 UTC by Trevor Robinson
Modified: 2009-12-30 13:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to uncomment lowercase exclusion for autolinking (1017 bytes, patch)
2009-09-10 19:14 UTC, Trevor Robinson
none Details | Review

Description Trevor Robinson 2009-09-10 19:14:07 UTC
Created attachment 142933 [details] [review]
Patch to uncomment lowercase exclusion for autolinking

The autolinking documentation says that a class name must contain at least one
uppercase character to be linked, but this doesn't seem to be true. For
instance, I have a class template called "null", and every occurrence of the
word "null" in my documentation is (undesirably) autolinking to it.

I know that as a workaround I could prefix each unwanted occurrence with "%",
but that seems impractical. I have other classes, namespaces, and templates
with common names, such as "function", "date", etc., that often shouldn't
autolink either.

I found an unresolved post in the mail archive from Dec 2007 on this issue,
which contains a small example and a link to the output:

http://sourceforge.net/mailarchive/message.php?msg_id=20071224131931.GA25868@elmex

I'm guessing the change occurred in revision 571 from Jan 2007
(Release-1.5.1-20070107), when the following code was commented out in
resolveRef in util.cpp at current line number 4138:

    //if (!inSeeBlock && scopePos==-1 && isLowerCase(tsName))
    //{ // link to lower case only name => do not try to autolink 
    //  return FALSE;
    //}

Uncommenting these lines and isLowerCase() restores behavior similar to what is
documented. Actually, the documentation should say "contain at least one
non-lower case character", rather than "contain at least one upper case
character", because numbers and underscores will also enable autolinking.

Scanning the release notes for 1.5.2, I don't see any mention of this change,
so maybe it was accidental.
Comment 1 Dimitri van Heesch 2009-10-10 14:42:59 UTC
*** Bug 597580 has been marked as a duplicate of this bug. ***
Comment 2 Dimitri van Heesch 2009-10-10 14:52:07 UTC
I will restore the pre 1.5.2 behaviour as suggested, and fix the documentation.
Comment 3 Dimitri van Heesch 2009-12-30 13:39:02 UTC
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).