Holy crap I appreciate this change! I thought they'd never fix it because of compatibility. Thanks for the effort you put in.
It's not that I use emoji filenames, it's that I deal with real-world natural language text all the time, including at the console.
(In terms of compatibility, my text-justifying function is going to stop working correctly for the period of time between when gnome-terminal updates to Unicode 9 and when Python 3.x does. Still worth it.)
If they get their unicode data from the same, OS supplied source that supplies the wcwidth() function (or be using wcwidth() themselves) a libc update should fix both, I think.
They don't. Python's "unicodedata" module updates with the minor version of Python.
This is good, actually, because the meaning of a string operation should be consistent when run on the same version of Python.
(If only this applied to the "default encoding". The default encoding should be UTF-8, not whatever you get by asking the user's likely-misconfigured locale. As it is, you can't rely on the default encoding if you want your code to work consistently.)
It's not that I use emoji filenames, it's that I deal with real-world natural language text all the time, including at the console.
(In terms of compatibility, my text-justifying function is going to stop working correctly for the period of time between when gnome-terminal updates to Unicode 9 and when Python 3.x does. Still worth it.)