summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoroehhar <harald.oehlmann@elmicron.de>2022-09-11 08:00:13 (GMT)
committeroehhar <harald.oehlmann@elmicron.de>2022-09-11 08:00:13 (GMT)
commit458c4d727efea4ddde5289f5a10be1f1e8bc0844 (patch)
tree809ae8394719b79e2bf712fa4ddbcc0f8bdcc497
parente121721b0de454662ba975f987d6a7b55354e590 (diff)
parente777b5ba8f9283bbc4ab4859e6beccea01b6ac37 (diff)
downloadtcl-458c4d727efea4ddde5289f5a10be1f1e8bc0844.zip
tcl-458c4d727efea4ddde5289f5a10be1f1e8bc0844.tar.gz
tcl-458c4d727efea4ddde5289f5a10be1f1e8bc0844.tar.bz2
Merge 8.7
-rw-r--r--generic/tcl.h14
-rw-r--r--generic/tclOOCall.c16
-rw-r--r--tests/io.test4
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