Index: TODO =================================================================== diff -u -re24d2765b13440f1c18d894fc68399946994c53f -r63fb7c118c69ff1a2753b65d222f59151b6a6906 --- TODO (.../TODO) (revision e24d2765b13440f1c18d894fc68399946994c53f) +++ TODO (.../TODO) (revision 63fb7c118c69ff1a2753b65d222f59151b6a6906) @@ -5683,9 +5683,12 @@ - bumped version number to 2.0.1 +- handling "deprecated" and "debug" properties for nsf::proc + (in "nsf::cmd::info definition /proc/" and serializer) + ======================================================================== TODO: -- handling deprecated and debug in serializer (for methods and nsf::proc) +- handling "deprecated" and "debug" properties in serializer (for methods) - add regression tests for debug and deprecated in methods - add tests for nsf::proc flags -debug and -deprecated Index: generic/nsf.c =================================================================== diff -u -r8854eeff1e1b2d5fde52ee4f71b1e2b7844b2dea -r63fb7c118c69ff1a2753b65d222f59151b6a6906 --- generic/nsf.c (.../nsf.c) (revision 8854eeff1e1b2d5fde52ee4f71b1e2b7844b2dea) +++ generic/nsf.c (.../nsf.c) (revision 63fb7c118c69ff1a2753b65d222f59151b6a6906) @@ -22816,6 +22816,13 @@ if ((tcd->flags & NSF_PROC_FLAG_AD) != 0) { Tcl_ListObjAppendElement(interp, resultObj, Tcl_NewStringObj("-ad", 3)); } + if ((Tcl_Command_flags(tcd->wrapperCmd) & NSF_CMD_DEBUG_METHOD) != 0) { + Tcl_ListObjAppendElement(interp, resultObj, Tcl_NewStringObj("-debug", 6)); + } + if ((Tcl_Command_flags(tcd->wrapperCmd) & NSF_CMD_DEPRECATED_METHOD) != 0) { + Tcl_ListObjAppendElement(interp, resultObj, Tcl_NewStringObj("-deprecated",11)); + } + Tcl_ListObjAppendElement(interp, resultObj, Tcl_NewStringObj(Tcl_DStringValue(dsPtr), Tcl_DStringLength(dsPtr))); Index: library/serialize/serializer.tcl =================================================================== diff -u -r2f76d3a1a45f2ae2087d547c41bfa5d8f5bd3298 -r63fb7c118c69ff1a2753b65d222f59151b6a6906 --- library/serialize/serializer.tcl (.../serializer.tcl) (revision 2f76d3a1a45f2ae2087d547c41bfa5d8f5bd3298) +++ library/serialize/serializer.tcl (.../serializer.tcl) (revision 63fb7c118c69ff1a2753b65d222f59151b6a6906) @@ -449,7 +449,7 @@ set result "" foreach n [:application_namespaces $ns] { foreach p [:info methods -type nsfproc ${n}::*] { - append result [:info method definition $p] \n + append result [::nsf::cmd::info definition $p] \n } } return $result Index: tests/nsf-cmd.test =================================================================== diff -u -r0b1ac7f47948c36c4e03fc3d6dbce0a04d9418d4 -r63fb7c118c69ff1a2753b65d222f59151b6a6906 --- tests/nsf-cmd.test (.../nsf-cmd.test) (revision 0b1ac7f47948c36c4e03fc3d6dbce0a04d9418d4) +++ tests/nsf-cmd.test (.../nsf-cmd.test) (revision 63fb7c118c69ff1a2753b65d222f59151b6a6906) @@ -121,6 +121,13 @@ ? {nsf::cmd::info returns $::handle} "" # + # define a nsf::proc with "-debug" and "-deprecated" + # + nsf::proc -deprecated -debug ::baz {{-x 1} y:optional} {return $x-$y} + + ? {nsf::cmd::info definition ::baz} {::nsf::proc -debug -deprecated ::baz {{-x 1} y:optional} {return $x-$y}} + + # # A simple Tcl proc # set ::handle ::bar