GNOME Bugzilla – Bug 594787
Autolinking occurs for lowercase names
Last modified: 2009-12-30 13:39:02 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.
*** Bug 597580 has been marked as a duplicate of this bug. ***
I will restore the pre 1.5.2 behaviour as suggested, and fix the documentation.
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).