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

TCL: Full documentation not shown for procs in namespaces. (Origin: bugzilla #729092) #5463

Closed
doxygen opened this Issue Jul 2, 2018 · 0 comments

Comments

Projects
None yet
1 participant
@doxygen
Owner

doxygen commented Jul 2, 2018

status RESOLVED severity normal in component general for ---
Reported in version 1.8.4 on platform Other
Assigned to: Dimitri van Heesch

On 2014-04-28 09:38:05 +0000, Gerhard Burger wrote:

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.

On 2014-07-14 18:50:08 +0000, Dimitri van Heesch wrote:

Confirmed. Should be fixed in the next GIT update.

On 2014-08-21 17:15:14 +0000, Dimitri van Heesch wrote:

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).

@doxygen doxygen closed this Jul 2, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment