diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2006-10-27 12:44:08 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2006-10-27 12:44:08 (GMT) |
commit | 73b2f1e5b9472dc390528dbc1ca45a09fc11c297 (patch) | |
tree | 6de7fcbabd476748cf31804f4d8a4bff785d818d | |
parent | 427a6151ed5780a42010a6e4b6346a660ba7b442 (diff) | |
download | tcl-73b2f1e5b9472dc390528dbc1ca45a09fc11c297.zip tcl-73b2f1e5b9472dc390528dbc1ca45a09fc11c297.tar.gz tcl-73b2f1e5b9472dc390528dbc1ca45a09fc11c297.tar.bz2 |
Add field to CallFrame for holding object call frame data.
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | generic/tcl.h | 5 | ||||
-rw-r--r-- | generic/tclInt.h | 13 |
3 files changed, 18 insertions, 4 deletions
@@ -1,5 +1,9 @@ 2006-10-27 Donal K. Fellows <dkf@users.sf.net> + * generic/tclInt.h (CallFrame): Add a field for handling context data + for extensions (like object systems) that should be tied to a call + frame (and not a command or interpreter). + * generic/tclBasic.c (TclRenameCommand): Change to take CONST args; they were only ever used in a constant way anyway, so this appears to be a spot that was missed during TIP#27 work. diff --git a/generic/tcl.h b/generic/tcl.h index 8e309a2..c67cad7 100644 --- a/generic/tcl.h +++ b/generic/tcl.h @@ -13,7 +13,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tcl.h,v 1.224 2006/10/23 22:49:24 msofer Exp $ + * RCS: @(#) $Id: tcl.h,v 1.225 2006/10/27 12:44:08 dkf Exp $ */ #ifndef _TCL @@ -952,7 +952,8 @@ typedef struct Tcl_CallFrame { char *dummy7; char *dummy8; int dummy9; - char* dummy10; + char *dummy10; + char *dummy11; } Tcl_CallFrame; /* diff --git a/generic/tclInt.h b/generic/tclInt.h index 6a06fb0..93a9514 100644 --- a/generic/tclInt.h +++ b/generic/tclInt.h @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclInt.h,v 1.283 2006/10/23 22:49:25 msofer Exp $ + * RCS: @(#) $Id: tclInt.h,v 1.284 2006/10/27 12:44:08 dkf Exp $ */ #ifndef _TCLINT @@ -886,10 +886,19 @@ typedef struct CallFrame { * Initially NULL and created if needed. */ int numCompiledLocals; /* Count of local variables recognized by the * compiler including arguments. */ - Var* compiledLocals; /* Points to the array of local variables + Var *compiledLocals; /* Points to the array of local variables * recognized by the compiler. The compiler * emits code that refers to these variables * using an index into this array. */ + ClientData clientData; /* Pointer to some context that is used by + * object systems. The meaning of the contents + * of this field is defined by the code that + * sets it, and it should only ever be set by + * the code that is pushing the frame. In that + * case, the code that sets it should also + * have some means of discovering what the + * meaning of the value is, which we do not + * specify. */ } CallFrame; #define FRAME_IS_PROC 0x1 |