This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author terry.reedy
Recipients terry.reedy
Date 2018-02-12.22:07:39
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <>
Built-in open has an encoding parameter whose default value depends on the system: 'ascii' for some POSIX locales; 'latin1' or similar for most Windows sold in the USA or western Europe; and ???.  In idlelib.textview, the signature for view_file currently includes 'encoding=None'.  There have been 2 issues, #32826 and another, about tests using the default failing because of 'Löwis' on line 27 of CREDITS.txt.  It therefore seems an error for a global cross-platform application to use the default encoding.

To prevent this, we should remove '=None' from the encoding part of the view_file definition and make view_file calls explicitly pass an encoding.  For IDLE itself, this will be 'ascii' or 'utf-8'.

This expands upon a note by Cheryl Sabella in #32826 about one of the three calls that fail with the change until fixed.

I will not default to 'utf-8' because 'ascii' catches erroneous non-ascii characters in ascii-only files.  For instance, a draft of README.txt was prepared with an editor that replaced ascii " and " with left and right quotes.  I will not restricting the encoding otherwise because there might be external uses of the file that use other encodings.

PR to follow as soon as I get bpo number.
Date User Action Args
2018-02-12 22:07:39terry.reedysetrecipients: + terry.reedy
2018-02-12 22:07:39terry.reedysetmessageid: <>
2018-02-12 22:07:39terry.reedylinkissue32837 messages
2018-02-12 22:07:39terry.reedycreate