Index: openacs-4/packages/xotcl-core/xotcl-core.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/xotcl-core.info,v diff -u -r1.89.2.5 -r1.89.2.6 --- openacs-4/packages/xotcl-core/xotcl-core.info 25 Sep 2013 10:22:57 -0000 1.89.2.5 +++ openacs-4/packages/xotcl-core/xotcl-core.info 12 Nov 2013 10:03:11 -0000 1.89.2.6 @@ -10,7 +10,7 @@ t xotcl - + Gustaf Neumann XOTcl library functionality (e.g. thread handling, online documentation, Generic Form and List Classes) 2013-09-08 @@ -48,7 +48,7 @@ BSD-Style 2 - + Index: openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl,v diff -u -r1.72.2.8 -r1.72.2.9 --- openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl 2 Nov 2013 19:11:04 -0000 1.72.2.8 +++ openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl 12 Nov 2013 10:03:11 -0000 1.72.2.9 @@ -868,34 +868,34 @@ return [$o info object method args {*}$args] } "instargdefault" { - if {"::xotcl::Object" in [$o info precedence]} {return [$o info instdefault {*}$args]} - set parameter [$o info method parameter [lindex $args 0]] - foreach p $parameter { - if {[llength $p]>1} { + if {"::xotcl::Object" in [$o info precedence]} { + return [uplevel [list $o info instdefault {*}$args]] + } + lassign $args method arg varName + foreach p [$o info method parameters $method] { lassign $p name default - } else { - lassign [list $p ""] name default - } - if {$name eq [lindex $args 1]} { - return $default - } - } + if {$name eq $arg} { + uplevel [list set $varName $default] + return [expr {[llength $p] == 2}] + } + } + return 0 } "argdefault" { - if {"::xotcl::Object" in [$o info precedence]} {return [$o info default {*}$args]} - set parameter [$o info object method parameter [lindex $args 0]] - foreach p $parameter { - if {[llength $p]>1} { + if {"::xotcl::Object" in [$o info precedence]} { + return [uplevel [list $o info default {*}$args]] + } + lassign $args method arg varName + foreach p [$o info object method parameter $method] { lassign $p name default - } else { - lassign [list $p ""] name default - } - if {$name eq [lindex $args 1]} { - return $default - } - } + if {$name eq $arg} { + uplevel [list set $varName $default] + return [expr {[llength $p] == 2}] + } + } + return 0 } - + "array-exists" { if {"::xotcl::Object" in [$o info precedence]} {return [$o array exists {*}$args]} return [$o eval [list array exists :{*}$args]]