classification
Title: Default IDLE 2.7.11 configuration files are out-of-sync on OS X framework installs
Type: Stage: resolved
Components: Build, IDLE, macOS Versions: Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: ned.deily Nosy List: ned.deily, python-dev, terry.reedy
Priority: normal Keywords:

Created on 2016-02-23 04:49 by ned.deily, last changed 2016-02-23 09:57 by ned.deily. This issue is now closed.

Messages (3)
msg260709 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2016-02-23 04:49
On OS X framework installs, the Mac-specific sub-makefiles do some important tailoring of IDLE/s config-extensions.def and config-main.def files, among other things changing Tk some Tk events for more appropriate keyboard bindings (e.g. "<Alt-" to "<Opt-".  On Python 2, this tailoring is performed by Mac/IDLE/Makefile.in replacing the standard Lib/idlelib/config-extensions.def and Lib/idlelib/config-main.def files with pre-edited versions from Mac/IDLE (Mac/IDLE/config-extensions.def and Mac/IDLE/config-main.def).  Unfortunately, over the years, the Mac-specific files have not been kept in sync with the standard ones.  For Python 2.7.11, this results in the problem described in Issue25313 still being present for OS X framework installs, such as provided by the python.org OS X installers and other third-party distributors.  (The symptoms are warning messages during IDLE startup of the form:

 Warning: configHandler.py - IdleConf.GetOption -
 problem retrieving configuration option 'name2'
 from section 'Theme'.
 returning default value: ''
)

For Python 3, the Mac Makefile installation of IDLE was substantially revised including eliminating the Mac-specific copies of the two .def files.  Instead, the Python 3 Makefile edits the default idlelib .def files during installation so that this kind of sync problem doesn't occur.  Ideally, the 2.7 Mac/IDLE/Makefile.in should be changed to do what Python 3 does and the redundant .def files removed.  At a minimum the 2.7 Mac files should be synced.  Patch to follow.
msg260715 - (view) Author: Roundup Robot (python-dev) (Python triager) Date: 2016-02-23 09:47
New changeset 13826ff147e4 by Ned Deily in branch '2.7':
Issue #26417: Prevent spurious errors and incorrect defaults when
https://hg.python.org/cpython/rev/13826ff147e4
msg260718 - (view) Author: Ned Deily (ned.deily) * (Python committer) Date: 2016-02-23 09:57
For 2.7.12 I've committed changes to the Mac/IDLE Makefile so that it now edits the defaults files in place on install just like the 3.x Makefiles do.  Framework installs of IDLE 2.7 on OS X no longer output startup warnings and, since the defaults are now in sync, also now properly use the newer default font.  The whole approach is less than ideal since the OS X tailoring is still hidden away in the Mac Makefiles rather than in idlelib code.  Issue20580 addresses the broader issue of platform-specific configuration files for IDLE.
History
Date User Action Args
2016-02-23 09:57:27ned.deilysetstatus: open -> closed
nosy: + terry.reedy, - ronaldoussoren
messages: + msg260718

resolution: fixed
stage: needs patch -> resolved
2016-02-23 09:47:13python-devsetnosy: + python-dev
messages: + msg260715
2016-02-23 04:49:12ned.deilycreate