[issue42318] [tkinter] surrogate pairs in Tcl/Tk string when pasting an emoji in a text widget
Ronald Oussoren
report at bugs.python.org
Tue Nov 10 16:22:18 EST 2020
New submission from Ronald Oussoren <ronaldoussoren at mac.com>:
As mentioned in msg380552: I get an SyntaxError with message "utf-8' codec can't encode characters in position 7-12: surrogates not allowed." when I paste a smiley emoji in an IDLE interactive shell and try to execute that line, for example using:
>>> print("😀")
The error is likely due to a surrogate pair being present in the UTF-8 representation of a Tcl/Tk string.
It should be possible to work around this in _tkinter.c:unicodeFromTclStringAndSize by merging surrogate pairs.
This is with:
- Python 3.10
- macOS 11 (arm64)
- Tk 8.6.10
With Tk 8.6.8 (as included in the macOS installers on python.org) printing won't work at all, as mentioned in bpo-42225.
----------
components: Tkinter, macOS
messages: 380715
nosy: ned.deily, ronaldoussoren
priority: normal
severity: normal
stage: needs patch
status: open
title: [tkinter] surrogate pairs in Tcl/Tk string when pasting an emoji in a text widget
type: behavior
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue42318>
_______________________________________
More information about the Python-bugs-list
mailing list