Index: library/nx/nx.tcl =================================================================== diff -u -r50b5699927f9d34e2ab7a14e29ccf8dc1f569095 -r0595a14ffaf82764ce8bcc642741cd8ded14dc38 --- library/nx/nx.tcl (.../nx.tcl) (revision 50b5699927f9d34e2ab7a14e29ccf8dc1f569095) +++ library/nx/nx.tcl (.../nx.tcl) (revision 0595a14ffaf82764ce8bcc642741cd8ded14dc38) @@ -246,8 +246,8 @@ if {![info exists ::nsf::methodDefiningMethod([lindex $args 0])]} { error "'[lindex $args 0]' is not a method defining method" } - set r [::nsf::object::dispatch [::nsf::current object] {*}$args] - if {$r ne ""} {::nsf::method::property [::nsf::self] $r call-protected false} + set r [{*}:$args] + if {$r ne ""} {::nsf::method::property [self] $r call-protected false} return $r } @@ -257,9 +257,19 @@ error "'[lindex $args 0]' is not a method defining method" } set r [{*}:$args] - if {$r ne ""} {::nsf::method::property [::nsf::self] $r call-protected true} + if {$r ne ""} {::nsf::method::property [self] $r call-protected true} return $r } + + # method modifier "private" + :method private {args} { + if {![info exists ::nsf::methodDefiningMethod([lindex $args 0])]} { + error "'[lindex $args 0]' is not a method defining method" + } + set r [{*}:$args] + if {$r ne ""} {::nsf::method::property [self] $r call-private true} + return $r + } } # Provide a placeholder for objectparameter during the bootup