The following public C routines are new in release 8.5 of the Tcl/Tk libraries: **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'') **Configuration Descriptor API** [http://tip.tcl.tk/59] * void '''Tcl_RegisterConfig'''(Tcl_Interp *''interp'', const char *''pkgName'', Tcl_Config *''configuration'', const char *''valEncoding'') **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'') **Extended Source Command Core** [http://tip.tcl.tk/137] * int '''Tcl_FSEvalFileEx'''(Tcl_Interp *''interp'', Tcl_Obj *''fileName'', const char *''encodingName'') **Exit Handler API** [http://tip.tcl.tk/121] * Tcl_ExitProc *'''Tcl_SetExitProc'''(Tcl_ExitProc *''proc'') **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'') **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'') **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'') **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'') **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][http://tip.tcl.tk/218][http://tip.tcl.tk/219] * 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'') **Arbitrary Precision Arithmetic API** [http://tip.tcl.tk/237][http://tip.tcl.tk/298] * 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_TakeBignumFromObj'''(Tcl_Interp *''interp'', Tcl_Obj *''obj'', mp_int *''value'') * int '''Tcl_InitBignumFromDouble'''(Tcl_Interp *''interp'', double ''initval'', mp_int *''toInit'') **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'') **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'') **Package API** [http://tip.tcl.tk/268] * int '''Tcl_PkgRequireProc'''(Tcl_Interp *''interp'', const char *''name'', int ''objc'', Tcl_Obj *const ''objv''[], ClientData *''clientDataPtr'') **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'', ...) ---- !!!!!! %| [Category Documentation] | [Changes in Tcl/Tk] |% !!!!!!