diff options
author | Terry Jan Reedy <tjreedy@udel.edu> | 2015-08-06 00:55:07 -0400 |
---|---|---|
committer | Terry Jan Reedy <tjreedy@udel.edu> | 2015-08-06 00:55:07 -0400 |
commit | c7c66c91427734dcdb34ae78eee2431e92fa6f07 (patch) | |
tree | f8c97540eaed53b4a37eb1858a7ab473d6a9f2e2 /Lib/idlelib/EditorWindow.py | |
parent | d38718d41965489efefe323b97024cd8c69eecaf (diff) | |
parent | 0901d84e3537174ed00e2a684a81d3c0c6890c58 (diff) | |
download | cpython-git-c7c66c91427734dcdb34ae78eee2431e92fa6f07.tar.gz |
Issue #23672:Merge with 3.5
Diffstat (limited to 'Lib/idlelib/EditorWindow.py')
-rw-r--r-- | Lib/idlelib/EditorWindow.py | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/Lib/idlelib/EditorWindow.py b/Lib/idlelib/EditorWindow.py index 6dbbe09823..3ac68bbaf2 100644 --- a/Lib/idlelib/EditorWindow.py +++ b/Lib/idlelib/EditorWindow.py @@ -344,19 +344,19 @@ class EditorWindow(object): def _filename_to_unicode(self, filename): - """convert filename to unicode in order to display it in Tk""" - if isinstance(filename, str) or not filename: - return filename - else: + """Return filename as BMP unicode so diplayable in Tk.""" + # Decode bytes to unicode. + if isinstance(filename, bytes): try: - return filename.decode(self.filesystemencoding) + filename = filename.decode(self.filesystemencoding) except UnicodeDecodeError: - # XXX try: - return filename.decode(self.encoding) + filename = filename.decode(self.encoding) except UnicodeDecodeError: # byte-to-byte conversion - return filename.decode('iso8859-1') + filename = filename.decode('iso8859-1') + # Replace non-BMP char with diamond questionmark. + return re.sub('[\U00010000-\U0010FFFF]', '\ufffd', filename) def new_callback(self, event): dirname, basename = self.io.defaultfilename() |