From: SourceForge.net <no...@so...> - 2008-07-14 15:13:25
|
Feature Requests item #2017905, was opened at 2008-07-14 07:42 Message generated for change (Comment added) made by dgp You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=360894&aid=2017905&group_id=10894 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: 39. Package Manager Group: None Status: Open Resolution: None >Priority: 3 Private: No Submitted By: Nicolas Castagne (nicolascastagne) Assigned to: Don Porter (dgp) Summary: Tcl_PackageInitProc could accept some user data Initial Comment: I've come to think that the handler typedef int Tcl_PackageInitProc( Tcl_Interp *interp); which is passed to : Tcl_StaticPackage(interp, pkgName, initProc, safeInitProc) would benefit accepting some user data. I hence suggest to change add an API to Tcl_StaticPackage and its package-init handler : hence change its API to : Tcl_StaticPackage(interp, pkgName, initProc, safeInitProc, ClientData clientData) and : typedef int Tcl_PackageInitProc( Tcl_Interp *interp, ClientData clientData); At least, this would have been usefull to me, since my package's commands use a specific client data. With the current API, I need to do some "equilibrist work" to retrieve the CLientData I pass to Tcl_CreateCommand. Hope this helps ! Nicolas PS : I may be wrong in the "Category". Sorry in this case. ---------------------------------------------------------------------- >Comment By: Don Porter (dgp) Date: 2008-07-14 11:13 Message: Logged In: YES user_id=80530 Originator: NO Note that the Tcl_PackageInitProc is the typedef for the callback used to initialize all extensions. Any change to that is going to impact every extension in a radical way. I think we need a really compelling justification as well as a major release of Tcl to imagine doing that. For now, Tcl_SetAssocData() seems to offer a 'workaround' for the use case in mind, so dropping priority on this. ---------------------------------------------------------------------- Comment By: Nicolas Castagne (nicolascastagne) Date: 2008-07-14 10:20 Message: Logged In: YES user_id=1258423 Originator: YES Indeed, I've been told that the use of : Tcl_SetAssocData(interp, key, ClientData) Tcl_GetAssocData(interp, key) allow retrieving ClientData from within Tcl_PackageInitProc callback of Tcl_StaticPackage. However, I still think adding a ClientData to the Tcl_PackageInitProc would be useful for static packages. Or adding a note on "Tcl_SetAssocData" in the documentation of Tcl_StaticPackage would be OK and pbly sufficient. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=360894&aid=2017905&group_id=10894 |