diff options
| author | oehhar <harald.oehlmann@elmicron.de> | 2022-09-11 08:00:13 (GMT) |
|---|---|---|
| committer | oehhar <harald.oehlmann@elmicron.de> | 2022-09-11 08:00:13 (GMT) |
| commit | 458c4d727efea4ddde5289f5a10be1f1e8bc0844 (patch) | |
| tree | 809ae8394719b79e2bf712fa4ddbcc0f8bdcc497 | |
| parent | e121721b0de454662ba975f987d6a7b55354e590 (diff) | |
| parent | e777b5ba8f9283bbc4ab4859e6beccea01b6ac37 (diff) | |
| download | tcl-458c4d727efea4ddde5289f5a10be1f1e8bc0844.zip tcl-458c4d727efea4ddde5289f5a10be1f1e8bc0844.tar.gz tcl-458c4d727efea4ddde5289f5a10be1f1e8bc0844.tar.bz2 | |
Merge 8.7
| -rw-r--r-- | generic/tcl.h | 14 | ||||
| -rw-r--r-- | generic/tclOOCall.c | 16 | ||||
| -rw-r--r-- | tests/io.test | 4 |
3 files changed, 18 insertions, 16 deletions
diff --git a/generic/tcl.h b/generic/tcl.h index 101ae0b..f17d43e 100644 --- a/generic/tcl.h +++ b/generic/tcl.h @@ -680,7 +680,7 @@ typedef int (Tcl_CmdObjTraceProc) (ClientData clientData, Tcl_Interp *interp, struct Tcl_Obj *const *objv); typedef int (Tcl_CmdObjTraceProc2) (void *clientData, Tcl_Interp *interp, int level, const char *command, Tcl_Command commandInfo, size_t objc, - struct Tcl_Obj *const objv[]); + struct Tcl_Obj *const *objv); typedef void (Tcl_CmdObjTraceDeleteProc) (ClientData clientData); typedef void (Tcl_DupInternalRepProc) (struct Tcl_Obj *srcPtr, struct Tcl_Obj *dupPtr); @@ -909,17 +909,17 @@ typedef struct Tcl_CallFrame { typedef struct Tcl_CmdInfo { int isNativeObjectProc; /* 1 if objProc was registered by a call to - * Tcl_CreateObjCommand; 0 otherwise. - * Tcl_SetCmdInfo does not modify this - * field. */ + * Tcl_CreateObjCommand; 2 if objProc was registered by + * a call to Tcl_CreateObjCommand2; 0 otherwise. + * Tcl_SetCmdInfo does not modify this field. */ Tcl_ObjCmdProc *objProc; /* Command's object-based function. */ - ClientData objClientData; /* ClientData for object proc. */ + void *objClientData; /* ClientData for object proc. */ Tcl_CmdProc *proc; /* Command's string-based function. */ - ClientData clientData; /* ClientData for string proc. */ + void *clientData; /* ClientData for string proc. */ Tcl_CmdDeleteProc *deleteProc; /* Function to call when command is * deleted. */ - ClientData deleteData; /* Value to pass to deleteProc (usually the + void *deleteData; /* Value to pass to deleteProc (usually the * same as clientData). */ Tcl_Namespace *namespacePtr;/* Points to the namespace that contains this * command. Note that Tcl_SetCmdInfo will not diff --git a/generic/tclOOCall.c b/generic/tclOOCall.c index a9ed6bf..fc36f90 100644 --- a/generic/tclOOCall.c +++ b/generic/tclOOCall.c @@ -306,7 +306,7 @@ FreeMethodNameRep( int TclOOInvokeContext( - ClientData clientData, /* The method call context. */ + void *clientData, /* The method call context. */ Tcl_Interp *interp, /* Interpreter for error reporting, and many * other sorts of context handling (e.g., * commands, variables) depending on method @@ -379,7 +379,7 @@ TclOOInvokeContext( static int SetFilterFlags( - ClientData data[], + void *data[], TCL_UNUSED(Tcl_Interp *), int result) { @@ -391,7 +391,7 @@ SetFilterFlags( static int ResetFilterFlags( - ClientData data[], + void *data[], TCL_UNUSED(Tcl_Interp *), int result) { @@ -403,7 +403,7 @@ ResetFilterFlags( static int FinalizeMethodRefs( - ClientData data[], + void *data[], TCL_UNUSED(Tcl_Interp *), int result) { @@ -1094,7 +1094,7 @@ InitCallChain( * location being reusable is: * - Refers to the same object (same creation epoch), and * - Still across the same class structure (same global epoch), and - * - Still across the same object strucutre (same local epoch), and + * - Still across the same object structure (same local epoch), and * - No public/private/filter magic leakage (same flags, modulo the fact * that a public chain will satisfy a non-public call). * @@ -1153,7 +1153,8 @@ TclOOGetCallContext( CallContext *contextPtr; CallChain *callPtr; struct ChainBuilder cb; - int i, count, doFilters, donePrivate = 0; + int i, count; + int doFilters, donePrivate = 0; Tcl_HashEntry *hPtr; Tcl_HashTable doneFilters; @@ -1546,7 +1547,8 @@ AddClassFiltersToCallContext( int flags) /* Whether we've gone along a mixin link * yet. */ { - int i, clearedFlags = + int i; + int clearedFlags = flags & ~(TRAVERSED_MIXIN|OBJECT_MIXIN|BUILDING_MIXINS); Class *superPtr, *mixinPtr; Tcl_Obj *filterObj; diff --git a/tests/io.test b/tests/io.test index 76e18ac..adb5620 100644 --- a/tests/io.test +++ b/tests/io.test @@ -8954,7 +8954,7 @@ test io-74.1 {[104f2885bb] improper cache validity check} -setup { # Note: the following tests 75.1 to 75.3 are in preparation for TCL 9.0, where # those should result in an error result -test io-75.1 {multibyte encoding error read results in raw bytes} -setup { +test io-75.1 {multibyte encoding error read results in raw bytes} -constraints deprecated -setup { set fn [makeFile {} io-75.1] set f [open $fn w+] fconfigure $f -encoding binary @@ -8972,7 +8972,7 @@ test io-75.1 {multibyte encoding error read results in raw bytes} -setup { } -returnCodes ok -result "A\xC0\x40" # for TCL 9.0, the result is error -test io-75.2 {unrepresentable character write passes and is replaced by ?} -setup { +test io-75.2 {unrepresentable character write passes and is replaced by ?} -constraints deprecated -setup { set fn [makeFile {} io-75.2] set f [open $fn w+] fconfigure $f -encoding iso8859-1 |
