aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2023-01-06 09:13:24 +1000
committerSteve Bennett <steveb@workware.net.au>2023-01-06 09:14:47 +1000
commit2f7be1cb2e4bef94793d7121d117aa7699414700 (patch)
treee120e9cd539a4a29624f707aaf854c635c5dd2a4
parent08a2ad83bb42b24564a8e8cd6cb8b8a2e4da7b06 (diff)
downloadjimtcl-2f7be1cb2e4bef94793d7121d117aa7699414700.zip
jimtcl-2f7be1cb2e4bef94793d7121d117aa7699414700.tar.gz
jimtcl-2f7be1cb2e4bef94793d7121d117aa7699414700.tar.bz2
oo.tcl: fix error in defaultconstructor
$classname is not accessible, so use [info level 0] Fixes #248 Signed-off-by: Steve Bennett <steveb@workware.net.au>
-rw-r--r--oo.tcl5
1 files changed, 3 insertions, 2 deletions
diff --git a/oo.tcl b/oo.tcl
index 988b879..4fefa9c 100644
--- a/oo.tcl
+++ b/oo.tcl
@@ -77,12 +77,13 @@ proc class {classname {baseclasses {}} classvars} {
lindex [split $p " "] 1
}]
}
- # Pre-defined some instance methods
+ # Pre-define some instance methods
$classname method defaultconstructor {{__vars {}}} {
set __classvars [$self classvars]
foreach __v [dict keys $__vars] {
if {![dict exists $__classvars $__v]} {
- return -code error "$classname, $__v is not a class variable"
+ # level 3 because defaultconstructor is called by new
+ return -code error -level 3 "[lindex [info level 0] 0], $__v is not a class variable"
}
set $__v [dict get $__vars $__v]
}