New submission from Terry J. Reedy <tjre...@udel.edu>: 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. ---------- assignee: terry.reedy components: IDLE messages: 312085 nosy: terry.reedy priority: normal severity: normal stage: commit review status: open title: IDLE: require encoding argument for textview.view_file type: behavior versions: Python 3.6, Python 3.7, Python 3.8 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue32837> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com