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** * 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** * 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** * 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** 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** 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** int Tcl_PkgRequireProc(Tcl_Interp *interp, const char *name, int objc, Tcl_Obj *const objv[], ClientData *clientDataPtr) **Formatted String/Result Management API** 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] |% !!!!!!