The following public C routines are new in release 8.5 of the Tcl/Tk libraries: **TIP #111 - Dictionary API [http://tip.tcl.tk/111]** * int '''Tcl_DictObjPut'''(Tcl_Interp *''interp'', Tcl_Obj *''dictPtr'', Tcl_Obj *''keyPtr'', Tcl_Obj *''valuePtr'') * int '''Tcl_DictObjGet'''(Tcl_Interp *''interp'', Tcl_Obj *''dictPtr'', Tcl_Obj *''keyPtr'', Tcl_Obj **''valuePtrPtr'') * int '''Tcl_DictObjRemove'''(Tcl_Interp *''interp'', Tcl_Obj *''dictPtr'', Tcl_Obj *''keyPtr'') * int '''Tcl_DictObjSize'''(Tcl_Interp *''interp'', Tcl_Obj *''dictPtr'', int *''sizePtr'') * int '''Tcl_DictObjFirst'''(Tcl_Interp *''interp'', Tcl_Obj *''dictPtr'', Tcl_DictSearch *''searchPtr'', Tcl_Obj **''keyPtrPtr'', Tcl_Obj **''valuePtrPtr'', int *''donePtr'') * void '''Tcl_DictObjNext'''(Tcl_DictSearch *''searchPtr'', Tcl_Obj **''keyPtrPtr'', Tcl_Obj **''valuePtrPtr'', int *''donePtr'') * void '''Tcl_DictObjDone'''(Tcl_DictSearch *''searchPtr'') * int '''Tcl_DictObjPutKeyList'''(Tcl_Interp *''interp'', Tcl_Obj *''dictPtr'', int ''keyc'', Tcl_Obj *const *''keyv'', Tcl_Obj *''valuePtr'') * int '''Tcl_DictObjRemoveKeyList'''(Tcl_Interp *''interp'', Tcl_Obj *''dictPtr'', int ''keyc'', Tcl_Obj *const *''keyv'') * Tcl_Obj *'''Tcl_NewDictObj'''() * Tcl_Obj *'''Tcl_DbNewDictObj'''(const char *''file'', int ''line'') **TIP #59 - Configuration Descriptor API [http://tip.tcl.tk/59]** * void '''Tcl_RegisterConfig'''(Tcl_Interp *''interp'', const char *''pkgName'', Tcl_Config *''configuration'', const char *''valEncoding'') **TIP #139 - Namespace API [http://tip.tcl.tk/139]** * Tcl_Namespace *'''Tcl_CreateNamespace'''(Tcl_Interp *''interp'', const char *''name'', ClientData ''clientData'', Tcl_NamespaceDeleteProc *''deleteProc'') * void '''Tcl_DeleteNamespace'''(Tcl_Namespace *''nsPtr'') * int '''Tcl_AppendExportList'''(Tcl_Interp *''interp'', Tcl_Namespace *''nsPtr'', Tcl_Obj *''objPtr'') * int '''Tcl_Export'''(Tcl_Interp *''interp'', Tcl_Namespace *''nsPtr'', const char *''pattern'', int ''resetListFirst'') * int '''Tcl_Import'''(Tcl_Interp *''interp'', Tcl_Namespace *''nsPtr'', const char *''pattern'', int ''allowOverwrite'') * int '''Tcl_ForgetImport'''(Tcl_Interp *''interp'', Tcl_Namespace *''nsPtr'', const char *''pattern'') * Tcl_Namespace *'''Tcl_GetCurrentNamespace'''(Tcl_Interp *''interp'') * Tcl_Namespace *'''Tcl_GetGlobalNamespace'''(Tcl_Interp *''interp'') * Tcl_Namespace *'''Tcl_FindNamespace'''(Tcl_Interp *''interp'', const char *''name'', Tcl_Namespace *''contextNsPtr'', int ''flags'') * Tcl_Command '''Tcl_FindCommand'''(Tcl_Interp *''interp'', const char *''name'', Tcl_Namespace *''contextNsPtr'', int ''flags'') * Tcl_Command '''Tcl_GetCommandFromObj'''(Tcl_Interp *''interp'', Tcl_Obj *''objPtr'') * void '''Tcl_GetCommandFullName'''(Tcl_Interp *''interp'', Tcl_Command ''command'', Tcl_Obj *''objPtr'') **TIP #137 - Extended Source Command Core [http://tip.tcl.tk/137]** * int '''Tcl_FSEvalFileEx'''(Tcl_Interp *''interp'', Tcl_Obj *''fileName'', const char *''encodingName'') **TIP #121 - Exit Handler API [http://tip.tcl.tk/121]** * Tcl_ExitProc *'''Tcl_SetExitProc'''(Tcl_ExitProc *''proc'') **TIP #143 - Resource Limiting API [http://tip.tcl.tk/143]** * void '''Tcl_LimitAddHandler'''(Tcl_Interp *''interp'', int ''type'', Tcl_LimitHandlerProc *''handlerProc'', ClientData ''clientData'', Tcl_LimitHandlerDeleteProc *''deleteProc'') * void '''Tcl_LimitRemoveHandler'''(Tcl_Interp *''interp'', int ''type'', Tcl_LimitHandlerProc *''handlerProc'', ClientData ''clientData'') * int '''Tcl_LimitReady'''(Tcl_Interp *''interp'') * int '''Tcl_LimitCheck'''(Tcl_Interp *''interp'') * int '''Tcl_LimitExceeded'''(Tcl_Interp *''interp'') * void '''Tcl_LimitSetCommands'''(Tcl_Interp *''interp'', int ''commandLimit'') * void '''Tcl_LimitSetTime'''(Tcl_Interp *''interp'', Tcl_Time *''timeLimitPtr'') * void '''Tcl_LimitSetGranularity'''(Tcl_Interp *''interp'', int ''type'', int ''granularity'') * int '''Tcl_LimitTypeEnabled'''(Tcl_Interp *''interp'', int ''type'') * int '''Tcl_LimitTypeExceeded'''(Tcl_Interp *''interp'', int ''type'') * void '''Tcl_LimitTypeSet'''(Tcl_Interp *''interp'', int ''type'') * void '''Tcl_LimitTypeReset'''(Tcl_Interp *''interp'', int ''type'') * int '''Tcl_LimitGetCommands'''(Tcl_Interp *''interp'') * void '''Tcl_LimitGetTime'''(Tcl_Interp *''interp'', Tcl_Time *''timeLimitPtr'') * int '''Tcl_LimitGetGranularity'''(Tcl_Interp *''interp'', int ''type'') **TIP #226 - Result State Management API [http://tip.tcl.tk/226]** * Tcl_InterpState '''Tcl_SaveInterpState'''(Tcl_Interp *''interp'', int ''status'') * int '''Tcl_RestoreInterpState'''(Tcl_Interp *''interp'', Tcl_InterpState ''state'') * void '''Tcl_DiscardInterpState'''(Tcl_InterpState ''state'') **TIP #227 - Return Options API [http://tip.tcl.tk/227]** * int '''Tcl_SetReturnOptions'''(Tcl_Interp *''interp'', Tcl_Obj *''options'') * Tcl_Obj *'''Tcl_GetReturnOptions'''(Tcl_Interp *''interp'', int ''result'') **TIP #235 - Ensemble API [http://tip.tcl.tk/235]** * int '''Tcl_IsEnsemble'''(Tcl_Command ''token'') * Tcl_Command '''Tcl_CreateEnsemble'''(Tcl_Interp *''interp'', const char *''name'', Tcl_Namespace *''namespacePtr'', int ''flags'') * Tcl_Command '''Tcl_FindEnsemble'''(Tcl_Interp *''interp'', Tcl_Obj *''cmdNameObj'', int ''flags'') * int '''Tcl_SetEnsembleSubcommandList'''(Tcl_Interp *''interp'', Tcl_Command ''token'', Tcl_Obj *''subcmdList'') * int '''Tcl_SetEnsembleMappingDict'''(Tcl_Interp *''interp'', Tcl_Command ''token'', Tcl_Obj *''mapDict'') * int '''Tcl_SetEnsembleUnknownHandler'''(Tcl_Interp *''interp'', Tcl_Command ''token'', Tcl_Obj *''unknownList'') * int '''Tcl_SetEnsembleFlags'''(Tcl_Interp *''interp'', Tcl_Command ''token'', int ''flags'') * int '''Tcl_GetEnsembleSubcommandList'''(Tcl_Interp *''interp'', Tcl_Command ''token'', Tcl_Obj **''subcmdListPtr'') * int '''Tcl_GetEnsembleMappingDict'''(Tcl_Interp *''interp'', Tcl_Command ''token'', Tcl_Obj **''mapDictPtr'') * int '''Tcl_GetEnsembleUnknownHandler'''(Tcl_Interp *''interp'', Tcl_Command ''token'', Tcl_Obj **''unknownListPtr'') * int '''Tcl_GetEnsembleFlags'''(Tcl_Interp *''interp'', Tcl_Command ''token'', int *''flagsPtr'') * int '''Tcl_GetEnsembleNamespace'''(Tcl_Interp *''interp'', Tcl_Command ''token'', Tcl_Namespace **''namespacePtrPtr'') **TIP #233 - Virtualized Time API [http://tip.tcl.tk/233]** * void '''Tcl_SetTimeProc'''(Tcl_GetTimeProc *''getProc'', Tcl_ScaleTimeProc *''scaleProc'', ClientData ''clientData'') * void '''Tcl_QueryTimeProc'''(Tcl_GetTimeProc **''getProc'', Tcl_ScaleTimeProc **''scaleProc'', ClientData *''clientData'') **Extensions to Channel API** [http://tip.tcl.tk/208%|%TIP #208] - Add a 'chan' Command, [http://tip.tcl.tk/218%|%TIP #218] - Tcl Channel Driver Thread State Actions, [http://tip.tcl.tk/219%|%TIP #219] - Tcl Channel Reflection API * Tcl_DriverThreadActionProc *'''Tcl_ChannelThreadActionProc'''(const Tcl_ChannelType *''chanTypePtr'') * int '''Tcl_TruncateChannel'''(Tcl_Channel ''chan'', Tcl_WideInt ''length'') * Tcl_DriverTruncateProc *'''Tcl_ChannelTruncateProc'''(const Tcl_ChannelType *''chanTypePtr'') * void '''Tcl_SetChannelErrorInterp'''(Tcl_Interp *''interp'', Tcl_Obj *''msg'') * void '''Tcl_GetChannelErrorInterp'''(Tcl_Interp *''interp'', Tcl_Obj **''msg'') * void '''Tcl_SetChannelError'''(Tcl_Channel ''chan'', Tcl_Obj *''msg'') * void '''Tcl_GetChannelError'''(Tcl_Channel ''chan'', Tcl_Obj **''msg'') **TIP #237 Arbitrary Precision Arithmetic API [http://tip.tcl.tk/237]** * Tcl_Obj *'''Tcl_NewBignumObj'''(mp_int *''value'') * Tcl_Obj *'''Tcl_DbNewBignumObj'''(mp_int *''value'', const char *''file'', int ''line'') * void '''Tcl_SetBignumObj'''(Tcl_Obj *''obj'', mp_int *''value'') * int '''Tcl_GetBignumFromObj'''(Tcl_Interp *''interp'', Tcl_Obj *''obj'', mp_int *''value'') * int '''Tcl_InitBignumFromDouble'''(Tcl_Interp *''interp'', double ''initval'', mp_int *''toInit'') **TIP #298 - Revise Shared Value Rules for Tcl_GetBignumAndClearObj [http://tip.tcl.tk/298]** * int '''Tcl_TakeBignumFromObj'''(Tcl_Interp *''interp'', Tcl_Obj *''obj'', mp_int *''value'') **TIP #181 - Namespace-Specific Unknown Handler API [http://tip.tcl.tk/181]** * Tcl_Obj *'''Tcl_GetNamespaceUnknownHandler'''(Tcl_Interp *''interp'', Tcl_Namespace *''nsPtr'') * int '''Tcl_SetNamespaceUnknownHandler'''(Tcl_Interp *''interp'', Tcl_Namespace *''nsPtr'', Tcl_Obj *''handlerPtr'') **TIP #258 - Extended Encoding API [http://tip.tcl.tk/258]** * int '''Tcl_GetEncodingFromObj'''(Tcl_Interp *''interp'', Tcl_Obj *''objPtr'', Tcl_Encoding *''encodingPtr'') * Tcl_Obj *'''Tcl_GetEncodingSearchPath'''(void) * int '''Tcl_SetEncodingSearchPath'''(Tcl_Obj *''searchPath'') * const char *'''Tcl_GetEncodingNameFromEnvironment'''(Tcl_DString *''bufPtr'') **TIP #268 - Package API [http://tip.tcl.tk/268]** * int '''Tcl_PkgRequireProc'''(Tcl_Interp *''interp'', const char *''name'', int ''objc'', Tcl_Obj *const ''objv''[[]], ClientData *''clientDataPtr'') **TIP #270 - Formatted String/Result Management API [http://tip.tcl.tk/270]** * void '''Tcl_AppendObjToErrorInfo'''(Tcl_Interp *''interp'', Tcl_Obj *''objPtr'') * void '''Tcl_AppendLimitedToObj'''(Tcl_Obj *''objPtr'', const char *''bytes'', int ''length'', int ''limit'', const char *''ellipsis'') * Tcl_Obj *'''Tcl_Format'''(Tcl_Interp *''interp'', const char *''format'', int ''objc'', Tcl_Obj *const ''objv''[[]]) * int '''Tcl_AppendFormatToObj'''(Tcl_Interp *''interp'', Tcl_Obj *''objPtr'', const char *''format'', int ''objc'', Tcl_Obj *const ''objv''[[]]) * Tcl_Obj *'''Tcl_ObjPrintf'''(const char *''format'', ...) * void '''Tcl_AppendPrintfToObj'''(Tcl_Obj *''objPtr'', const char *''format'', ...) **TIP #116 - Improved Photo API [http://tip.tcl.tk/116]** * int '''Tk_PhotoExpand'''(Tcl_Interp *''interp'', Tk_PhotoHandle ''handle'', int ''width'', int ''height'') * int '''Tk_PhotoPutBlock'''(Tcl_Interp *''interp'', Tk_PhotoHandle ''handle'', Tk_PhotoImageBlock *''blockPtr'', int ''x'', int ''y'', int ''width'', int ''height'', int ''compRule'') * int '''Tk_PhotoPutZoomedBlock'''(Tcl_Interp *''interp'', Tk_PhotoHandle ''handle'', Tk_PhotoImageBlock *''blockPtr'', int ''x'', int ''y'', int ''width'', int ''height'', int ''zoomX'', int ''zoomY'', int ''subsampleX'', int ''subsampleY'', int ''compRule'') * int '''Tk_PhotoSetSize'''(Tcl_Interp *''interp'', Tk_PhotoHandle ''handle'', int ''width'', int ''height'') **TIP #245 - User Inactivity API [http://tip.tcl.tk/245]** * long '''Tk_GetUserInactiveTime'''(Display *''dpy'') * void '''Tk_ResetUserInactiveTime'''(Display *''dpy'') **TIP #264 - Window/Interp Introspection API [http://tip.tcl.tk/264]** * Tcl_Interp *'''Tk_Interp'''(Tk_Window ''tkwin'') ---- !!!!!! %| [Category Tcl Library] | [Category Tk Library] | [Changes in Tcl/Tk] |% !!!!!!