* make CallTip and ToolTip sub-classes of a common abstract base class
* remove ListboxToolTip (unused and ugly)
* greatly increase test coverage
* tested on Windows, Linux and macOS
(cherry picked from commit 87e59ac11e)
Co-authored-by: Tal Einat <taleinat+github@gmail.com>
This follows the previous patch that changed idlelib file names.
Class names that matched old module names are not changed.
Change idlelib imports in turtledemo.__main__.
Exception: config-extensions.def. Previously, extension section
names, file names, and class names had to match. Changing section
names would create cross-version conflicts in config-extensions.cfg
(user customizations). Instead map old names to new file names
at point of import in editor.EditorWindow.load_extension.
Patch extensively tested with test_idle, idle_test.htest.py, a custom
import-all test, running IDLE in a console to catch messages,
and testing each menu item. Based on a patch by Al Sweigart.