From 1cfa4de1d848808738c9123a85764cd23f7b61d5 Mon Sep 17 00:00:00 2001 From: mescalinum Date: Mon, 14 Nov 2011 17:12:09 +0000 Subject: feature request 3436774: make $self namespace exist before calling constructor svn path=/trunk/externals/loaders/tclpd/; revision=15746 --- tclpd.tcl | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/tclpd.tcl b/tclpd.tcl index dec7901..fe358ac 100644 --- a/tclpd.tcl +++ b/tclpd.tcl @@ -94,7 +94,7 @@ namespace eval ::pd { } proc ::${classname}::dispatcher {self function args} " - if {\$function eq \"method\"} { + if {\$function eq {method}} { set inlet \[lindex \$args 0\] set selector \[lindex \$args 1\] set argsr \[lrange \$args 2 end\] @@ -107,7 +107,7 @@ namespace eval ::pd { } else { return -code error \"${classname}: no such method: \$i_s\" } - } elseif {\$function eq \"widgetbehavior\"} { + } elseif {\$function eq {widgetbehavior}} { set subfunction \[lindex \$args 0\] set argsr \[lrange \$args 1 end\] set f ::${classname}::\${function}_\${subfunction} @@ -115,6 +115,11 @@ namespace eval ::pd { uplevel \[linsert \$argsr 0 \$f \$self] } } else { + # feature request 3436774 + if {\$function eq {constructor}} { + namespace eval ::${classname}::\$self {} + } + uplevel \[linsert \$args 0 ::${classname}::\$function \$self\] } " -- cgit v1.2.1