summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Misc/NEWS3
-rw-r--r--Modules/_tkinter.c6
2 files changed, 7 insertions, 2 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 5924366..ef3d053 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -205,6 +205,9 @@ Core and Builtins
Library
-------
+- Issue #13153: Tkinter functions now raise TclError instead of ValueError when
+ a unicode argument contains non-BMP character.
+
- Issue #9669: Protect re against infinite loops on zero-width matching in
non-greedy repeat. Patch by Matthew Barnett.
diff --git a/Modules/_tkinter.c b/Modules/_tkinter.c
index 40c8be2..7872df3 100644
--- a/Modules/_tkinter.c
+++ b/Modules/_tkinter.c
@@ -987,8 +987,10 @@ AsObj(PyObject *value)
for (i = 0; i < size; i++) {
if (inbuf[i] >= 0x10000) {
/* Tcl doesn't do UTF-16, yet. */
- PyErr_SetString(PyExc_ValueError,
- "unsupported character");
+ PyErr_Format(Tkinter_TclError,
+ "character U+%x is above the range "
+ "(U+0000-U+FFFF) allowed by Tcl",
+ (int)inbuf[i]);
ckfree(FREECAST outbuf);
return NULL;
}