summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2023-05-04 19:53:44 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2023-05-04 19:53:44 (GMT)
commit83776b137b93bcfcd1d24073608f1283bf839a65 (patch)
treed15f6e6f59704223e1a370318561cce721a9389e
parent4ae09b65725a646ac0ecde14e3972a5af3eb132a (diff)
downloadtcl-83776b137b93bcfcd1d24073608f1283bf839a65.zip
tcl-83776b137b93bcfcd1d24073608f1283bf839a65.tar.gz
tcl-83776b137b93bcfcd1d24073608f1283bf839a65.tar.bz2
Tcl_InputEncodingError() -> TclInputEncodingError. It will be split off in a separate TIP
-rw-r--r--doc/OpenFileChnl.311
-rw-r--r--generic/tcl.decls5
-rw-r--r--generic/tclDecls.h8
-rw-r--r--generic/tclIO.c4
-rw-r--r--generic/tclIOCmd.c2
-rw-r--r--generic/tclInt.h1
-rw-r--r--generic/tclStubInit.c2
7 files changed, 10 insertions, 23 deletions
diff --git a/doc/OpenFileChnl.3 b/doc/OpenFileChnl.3
index 8709c60..4f407b6 100644
--- a/doc/OpenFileChnl.3
+++ b/doc/OpenFileChnl.3
@@ -9,7 +9,7 @@
.BS
'\" Note: do not modify the .SH NAME line immediately below!
.SH NAME
-Tcl_OpenFileChannel, Tcl_OpenCommandChannel, Tcl_MakeFileChannel, Tcl_GetChannel, Tcl_GetChannelNames, Tcl_GetChannelNamesEx, Tcl_RegisterChannel, Tcl_UnregisterChannel, Tcl_DetachChannel, Tcl_IsStandardChannel, Tcl_Close, Tcl_ReadChars, Tcl_Read, Tcl_GetsObj, Tcl_Gets, Tcl_WriteObj, Tcl_WriteChars, Tcl_Write, Tcl_Flush, Tcl_Seek, Tcl_Tell, Tcl_TruncateChannel, Tcl_GetChannelOption, Tcl_SetChannelOption, Tcl_Eof, Tcl_InputBlocked, Tcl_InputBuffered, Tcl_InputEncodingError, Tcl_OutputBuffered, Tcl_Ungets, Tcl_ReadRaw, Tcl_WriteRaw \- buffered I/O facilities using channels
+Tcl_OpenFileChannel, Tcl_OpenCommandChannel, Tcl_MakeFileChannel, Tcl_GetChannel, Tcl_GetChannelNames, Tcl_GetChannelNamesEx, Tcl_RegisterChannel, Tcl_UnregisterChannel, Tcl_DetachChannel, Tcl_IsStandardChannel, Tcl_Close, Tcl_ReadChars, Tcl_Read, Tcl_GetsObj, Tcl_Gets, Tcl_WriteObj, Tcl_WriteChars, Tcl_Write, Tcl_Flush, Tcl_Seek, Tcl_Tell, Tcl_TruncateChannel, Tcl_GetChannelOption, Tcl_SetChannelOption, Tcl_Eof, Tcl_InputBlocked, Tcl_InputBuffered, Tcl_OutputBuffered, Tcl_Ungets, Tcl_ReadRaw, Tcl_WriteRaw \- buffered I/O facilities using channels
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
@@ -90,9 +90,6 @@ int
\fBTcl_InputBuffered\fR(\fIchannel\fR)
.sp
int
-\fBTcl_InputEncodingError\fR(\fIchannel\fR)
-.sp
-int
\fBTcl_OutputBuffered\fR(\fIchannel\fR)
.sp
long long
@@ -487,11 +484,7 @@ of input unavailability.
.PP
If the channel is in blocking mode, it might be that there is data available
but - at the same time - an encoding error occurred. In that case, the
-POSIX error EILSEQ will be recorded, but - since \fBTcl_Gets\fR/\fBTcl_Read\fR
-didn't return TCL_INDEX_NONE we cannot be sure if the POSIX error
-maybe was a left-over from an earlier error. The only way to be sure
-is calling the \fBTcl_InputEncodingError\fR procedure, it will
-return 1 if the channel is at an encoding error position.
+POSIX error EILSEQ will be recorded.
.PP
\fBTcl_Gets\fR is the same as \fBTcl_GetsObj\fR except the resulting
characters are appended to the dynamic string given by
diff --git a/generic/tcl.decls b/generic/tcl.decls
index 30e4dea..d52b710 100644
--- a/generic/tcl.decls
+++ b/generic/tcl.decls
@@ -2632,11 +2632,6 @@ declare 686 {
Tcl_Size *sizePtr)
}
-# TIP 657
-declare 687 {
- int Tcl_InputEncodingError(Tcl_Channel chan)
-}
-
# ----- BASELINE -- FOR -- 8.7.0 / 9.0.0 ----- #
declare 688 {
diff --git a/generic/tclDecls.h b/generic/tclDecls.h
index 2fa84c4..feb7a64 100644
--- a/generic/tclDecls.h
+++ b/generic/tclDecls.h
@@ -1865,8 +1865,7 @@ EXTERN Tcl_Obj * Tcl_DStringToObj(Tcl_DString *dsPtr);
/* 686 */
EXTERN int Tcl_GetSizeIntFromObj(Tcl_Interp *interp,
Tcl_Obj *objPtr, Tcl_Size *sizePtr);
-/* 687 */
-EXTERN int Tcl_InputEncodingError(Tcl_Channel chan);
+/* Slot 687 is reserved */
/* 688 */
EXTERN void TclUnusedStubEntry(void);
@@ -2567,7 +2566,7 @@ typedef struct TclStubs {
int (*tcl_GetWideUIntFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, Tcl_WideUInt *uwidePtr); /* 684 */
Tcl_Obj * (*tcl_DStringToObj) (Tcl_DString *dsPtr); /* 685 */
int (*tcl_GetSizeIntFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, Tcl_Size *sizePtr); /* 686 */
- int (*tcl_InputEncodingError) (Tcl_Channel chan); /* 687 */
+ void (*reserved687)(void);
void (*tclUnusedStubEntry) (void); /* 688 */
} TclStubs;
@@ -3895,8 +3894,7 @@ extern const TclStubs *tclStubsPtr;
(tclStubsPtr->tcl_DStringToObj) /* 685 */
#define Tcl_GetSizeIntFromObj \
(tclStubsPtr->tcl_GetSizeIntFromObj) /* 686 */
-#define Tcl_InputEncodingError \
- (tclStubsPtr->tcl_InputEncodingError) /* 687 */
+/* Slot 687 is reserved */
#define TclUnusedStubEntry \
(tclStubsPtr->tclUnusedStubEntry) /* 688 */
diff --git a/generic/tclIO.c b/generic/tclIO.c
index c28a7f5..b7282c9 100644
--- a/generic/tclIO.c
+++ b/generic/tclIO.c
@@ -7612,7 +7612,7 @@ Tcl_InputBuffered(
/*
*----------------------------------------------------------------------
*
- * Tcl_InputEncodingError --
+ * TclInputEncodingError --
*
* Returns 1 if input is in an encoding error position, 0 otherwise.
*
@@ -7626,7 +7626,7 @@ Tcl_InputBuffered(
*/
int
-Tcl_InputEncodingError(
+TclInputEncodingError(
Tcl_Channel chan) /* Is this channel blocked? */
{
ChannelState *statePtr = ((Channel *) chan)->state;
diff --git a/generic/tclIOCmd.c b/generic/tclIOCmd.c
index 679fe5e..4cf4631 100644
--- a/generic/tclIOCmd.c
+++ b/generic/tclIOCmd.c
@@ -447,7 +447,7 @@ Tcl_ReadObjCmd(
TclGetString(chanObjPtr), Tcl_PosixError(interp)));
}
goto readError;
- } else if (Tcl_InputEncodingError(chan)) {
+ } else if (TclInputEncodingError(chan)) {
Tcl_Obj *returnOpts = Tcl_NewDictObj();
Tcl_DictObjPut(NULL, returnOpts, Tcl_NewStringObj("-data", TCL_INDEX_NONE), resultPtr);
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
diff --git a/generic/tclInt.h b/generic/tclInt.h
index 436384e..03d3e22 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -3224,6 +3224,7 @@ MODULE_SCOPE void TclInitNamespaceSubsystem(void);
MODULE_SCOPE void TclInitNotifier(void);
MODULE_SCOPE void TclInitObjSubsystem(void);
MODULE_SCOPE int TclInterpReady(Tcl_Interp *interp);
+MODULE_SCOPE int TclInputEncodingError(Tcl_Channel chan);
MODULE_SCOPE int TclIsDigitProc(int byte);
MODULE_SCOPE int TclIsBareword(int byte);
MODULE_SCOPE Tcl_Obj * TclJoinPath(Tcl_Size elements, Tcl_Obj * const objv[],
diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c
index a77a958..92632e8 100644
--- a/generic/tclStubInit.c
+++ b/generic/tclStubInit.c
@@ -1513,7 +1513,7 @@ const TclStubs tclStubs = {
Tcl_GetWideUIntFromObj, /* 684 */
Tcl_DStringToObj, /* 685 */
Tcl_GetSizeIntFromObj, /* 686 */
- Tcl_InputEncodingError, /* 687 */
+ 0, /* 687 */
TclUnusedStubEntry, /* 688 */
};