Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Default IDLE 2.7.11 configuration files are out-of-sync on OS X framework installs #70605

Closed
ned-deily opened this issue Feb 23, 2016 · 3 comments
Assignees
Labels
build The build process and cross-build OS-mac topic-IDLE

Comments

@ned-deily
Copy link
Member

BPO 26417
Nosy @terryjreedy, @ned-deily

Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

Show more details

GitHub fields:

assignee = 'https://github.com/ned-deily'
closed_at = <Date 2016-02-23.09:57:27.750>
created_at = <Date 2016-02-23.04:49:12.244>
labels = ['OS-mac', 'expert-IDLE', 'build']
title = 'Default IDLE 2.7.11 configuration files are out-of-sync on OS X framework installs'
updated_at = <Date 2016-02-23.09:57:27.730>
user = 'https://github.com/ned-deily'

bugs.python.org fields:

activity = <Date 2016-02-23.09:57:27.730>
actor = 'ned.deily'
assignee = 'ned.deily'
closed = True
closed_date = <Date 2016-02-23.09:57:27.750>
closer = 'ned.deily'
components = ['Build', 'IDLE', 'macOS']
creation = <Date 2016-02-23.04:49:12.244>
creator = 'ned.deily'
dependencies = []
files = []
hgrepos = []
issue_num = 26417
keywords = []
message_count = 3.0
messages = ['260709', '260715', '260718']
nosy_count = 3.0
nosy_names = ['terry.reedy', 'ned.deily', 'python-dev']
pr_nums = []
priority = 'normal'
resolution = 'fixed'
stage = 'resolved'
status = 'closed'
superseder = None
type = None
url = 'https://bugs.python.org/issue26417'
versions = ['Python 2.7']

@ned-deily
Copy link
Member Author

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 bpo-25313 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.

@ned-deily ned-deily self-assigned this Feb 23, 2016
@ned-deily ned-deily added build The build process and cross-build topic-IDLE OS-mac labels Feb 23, 2016
@python-dev
Copy link
Mannequin

python-dev mannequin commented Feb 23, 2016

New changeset 13826ff147e4 by Ned Deily in branch '2.7':
Issue bpo-26417: Prevent spurious errors and incorrect defaults when
https://hg.python.org/cpython/rev/13826ff147e4

@ned-deily
Copy link
Member Author

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. bpo-20580 addresses the broader issue of platform-specific configuration files for IDLE.

@ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build The build process and cross-build OS-mac topic-IDLE
Projects
None yet
Development

No branches or pull requests

1 participant