Index: library/serialize/serializer.tcl =================================================================== diff -u -rb1934b80f00b68970b29de665bc616512173eb69 -rc2e5b33d1823fb862c04ef5f62d230afe669be02 --- library/serialize/serializer.tcl (.../serializer.tcl) (revision b1934b80f00b68970b29de665bc616512173eb69) +++ library/serialize/serializer.tcl (.../serializer.tcl) (revision c2e5b33d1823fb862c04ef5f62d230afe669be02) @@ -378,6 +378,15 @@ append r \t [list ::nsf::configure $option [::nsf::configure $option]] \n } :resetPattern + + # + # export all nsf_procs + # + append r [:export_nsfprocs ::] + + # + # export objects and classes + # set instances [list] foreach oss [ObjectSystemSerializer info instances] { append r [$oss serialize-all-start $s] @@ -407,6 +416,28 @@ return $r } + :class-object method add_child_namespaces {ns} { + if {$ns eq "::nsf"} return + lappend :namespaces $ns + foreach n [namespace children $ns] { + :add_child_namespaces $n + } + } + :public class-object method application_namespaces {ns} { + set :namespaces "" + :add_child_namespaces $ns + return ${:namespaces} + } + :public class-object method export_nsfprocs {ns} { + set result "" + foreach n [:application_namespaces $ns] { + foreach p [:info methods -methodtype nsfproc ${n}::*] { + append result [:info method definition $p] \n + } + } + return $result + } + :class-object method methodSerialize {object method prefix} { set s [:new -childof [::nsf::current object] -volatile] #$s volatile