Index: TODO =================================================================== diff -u -r046e5f798cbb4ce5473fb11da8e63a3db998a376 -r679a4d086fb9b8a728e0d33f5fa6520f2ce2f954 --- TODO (.../TODO) (revision 046e5f798cbb4ce5473fb11da8e63a3db998a376) +++ TODO (.../TODO) (revision 679a4d086fb9b8a728e0d33f5fa6520f2ce2f954) @@ -2814,7 +2814,11 @@ values, therefore mixin add|... return now as well the actual values +- nx.tcl: added "info parameter slot" to return slotobject(s) +- added "info parameter slot" to migration guide +- extended regression test + TODO: - add "link" form 2.4 (parameters) to "info parameters" Index: doc/next-migration.txt =================================================================== diff -u -re570f0508ee82bd7aeea0409c64855bb99ea5cee -r679a4d086fb9b8a728e0d33f5fa6520f2ce2f954 --- doc/next-migration.txt (.../next-migration.txt) (revision e570f0508ee82bd7aeea0409c64855bb99ea5cee) +++ doc/next-migration.txt (.../next-migration.txt) (revision 679a4d086fb9b8a728e0d33f5fa6520f2ce2f954) @@ -2071,6 +2071,9 @@ # Return the full parameter specs /cls/ info parameter spec ?name? +# Return the slot object(s) +/cls/ info parameter slot ?name? + # Return in the Tcl parameter syntax /cls/ info parameter syntax ?name? ---------------- Index: library/nx/nx.tcl =================================================================== diff -u -re29434ffef30bea10b7422f1f295787d41377839 -r679a4d086fb9b8a728e0d33f5fa6520f2ce2f954 --- library/nx/nx.tcl (.../nx.tcl) (revision e29434ffef30bea10b7422f1f295787d41377839) +++ library/nx/nx.tcl (.../nx.tcl) (revision 679a4d086fb9b8a728e0d33f5fa6520f2ce2f954) @@ -649,6 +649,11 @@ if {[info exists name]} {lappend cmd $name} return [::nsf::my {*}$cmd] } + :method "info parameter slot" {name:optional} { + set cmd [list ::nsf::methods::class::info::slots -type ::nx::Slot -closure] + if {[info exists name]} {lappend cmd $name} + return [::nsf::my {*}$cmd] + } :method "info slots" {{-type ::nx::Slot} -closure:switch -source pattern:optional} { set cmd [list ::nsf::methods::class::info::slots -type $type] if {[info exists source]} {lappend cmd -source $source} Index: library/xotcl/tests/speedtest.xotcl =================================================================== diff -u -r16d627336b40d4eafd46400984337bf3e514605e -r679a4d086fb9b8a728e0d33f5fa6520f2ce2f954 --- library/xotcl/tests/speedtest.xotcl (.../speedtest.xotcl) (revision 16d627336b40d4eafd46400984337bf3e514605e) +++ library/xotcl/tests/speedtest.xotcl (.../speedtest.xotcl) (revision 679a4d086fb9b8a728e0d33f5fa6520f2ce2f954) @@ -328,7 +328,7 @@ Test new \ -count 100 \ -cmd {c mixin add M1} \ - -expected "" \ + -expected "::M1" \ -post {c mixin ""} Test new \ Index: tests/info-method.test =================================================================== diff -u -rfde244e7dcd51b61684ef569b87fbe15181b35cf -r679a4d086fb9b8a728e0d33f5fa6520f2ce2f954 --- tests/info-method.test (.../info-method.test) (revision fde244e7dcd51b61684ef569b87fbe15181b35cf) +++ tests/info-method.test (.../info-method.test) (revision 679a4d086fb9b8a728e0d33f5fa6520f2ce2f954) @@ -209,7 +209,7 @@ ? {o info lookup methods create} "" ? {o info lookup methods filter} "filter" ? {o info lookup method filter} "::nsf::classes::nx::Object::filter" - ? {o filter f} "" + ? {o filter f} "f" ? {o filter guard f { 1 == 1 }} "" ? {o info filter guard f} " 1 == 1 " ? {o filter guard f} " 1 == 1 " @@ -229,7 +229,7 @@ ? {Foo class method f args ::nx::next} "::Foo::f" ? {Foo class method f2 args ::nx::next} "::Foo::f2" - ? {Foo class filter {f f2}} "" + ? {Foo class filter {f f2}} "f f2" ? {Foo class info filter methods} "f f2" ? {Foo class filter guard f {2 == 2}} "" ? {Foo class info filter guard f} "2 == 2" @@ -500,9 +500,13 @@ ? {C info parameter list} "-a -b -volatile -noinit -mixin -class -filter __initcmd" ? {C info parameter name} "a b volatile noinit mixin class filter __initcmd" + ? {lsort [C info parameter slot]} "::C::slot::a ::C::slot::b ::nx::Object::slot::__initcmd ::nx::Object::slot::class ::nx::Object::slot::filter ::nx::Object::slot::mixin ::nx::Object::slot::noinit ::nx::Object::slot::volatile" ? {C info parameter spec b} "{-b 1}" ? {D info parameter spec b} "{-b 2}" + ? {D info parameter slot b} "::D::slot::b" + ? {D info parameter slot a} "::C::slot::a" + ? {D info parameter slot class} "::nx::Object::slot::class" ? {D info parameter list} "-b -c -a -volatile -noinit -mixin -class -filter __initcmd" ? {D info parameter name} "b c a volatile noinit mixin class filter __initcmd"