diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2017-06-08 20:49:04 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2017-06-08 20:49:04 (GMT) |
commit | f019737860823b97cfde68d64a5175fa21c3a967 (patch) | |
tree | 4d35715ffe1b03509114be1eb4aad8fa6f8446af /generic/tclInt.decls | |
parent | 7bf7c6e7d90d4b7913115508c91115db89868d48 (diff) | |
parent | aa9f62da23ab5e38de116429abb7fcfcc0504c4c (diff) | |
download | tcl-f019737860823b97cfde68d64a5175fa21c3a967.zip tcl-f019737860823b97cfde68d64a5175fa21c3a967.tar.gz tcl-f019737860823b97cfde68d64a5175fa21c3a967.tar.bz2 |
Make read and write operations on Tcl_Var handles available in tclInt API.
(This will be useful for tclquadcode, and it addresses a basic omission in Tcl's API that made working with Tcl_Vars rather more specialized than it was ever really intended to be. However, this also closes off the part of the API that was not reasonably usable by ordinary external code; LVT indices require too deep an entanglement into Tcl's implementation.)
Diffstat (limited to 'generic/tclInt.decls')
-rw-r--r-- | generic/tclInt.decls | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/generic/tclInt.decls b/generic/tclInt.decls index 4e7e422..2a3d2a0 100644 --- a/generic/tclInt.decls +++ b/generic/tclInt.decls @@ -1011,6 +1011,32 @@ declare 251 { int TclRegisterLiteral(void *envPtr, char *bytes, int length, int flags) } + +# Exporting of the internal API to variables. + +declare 252 { + Tcl_Obj *TclPtrGetVar(Tcl_Interp *interp, Tcl_Var varPtr, + Tcl_Var arrayPtr, Tcl_Obj *part1Ptr, Tcl_Obj *part2Ptr, + const int flags) +} +declare 253 { + Tcl_Obj *TclPtrSetVar(Tcl_Interp *interp, Tcl_Var varPtr, + Tcl_Var arrayPtr, Tcl_Obj *part1Ptr, Tcl_Obj *part2Ptr, + Tcl_Obj *newValuePtr, const int flags) +} +declare 254 { + Tcl_Obj *TclPtrIncrObjVar(Tcl_Interp *interp, Tcl_Var varPtr, + Tcl_Var arrayPtr, Tcl_Obj *part1Ptr, Tcl_Obj *part2Ptr, + Tcl_Obj *incrPtr, const int flags) +} +declare 255 { + int TclPtrObjMakeUpvar(Tcl_Interp *interp, Tcl_Var otherPtr, + Tcl_Obj *myNamePtr, int myFlags) +} +declare 256 { + int TclPtrUnsetVar(Tcl_Interp *interp, Tcl_Var varPtr, Tcl_Var arrayPtr, + Tcl_Obj *part1Ptr, Tcl_Obj *part2Ptr, const int flags) +} ############################################################################## |