Index: generic/predefined.h =================================================================== diff -u -r120f51260309bbe35ba0f142a25e1b18947e3635 -r7121883918ed2a2591a63630bd465cd1d98eaa26 --- generic/predefined.h (.../predefined.h) (revision 120f51260309bbe35ba0f142a25e1b18947e3635) +++ generic/predefined.h (.../predefined.h) (revision 7121883918ed2a2591a63630bd465cd1d98eaa26) @@ -166,8 +166,9 @@ "set arg [::xotcl::setinstvar $slot initcmd]\n" "lappend opts initcmd}\n" "if {[$slot exists methodname]} {\n" -"set methodname [::xotcl::setinstvar $slot methodname]\n" -"if {$methodname ne $name} {\n" +"set methodname [$slot methodname]\n" +"set slotname [$slot name]\n" +"if {$methodname ne $slotname} {\n" "lappend opts arg=$methodname}}\n" "if {[llength $opts] > 0} {\n" "append parameterdefinition :[join $opts ,]}\n" @@ -374,11 +375,12 @@ "\\[list [::xotcl::self] __default_from_cmd \\[::xotcl::self\\] [list [set :initcmd]]\\]\\n\"} elseif [:exists valuecmd] {\n" "append __initcmd \":trace add variable [list ${:name}] read \\\n" "\\[list [::xotcl::self] __value_from_cmd \\[::xotcl::self\\] [list [set :valuecmd]]\\]\"}\n" -"set valueParam [::xotcl::parameterFromSlot [self] \"value\"]\n" -"if {$valueParam ne \"value\"} {\n" +"set valueParam [lindex [::xotcl::parameterFromSlot [self] \"value\"] 0]\n" +"if {$valueParam ne \"value\" && [string first : $valueParam] > -1} {\n" "if {[set :multivalued]} {\n" ":method check_single_value [list $valueParam] {return 1}\n" ":method check_multiple_values list {foreach a $list {:check_single_value $a}}\n" +"puts stderr \"adding multiple assignmethod for [self] with $valueParam\"\n" ":method assign [list obj var value] {\n" ":check_multiple_values $value\n" "::xotcl::setinstvar $obj $var $value}} else {\n"