Index: library/nx/nx.tcl =================================================================== diff -u -ra7b9d926225de93177a59bc1f2a6daf5228923c3 -r36a0f29d6f1ea1fde0810d05a1fedf3602b865cc --- library/nx/nx.tcl (.../nx.tcl) (revision a7b9d926225de93177a59bc1f2a6daf5228923c3) +++ library/nx/nx.tcl (.../nx.tcl) (revision 36a0f29d6f1ea1fde0810d05a1fedf3602b865cc) @@ -2319,6 +2319,9 @@ } ::nx::VariableSlot public method value=delete {obj prop -nocomplain:switch value} { + if {![:isMultivalued]} { + return -code error "property $prop of [set :domain] is not multivalued" + } set old [::nsf::var::get $obj $prop] set p [lsearch -glob $old $value] if {$p > -1} { Index: tests/properties.test =================================================================== diff -u -r13ac2740ff99a0438d547250401ac9ed981c58bf -r36a0f29d6f1ea1fde0810d05a1fedf3602b865cc --- tests/properties.test (.../properties.test) (revision 13ac2740ff99a0438d547250401ac9ed981c58bf) +++ tests/properties.test (.../properties.test) (revision 36a0f29d6f1ea1fde0810d05a1fedf3602b865cc) @@ -163,9 +163,11 @@ set unknowns "valid are: {assign definition destroy get getParameterSpec getPropertyDefinitionOptions onError parameter reconfigure setCheckedInstVar}" ? {c1 b add x} {property b of ::C is not multivalued} + ? {c1 b delete x} {property b of ::C is not multivalued} #? {c1 b add x} "method 'add' unknown for slot ::C::slot::b; $unknowns" ? {c1 c add x} {::c1: unable to dispatch method 'c'} ? {c1 eval {:c add x}} {property c of ::C is not multivalued} + ? {c1 eval {:c delete x}} {property c of ::C is not multivalued} #? {c1 eval {:c add x}} "method 'add' unknown for slot ::C::slot::c; $unknowns" ? {c1 d add x} {::c1: unable to dispatch method 'd'} ? {c1 eval {:d add x}} {::c1: unable to dispatch method 'd'} @@ -178,9 +180,11 @@ ? {c1 va add x} {::c1: unable to dispatch method 'va'} ? {c1 vb add x} {property vb of ::C is not multivalued} + ? {c1 vb delete x} {property vb of ::C is not multivalued} #? {c1 vb add x} "method 'add' unknown for slot ::C::slot::vb; $unknowns" ? {c1 vc add x} {::c1: unable to dispatch method 'vc'} ? {c1 eval {:vc add x}} {property vc of ::C is not multivalued} + ? {c1 eval {:vc delete x}} {property vc of ::C is not multivalued} #? {c1 eval {:vc add x}} "method 'add' unknown for slot ::C::slot::vc; $unknowns" ? {c1 vd add x} {::c1: unable to dispatch method 'vd'} ? {c1 eval {:vd add x}} {::c1: unable to dispatch method 'vd'}