GNOME Bugzilla – Bug 669758
Same function in multiple Tcl namespaces not added
Last modified: 2012-02-25 15:37:35 UTC
Created attachment 207201 [details] Simple test case of two tiny tcl files and doxygen configuration. A function being present in two Tcl namespaces is not added for every namespace. Warning messages are created. /tmp/doxy/b.tcl:15: warning: documented function `b::dowhatw' was not declared or defined. The output does not contain documentation for ::b::dowhat and the function is not added to the specified module. Problem: This is a nasty shop stopper if you have a function that is present in multiple namespaces, in my case functions like valid, get,... ----------------- File a.tcl: package provide a 1.0.0; ## # Namespace a namespace eval ::a { } ## # @addtogroup TCL_API # @{ ## # Do something # @param[in] w An argument proc ::a::dowhat {w} { } ## @} ----------------------------------------- File b.tcl: package provide b 1.0.0; ## # Namespace b namespace eval ::b { } ## # @addtogroup TCL_API # @{ ## # Do something # @param[in] w An argument proc ::b::dowhat {w} { } ## @} --------------------------------------- Attachment contains very simple example with doxygen configuration file.
Created attachment 207367 [details] [review] diff against version 799 The patch add the functions to the namespaces and the group. The adding to the group page is different to the handling in p.e. cpp files. There will only be the namespace in the group page. I'm not sure about the implications and I will try to consult Dimitri one the issue.
Hi Rene, The extra condition should be ok for C++ files as well as far as I can see. I didn't manage to create a similar C++ example were this extra condition is needed though, so I'm not sure yet what is different between Tcl and C++ that would require this for Tcl, but not for C++. I'll include this change anyway.
Just a remark. The same code in C++ (two function with same name and arg list in different namespaces and put with @addtogroup and @{ and @}) gives only the namespaces on the group page. With the patch the code in tcl gives the namespaces AND the functions on the group page. The last one seems logical for me.
I added the line to my 1.7.6.1 source code and the result is now OK for me (at least for Tcl). I do have something in a different language with namespaces to check the behaviour as well. Thanks for the fix.
This bug was previously marked ASSIGNED, which means it should be fixed in doxygen version 1.8.0. 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.