summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-03-05 21:56:47 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-03-05 21:56:47 (GMT)
commit6ec7e10a1634a0a9c10ed2cf90072ba723d701ce (patch)
treec010ca6c4f92ad670d64caf6570232bf7e3eca3f
parent5349117d0c82cb371549d44fb26dfde45394ea25 (diff)
downloadtcl-6ec7e10a1634a0a9c10ed2cf90072ba723d701ce.zip
tcl-6ec7e10a1634a0a9c10ed2cf90072ba723d701ce.tar.gz
tcl-6ec7e10a1634a0a9c10ed2cf90072ba723d701ce.tar.bz2
-nothrow -> -nocomplain
-rw-r--r--doc/Encoding.32
-rw-r--r--generic/tcl.h4
-rw-r--r--generic/tclCmdAH.c22
-rw-r--r--generic/tclEncoding.c6
-rw-r--r--tests/cmdAH.test4
-rw-r--r--tests/encoding.test52
-rw-r--r--tests/safe.test8
7 files changed, 46 insertions, 52 deletions
diff --git a/doc/Encoding.3 b/doc/Encoding.3
index bffa0c3..dc37519 100644
--- a/doc/Encoding.3
+++ b/doc/Encoding.3
@@ -114,7 +114,7 @@ byte is converted and then to reset to an initial state.
\fBTCL_ENCODING_STOPONERROR\fR signifies that the conversion routine should
return immediately upon reading a source character that does not exist in
the target encoding; otherwise a default fallback character will
-automatically be substituted. The flag \fBTCL_ENCODING_NO_THROW\fR has
+automatically be substituted. The flag \fBTCL_ENCODING_NOCOMPLAIN\fR has
no effect, it is reserved for Tcl 9.0. The flag \fBTCL_ENCODING_MODIFIED\fR makes
\fBTcl_UtfToExternalDStringEx\fR and \fBTcl_UtfToExternal\fR produce the
byte sequence \exC0\ex80 in stead of \ex00, for the utf-8/cesu-8 encoders.
diff --git a/generic/tcl.h b/generic/tcl.h
index 783d576..ef0fa75 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -2081,7 +2081,7 @@ typedef struct Tcl_EncodingType {
* 0x00. Only valid for "utf-8" and "cesu-8".
* This flag is implicit for external -> internal conversions,
* optional for internal -> external conversions.
- * TCL_ENCODING_NO_THROW - If set, the converter
+ * TCL_ENCODING_NOCOMPLAIN - If set, the converter
* substitutes the problematic character(s) with
* one or more "close" characters in the
* destination buffer and then continues to
@@ -2097,7 +2097,7 @@ typedef struct Tcl_EncodingType {
#define TCL_ENCODING_NO_TERMINATE 0x08
#define TCL_ENCODING_CHAR_LIMIT 0x10
#define TCL_ENCODING_MODIFIED 0x20
-#define TCL_ENCODING_NO_THROW 0x40
+#define TCL_ENCODING_NOCOMPLAIN 0x40
/*
* The following definitions are the error codes returned by the conversion
diff --git a/generic/tclCmdAH.c b/generic/tclCmdAH.c
index 5b655ef..60a2c42 100644
--- a/generic/tclCmdAH.c
+++ b/generic/tclCmdAH.c
@@ -553,7 +553,7 @@ EncodingConvertfromObjCmd(
#if TCL_MAJOR_VERSION > 8 || defined(TCL_NO_DEPRECATED)
int flags = TCL_ENCODING_STOPONERROR;
#else
- int flags = TCL_ENCODING_NO_THROW;
+ int flags = TCL_ENCODING_NOCOMPLAIN;
#endif
size_t result;
@@ -564,11 +564,8 @@ EncodingConvertfromObjCmd(
data = objv[objc - 1];
bytesPtr = Tcl_GetString(objv[1]);
if (bytesPtr[0] == '-' && bytesPtr[1] == 'n'
- && !strncmp(bytesPtr, "-nothrow", strlen(bytesPtr))) {
- flags = TCL_ENCODING_NO_THROW;
- } else if (bytesPtr[0] == '-' && bytesPtr[1] == 's'
- && !strncmp(bytesPtr, "-stoponerror", strlen(bytesPtr))) {
- flags = TCL_ENCODING_STOPONERROR;
+ && !strncmp(bytesPtr, "-nocomplain", strlen(bytesPtr))) {
+ flags = TCL_ENCODING_NOCOMPLAIN;
} else if (objc < 4) {
if (Tcl_GetEncodingFromObj(interp, objv[objc - 2], &encoding) != TCL_OK) {
return TCL_ERROR;
@@ -584,7 +581,7 @@ EncodingConvertfromObjCmd(
}
} else {
encConvFromError:
- Tcl_WrongNumArgs(interp, 1, objv, "?-nothrow? ?encoding? data");
+ Tcl_WrongNumArgs(interp, 1, objv, "?-nocomplain? ?encoding? data");
return TCL_ERROR;
}
@@ -660,7 +657,7 @@ EncodingConverttoObjCmd(
#if TCL_MAJOR_VERSION > 8 || defined(TCL_NO_DEPRECATED)
int flags = TCL_ENCODING_STOPONERROR;
#else
- int flags = TCL_ENCODING_NO_THROW;
+ int flags = TCL_ENCODING_NOCOMPLAIN;
#endif
if (objc == 2) {
@@ -670,11 +667,8 @@ EncodingConverttoObjCmd(
data = objv[objc - 1];
stringPtr = Tcl_GetString(objv[1]);
if (stringPtr[0] == '-' && stringPtr[1] == 'n'
- && !strncmp(stringPtr, "-nothrow", strlen(stringPtr))) {
- flags = TCL_ENCODING_NO_THROW;
- } else if (stringPtr[0] == '-' && stringPtr[1] == 's'
- && !strncmp(stringPtr, "-stoponerror", strlen(stringPtr))) {
- flags = TCL_ENCODING_STOPONERROR;
+ && !strncmp(stringPtr, "-nocomplain", strlen(stringPtr))) {
+ flags = TCL_ENCODING_NOCOMPLAIN;
} else if (objc < 4) {
if (Tcl_GetEncodingFromObj(interp, objv[objc - 2], &encoding) != TCL_OK) {
return TCL_ERROR;
@@ -690,7 +684,7 @@ EncodingConverttoObjCmd(
}
} else {
encConvToError:
- Tcl_WrongNumArgs(interp, 1, objv, "?-nothrow? ?encoding? data");
+ Tcl_WrongNumArgs(interp, 1, objv, "?-nocomplain? ?encoding? data");
return TCL_ERROR;
}
diff --git a/generic/tclEncoding.c b/generic/tclEncoding.c
index d1dbb09..b6d5dcf 100644
--- a/generic/tclEncoding.c
+++ b/generic/tclEncoding.c
@@ -1158,7 +1158,7 @@ Tcl_ExternalToUtfDString(
* Possible flags values:
* TCL_ENCODING_STOPONERROR: don't replace invalid characters/bytes but
* return the first error position (Default in Tcl 9.0).
- * TCL_ENCODING_NO_THROW: replace invalid characters/bytes by a default
+ * TCL_ENCODING_NOCOMPLAIN: replace invalid characters/bytes by a default
* fallback character. Always return -1 (Default in Tcl 8.7).
* TCL_ENCODING_MODIFIED: convert NULL bytes to \xC0\x80 in stead of 0x00.
* Only valid for "utf-8" and "cesu-8". This flag may be used together
@@ -1397,7 +1397,7 @@ Tcl_UtfToExternalDString(
* Possible flags values:
* TCL_ENCODING_STOPONERROR: don't replace invalid characters/bytes but
* return the first error position (Default in Tcl 9.0).
- * TCL_ENCODING_NO_THROW: replace invalid characters/bytes by a default
+ * TCL_ENCODING_NOCOMPLAIN: replace invalid characters/bytes by a default
* fallback character. Always return -1 (Default in Tcl 8.7).
* TCL_ENCODING_MODIFIED: convert NULL bytes to \xC0\x80 in stead of 0x00.
* Only valid for "utf-8" and "cesu-8". This flag may be used together
@@ -2288,7 +2288,7 @@ BinaryProc(
*/
#if TCL_MAJOR_VERSION > 8 || defined(TCL_NO_DEPRECATED)
-# define STOPONERROR !(flags & TCL_ENCODING_NO_THROW)
+# define STOPONERROR !(flags & TCL_ENCODING_NOCOMPLAIN)
#else
# define STOPONERROR (flags & TCL_ENCODING_STOPONERROR)
#endif
diff --git a/tests/cmdAH.test b/tests/cmdAH.test
index 7f86275..d787c7f 100644
--- a/tests/cmdAH.test
+++ b/tests/cmdAH.test
@@ -178,7 +178,7 @@ test cmdAH-4.2 {Tcl_EncodingObjCmd} -returnCodes error -body {
} -result {unknown or ambiguous subcommand "foo": must be convertfrom, convertto, dirs, names, or system}
test cmdAH-4.3 {Tcl_EncodingObjCmd} -returnCodes error -body {
encoding convertto
-} -result {wrong # args: should be "encoding convertto ?-nothrow? ?encoding? data"}
+} -result {wrong # args: should be "encoding convertto ?-nocomplain? ?encoding? data"}
test cmdAH-4.4 {Tcl_EncodingObjCmd} -returnCodes error -body {
encoding convertto foo bar
} -result {unknown encoding "foo"}
@@ -200,7 +200,7 @@ test cmdAH-4.6 {Tcl_EncodingObjCmd} -setup {
} -result 8C
test cmdAH-4.7 {Tcl_EncodingObjCmd} -returnCodes error -body {
encoding convertfrom
-} -result {wrong # args: should be "encoding convertfrom ?-nothrow? ?encoding? data"}
+} -result {wrong # args: should be "encoding convertfrom ?-nocomplain? ?encoding? data"}
test cmdAH-4.8 {Tcl_EncodingObjCmd} -returnCodes error -body {
encoding convertfrom foo bar
} -result {unknown encoding "foo"}
diff --git a/tests/encoding.test b/tests/encoding.test
index c6865d9..bf82493 100644
--- a/tests/encoding.test
+++ b/tests/encoding.test
@@ -299,7 +299,7 @@ test encoding-11.11 {encoding: extended Unicode UTF-32} {
test encoding-12.1 {LoadTableEncoding: normal encoding} {
set x [encoding convertto iso8859-3 Ġ]
- append x [encoding convertto -nothrow iso8859-3 Õ]
+ append x [encoding convertto -nocomplain iso8859-3 Õ]
append x [encoding convertfrom iso8859-3 Õ]
} "Õ?Ġ"
test encoding-12.2 {LoadTableEncoding: single-byte encoding} {
@@ -348,67 +348,67 @@ test encoding-15.5 {UtfToUtfProc emoji character input} {
} "4 😂"
test encoding-15.6 {UtfToUtfProc emoji character output} {
set x \uDE02\uD83D\uDE02\uD83D
- set y [encoding convertto -nothrow utf-8 \uDE02\uD83D\uDE02\uD83D]
+ set y [encoding convertto -nocomplain utf-8 \uDE02\uD83D\uDE02\uD83D]
binary scan $y H* z
list [string length $y] $z
} {10 edb882f09f9882eda0bd}
test encoding-15.7 {UtfToUtfProc emoji character output} {
set x \uDE02\uD83D\uD83D
- set y [encoding convertto -nothrow utf-8 \uDE02\uD83D\uD83D]
+ set y [encoding convertto -nocomplain utf-8 \uDE02\uD83D\uD83D]
binary scan $y H* z
list [string length $x] [string length $y] $z
} {3 9 edb882eda0bdeda0bd}
test encoding-15.8 {UtfToUtfProc emoji character output} {
set x \uDE02\uD83Dé
- set y [encoding convertto -nothrow utf-8 \uDE02\uD83Dé]
+ set y [encoding convertto -nocomplain utf-8 \uDE02\uD83Dé]
binary scan $y H* z
list [string length $x] [string length $y] $z
} {3 8 edb882eda0bdc3a9}
test encoding-15.9 {UtfToUtfProc emoji character output} {
set x \uDE02\uD83DX
- set y [encoding convertto -nothrow utf-8 \uDE02\uD83DX]
+ set y [encoding convertto -nocomplain utf-8 \uDE02\uD83DX]
binary scan $y H* z
list [string length $x] [string length $y] $z
} {3 7 edb882eda0bd58}
test encoding-15.10 {UtfToUtfProc high surrogate character output} {
set x \uDE02é
- set y [encoding convertto -nothrow utf-8 \uDE02é]
+ set y [encoding convertto -nocomplain utf-8 \uDE02é]
binary scan $y H* z
list [string length $x] [string length $y] $z
} {2 5 edb882c3a9}
test encoding-15.11 {UtfToUtfProc low surrogate character output} {
set x \uDA02é
- set y [encoding convertto -nothrow utf-8 \uDA02é]
+ set y [encoding convertto -nocomplain utf-8 \uDA02é]
binary scan $y H* z
list [string length $x] [string length $y] $z
} {2 5 eda882c3a9}
test encoding-15.12 {UtfToUtfProc high surrogate character output} {
set x \uDE02Y
- set y [encoding convertto -nothrow utf-8 \uDE02Y]
+ set y [encoding convertto -nocomplain utf-8 \uDE02Y]
binary scan $y H* z
list [string length $x] [string length $y] $z
} {2 4 edb88259}
test encoding-15.13 {UtfToUtfProc low surrogate character output} {
set x \uDA02Y
- set y [encoding convertto -nothrow utf-8 \uDA02Y]
+ set y [encoding convertto -nocomplain utf-8 \uDA02Y]
binary scan $y H* z
list [string length $x] [string length $y] $z
} {2 4 eda88259}
test encoding-15.14 {UtfToUtfProc high surrogate character output} {
set x \uDE02
- set y [encoding convertto -nothrow utf-8 \uDE02]
+ set y [encoding convertto -nocomplain utf-8 \uDE02]
binary scan $y H* z
list [string length $x] [string length $y] $z
} {1 3 edb882}
test encoding-15.15 {UtfToUtfProc low surrogate character output} {
set x \uDA02
- set y [encoding convertto -nothrow utf-8 \uDA02]
+ set y [encoding convertto -nocomplain utf-8 \uDA02]
binary scan $y H* z
list [string length $x] [string length $y] $z
} {1 3 eda882}
test encoding-15.16 {UtfToUtfProc: Invalid 4-byte UTF-8, see [ed29806ba]} {
set x \xF0\xA0\xA1\xC2
- set y [encoding convertfrom -nothrow utf-8 \xF0\xA0\xA1\xC2]
+ set y [encoding convertfrom -nocomplain utf-8 \xF0\xA0\xA1\xC2]
list [string length $x] $y
} "4 \xF0\xA0\xA1\xC2"
test encoding-15.17 {UtfToUtfProc emoji character output} {
@@ -489,10 +489,10 @@ test encoding-17.2 {UtfToUcs2Proc} -body {
encoding convertfrom utf-16 [encoding convertto ucs-2 "\U460DC"]
} -result "\uFFFD"
test encoding-17.3 {UtfToUtf16Proc} -body {
- encoding convertto -nothrow utf-16be "\uDCDC"
+ encoding convertto -nocomplain utf-16be "\uDCDC"
} -result "\xFF\xFD"
test encoding-17.4 {UtfToUtf16Proc} -body {
- encoding convertto -nothrow utf-16le "\uD8D8"
+ encoding convertto -nocomplain utf-16le "\uD8D8"
} -result "\xFD\xFF"
test encoding-17.5 {UtfToUtf16Proc} -body {
encoding convertto utf-32le "\U460DC"
@@ -617,25 +617,25 @@ test encoding-24.4 {Parse valid or invalid utf-8} {
string length [encoding convertfrom utf-8 "\xC0\x80"]
} 1
test encoding-24.5 {Parse valid or invalid utf-8} {
- string length [encoding convertfrom -nothrow utf-8 "\xC0\x81"]
+ string length [encoding convertfrom -nocomplain utf-8 "\xC0\x81"]
} 2
test encoding-24.6 {Parse valid or invalid utf-8} {
- string length [encoding convertfrom -nothrow utf-8 "\xC1\xBF"]
+ string length [encoding convertfrom -nocomplain utf-8 "\xC1\xBF"]
} 2
test encoding-24.7 {Parse valid or invalid utf-8} {
string length [encoding convertfrom utf-8 "\xC2\x80"]
} 1
test encoding-24.8 {Parse valid or invalid utf-8} {
- string length [encoding convertfrom -nothrow utf-8 "\xE0\x80\x80"]
+ string length [encoding convertfrom -nocomplain utf-8 "\xE0\x80\x80"]
} 3
test encoding-24.9 {Parse valid or invalid utf-8} {
- string length [encoding convertfrom -nothrow utf-8 "\xE0\x9F\xBF"]
+ string length [encoding convertfrom -nocomplain utf-8 "\xE0\x9F\xBF"]
} 3
test encoding-24.10 {Parse valid or invalid utf-8} {
string length [encoding convertfrom utf-8 "\xE0\xA0\x80"]
} 1
test encoding-24.11 {Parse valid or invalid utf-8} {
- string length [encoding convertfrom -nothrow utf-8 "\xEF\xBF\xBF"]
+ string length [encoding convertfrom -nocomplain utf-8 "\xEF\xBF\xBF"]
} 1
test encoding-24.12 {Parse valid or invalid utf-8} -constraints deprecated -body {
encoding convertfrom utf-8 "\xC0\x81"
@@ -661,18 +661,18 @@ test encoding-24.18 {Parse valid or invalid utf-8} -constraints {testbytestring
test encoding-24.19 {Parse valid or invalid utf-8} -constraints deprecated -body {
encoding convertto utf-8 "ZX\uD800"
} -returnCodes 1 -match glob -result "unexpected character at index 2: 'U+00D800'"
-test encoding-24.20 {Parse with -nothrow but without providing encoding} {
- string length [encoding convertfrom -nothrow "\x20"]
+test encoding-24.20 {Parse with -nocomplain but without providing encoding} {
+ string length [encoding convertfrom -nocomplain "\x20"]
} 1
-test encoding-24.21 {Parse with -nothrow but without providing encoding} {
- string length [encoding convertto -nothrow "\x20"]
+test encoding-24.21 {Parse with -nocomplain but without providing encoding} {
+ string length [encoding convertto -nocomplain "\x20"]
} 1
test encoding-24.22 {Syntax error, two encodings} -body {
encoding convertfrom iso8859-1 utf-8 "ZX\uD800"
-} -returnCodes 1 -result {wrong # args: should be "::tcl::encoding::convertfrom ?-nothrow? ?encoding? data"}
+} -returnCodes 1 -result {wrong # args: should be "::tcl::encoding::convertfrom ?-nocomplain? ?encoding? data"}
test encoding-24.23 {Syntax error, two encodings} -body {
encoding convertto iso8859-1 utf-8 "ZX\uD800"
-} -returnCodes 1 -result {wrong # args: should be "::tcl::encoding::convertto ?-nothrow? ?encoding? data"}
+} -returnCodes 1 -result {wrong # args: should be "::tcl::encoding::convertto ?-nocomplain? ?encoding? data"}
file delete [file join [temporaryDirectory] iso2022.txt]
@@ -828,7 +828,7 @@ test encoding-28.0 {all encodings load} -body {
set string hello
foreach name [encoding names] {
incr count
- encoding convertto -nothrow $name $string
+ encoding convertto -nocomplain $name $string
# discard the cached internal representation of Tcl_Encoding
# Unfortunately, without this, encoding 2-1 fails.
diff --git a/tests/safe.test b/tests/safe.test
index d5e2f00..5f3eae8 100644
--- a/tests/safe.test
+++ b/tests/safe.test
@@ -1269,7 +1269,7 @@ test safe-11.7 {testing safe encoding} -setup {
interp eval $i encoding convertfrom
} -returnCodes error -cleanup {
safe::interpDelete $i
-} -result {wrong # args: should be "encoding convertfrom ?-nothrow? ?encoding? data"}
+} -result {wrong # args: should be "encoding convertfrom ?-nocomplain? ?encoding? data"}
test safe-11.7.1 {testing safe encoding} -setup {
set i [safe::interpCreate]
} -body {
@@ -1278,7 +1278,7 @@ test safe-11.7.1 {testing safe encoding} -setup {
} -returnCodes ok -match glob -cleanup {
unset -nocomplain m o
safe::interpDelete $i
-} -result {wrong # args: should be "encoding convertfrom ?-nothrow? ?encoding? data"
+} -result {wrong # args: should be "encoding convertfrom ?-nocomplain? ?encoding? data"
while executing
"encoding convertfrom"
invoked from within
@@ -1291,7 +1291,7 @@ test safe-11.8 {testing safe encoding} -setup {
interp eval $i encoding convertto
} -returnCodes error -cleanup {
safe::interpDelete $i
-} -result {wrong # args: should be "encoding convertto ?-nothrow? ?encoding? data"}
+} -result {wrong # args: should be "encoding convertto ?-nocomplain? ?encoding? data"}
test safe-11.8.1 {testing safe encoding} -setup {
set i [safe::interpCreate]
} -body {
@@ -1300,7 +1300,7 @@ test safe-11.8.1 {testing safe encoding} -setup {
} -returnCodes ok -match glob -cleanup {
unset -nocomplain m o
safe::interpDelete $i
-} -result {wrong # args: should be "encoding convertto ?-nothrow? ?encoding? data"
+} -result {wrong # args: should be "encoding convertto ?-nocomplain? ?encoding? data"
while executing
"encoding convertto"
invoked from within