◐ Shell
clean mode source ↗

Issue 30851: IDLE: configdialog -- fix tkinter Variables

As part of #30777, Cheryl Sabella listed Variables defined for a tab page, and the use thereof, in the docstring for the tab page.  This revealed some anomalies.

Duplicate: font_name is defined on font and highlight pages.  The first StringVariable should be attached to a widget before the name is rebound.  We should investigate after there are tests for the two pages.

Unused: for anything deleted, make sure that there is no corresponding trace function left.

binding_target (keys) sounds like something that was never an external option but just an internal implementation detail; delete.

encoding (general) *is* an external option, but I believe used only by 2.x.  Recheck (in config.py also) and probably delete.

user_help_browser and help_browser (general) may have once been options.  We now use the system browser, which, at least on some systems, users can set.  Delete.
After wresting with a test for #30870, I am not sure we will ever have the full tests I would like.  Anyway, I concluded that the replacement of font_name is a bug.  It did not matter because all pages are created before configuration is read.  If any of font_name, font_bold, or font_size are changed, set_font_sample is called to define a new font and reset the fonts for the samples on both font and hightlight pages.  I checked that this still works.

I convinced myself that the 3.6+ dialog cannot change 'encoding' in userCfg.