Index: generic/nsf.tcl =================================================================== diff -u -r8c7cda91db207490f2d401595cec6cf784460bb6 -re756bf87414d3f6376327b3a126e5e8ae619302d --- generic/nsf.tcl (.../nsf.tcl) (revision 8c7cda91db207490f2d401595cec6cf784460bb6) +++ generic/nsf.tcl (.../nsf.tcl) (revision e756bf87414d3f6376327b3a126e5e8ae619302d) @@ -40,7 +40,10 @@ # # ::nsf::mixin # - # provide a similar interface as for ::nsf::method, ::nsf::alias, ... + # Provide a similar interface as for ::nsf::method, ::nsf::alias, + # etc.. Semantically, ::nsf::mxiin behaves like a "mixin add", but + # can be used as well for deleting the mixin list (empty last + # argument). # set ::nsf::parametersyntax(::nsf::mixin) "object ?-per-object? classes" @@ -52,9 +55,14 @@ } else { set rel "class-mixin" } - set oldSetting [::nsf::relation $object $rel] - # use uplevel to avoid namespace surprises - uplevel [list ::nsf::relation $object $rel [linsert $oldSetting end $args]] + puts stderr LL=[llength $args]-$args + if {[lindex $args 0] ne ""} { + set oldSetting [::nsf::relation $object $rel] + # use uplevel to avoid namespace surprises + uplevel [list ::nsf::relation $object $rel [linsert $oldSetting 0 $args]] + } else { + uplevel [list ::nsf::relation $object $rel ""] + } } #