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 729092 - TCL: Full documentation not shown for procs in namespaces.
TCL: Full documentation not shown for procs in namespaces.
Status: RESOLVED FIXED
Product: doxygen
Classification: Other
Component: general
1.8.4
Other Linux
: Normal normal
: ---
Assigned To: Dimitri van Heesch
Dimitri van Heesch
Depends on:
Blocks:
 
 
Reported: 2014-04-28 09:38 UTC by Gerhard Burger
Modified: 2014-08-21 17:15 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Gerhard Burger 2014-04-28 09:38:05 UTC
I want to extend TclOO following an example from the 'Tcl/Tk: A developers guide' book and I have written the following tcl code:

-----------------------------------------------------------------------------
##
# Extension to TclOO to add static methods.
# Defines the method on the class instead of on the object. Can be used for
# the creation of megawidgets using TclOO by overriding the unknown method to
# detect if the user is trying to instantiate a widget (because the method
# will be unknown and start with a dot).
# @warning Do not modify! (unless you're waaay smarter than the writer of the
# below Tcl/Tk book).
# @cite flynt2012tcl
#
proc ::oo::define::classmethod {name {args ""} {body ""}} {
    # Create the method on the class if the caller gave arguments and body.
    if {[llength [info level 0]] == 4} {
        uplevel 1 [list self method $name $args $body]
    }
    # Get the name of the class being defined.
    set cls [lindex [info level -1] 1]
    # Make connection to private class "my" command by forwarding.
    uplevel forward $name [info object namespace $cls]::my $name
}

##
# Extension to TclOO to add static variables.
# Defines variables on the class instead of on the object. Can be used to
# enforce a limited number of instantiations.
# @warning Do not modify! (unless you're waaay smarter than the writer of the
# below Tcl/Tk book).
# @cite flynt2012tcl
#
proc ::oo::Helpers::classvar {args} {
    # Get reference to class's namespace.
    set nsCl [info object namespace [uplevel 1 {self class}]]
    set nsObj [uplevel 1 {namespace current}]
    # Link variables into local (caller's) scope.
    foreach v $args {
        uplevel "my variable $v"
        upvar #0 ${nsCl}::$v ${nsObj}::$v
    }
}
-----------------------------------------------------------------------------

The documentation is generated, but only the brief description is shown, there is a 'More...' link, but the full procedure documentation is not generated.
Comment 1 Dimitri van Heesch 2014-07-14 18:50:08 UTC
Confirmed. Should be fixed in the next GIT update.
Comment 2 Dimitri van Heesch 2014-08-21 17:15:14 UTC
This bug was previously marked ASSIGNED, which means it should be fixed in
doxygen version 1.8.8. 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 (preferrably in the form of a self-contained example).