]> granicus.if.org Git - python/commitdiff
Issue #24225: Within idlelib files, update idlelib module names.
authorTerry Jan Reedy <tjreedy@udel.edu>
Sat, 28 May 2016 17:22:31 +0000 (13:22 -0400)
committerTerry Jan Reedy <tjreedy@udel.edu>
Sat, 28 May 2016 17:22:31 +0000 (13:22 -0400)
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.

73 files changed:
Lib/idlelib/__main__.py
Lib/idlelib/autocomplete.py
Lib/idlelib/autocomplete_w.py
Lib/idlelib/browser.py
Lib/idlelib/calltip_w.py
Lib/idlelib/calltips.py
Lib/idlelib/codecontext.py
Lib/idlelib/colorizer.py
Lib/idlelib/config.py
Lib/idlelib/config_sec.py
Lib/idlelib/configdialog.py
Lib/idlelib/debugger.py
Lib/idlelib/debugger_r.py
Lib/idlelib/debugobj.py
Lib/idlelib/editor.py
Lib/idlelib/filelist.py
Lib/idlelib/grep.py
Lib/idlelib/help.py
Lib/idlelib/help_about.py
Lib/idlelib/history.py
Lib/idlelib/hyperparser.py
Lib/idlelib/idle.py
Lib/idlelib/idle.pyw
Lib/idlelib/idle_test/htest.py
Lib/idlelib/idle_test/mock_idle.py
Lib/idlelib/idle_test/test_autocomplete.py
Lib/idlelib/idle_test/test_autoexpand.py
Lib/idlelib/idle_test/test_calltips.py
Lib/idlelib/idle_test/test_config_help.py
Lib/idlelib/idle_test/test_config_sec.py [moved from Lib/idlelib/idle_test/test_config_name.py with 95% similarity]
Lib/idlelib/idle_test/test_configdialog.py
Lib/idlelib/idle_test/test_delegator.py
Lib/idlelib/idle_test/test_editor.py
Lib/idlelib/idle_test/test_grep.py
Lib/idlelib/idle_test/test_history.py
Lib/idlelib/idle_test/test_hyperparser.py
Lib/idlelib/idle_test/test_iomenu.py
Lib/idlelib/idle_test/test_paragraph.py
Lib/idlelib/idle_test/test_parenmatch.py
Lib/idlelib/idle_test/test_pathbrowser.py
Lib/idlelib/idle_test/test_percolator.py
Lib/idlelib/idle_test/test_redirector.py
Lib/idlelib/idle_test/test_replace.py
Lib/idlelib/idle_test/test_rstrip.py
Lib/idlelib/idle_test/test_search.py
Lib/idlelib/idle_test/test_searchbase.py
Lib/idlelib/idle_test/test_searchengine.py
Lib/idlelib/idle_test/test_textview.py
Lib/idlelib/idle_test/test_undo.py
Lib/idlelib/idle_test/test_warning.py
Lib/idlelib/iomenu.py
Lib/idlelib/macosx.py
Lib/idlelib/mainmenu.py
Lib/idlelib/outwin.py
Lib/idlelib/paragraph.py
Lib/idlelib/parenmatch.py
Lib/idlelib/pathbrowser.py
Lib/idlelib/percolator.py
Lib/idlelib/pyshell.py
Lib/idlelib/redirector.py
Lib/idlelib/replace.py
Lib/idlelib/run.py
Lib/idlelib/runscript.py
Lib/idlelib/scrolledlist.py
Lib/idlelib/search.py
Lib/idlelib/searchbase.py
Lib/idlelib/searchengine.py
Lib/idlelib/stackviewer.py
Lib/idlelib/tooltip.py
Lib/idlelib/tree.py
Lib/idlelib/undo.py
Lib/idlelib/zoomheight.py
Lib/turtledemo/__main__.py

index 2edf5f7dc142a8f2bb5743e3fbd66be2d045fda1..6349ec75c64e9325de5e4bec40ec3f1f46db38cc 100644 (file)
@@ -3,6 +3,6 @@ IDLE main entry point
 
 Run IDLE as python -m idlelib
 """
-import idlelib.PyShell
-idlelib.PyShell.main()
+import idlelib.pyshell
+idlelib.pyshell.main()
 # This file does not work for 2.7; See issue 24212.
index b9ec539e68d4eb13be573a5341a439f253dd9999..6e75f67947fc501f3910cf76e1868a7ae5ef9b14 100644 (file)
@@ -1,4 +1,4 @@
-"""AutoComplete.py - An IDLE extension for automatically completing names.
+"""autocomplete.py - An IDLE extension for automatically completing names.
 
 This extension can complete either attribute names of file names. It can pop
 a window with all available names, for the user to select from.
@@ -7,7 +7,7 @@ import os
 import sys
 import string
 
-from idlelib.configHandler import idleConf
+from idlelib.config import idleConf
 
 # This string includes all chars that may be in an identifier
 ID_CHARS = string.ascii_letters + string.digits + "_"
@@ -15,8 +15,8 @@ ID_CHARS = string.ascii_letters + string.digits + "_"
 # These constants represent the two different types of completions
 COMPLETE_ATTRIBUTES, COMPLETE_FILES = range(1, 2+1)
 
-from idlelib import AutoCompleteWindow
-from idlelib.HyperParser import HyperParser
+from idlelib import autocomplete_w
+from idlelib.hyperparser import HyperParser
 
 import __main__
 
@@ -49,7 +49,7 @@ class AutoComplete:
         self._delayed_completion_index = None
 
     def _make_autocomplete_window(self):
-        return AutoCompleteWindow.AutoCompleteWindow(self.text)
+        return autocomplete_w.AutoCompleteWindow(self.text)
 
     def _remove_autocomplete_window(self, event=None):
         if self.autocompletewindow:
index 2ee6878396d13f2f1099034c45406ae9cc430590..c66b3dfff05b62c3e0a4ccf33b7d35fd59493a2f 100644 (file)
@@ -1,9 +1,9 @@
 """
-An auto-completion window for IDLE, used by the AutoComplete extension
+An auto-completion window for IDLE, used by the autocomplete extension
 """
 from tkinter import *
-from idlelib.MultiCall import MC_SHIFT
-from idlelib.AutoComplete import COMPLETE_FILES, COMPLETE_ATTRIBUTES
+from idlelib.multicall import MC_SHIFT
+from idlelib.autocomplete import COMPLETE_FILES, COMPLETE_ATTRIBUTES
 
 HIDE_VIRTUAL_EVENT_NAME = "<<autocompletewindow-hide>>"
 HIDE_SEQUENCES = ("<FocusOut>", "<ButtonPress>")
@@ -34,8 +34,8 @@ class AutoCompleteWindow:
         self.completions = None
         # A list with more completions, or None
         self.morecompletions = None
-        # The completion mode. Either AutoComplete.COMPLETE_ATTRIBUTES or
-        # AutoComplete.COMPLETE_FILES
+        # The completion mode. Either autocomplete.COMPLETE_ATTRIBUTES or
+        # autocomplete.COMPLETE_FILES
         self.mode = None
         # The current completion start, on the text box (a string)
         self.start = None
index d09c52fe4d75f4d35daf828d30f083d0262be6e6..9968333c245f290eb3f2295cf84f17bd1f1d4e1a 100644 (file)
@@ -14,13 +14,13 @@ import os
 import sys
 import pyclbr
 
-from idlelib import PyShell
-from idlelib.WindowList import ListedToplevel
-from idlelib.TreeWidget import TreeNode, TreeItem, ScrolledCanvas
-from idlelib.configHandler import idleConf
+from idlelib import pyshell
+from idlelib.windows import ListedToplevel
+from idlelib.tree import TreeNode, TreeItem, ScrolledCanvas
+from idlelib.config import idleConf
 
 file_open = None  # Method...Item and Class...Item use this.
-# Normally PyShell.flist.open, but there is no PyShell.flist for htest.
+# Normally pyshell.flist.open, but there is no pyshell.flist for htest.
 
 class ClassBrowser:
 
@@ -32,7 +32,7 @@ class ClassBrowser:
         """
         global file_open
         if not _htest:
-            file_open = PyShell.flist.open
+            file_open = pyshell.flist.open
         self.name = name
         self.file = os.path.join(path[0], self.name + ".py")
         self._htest = _htest
@@ -95,7 +95,7 @@ class ModuleBrowserTreeItem(TreeItem):
             return
         if not os.path.exists(self.file):
             return
-        PyShell.flist.open(self.file)
+        pyshell.flist.open(self.file)
 
     def IsExpandable(self):
         return os.path.normcase(self.file[-3:]) == ".py"
@@ -226,7 +226,7 @@ def _class_browser(parent): #Wrapper for htest
             file = sys.argv[0]
     dir, file = os.path.split(file)
     name = os.path.splitext(file)[0]
-    flist = PyShell.PyShellFileList(parent)
+    flist = pyshell.PyShellFileList(parent)
     global file_open
     file_open = flist.open
     ClassBrowser(flist, name, [dir], _htest=True)
index 8e68a76b2a8a2f25c4836e0df6bca6a0763efd87..9f6cdc17715abd0928e83718a678bb986b505ac3 100644 (file)
@@ -1,7 +1,7 @@
 """A CallTip window class for Tkinter/IDLE.
 
-After ToolTip.py, which uses ideas gleaned from PySol
-Used by the CallTips IDLE extension.
+After tooltip.py, which uses ideas gleaned from PySol
+Used by the calltips IDLE extension.
 """
 from tkinter import Toplevel, Label, LEFT, SOLID, TclError
 
index 81bd5f1890e0e498c109c5ea6651a17f24ddb6dd..3a9b1c67766d4434264a7e5a67502f357290e4d9 100644 (file)
@@ -1,4 +1,4 @@
-"""CallTips.py - An IDLE Extension to Jog Your Memory
+"""calltips.py - An IDLE Extension to Jog Your Memory
 
 Call Tips are floating windows which display function, class, and method
 parameter and docstring information when you type an opening parenthesis, and
@@ -12,8 +12,8 @@ import sys
 import textwrap
 import types
 
-from idlelib import CallTipWindow
-from idlelib.HyperParser import HyperParser
+from idlelib import calltip_w
+from idlelib.hyperparser import HyperParser
 
 class CallTips:
 
@@ -37,7 +37,7 @@ class CallTips:
 
     def _make_tk_calltip_window(self):
         # See __init__ for usage
-        return CallTipWindow.CallTip(self.text)
+        return calltip_w.CallTip(self.text)
 
     def _remove_calltip_window(self, event=None):
         if self.active_calltip:
index 7d25adaa4ce3c6445f6b3120275db27d9acf3095..2a21a1f84ab23660690f4ade0409046642cd07ce 100644 (file)
@@ -1,11 +1,11 @@
-"""CodeContext - Extension to display the block context above the edit window
+"""codecontext - Extension to display the block context above the edit window
 
 Once code has scrolled off the top of a window, it can be difficult to
 determine which block you are in.  This extension implements a pane at the top
 of each IDLE edit window which provides block structure hints.  These hints are
 the lines which contain the block opening keywords, e.g. 'if', for the
 enclosing block.  The number of hint lines is determined by the numlines
-variable in the CodeContext section of config-extensions.def. Lines which do
+variable in the codecontext section of config-extensions.def. Lines which do
 not open blocks are not shown in the context hints pane.
 
 """
@@ -13,7 +13,7 @@ import tkinter
 from tkinter.constants import TOP, LEFT, X, W, SUNKEN
 import re
 from sys import maxsize as INFINITY
-from idlelib.configHandler import idleConf
+from idlelib.config import idleConf
 
 BLOCKOPENERS = {"class", "def", "elif", "else", "except", "finally", "for",
                     "if", "try", "while", "with"}
index 9f313496040aeeca2161b575ae7be98cc9308ab7..ca365f70fb2c03bbf021f3c7953c9485fd9a7318 100644 (file)
@@ -2,8 +2,8 @@ import time
 import re
 import keyword
 import builtins
-from idlelib.Delegator import Delegator
-from idlelib.configHandler import idleConf
+from idlelib.delegator import Delegator
+from idlelib.config import idleConf
 
 DEBUG = False
 
@@ -235,7 +235,7 @@ class ColorDelegator(Delegator):
 
 def _color_delegator(parent):  # htest #
     from tkinter import Toplevel, Text
-    from idlelib.Percolator import Percolator
+    from idlelib.percolator import Percolator
 
     top = Toplevel(parent)
     top.title("Test ColorDelegator")
index 8ac1f6097a84957d48c8e33da700abe7c53b6bd1..b9e1c6df0035e41f8007fcadb65bb97b574088ec 100644 (file)
@@ -7,7 +7,7 @@ duplicate the defaults will be removed from the user's configuration files,
 and if a file becomes empty, it will be deleted.
 
 The contents of the user files may be altered using the Options/Configure IDLE
-menu to access the configuration GUI (configDialog.py), or manually.
+menu to access the configuration GUI (configdialog.py), or manually.
 
 Throughout this module there is an emphasis on returning useable defaults
 when a problem occurs in returning a requested configuration value back to
@@ -230,7 +230,7 @@ class IdleConf:
                 return self.userCfg[configType].Get(section, option,
                                                     type=type, raw=raw)
         except ValueError:
-            warning = ('\n Warning: configHandler.py - IdleConf.GetOption -\n'
+            warning = ('\n Warning: config.py - IdleConf.GetOption -\n'
                        ' invalid %r value for configuration option %r\n'
                        ' from section %r: %r' %
                        (type, option, section,
@@ -247,7 +247,7 @@ class IdleConf:
             pass
         #returning default, print warning
         if warn_on_default:
-            warning = ('\n Warning: configHandler.py - IdleConf.GetOption -\n'
+            warning = ('\n Warning: config.py - IdleConf.GetOption -\n'
                        ' problem retrieving configuration option %r\n'
                        ' from section %r.\n'
                        ' returning default value: %r' %
@@ -358,7 +358,7 @@ class IdleConf:
         for element in theme:
             if not cfgParser.has_option(themeName, element):
                 # Print warning that will return a default color
-                warning = ('\n Warning: configHandler.IdleConf.GetThemeDict'
+                warning = ('\n Warning: config.IdleConf.GetThemeDict'
                            ' -\n problem retrieving theme element %r'
                            '\n from theme %r.\n'
                            ' returning default color: %r' %
@@ -644,7 +644,7 @@ class IdleConf:
                 if binding:
                     keyBindings[event] = binding
                 else: #we are going to return a default, print warning
-                    warning=('\n Warning: configHandler.py - IdleConf.GetCoreKeys'
+                    warning=('\n Warning: config.py - IdleConf.GetCoreKeys'
                                ' -\n problem retrieving key binding for event %r'
                                '\n from key set %r.\n'
                                ' returning default value: %r' %
index 5137836981ec82a8098797ea44883ee41e53715b..7b59124507adc6139da5cc34f801e700c191bf00 100644 (file)
@@ -1,7 +1,7 @@
 """
 Dialog that allows user to specify a new config file section name.
 Used to get new highlight theme and keybinding set names.
-The 'return value' for the dialog, used two placed in configDialog.py,
+The 'return value' for the dialog, used two placed in configdialog.py,
 is the .result attribute set in the Ok and Cancel methods.
 """
 from tkinter import *
index b7022537e61c76a1d39462549f7ac14e577b7008..b58806e38c4c2a719196ebbc831107f1bc2b28d5 100644 (file)
@@ -14,14 +14,14 @@ import tkinter.messagebox as tkMessageBox
 import tkinter.colorchooser as tkColorChooser
 import tkinter.font as tkFont
 
-from idlelib.configHandler import idleConf
-from idlelib.dynOptionMenuWidget import DynOptionMenu
-from idlelib.keybindingDialog import GetKeysDialog
-from idlelib.configSectionNameDialog import GetCfgSectionNameDialog
-from idlelib.configHelpSourceEdit import GetHelpSourceDialog
+from idlelib.config import idleConf
+from idlelib.dynoption import DynOptionMenu
+from idlelib.config_key import GetKeysDialog
+from idlelib.config_sec import GetCfgSectionNameDialog
+from idlelib.config_help import GetHelpSourceDialog
 from idlelib.tabbedpages import TabbedPageSet
-from idlelib.textView import view_text
-from idlelib import macosxSupport
+from idlelib.textview import view_text
+from idlelib import macosx
 
 class ConfigDialog(Toplevel):
 
@@ -91,7 +91,7 @@ class ConfigDialog(Toplevel):
         self.create_action_buttons().pack(side=BOTTOM)
 
     def create_action_buttons(self):
-        if macosxSupport.isAquaTk():
+        if macosx.isAquaTk():
             # Changing the default padding on OSX results in unreadable
             # text in the buttons
             paddingArgs = {}
index d5e217dde9b78e20d9426eedb1cc13f0dd9bf225..9af626cca9c92c5b006f39a077a3488947ddbe12 100644 (file)
@@ -1,9 +1,9 @@
 import os
 import bdb
 from tkinter import *
-from idlelib.WindowList import ListedToplevel
-from idlelib.ScrolledList import ScrolledList
-from idlelib import macosxSupport
+from idlelib.windows import ListedToplevel
+from idlelib.scrolledlist import ScrolledList
+from idlelib import macosx
 
 
 class Idb(bdb.Bdb):
@@ -34,8 +34,10 @@ class Idb(bdb.Bdb):
             return True
         else:
             prev_frame = frame.f_back
-            if prev_frame.f_code.co_filename.count('Debugger.py'):
-                # (that test will catch both Debugger.py and RemoteDebugger.py)
+            prev_name = prev_frame.f_code.co_filename
+            if 'idlelib' in prev_name and 'debugger' in prev_name:
+                # catch both idlelib/debugger.py and idlelib/debugger_r.py
+                # on both posix and windows
                 return False
             return self.in_rpc_code(prev_frame)
 
@@ -370,7 +372,7 @@ class Debugger:
 class StackViewer(ScrolledList):
 
     def __init__(self, master, flist, gui):
-        if macosxSupport.isAquaTk():
+        if macosx.isAquaTk():
             # At least on with the stock AquaTk version on OSX 10.4 you'll
             # get a shaking GUI that eventually kills IDLE if the width
             # argument is specified.
@@ -502,7 +504,7 @@ class NamespaceViewer:
             #
             # There is also an obscure bug in sorted(dict) where the
             # interpreter gets into a loop requesting non-existing dict[0],
-            # dict[1], dict[2], etc from the RemoteDebugger.DictProxy.
+            # dict[1], dict[2], etc from the debugger_r.DictProxy.
             ###
             keys_list = dict.keys()
             names = sorted(keys_list)
index be2262f080c116019b5e7abbebc8f5153a8a4926..bc971276de6727cc87b3cc1699e454946a9cc190 100644 (file)
@@ -21,7 +21,7 @@ barrier, in particular frame and traceback objects.
 """
 
 import types
-from idlelib import Debugger
+from idlelib import debugger
 
 debugging = 0
 
@@ -187,7 +187,7 @@ def start_debugger(rpchandler, gui_adap_oid):
 
     """
     gui_proxy = GUIProxy(rpchandler, gui_adap_oid)
-    idb = Debugger.Idb(gui_proxy)
+    idb = debugger.Idb(gui_proxy)
     idb_adap = IdbAdapter(idb)
     rpchandler.register(idb_adap_oid, idb_adap)
     return idb_adap_oid
@@ -362,7 +362,7 @@ def start_remote_debugger(rpcclt, pyshell):
     idb_adap_oid = rpcclt.remotecall("exec", "start_the_debugger",\
                                    (gui_adap_oid,), {})
     idb_proxy = IdbProxy(rpcclt, pyshell, idb_adap_oid)
-    gui = Debugger.Debugger(pyshell, idb_proxy)
+    gui = debugger.Debugger(pyshell, idb_proxy)
     gui_adap = GUIAdapter(rpcclt, gui)
     rpcclt.register(gui_adap_oid, gui_adap)
     return gui
@@ -373,7 +373,7 @@ def close_remote_debugger(rpcclt):
     Request that the RPCServer shut down the subprocess debugger and link.
     Unregister the GUIAdapter, which will cause a GC on the Idle process
     debugger and RPC link objects.  (The second reference to the debugger GUI
-    is deleted in PyShell.close_remote_debugger().)
+    is deleted in pyshell.close_remote_debugger().)
 
     """
     close_subprocess_debugger(rpcclt)
index 7b57aa4c684b8a0964f40c7a5d0e0d8e1b544a0f..4016c032d45ddec5827d4bd933aedb162754f0e3 100644 (file)
@@ -11,7 +11,7 @@
 
 import re
 
-from idlelib.TreeWidget import TreeItem, TreeNode, ScrolledCanvas
+from idlelib.tree import TreeItem, TreeNode, ScrolledCanvas
 
 from reprlib import Repr
 
@@ -126,7 +126,7 @@ def _object_browser(parent):
     import sys
     from tkinter import Tk
     root = Tk()
-    root.title("Test ObjectBrowser")
+    root.title("Test debug object browser")
     width, height, x, y = list(map(int, re.split('[x+]', parent.geometry())))
     root.geometry("+%d+%d"%(x, y + 150))
     root.configure(bd=0, bg="yellow")
index b5868be3fb839c1c96df13112ef37a4f8822d87e..3aa5278746bf11bf57dc0c65d213e6619526c84a 100644 (file)
@@ -12,15 +12,15 @@ import tkinter.messagebox as tkMessageBox
 import traceback
 import webbrowser
 
-from idlelib.MultiCall import MultiCallCreator
-from idlelib import WindowList
-from idlelib import SearchDialog
-from idlelib import GrepDialog
-from idlelib import ReplaceDialog
-from idlelib import PyParse
-from idlelib.configHandler import idleConf
-from idlelib import aboutDialog, textView, configDialog
-from idlelib import macosxSupport
+from idlelib.multicall import MultiCallCreator
+from idlelib import windows
+from idlelib import search
+from idlelib import grep
+from idlelib import replace
+from idlelib import pyparse
+from idlelib.config import idleConf
+from idlelib import help_about, textview, configdialog
+from idlelib import macosx
 from idlelib import help
 
 # The default tab setting for a Text widget, in average-width characters.
@@ -67,7 +67,7 @@ class HelpDialog(object):
     def show_dialog(self, parent):
         self.parent = parent
         fn=os.path.join(os.path.abspath(os.path.dirname(__file__)),'help.txt')
-        self.dlg = dlg = textView.view_file(parent,'Help',fn, modal=False)
+        self.dlg = dlg = textview.view_file(parent,'Help',fn, modal=False)
         dlg.bind('<Destroy>', self.destroy, '+')
 
     def nearwindow(self, near):
@@ -89,13 +89,13 @@ helpDialog = HelpDialog()  # singleton instance, no longer used
 
 
 class EditorWindow(object):
-    from idlelib.Percolator import Percolator
-    from idlelib.ColorDelegator import ColorDelegator
-    from idlelib.UndoDelegator import UndoDelegator
-    from idlelib.IOBinding import IOBinding, filesystemencoding, encoding
-    from idlelib import Bindings
+    from idlelib.percolator import Percolator
+    from idlelib.colorizer import ColorDelegator
+    from idlelib.undo import UndoDelegator
+    from idlelib.iomenu import IOBinding, filesystemencoding, encoding
+    from idlelib import mainmenu
     from tkinter import Toplevel
-    from idlelib.MultiStatusBar import MultiStatusBar
+    from idlelib.statusbar import MultiStatusBar
 
     help_url = None
 
@@ -136,11 +136,11 @@ class EditorWindow(object):
         except AttributeError:
             sys.ps1 = '>>> '
         self.menubar = Menu(root)
-        self.top = top = WindowList.ListedToplevel(root, menu=self.menubar)
+        self.top = top = windows.ListedToplevel(root, menu=self.menubar)
         if flist:
             self.tkinter_vars = flist.vars
             #self.top.instance_dict makes flist.inversedict available to
-            #configDialog.py so it can access all EditorWindow instances
+            #configdialog.py so it can access all EditorWindow instances
             self.top.instance_dict = flist.inversedict
         else:
             self.tkinter_vars = {}  # keys: Tkinter event names
@@ -173,7 +173,7 @@ class EditorWindow(object):
 
         self.top.protocol("WM_DELETE_WINDOW", self.close)
         self.top.bind("<<close-window>>", self.close_event)
-        if macosxSupport.isAquaTk():
+        if macosx.isAquaTk():
             # Command-W on editorwindows doesn't work without this.
             text.bind('<<close-window>>', self.close_event)
             # Some OS X systems have only one mouse button, so use
@@ -309,7 +309,7 @@ class EditorWindow(object):
                 menu.add_separator()
                 end = end + 1
             self.wmenu_end = end
-            WindowList.register_callback(self.postwindowsmenu)
+            windows.register_callback(self.postwindowsmenu)
 
         # Some abstractions so IDLE extensions are cross-IDE
         self.askyesno = tkMessageBox.askyesno
@@ -418,7 +418,7 @@ class EditorWindow(object):
             underline, label = prepstr(label)
             menudict[name] = menu = Menu(mbar, name=name, tearoff=0)
             mbar.add_cascade(label=label, menu=menu, underline=underline)
-        if macosxSupport.isCarbonTk():
+        if macosx.isCarbonTk():
             # Insert the application menu
             menudict['application'] = menu = Menu(mbar, name='apple',
                                                   tearoff=0)
@@ -439,7 +439,7 @@ class EditorWindow(object):
             end = -1
         if end > self.wmenu_end:
             menu.delete(self.wmenu_end+1, end)
-        WindowList.add_windows_to_menu(menu)
+        windows.add_windows_to_menu(menu)
 
     rmenu = None
 
@@ -507,17 +507,17 @@ class EditorWindow(object):
 
     def about_dialog(self, event=None):
         "Handle Help 'About IDLE' event."
-        # Synchronize with macosxSupport.overrideRootMenu.about_dialog.
-        aboutDialog.AboutDialog(self.top,'About IDLE')
+        # Synchronize with macosx.overrideRootMenu.about_dialog.
+        help_about.AboutDialog(self.top,'About IDLE')
 
     def config_dialog(self, event=None):
         "Handle Options 'Configure IDLE' event."
-        # Synchronize with macosxSupport.overrideRootMenu.config_dialog.
-        configDialog.ConfigDialog(self.top,'Settings')
+        # Synchronize with macosx.overrideRootMenu.config_dialog.
+        configdialog.ConfigDialog(self.top,'Settings')
 
     def help_dialog(self, event=None):
         "Handle Help 'IDLE Help' event."
-        # Synchronize with macosxSupport.overrideRootMenu.help_dialog.
+        # Synchronize with macosx.overrideRootMenu.help_dialog.
         if self.root:
             parent = self.root
         else:
@@ -590,23 +590,23 @@ class EditorWindow(object):
         return "break"
 
     def find_event(self, event):
-        SearchDialog.find(self.text)
+        search.find(self.text)
         return "break"
 
     def find_again_event(self, event):
-        SearchDialog.find_again(self.text)
+        search.find_again(self.text)
         return "break"
 
     def find_selection_event(self, event):
-        SearchDialog.find_selection(self.text)
+        search.find_selection(self.text)
         return "break"
 
     def find_in_files_event(self, event):
-        GrepDialog.grep(self.text, self.io, self.flist)
+        grep.grep(self.text, self.io, self.flist)
         return "break"
 
     def replace_event(self, event):
-        ReplaceDialog.replace(self.text)
+        replace.replace(self.text)
         return "break"
 
     def goto_line_event(self, event):
@@ -673,12 +673,12 @@ class EditorWindow(object):
                 return
         head, tail = os.path.split(filename)
         base, ext = os.path.splitext(tail)
-        from idlelib import ClassBrowser
-        ClassBrowser.ClassBrowser(self.flist, base, [head])
+        from idlelib import browser
+        browser.ClassBrowser(self.flist, base, [head])
 
     def open_path_browser(self, event=None):
-        from idlelib import PathBrowser
-        PathBrowser.PathBrowser(self.flist)
+        from idlelib import pathbrowser
+        pathbrowser.PathBrowser(self.flist)
 
     def open_turtle_demo(self, event = None):
         import subprocess
@@ -739,7 +739,7 @@ class EditorWindow(object):
 
     def ResetColorizer(self):
         "Update the color theme"
-        # Called from self.filename_change_hook and from configDialog.py
+        # Called from self.filename_change_hook and from configdialog.py
         self._rmcolorizer()
         self._addcolorizer()
         theme = idleConf.CurrentTheme()
@@ -772,14 +772,14 @@ class EditorWindow(object):
 
     def ResetFont(self):
         "Update the text widgets' font if it is changed"
-        # Called from configDialog.py
+        # Called from configdialog.py
 
         self.text['font'] = idleConf.GetFont(self.root, 'main','EditorWindow')
 
     def RemoveKeybindings(self):
         "Remove the keybindings before they are changed."
-        # Called from configDialog.py
-        self.Bindings.default_keydefs = keydefs = idleConf.GetCurrentKeySet()
+        # Called from configdialog.py
+        self.mainmenu.default_keydefs = keydefs = idleConf.GetCurrentKeySet()
         for event, keylist in keydefs.items():
             self.text.event_delete(event, *keylist)
         for extensionName in self.get_standard_extension_names():
@@ -790,8 +790,8 @@ class EditorWindow(object):
 
     def ApplyKeybindings(self):
         "Update the keybindings after they are changed"
-        # Called from configDialog.py
-        self.Bindings.default_keydefs = keydefs = idleConf.GetCurrentKeySet()
+        # Called from configdialog.py
+        self.mainmenu.default_keydefs = keydefs = idleConf.GetCurrentKeySet()
         self.apply_bindings()
         for extensionName in self.get_standard_extension_names():
             xkeydefs = idleConf.GetExtensionBindings(extensionName)
@@ -799,7 +799,7 @@ class EditorWindow(object):
                 self.apply_bindings(xkeydefs)
         #update menu accelerators
         menuEventDict = {}
-        for menu in self.Bindings.menudefs:
+        for menu in self.mainmenu.menudefs:
             menuEventDict[menu[0]] = {}
             for item in menu[1]:
                 if item:
@@ -826,7 +826,7 @@ class EditorWindow(object):
 
     def set_notabs_indentwidth(self):
         "Update the indentwidth if changed and not using tabs in this window"
-        # Called from configDialog.py
+        # Called from configdialog.py
         if not self.usetabs:
             self.indentwidth = idleConf.GetOption('main', 'Indent','num-spaces',
                                                   type='int')
@@ -1006,7 +1006,7 @@ class EditorWindow(object):
     def _close(self):
         if self.io.filename:
             self.update_recent_files_list(new_file=self.io.filename)
-        WindowList.unregister_callback(self.postwindowsmenu)
+        windows.unregister_callback(self.postwindowsmenu)
         self.unload_extensions()
         self.io.close()
         self.io = None
@@ -1044,12 +1044,25 @@ class EditorWindow(object):
     def get_standard_extension_names(self):
         return idleConf.GetExtensions(editor_only=True)
 
+    extfiles = {  # map config-extension section names to new file names
+        'AutoComplete': 'autocomplete',
+        'AutoExpand': 'autoexpand',
+        'CallTips': 'calltips',
+        'CodeContext': 'codecontext',
+        'FormatParagraph': 'paragraph',
+        'ParenMatch': 'parenmatch',
+        'RstripExtension': 'rstrip',
+        'ScriptBinding': 'runscript',
+        'ZoomHeight': 'zoomheight',
+        }
+
     def load_extension(self, name):
+        fname = self.extfiles.get(name, name)
         try:
             try:
-                mod = importlib.import_module('.' + name, package=__package__)
+                mod = importlib.import_module('.' + fname, package=__package__)
             except (ImportError, TypeError):
-                mod = importlib.import_module(name)
+                mod = importlib.import_module(fname)
         except ImportError:
             print("\nFailed to import extension: ", name)
             raise
@@ -1073,7 +1086,7 @@ class EditorWindow(object):
 
     def apply_bindings(self, keydefs=None):
         if keydefs is None:
-            keydefs = self.Bindings.default_keydefs
+            keydefs = self.mainmenu.default_keydefs
         text = self.text
         text.keydefs = keydefs
         for event, keylist in keydefs.items():
@@ -1086,9 +1099,9 @@ class EditorWindow(object):
         Menus that are absent or None in self.menudict are ignored.
         """
         if menudefs is None:
-            menudefs = self.Bindings.menudefs
+            menudefs = self.mainmenu.menudefs
         if keydefs is None:
-            keydefs = self.Bindings.default_keydefs
+            keydefs = self.mainmenu.default_keydefs
         menudict = self.menudict
         text = self.text
         for mname, entrylist in menudefs:
@@ -1315,7 +1328,7 @@ class EditorWindow(object):
             # adjust indentation for continuations and block
             # open/close first need to find the last stmt
             lno = index2line(text.index('insert'))
-            y = PyParse.Parser(self.indentwidth, self.tabwidth)
+            y = pyparse.Parser(self.indentwidth, self.tabwidth)
             if not self.context_use_ps1:
                 for context in self.num_context_lines:
                     startat = max(lno - context, 1)
@@ -1339,22 +1352,22 @@ class EditorWindow(object):
                 y.set_lo(0)
 
             c = y.get_continuation_type()
-            if c != PyParse.C_NONE:
+            if c != pyparse.C_NONE:
                 # The current stmt hasn't ended yet.
-                if c == PyParse.C_STRING_FIRST_LINE:
+                if c == pyparse.C_STRING_FIRST_LINE:
                     # after the first line of a string; do not indent at all
                     pass
-                elif c == PyParse.C_STRING_NEXT_LINES:
+                elif c == pyparse.C_STRING_NEXT_LINES:
                     # inside a string which started before this line;
                     # just mimic the current indent
                     text.insert("insert", indent)
-                elif c == PyParse.C_BRACKET:
+                elif c == pyparse.C_BRACKET:
                     # line up with the first (if any) element of the
                     # last open bracket structure; else indent one
                     # level beyond the indent of the line with the
                     # last open bracket
                     self.reindent_to(y.compute_bracket_indent())
-                elif c == PyParse.C_BACKSLASH:
+                elif c == pyparse.C_BACKSLASH:
                     # if more than one line in this stmt already, just
                     # mimic the current indent; else if initial line
                     # has a start on an assignment stmt, indent to
@@ -1657,7 +1670,7 @@ def get_accelerator(keydefs, eventname):
     keylist = keydefs.get(eventname)
     # issue10940: temporary workaround to prevent hang with OS X Cocoa Tk 8.5
     # if not keylist:
-    if (not keylist) or (macosxSupport.isCocoaTk() and eventname in {
+    if (not keylist) or (macosx.isCocoaTk() and eventname in {
                             "<<open-module>>",
                             "<<goto-line>>",
                             "<<change-indentwidth>>"}):
@@ -1692,7 +1705,7 @@ def _editor_window(parent):  # htest #
         filename = sys.argv[1]
     else:
         filename = None
-    macosxSupport.setupApp(root, None)
+    macosx.setupApp(root, None)
     edit = EditorWindow(root=root, filename=filename)
     edit.text.bind("<<close-all-windows>>", edit.close_event)
     # Does not stop error, neither does following
index a9989a8624ae4171940c609043df11e66b76a69e..b5af90ccaf360a43af86cbe79eea307b973c7487 100644 (file)
@@ -6,7 +6,7 @@ import tkinter.messagebox as tkMessageBox
 class FileList:
 
     # N.B. this import overridden in PyShellFileList.
-    from idlelib.EditorWindow import EditorWindow
+    from idlelib.editor import EditorWindow
 
     def __init__(self, root):
         self.root = root
@@ -111,7 +111,7 @@ class FileList:
 
 
 def _test():
-    from idlelib.EditorWindow import fixwordbreaks
+    from idlelib.editor import fixwordbreaks
     import sys
     root = Tk()
     fixwordbreaks(root)
index 721b231a9e86bc654e17da318fd7f239be2defba..28132a89177ffaf1253d271c690ce470771bc0f3 100644 (file)
@@ -4,14 +4,14 @@ import re  # for htest
 import sys
 from tkinter import StringVar, BooleanVar, Checkbutton  # for GrepDialog
 from tkinter import Tk, Text, Button, SEL, END  # for htest
-from idlelib import SearchEngine
-from idlelib.SearchDialogBase import SearchDialogBase
+from idlelib import searchengine
+from idlelib.searchbase import SearchDialogBase
 # Importing OutputWindow fails due to import loop
 # EditorWindow -> GrepDialop -> OutputWindow -> EditorWindow
 
 def grep(text, io=None, flist=None):
     root = text._root()
-    engine = SearchEngine.get(root)
+    engine = searchengine.get(root)
     if not hasattr(engine, "_grepdialog"):
         engine._grepdialog = GrepDialog(root, engine, flist)
     dialog = engine._grepdialog
@@ -67,7 +67,7 @@ class GrepDialog(SearchDialogBase):
         if not path:
             self.top.bell()
             return
-        from idlelib.OutputWindow import OutputWindow  # leave here!
+        from idlelib.outwin import OutputWindow  # leave here!
         save = sys.stdout
         try:
             sys.stdout = OutputWindow(self.flist)
@@ -131,7 +131,7 @@ class GrepDialog(SearchDialogBase):
 
 
 def _grep_dialog(parent):  # htest #
-    from idlelib.PyShell import PyShellFileList
+    from idlelib.pyshell import PyShellFileList
     root = Tk()
     root.title("Test GrepDialog")
     width, height, x, y = list(map(int, re.split('[x+]', parent.geometry())))
index 4cb8c763905ebe522a369499d9fc936ff83305fd..00930151dc9a4e73a6a85f667c91c1d9b3f16cc0 100644 (file)
@@ -4,7 +4,7 @@ Contents are subject to revision at any time, without notice.
 
 Help => About IDLE: diplay About Idle dialog
 
-<to be moved here from aboutDialog.py>
+<to be moved here from help_about.py>
 
 
 Help => IDLE Help: Display help.html with proper formatting.
@@ -28,7 +28,7 @@ from html.parser import HTMLParser
 from os.path import abspath, dirname, isfile, join
 from tkinter import Toplevel, Frame, Text, Scrollbar, Menu, Menubutton
 from tkinter import font as tkfont
-from idlelib.configHandler import idleConf
+from idlelib.config import idleConf
 
 use_ttk = False # until available to import
 if use_ttk:
index 3112e6a3da0c8471a6607e2ce28ef4ea4d8b7367..4b6c52895097b3cf60579dc726ff0e51680cd51c 100644 (file)
@@ -5,7 +5,7 @@
 import os
 from sys import version
 from tkinter import *
-from idlelib import textView
+from idlelib import textview
 
 class AboutDialog(Toplevel):
     """Modal about dialog for idle
@@ -135,11 +135,11 @@ class AboutDialog(Toplevel):
     def display_printer_text(self, title, printer):
         printer._Printer__setup()
         text = '\n'.join(printer._Printer__lines)
-        textView.view_text(self, title, text)
+        textview.view_text(self, title, text)
 
     def display_file_text(self, title, filename, encoding=None):
         fn = os.path.join(os.path.abspath(os.path.dirname(__file__)), filename)
-        textView.view_file(self, title, fn, encoding)
+        textview.view_file(self, title, fn, encoding)
 
     def Ok(self, event=None):
         self.destroy()
index 078af2905325b5df1912ea345669f513ff9c6a5e..6068d4f9fad3f4aee541c3580ca9c6ac07dca2cb 100644 (file)
@@ -1,11 +1,11 @@
 "Implement Idle Shell history mechanism with History class"
 
-from idlelib.configHandler import idleConf
+from idlelib.config import idleConf
 
 class History:
     ''' Implement Idle Shell history mechanism.
 
-    store - Store source statement (called from PyShell.resetoutput).
+    store - Store source statement (called from pyshell.resetoutput).
     fetch - Fetch stored statement matching prefix already entered.
     history_next - Bound to <<history-next>> event (default Alt-N).
     history_prev - Bound to <<history-prev>> event (default Alt-P).
index 77cb057ce21f58b10721cdeb59417c28edff08a4..f904a39e24f0552df056363665e781bdbcfd9fc0 100644 (file)
@@ -7,7 +7,7 @@ the structure of code.
 
 import string
 from keyword import iskeyword
-from idlelib import PyParse
+from idlelib import pyparse
 
 
 # all ASCII chars that may be in an identifier
@@ -30,7 +30,7 @@ class HyperParser:
         self.editwin = editwin
         self.text = text = editwin.text
 
-        parser = PyParse.Parser(editwin.indentwidth, editwin.tabwidth)
+        parser = pyparse.Parser(editwin.indentwidth, editwin.tabwidth)
 
         def index2line(index):
             return int(float(index))
index a249557dd1076870d5dfe6aeb632782189c0d729..c01cf992cc152edf3ceafabf535fe14e5e6a7799 100644 (file)
@@ -7,5 +7,5 @@ import sys
 idlelib_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
 sys.path.insert(0, idlelib_dir)
 
-import idlelib.PyShell
-idlelib.PyShell.main()
+import idlelib.pyshell
+idlelib.pyshell.main()
index 142cb322ac24934919a37451469803acf6ad6788..e73c049b70cc5aac3687d363f3089f9c0047c4ce 100644 (file)
@@ -1,10 +1,10 @@
 try:
-    import idlelib.PyShell
+    import idlelib.pyshell
 except ImportError:
-    # IDLE is not installed, but maybe PyShell is on sys.path:
-    from . import PyShell
+    # IDLE is not installed, but maybe pyshell is on sys.path:
+    from . import pyshell
     import os
-    idledir = os.path.dirname(os.path.abspath(PyShell.__file__))
+    idledir = os.path.dirname(os.path.abspath(pyshell.__file__))
     if idledir != os.getcwd():
         # We're not in the IDLE directory, help the subprocess find run.py
         pypath = os.environ.get('PYTHONPATH', '')
@@ -12,6 +12,6 @@ except ImportError:
             os.environ['PYTHONPATH'] = pypath + ':' + idledir
         else:
             os.environ['PYTHONPATH'] = idledir
-    PyShell.main()
+    pyshell.main()
 else:
-    idlelib.PyShell.main()
+    idlelib.pyshell.main()
index 58e62cb4e23e226c25cbfcbf6d52a965d525b410..4675645962238fb1b387ea71f503e91b1d08ac89 100644 (file)
@@ -59,19 +59,19 @@ msg: master window hints about testing the widget.
 
 
 Modules and classes not being tested at the moment:
-PyShell.PyShellEditorWindow
-Debugger.Debugger
-AutoCompleteWindow.AutoCompleteWindow
-OutputWindow.OutputWindow (indirectly being tested with grep test)
+pyshell.PyShellEditorWindow
+debugger.Debugger
+autocomplete_w.AutoCompleteWindow
+outwin.OutputWindow (indirectly being tested with grep test)
 '''
 
 from importlib import import_module
-from idlelib.macosxSupport import _initializeTkVariantTests
+from idlelib.macosx import _initializeTkVariantTests
 import tkinter as tk
 
 AboutDialog_spec = {
-    'file': 'aboutDialog',
-    'kwds': {'title': 'aboutDialog test',
+    'file': 'help_about',
+    'kwds': {'title': 'help_about test',
              '_htest': True,
              },
     'msg': "Test every button. Ensure Python, TK and IDLE versions "
@@ -79,14 +79,14 @@ AboutDialog_spec = {
     }
 
 _calltip_window_spec = {
-    'file': 'CallTipWindow',
+    'file': 'calltip_w',
     'kwds': {},
     'msg': "Typing '(' should display a calltip.\n"
            "Typing ') should hide the calltip.\n"
     }
 
 _class_browser_spec = {
-    'file': 'ClassBrowser',
+    'file': 'browser',
     'kwds': {},
     'msg': "Inspect names of module, class(with superclass if "
            "applicable), methods and functions.\nToggle nested items.\n"
@@ -95,7 +95,7 @@ _class_browser_spec = {
     }
 
 _color_delegator_spec = {
-    'file': 'ColorDelegator',
+    'file': 'colorizer',
     'kwds': {},
     'msg': "The text is sample Python code.\n"
            "Ensure components like comments, keywords, builtins,\n"
@@ -104,7 +104,7 @@ _color_delegator_spec = {
     }
 
 ConfigDialog_spec = {
-    'file': 'configDialog',
+    'file': 'configdialog',
     'kwds': {'title': 'ConfigDialogTest',
              '_htest': True,},
     'msg': "IDLE preferences dialog.\n"
@@ -121,7 +121,7 @@ ConfigDialog_spec = {
 
 # TODO Improve message
 _dyn_option_menu_spec = {
-    'file': 'dynOptionMenuWidget',
+    'file': 'dynoption',
     'kwds': {},
     'msg': "Select one of the many options in the 'old option set'.\n"
            "Click the button to change the option set.\n"
@@ -130,14 +130,14 @@ _dyn_option_menu_spec = {
 
 # TODO edit wrapper
 _editor_window_spec = {
-   'file': 'EditorWindow',
+   'file': 'editor',
     'kwds': {},
     'msg': "Test editor functions of interest.\n"
            "Best to close editor first."
     }
 
 GetCfgSectionNameDialog_spec = {
-    'file': 'configSectionNameDialog',
+    'file': 'config_sec',
     'kwds': {'title':'Get Name',
              'message':'Enter something',
              'used_names': {'abc'},
@@ -149,7 +149,7 @@ GetCfgSectionNameDialog_spec = {
     }
 
 GetHelpSourceDialog_spec = {
-    'file': 'configHelpSourceEdit',
+    'file': 'config_help',
     'kwds': {'title': 'Get helpsource',
              '_htest': True},
     'msg': "Enter menu item name and help file path\n "
@@ -162,7 +162,7 @@ GetHelpSourceDialog_spec = {
 
 # Update once issue21519 is resolved.
 GetKeysDialog_spec = {
-    'file': 'keybindingDialog',
+    'file': 'config_key',
     'kwds': {'title': 'Test keybindings',
              'action': 'find-again',
              'currentKeySequences': [''] ,
@@ -177,7 +177,7 @@ GetKeysDialog_spec = {
     }
 
 _grep_dialog_spec = {
-    'file': 'GrepDialog',
+    'file': 'grep',
     'kwds': {},
     'msg': "Click the 'Show GrepDialog' button.\n"
            "Test the various 'Find-in-files' functions.\n"
@@ -187,7 +187,7 @@ _grep_dialog_spec = {
     }
 
 _io_binding_spec = {
-    'file': 'IOBinding',
+    'file': 'iomenu',
     'kwds': {},
     'msg': "Test the following bindings.\n"
            "<Control-o> to open file from dialog.\n"
@@ -200,7 +200,7 @@ _io_binding_spec = {
     }
 
 _multi_call_spec = {
-    'file': 'MultiCall',
+    'file': 'multicall',
     'kwds': {},
     'msg': "The following actions should trigger a print to console or IDLE"
            " Shell.\nEntering and leaving the text area, key entry, "
@@ -210,14 +210,14 @@ _multi_call_spec = {
     }
 
 _multistatus_bar_spec = {
-    'file': 'MultiStatusBar',
+    'file': 'statusbar',
     'kwds': {},
     'msg': "Ensure presence of multi-status bar below text area.\n"
            "Click 'Update Status' to change the multi-status text"
     }
 
 _object_browser_spec = {
-    'file': 'ObjectBrowser',
+    'file': 'debugobj',
     'kwds': {},
     'msg': "Double click on items upto the lowest level.\n"
            "Attributes of the objects and related information "
@@ -225,7 +225,7 @@ _object_browser_spec = {
     }
 
 _path_browser_spec = {
-    'file': 'PathBrowser',
+    'file': 'pathbrowser',
     'kwds': {},
     'msg': "Test for correct display of all paths in sys.path.\n"
            "Toggle nested items upto the lowest level.\n"
@@ -234,7 +234,7 @@ _path_browser_spec = {
     }
 
 _percolator_spec = {
-    'file': 'Percolator',
+    'file': 'percolator',
     'kwds': {},
     'msg': "There are two tracers which can be toggled using a checkbox.\n"
            "Toggling a tracer 'on' by checking it should print tracer"
@@ -245,7 +245,7 @@ _percolator_spec = {
     }
 
 _replace_dialog_spec = {
-    'file': 'ReplaceDialog',
+    'file': 'replace',
     'kwds': {},
     'msg': "Click the 'Replace' button.\n"
            "Test various replace options in the 'Replace dialog'.\n"
@@ -253,7 +253,7 @@ _replace_dialog_spec = {
     }
 
 _search_dialog_spec = {
-    'file': 'SearchDialog',
+    'file': 'search',
     'kwds': {},
     'msg': "Click the 'Search' button.\n"
            "Test various search options in the 'Search dialog'.\n"
@@ -261,7 +261,7 @@ _search_dialog_spec = {
     }
 
 _scrolled_list_spec = {
-    'file': 'ScrolledList',
+    'file': 'scrolledlist',
     'kwds': {},
     'msg': "You should see a scrollable list of items\n"
            "Selecting (clicking) or double clicking an item "
@@ -277,7 +277,7 @@ show_idlehelp_spec = {
     }
 
 _stack_viewer_spec = {
-    'file': 'StackViewer',
+    'file': 'stackviewer',
     'kwds': {},
     'msg': "A stacktrace for a NameError exception.\n"
            "Expand 'idlelib ...' and '<locals>'.\n"
@@ -295,8 +295,8 @@ _tabbed_pages_spec = {
     }
 
 TextViewer_spec = {
-    'file': 'textView',
-    'kwds': {'title': 'Test textView',
+    'file': 'textview',
+    'kwds': {'title': 'Test textview',
              'text':'The quick brown fox jumps over the lazy dog.\n'*35,
              '_htest': True},
     'msg': "Test for read-only property of text.\n"
@@ -304,21 +304,21 @@ TextViewer_spec = {
      }
 
 _tooltip_spec = {
-    'file': 'ToolTip',
+    'file': 'tooltip',
     'kwds': {},
     'msg': "Place mouse cursor over both the buttons\n"
            "A tooltip should appear with some text."
     }
 
 _tree_widget_spec = {
-    'file': 'TreeWidget',
+    'file': 'tree',
     'kwds': {},
     'msg': "The canvas is scrollable.\n"
            "Click on folders upto to the lowest level."
     }
 
 _undo_delegator_spec = {
-    'file': 'UndoDelegator',
+    'file': 'undo',
     'kwds': {},
     'msg': "Click [Undo] to undo any action.\n"
            "Click [Redo] to redo any action.\n"
@@ -327,7 +327,7 @@ _undo_delegator_spec = {
     }
 
 _widget_redirector_spec = {
-    'file': 'WidgetRedirector',
+    'file': 'redirector',
     'kwds': {},
     'msg': "Every text insert should be printed to the console."
            "or the IDLE shell."
index 1672a3413e78c64672176f97310a31745907ea97..c7b49ef02b885107c4704b07d54c72835d1ee422 100644 (file)
@@ -33,7 +33,7 @@ class Func:
 
 
 class Editor:
-    '''Minimally imitate EditorWindow.EditorWindow class.
+    '''Minimally imitate editor.EditorWindow class.
     '''
     def __init__(self, flist=None, filename=None, key=None, root=None):
         self.text = Text()
@@ -46,7 +46,7 @@ class Editor:
 
 
 class UndoDelegator:
-    '''Minimally imitate UndoDelegator,UndoDelegator class.
+    '''Minimally imitate undo.UndoDelegator class.
     '''
     # A real undo block is only needed for user interaction.
     def undo_block_start(*args):
index 3a2192e8afce49d6fbcb22b57be7da47ea3daf97..833737e4eff1b9f78d808d71807c5eb0b0ab08dc 100644 (file)
@@ -2,9 +2,9 @@ import unittest
 from test.support import requires
 from tkinter import Tk, Text
 
-import idlelib.AutoComplete as ac
-import idlelib.AutoCompleteWindow as acw
-import idlelib.macosxSupport as mac
+import idlelib.autocomplete as ac
+import idlelib.autocomplete_w as acw
+import idlelib.macosx as mac
 from idlelib.idle_test.mock_idle import Func
 from idlelib.idle_test.mock_tk import Event
 
index 7ca941ec29024cab9ea288547a34d730f8ee12b5..801976abda33214bee73ca715cba0ade21de887e 100644 (file)
@@ -1,9 +1,9 @@
-"""Unit tests for idlelib.AutoExpand"""
+"""Unit tests for idlelib.autoexpand"""
 import unittest
 from test.support import requires
 from tkinter import Text, Tk
 #from idlelib.idle_test.mock_tk import Text
-from idlelib.AutoExpand import AutoExpand
+from idlelib.autoexpand import AutoExpand
 
 
 class Dummy_Editwin:
index b2a733cc0d5f6f9c758cf7c8f4d701193481b3f0..0b11602ca9e414e2303b74b664cef604e0fd7cdd 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import idlelib.CallTips as ct
+import idlelib.calltips as ct
 import textwrap
 import types
 
index 664f8edc62b6f740a7724c679f5a20f33ef3ceb6..b89b4e3ca13871c24427de3a861ff914a347b7ad 100644 (file)
@@ -1,7 +1,7 @@
-"""Unittests for idlelib.configHelpSourceEdit"""
+"""Unittests for idlelib.config_help.py"""
 import unittest
 from idlelib.idle_test.mock_tk import Var, Mbox, Entry
-from idlelib import configHelpSourceEdit as help_dialog_module
+from idlelib import config_help as help_dialog_module
 
 help_dialog = help_dialog_module.GetHelpSourceDialog
 
similarity index 95%
rename from Lib/idlelib/idle_test/test_config_name.py
rename to Lib/idlelib/idle_test/test_config_sec.py
index 40e72b95511e8244345886eb21dd4021fb4f2069..a98b484bf7af531685ba98e440bdbb2ca40777e8 100644 (file)
@@ -1,7 +1,7 @@
-"""Unit tests for idlelib.configSectionNameDialog"""
+"""Unit tests for idlelib.config_sec"""
 import unittest
 from idlelib.idle_test.mock_tk import Var, Mbox
-from idlelib import configSectionNameDialog as name_dialog_module
+from idlelib import config_sec as name_dialog_module
 
 name_dialog = name_dialog_module.GetCfgSectionNameDialog
 
index fab860b43903c3186f340ee0b6883dd82ef76120..31884329858caca3381d28d062a47bed448a02d3 100644 (file)
@@ -1,4 +1,4 @@
-'''Unittests for idlelib/configHandler.py
+'''Unittests for idlelib/config.py
 
 Coverage: 46% just by creating dialog. The other half is change code.
 
@@ -6,8 +6,8 @@ Coverage: 46% just by creating dialog. The other half is change code.
 import unittest
 from test.support import requires
 from tkinter import Tk
-from idlelib.configDialog import ConfigDialog
-from idlelib.macosxSupport import _initializeTkVariantTests
+from idlelib.configdialog import ConfigDialog
+from idlelib.macosx import _initializeTkVariantTests
 
 
 class ConfigDialogTest(unittest.TestCase):
index 1f0baa9c0df6af6752fc0a829e465d40452fc5bc..85624fbc127c852ec7c64b46c904fbbb6d886315 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-from idlelib.Delegator import Delegator
+from idlelib.delegator import Delegator
 
 class DelegatorTest(unittest.TestCase):
 
index a31d26d25d64bad79ef6660518480418704cc558..e9d29d45b82345d334beb043ea8ed9d3ae688842 100644 (file)
@@ -1,6 +1,6 @@
 import unittest
 from tkinter import Tk, Text
-from idlelib.EditorWindow import EditorWindow
+from idlelib.editor import EditorWindow
 from test.support import requires
 
 class Editor_func_test(unittest.TestCase):
index 0d8ff0d9f145b6d96cbcb9f4893f292999577fed..6b54c1313153d1c90b8e0af3555bdecfb977a7d5 100644 (file)
@@ -1,5 +1,5 @@
 """ !Changing this line will break Test_findfile.test_found!
-Non-gui unit tests for idlelib.GrepDialog methods.
+Non-gui unit tests for grep.GrepDialog methods.
 dummy_command calls grep_it calls findfiles.
 An exception raised in one method will fail callers.
 Otherwise, tests are mostly independent.
@@ -8,7 +8,7 @@ Otherwise, tests are mostly independent.
 import unittest
 from test.support import captured_stdout
 from idlelib.idle_test.mock_tk import Var
-from idlelib.GrepDialog import GrepDialog
+from idlelib.grep import GrepDialog
 import re
 
 class Dummy_searchengine:
@@ -72,7 +72,7 @@ class Grep_itTest(unittest.TestCase):
         self.assertTrue(lines[4].startswith('(Hint:'))
 
 class Default_commandTest(unittest.TestCase):
-    # To write this, mode OutputWindow import to top of GrepDialog
+    # To write this, move outwin import to top of GrepDialog
     # so it can be replaced by captured_stdout in class setup/teardown.
     pass
 
index d7c3d7039388f51d8d36e9a4b5fdb08b563d94c8..6e8269c5f581eb38a0a713d289d096e017414e87 100644 (file)
@@ -4,8 +4,8 @@ from test.support import requires
 import tkinter as tk
 from tkinter import Text as tkText
 from idlelib.idle_test.mock_tk import Text as mkText
-from idlelib.IdleHistory import History
-from idlelib.configHandler import idleConf
+from idlelib.history import History
+from idlelib.config import idleConf
 
 line1 = 'a = 7'
 line2 = 'b = a'
index edfc783fe8dafb21c351f53546ee7bb17da9791e..067e5b19e8b092c953fc75c8695b7e193c0ced54 100644 (file)
@@ -1,9 +1,9 @@
-"""Unittest for idlelib.HyperParser"""
+"""Unittest for idlelib.hyperparser.py."""
 import unittest
 from test.support import requires
 from tkinter import Tk, Text
-from idlelib.EditorWindow import EditorWindow
-from idlelib.HyperParser import HyperParser
+from idlelib.editor import EditorWindow
+from idlelib.hyperparser import HyperParser
 
 class DummyEditwin:
     def __init__(self, text):
index e0e3b985e227c411c81a4ca7e65c8940a2792c64..f8ff1127c3595e98b3297391cc5d2b3b1b10db8a 100644 (file)
@@ -1,6 +1,6 @@
 import unittest
 import io
-from idlelib.PyShell import PseudoInputFile, PseudoOutputFile
+from idlelib.pyshell import PseudoInputFile, PseudoOutputFile
 
 
 class S(str):
index f6039e6ab4b86b66a5e25a12ac362adbdb9137c6..6949bbb08b9a295d1fa45c0877e759ed70c22f28 100644 (file)
@@ -1,7 +1,7 @@
-# Test the functions and main class method of FormatParagraph.py
+# Test the functions and main class method of paragraph.py
 import unittest
-from idlelib import FormatParagraph as fp
-from idlelib.EditorWindow import EditorWindow
+from idlelib import paragraph as fp
+from idlelib.editor import EditorWindow
 from tkinter import Tk, Text
 from test.support import requires
 
@@ -38,7 +38,7 @@ class Is_Get_Test(unittest.TestCase):
 
 
 class FindTest(unittest.TestCase):
-    """Test the find_paragraph function in FormatParagraph.
+    """Test the find_paragraph function in paragraph module.
 
     Using the runcase() function, find_paragraph() is called with 'mark' set at
     multiple indexes before and inside the test paragraph.
index e15395261847f5cdd7061e4e3259f44418d0de4d..794a3aa1acd935ab242c76dc7a9d85c08bb82b97 100644 (file)
@@ -1,4 +1,4 @@
-"""Test idlelib.ParenMatch."""
+"""Test idlelib.parenmatch."""
 # This must currently be a gui test because ParenMatch methods use
 # several text methods not defined on idlelib.idle_test.mock_tk.Text.
 from test.support import requires
@@ -7,7 +7,7 @@ requires('gui')
 import unittest
 from unittest.mock import Mock
 from tkinter import Tk, Text
-from idlelib.ParenMatch import ParenMatch
+from idlelib.parenmatch import ParenMatch
 
 class DummyEditwin:
     def __init__(self, text):
index afb886fa33050fa2d7fea756e4eba56a9d1a2c9a..813cbcc63167ccba261b13cf21e73c8352ab1a2d 100644 (file)
@@ -2,13 +2,13 @@ import unittest
 import os
 import sys
 import idlelib
-from idlelib import PathBrowser
+from idlelib import pathbrowser
 
 class PathBrowserTest(unittest.TestCase):
 
     def test_DirBrowserTreeItem(self):
         # Issue16226 - make sure that getting a sublist works
-        d = PathBrowser.DirBrowserTreeItem('')
+        d = pathbrowser.DirBrowserTreeItem('')
         d.GetSubList()
         self.assertEqual('', d.GetText())
 
@@ -17,11 +17,11 @@ class PathBrowserTest(unittest.TestCase):
         self.assertEqual(d.ispackagedir(dir + '/Icons'), False)
 
     def test_PathBrowserTreeItem(self):
-        p = PathBrowser.PathBrowserTreeItem()
+        p = pathbrowser.PathBrowserTreeItem()
         self.assertEqual(p.GetText(), 'sys.path')
         sub = p.GetSubList()
         self.assertEqual(len(sub), len(sys.path))
-        self.assertEqual(type(sub[0]), PathBrowser.DirBrowserTreeItem)
+        self.assertEqual(type(sub[0]), pathbrowser.DirBrowserTreeItem)
 
 if __name__ == '__main__':
     unittest.main(verbosity=2, exit=False)
index bd2d666d85d5ac03738c702de2bb4af30fb10033..dc3ed49cd5349028ac2f8261690803aaeca4a5d0 100644 (file)
@@ -1,10 +1,10 @@
-'''Test Percolator'''
+'''Test percolator.py.'''
 from test.support import requires
 requires('gui')
 
 import unittest
 from tkinter import Text, Tk, END
-from idlelib.Percolator import Percolator, Delegator
+from idlelib.percolator import Percolator, Delegator
 
 
 class MyFilter(Delegator):
index 64405615a0c97dee251a207bb57c4e7d069f84a4..998fd6528b6cce87ed32a438094cb12e15d02085 100644 (file)
@@ -1,4 +1,4 @@
-"""Unittest for idlelib.WidgetRedirector
+"""Unittest for idlelib.redirector
 
 100% coverage
 """
@@ -6,7 +6,7 @@ from test.support import requires
 import unittest
 from idlelib.idle_test.mock_idle import Func
 from tkinter import Tk, Text, TclError
-from idlelib.WidgetRedirector import WidgetRedirector
+from idlelib.redirector import WidgetRedirector
 
 
 class InitCloseTest(unittest.TestCase):
index 09669f80e2ecd05c15d8f137a1479aa79a02195b..acaae843cca97dda0940aba6abe0d11f7c9aef53 100644 (file)
@@ -1,4 +1,4 @@
-"""Unittest for idlelib.ReplaceDialog"""
+"""Unittest for idlelib.replace.py"""
 from test.support import requires
 requires('gui')
 
@@ -6,8 +6,8 @@ import unittest
 from unittest.mock import Mock
 from tkinter import Tk, Text
 from idlelib.idle_test.mock_tk import Mbox
-import idlelib.SearchEngine as se
-import idlelib.ReplaceDialog as rd
+import idlelib.searchengine as se
+import idlelib.replace as rd
 
 orig_mbox = se.tkMessageBox
 showerror = Mbox.showerror
index 1c90b93d21616b83bd95146e245916022e6ab16a..130e6be257fe58cdc0454a82ba23019b7174aa8f 100644 (file)
@@ -1,5 +1,5 @@
 import unittest
-import idlelib.RstripExtension as rs
+import idlelib.rstrip as rs
 from idlelib.idle_test.mock_idle import Editor
 
 class rstripTest(unittest.TestCase):
@@ -21,7 +21,7 @@ class rstripTest(unittest.TestCase):
     def test_rstrip_multiple(self):
         editor = Editor()
         #  Uncomment following to verify that test passes with real widgets.
-##        from idlelib.EditorWindow import EditorWindow as Editor
+##        from idlelib.editor import EditorWindow as Editor
 ##        from tkinter import Tk
 ##        editor = Editor(root=Tk())
         text = editor.text
index 190c866a18429f9b5ddf3a5498b3e609a27b7e27..0735d8435646ef042391c736004739b35c86d223 100644 (file)
@@ -1,4 +1,4 @@
-"""Test SearchDialog class in SearchDialogue.py"""
+"""Test SearchDialog class in idlelib.search.py"""
 
 # Does not currently test the event handler wrappers.
 # A usage test should simulate clicks and check hilighting.
@@ -11,8 +11,8 @@ requires('gui')
 import unittest
 import tkinter as tk
 from tkinter import BooleanVar
-import idlelib.SearchEngine as se
-import idlelib.SearchDialog as sd
+import idlelib.searchengine as se
+import idlelib.search as sd
 
 
 class SearchDialogTest(unittest.TestCase):
index 8036b918c5936570b4b7c08f8c79e55095c3f496..5ff9476c873d69c7a5c166719f1cc462e00b6a66 100644 (file)
@@ -1,4 +1,4 @@
-'''Unittests for idlelib/SearchDialogBase.py
+'''Unittests for idlelib/searchbase.py
 
 Coverage: 99%. The only thing not covered is inconsequential --
 testing skipping of suite when self.needwrapbutton is false.
@@ -7,8 +7,8 @@ testing skipping of suite when self.needwrapbutton is false.
 import unittest
 from test.support import requires
 from tkinter import Tk, Toplevel, Frame ##, BooleanVar, StringVar
-from idlelib import SearchEngine as se
-from idlelib import SearchDialogBase as sdb
+from idlelib import searchengine as se
+from idlelib import searchbase as sdb
 from idlelib.idle_test.mock_idle import Func
 ## from idlelib.idle_test.mock_tk import Var
 
index edbd55813396d9f817333639084593c3336b5395..7e6f8b71a8de09aa87ceebc07bd9f74f9792f3c4 100644 (file)
@@ -1,4 +1,4 @@
-'''Test functions and SearchEngine class in SearchEngine.py.'''
+'''Test functions and SearchEngine class in idlelib.searchengine.py.'''
 
 # With mock replacements, the module does not use any gui widgets.
 # The use of tk.Text is avoided (for now, until mock Text is improved)
@@ -10,7 +10,7 @@ import unittest
 # from test.support import requires
 from tkinter import  BooleanVar, StringVar, TclError  # ,Tk, Text
 import tkinter.messagebox as tkMessageBox
-from idlelib import SearchEngine as se
+from idlelib import searchengine as se
 from idlelib.idle_test.mock_tk import Var, Mbox
 from idlelib.idle_test.mock_tk import Text as mockText
 
index 68e5b82ad912ad9231d80fa819dbbbf7b82a4a46..bd0a46c57b20b982bf457b08c393ba9b794c521c 100644 (file)
@@ -1,4 +1,4 @@
-'''Test the functions and main class method of textView.py.
+'''Test the functions and main class method of textview.py.
 
 Since all methods and functions create (or destroy) a TextViewer, which
 is a widget containing multiple widgets, all tests must be gui tests.
@@ -13,7 +13,7 @@ requires('gui')
 import unittest
 import os
 from tkinter import Tk
-from idlelib import textView as tv
+from idlelib import textview as tv
 from idlelib.idle_test.mock_idle import Func
 from idlelib.idle_test.mock_tk import Mbox
 
index 26579844712917d1015e361ceccc875af05ebaa0..9a167c9a229ac1e8e93fa7611ca514f59c954b82 100644 (file)
@@ -1,4 +1,4 @@
-"""Unittest for UndoDelegator in idlelib.UndoDelegator.
+"""Unittest for UndoDelegator in idlelib.undo.py.
 
 Coverage about 80% (retest).
 """
@@ -8,8 +8,8 @@ requires('gui')
 import unittest
 from unittest.mock import Mock
 from tkinter import Text, Tk
-from idlelib.UndoDelegator import UndoDelegator
-from idlelib.Percolator import Percolator
+from idlelib.undo import UndoDelegator
+from idlelib.percolator import Percolator
 
 
 class UndoDelegatorTest(unittest.TestCase):
index 18627ddd23102aab8890b18e5166df1325bd2ce2..f3269f195af83160419dd1bc5485da3114c54ead 100644 (file)
@@ -1,4 +1,4 @@
-'''Test warnings replacement in PyShell.py and run.py.
+'''Test warnings replacement in pyshell.py and run.py.
 
 This file could be expanded to include traceback overrides
 (in same two modules). If so, change name.
@@ -17,9 +17,9 @@ showwarning = warnings.showwarning
 running_in_idle = 'idle' in showwarning.__name__
 
 from idlelib import run
-from idlelib import PyShell as shell
+from idlelib import pyshell as shell
 
-# The following was generated from PyShell.idle_formatwarning
+# The following was generated from pyshell.idle_formatwarning
 # and checked as matching expectation.
 idlemsg = '''
 Warning (from warnings module):
index 84f39a2fee8e55d4aed872d0b066fe05d4157735..f6a7f1489fbafaa2198bfc5f60d00145f1b4e813 100644 (file)
@@ -10,7 +10,7 @@ import tkinter.filedialog as tkFileDialog
 import tkinter.messagebox as tkMessageBox
 from tkinter.simpledialog import askstring
 
-from idlelib.configHandler import idleConf
+from idlelib.config import idleConf
 
 
 # Try setting the locale, so that we can find out
@@ -107,6 +107,9 @@ def coding_spec(data):
 
 
 class IOBinding:
+# One instance per editor Window so methods know which to save, close.
+# Open returns focus to self.editwin if aborted.
+# EditorWindow.open_module, others, belong here.
 
     def __init__(self, editwin):
         self.editwin = editwin
index 268426fd2bda9d900b48a127d3d838b3505ad8b2..1e16f2c586f32d29aebc76734bbcac4059b2138c 100644 (file)
@@ -123,23 +123,23 @@ def overrideRootMenu(root, flist):
     # Due to a (mis-)feature of TkAqua the user will also see an empty Help
     # menu.
     from tkinter import Menu
-    from idlelib import Bindings
-    from idlelib import WindowList
+    from idlelib import mainmenu
+    from idlelib import windows
 
-    closeItem = Bindings.menudefs[0][1][-2]
+    closeItem = mainmenu.menudefs[0][1][-2]
 
     # Remove the last 3 items of the file menu: a separator, close window and
     # quit. Close window will be reinserted just above the save item, where
     # it should be according to the HIG. Quit is in the application menu.
-    del Bindings.menudefs[0][1][-3:]
-    Bindings.menudefs[0][1].insert(6, closeItem)
+    del mainmenu.menudefs[0][1][-3:]
+    mainmenu.menudefs[0][1].insert(6, closeItem)
 
     # Remove the 'About' entry from the help menu, it is in the application
     # menu
-    del Bindings.menudefs[-1][1][0:2]
+    del mainmenu.menudefs[-1][1][0:2]
     # Remove the 'Configure Idle' entry from the options menu, it is in the
     # application menu as 'Preferences'
-    del Bindings.menudefs[-2][1][0]
+    del mainmenu.menudefs[-2][1][0]
     menubar = Menu(root)
     root.configure(menu=menubar)
     menudict = {}
@@ -154,30 +154,30 @@ def overrideRootMenu(root, flist):
 
         if end > 0:
             menu.delete(0, end)
-        WindowList.add_windows_to_menu(menu)
-    WindowList.register_callback(postwindowsmenu)
+        windows.add_windows_to_menu(menu)
+    Windows.register_callback(postwindowsmenu)
 
     def about_dialog(event=None):
         "Handle Help 'About IDLE' event."
-        # Synchronize with EditorWindow.EditorWindow.about_dialog.
-        from idlelib import aboutDialog
-        aboutDialog.AboutDialog(root, 'About IDLE')
+        # Synchronize with editor.EditorWindow.about_dialog.
+        from idlelib import help_about
+        help_about.AboutDialog(root, 'About IDLE')
 
     def config_dialog(event=None):
         "Handle Options 'Configure IDLE' event."
-        # Synchronize with EditorWindow.EditorWindow.config_dialog.
-        from idlelib import configDialog
+        # Synchronize with editor.EditorWindow.config_dialog.
+        from idlelib import configdialog
 
         # Ensure that the root object has an instance_dict attribute,
         # mirrors code in EditorWindow (although that sets the attribute
         # on an EditorWindow instance that is then passed as the first
         # argument to ConfigDialog)
         root.instance_dict = flist.inversedict
-        configDialog.ConfigDialog(root, 'Settings')
+        configdialog.ConfigDialog(root, 'Settings')
 
     def help_dialog(event=None):
         "Handle Help 'IDLE Help' event."
-        # Synchronize with EditorWindow.EditorWindow.help_dialog.
+        # Synchronize with editor.EditorWindow.help_dialog.
         from idlelib import help
         help.show_idlehelp(root)
 
@@ -197,7 +197,7 @@ def overrideRootMenu(root, flist):
         menudict['application'] = menu = Menu(menubar, name='apple',
                                               tearoff=0)
         menubar.add_cascade(label='IDLE', menu=menu)
-        Bindings.menudefs.insert(0,
+        mainmenu.menudefs.insert(0,
             ('application', [
                 ('About IDLE', '<<about-idle>>'),
                     None,
@@ -205,7 +205,7 @@ def overrideRootMenu(root, flist):
         tkversion = root.tk.eval('info patchlevel')
         if tuple(map(int, tkversion.split('.'))) < (8, 4, 14):
             # for earlier AquaTk versions, supply a Preferences menu item
-            Bindings.menudefs[0][1].append(
+            mainmenu.menudefs[0][1].append(
                     ('_Preferences....', '<<open-config-dialog>>'),
                 )
     if isCocoaTk():
@@ -214,12 +214,12 @@ def overrideRootMenu(root, flist):
         # replace default "Help" item in Help menu
         root.createcommand('::tk::mac::ShowHelp', help_dialog)
         # remove redundant "IDLE Help" from menu
-        del Bindings.menudefs[-1][1][0]
+        del mainmenu.menudefs[-1][1][0]
 
 def setupApp(root, flist):
     """
     Perform initial OS X customizations if needed.
-    Called from PyShell.main() after initial calls to Tk()
+    Called from pyshell.main() after initial calls to Tk()
 
     There are currently three major versions of Tk in use on OS X:
         1. Aqua Cocoa Tk (native default since OS X 10.6)
index ab25ff18b6c33d8a282377d7127c1f240740ac10..965ada308128d73c0eadcbd743bd0ed76a46697d 100644 (file)
@@ -10,9 +10,9 @@ windows.
 """
 from importlib.util import find_spec
 
-from idlelib.configHandler import idleConf
+from idlelib.config import idleConf
 
-#   Warning: menudefs is altered in macosxSupport.overrideRootMenu()
+#   Warning: menudefs is altered in macosx.overrideRootMenu()
 #   after it is determined that an OS X Aqua Tk is in use,
 #   which cannot be done until after Tk() is first called.
 #   Do not alter the 'file', 'options', or 'help' cascades here
index e614f9b2bb7bf9f4577361a9b6cd033bea7eba6c..b3bc786151e04b0aa988d4bad5a25a53bd75a093 100644 (file)
@@ -1,8 +1,8 @@
 from tkinter import *
-from idlelib.EditorWindow import EditorWindow
+from idlelib.editor import EditorWindow
 import re
 import tkinter.messagebox as tkMessageBox
-from idlelib import IOBinding
+from idlelib import iomenu
 
 class OutputWindow(EditorWindow):
 
@@ -36,7 +36,7 @@ class OutputWindow(EditorWindow):
 
     def write(self, s, tags=(), mark="insert"):
         if isinstance(s, (bytes, bytes)):
-            s = s.decode(IOBinding.encoding, "replace")
+            s = s.decode(iomenu.encoding, "replace")
         self.text.insert(mark, s, tags)
         self.text.see(mark)
         self.text.update()
index 7a9d185042e612fd86f08d3e7dac103941ede653..0323b53d863b658263a19a02ab4e23603f550a85 100644 (file)
@@ -16,7 +16,7 @@ Known problems with comment reformatting:
 """
 
 import re
-from idlelib.configHandler import idleConf
+from idlelib.config import idleConf
 
 class FormatParagraph:
 
@@ -191,5 +191,5 @@ def get_comment_header(line):
 
 if __name__ == "__main__":
     import unittest
-    unittest.main('idlelib.idle_test.test_formatparagraph',
+    unittest.main('idlelib.idle_test.test_paragraph',
             verbosity=2, exit=False)
index 19bad8ce3856de02c5dc4cc573cb7c5c7e942105..e98fac1952289ed5d467c60192234470dc77e3ff 100644 (file)
@@ -5,8 +5,8 @@ paren.  Paren here is used generically; the matching applies to
 parentheses, square brackets, and curly braces.
 """
 
-from idlelib.HyperParser import HyperParser
-from idlelib.configHandler import idleConf
+from idlelib.hyperparser import HyperParser
+from idlelib.config import idleConf
 
 _openers = {')':'(',']':'[','}':'{'}
 CHECK_DELAY = 100 # miliseconds
index 9ab7632f4db4f1cb9d58fd7ce4c00586f9488272..966af4b2594eb68e47ad4300ecf7e5a4c4b8b73b 100644 (file)
@@ -2,9 +2,9 @@ import os
 import sys
 import importlib.machinery
 
-from idlelib.TreeWidget import TreeItem
-from idlelib.ClassBrowser import ClassBrowser, ModuleBrowserTreeItem
-from idlelib.PyShell import PyShellFileList
+from idlelib.tree import TreeItem
+from idlelib.browser import ClassBrowser, ModuleBrowserTreeItem
+from idlelib.pyshell import PyShellFileList
 
 
 class PathBrowser(ClassBrowser):
index b8be2aa746b6b52c030e991870877848c1d1c2f3..227144581be96b7d0e69a7d8176ccc3b49a2814c 100644 (file)
@@ -1,5 +1,5 @@
-from idlelib.WidgetRedirector import WidgetRedirector
-from idlelib.Delegator import Delegator
+from idlelib.redirector import WidgetRedirector
+from idlelib.delegator import Delegator
 
 
 class Percolator:
index 1bcc9b68143f6a7ee93dffa77d4915e32dfe89fc..8341cd952bb96ddd295c565159bc7969202a4add 100755 (executable)
@@ -24,16 +24,16 @@ except ImportError:
     sys.exit(1)
 import tkinter.messagebox as tkMessageBox
 
-from idlelib.EditorWindow import EditorWindow, fixwordbreaks
-from idlelib.FileList import FileList
-from idlelib.ColorDelegator import ColorDelegator
-from idlelib.UndoDelegator import UndoDelegator
-from idlelib.OutputWindow import OutputWindow
-from idlelib.configHandler import idleConf
+from idlelib.editor import EditorWindow, fixwordbreaks
+from idlelib.filelist import FileList
+from idlelib.colorizer import ColorDelegator
+from idlelib.undo import UndoDelegator
+from idlelib.outwin import OutputWindow
+from idlelib.config import idleConf
 from idlelib import rpc
-from idlelib import Debugger
-from idlelib import RemoteDebugger
-from idlelib import macosxSupport
+from idlelib import debugger
+from idlelib import debugger_r
+from idlelib import macosx
 
 HOST = '127.0.0.1' # python execution server on localhost loopback
 PORT = 0  # someday pass in host, port for remote debug capability
@@ -410,7 +410,7 @@ class ModifiedInterpreter(InteractiveInterpreter):
         # run from the IDLE source directory.
         del_exitf = idleConf.GetOption('main', 'General', 'delete-exitfunc',
                                        default=False, type='bool')
-        if __name__ == 'idlelib.PyShell':
+        if __name__ == 'idlelib.pyshell':
             command = "__import__('idlelib.run').run.main(%r)" % (del_exitf,)
         else:
             command = "__import__('run').main(%r)" % (del_exitf,)
@@ -468,7 +468,7 @@ class ModifiedInterpreter(InteractiveInterpreter):
         if debug:
             try:
                 # Only close subprocess debugger, don't unregister gui_adap!
-                RemoteDebugger.close_subprocess_debugger(self.rpcclt)
+                debugger_r.close_subprocess_debugger(self.rpcclt)
             except:
                 pass
         # Kill subprocess, spawn a new one, accept connection.
@@ -497,7 +497,7 @@ class ModifiedInterpreter(InteractiveInterpreter):
         # restart subprocess debugger
         if debug:
             # Restarted debugger connects to current instance of debug GUI
-            RemoteDebugger.restart_subprocess_debugger(self.rpcclt)
+            debugger_r.restart_subprocess_debugger(self.rpcclt)
             # reload remote debugger breakpoints for all PyShellEditWindows
             debug.load_breakpoints()
         self.compile.compiler.flags = self.original_compiler_flags
@@ -578,7 +578,7 @@ class ModifiedInterpreter(InteractiveInterpreter):
                 if self.tkconsole.getvar("<<toggle-jit-stack-viewer>>"):
                     self.remote_stack_viewer()
             elif how == "ERROR":
-                errmsg = "PyShell.ModifiedInterpreter: Subprocess ERROR:\n"
+                errmsg = "pyshell.ModifiedInterpreter: Subprocess ERROR:\n"
                 print(errmsg, what, file=sys.__stderr__)
                 print(errmsg, what, file=console)
             # we received a response to the currently active seq number:
@@ -613,13 +613,13 @@ class ModifiedInterpreter(InteractiveInterpreter):
         return
 
     def remote_stack_viewer(self):
-        from idlelib import RemoteObjectBrowser
+        from idlelib import debugobj_r
         oid = self.rpcclt.remotequeue("exec", "stackviewer", ("flist",), {})
         if oid is None:
             self.tkconsole.root.bell()
             return
-        item = RemoteObjectBrowser.StubObjectTreeItem(self.rpcclt, oid)
-        from idlelib.TreeWidget import ScrolledCanvas, TreeNode
+        item = debugobj_r.StubObjectTreeItem(self.rpcclt, oid)
+        from idlelib.tree import ScrolledCanvas, TreeNode
         top = Toplevel(self.tkconsole.root)
         theme = idleConf.CurrentTheme()
         background = idleConf.GetHighlight(theme, 'normal')['background']
@@ -662,9 +662,9 @@ class ModifiedInterpreter(InteractiveInterpreter):
         # at the moment, InteractiveInterpreter expects str
         assert isinstance(source, str)
         #if isinstance(source, str):
-        #    from idlelib import IOBinding
+        #    from idlelib import iomenu
         #    try:
-        #        source = source.encode(IOBinding.encoding)
+        #        source = source.encode(iomenu.encoding)
         #    except UnicodeError:
         #        self.tkconsole.resetoutput()
         #        self.write("Unsupported characters in input\n")
@@ -850,7 +850,7 @@ class PyShell(OutputWindow):
 
 
     # New classes
-    from idlelib.IdleHistory import History
+    from idlelib.history import History
 
     def __init__(self, flist=None):
         if use_subprocess:
@@ -888,11 +888,11 @@ class PyShell(OutputWindow):
         self.save_stdout = sys.stdout
         self.save_stderr = sys.stderr
         self.save_stdin = sys.stdin
-        from idlelib import IOBinding
-        self.stdin = PseudoInputFile(self, "stdin", IOBinding.encoding)
-        self.stdout = PseudoOutputFile(self, "stdout", IOBinding.encoding)
-        self.stderr = PseudoOutputFile(self, "stderr", IOBinding.encoding)
-        self.console = PseudoOutputFile(self, "console", IOBinding.encoding)
+        from idlelib import iomenu
+        self.stdin = PseudoInputFile(self, "stdin", iomenu.encoding)
+        self.stdout = PseudoOutputFile(self, "stdout", iomenu.encoding)
+        self.stderr = PseudoOutputFile(self, "stderr", iomenu.encoding)
+        self.console = PseudoOutputFile(self, "console", iomenu.encoding)
         if not use_subprocess:
             sys.stdout = self.stdout
             sys.stderr = self.stderr
@@ -900,7 +900,7 @@ class PyShell(OutputWindow):
         try:
             # page help() text to shell.
             import pydoc # import must be done here to capture i/o rebinding.
-            # XXX KBK 27Dec07 use a textView someday, but must work w/o subproc
+            # XXX KBK 27Dec07 use TextViewer someday, but must work w/o subproc
             pydoc.pager = pydoc.plainpager
         except:
             sys.stderr = sys.__stderr__
@@ -954,7 +954,7 @@ class PyShell(OutputWindow):
             self.interp.setdebugger(None)
             db.close()
             if self.interp.rpcclt:
-                RemoteDebugger.close_remote_debugger(self.interp.rpcclt)
+                debugger_r.close_remote_debugger(self.interp.rpcclt)
             self.resetoutput()
             self.console.write("[DEBUG OFF]\n")
             sys.ps1 = ">>> "
@@ -963,10 +963,10 @@ class PyShell(OutputWindow):
 
     def open_debugger(self):
         if self.interp.rpcclt:
-            dbg_gui = RemoteDebugger.start_remote_debugger(self.interp.rpcclt,
+            dbg_gui = debugger_r.start_remote_debugger(self.interp.rpcclt,
                                                            self)
         else:
-            dbg_gui = Debugger.Debugger(self)
+            dbg_gui = debugger.Debugger(self)
         self.interp.setdebugger(dbg_gui)
         dbg_gui.load_breakpoints()
         sys.ps1 = "[DEBUG ON]\n>>> "
@@ -1241,7 +1241,7 @@ class PyShell(OutputWindow):
                 "(sys.last_traceback is not defined)",
                 parent=self.text)
             return
-        from idlelib.StackViewer import StackBrowser
+        from idlelib.stackviewer import StackBrowser
         StackBrowser(self.root, self.flist)
 
     def view_restart_mark(self, event=None):
@@ -1546,9 +1546,9 @@ def main():
     fixwordbreaks(root)
     root.withdraw()
     flist = PyShellFileList(root)
-    macosxSupport.setupApp(root, flist)
+    macosx.setupApp(root, flist)
 
-    if macosxSupport.isAquaTk():
+    if macosx.isAquaTk():
         # There are some screwed up <2> class bindings for text
         # widgets defined in Tk which we need to do away with.
         # See issue #24801.
@@ -1569,7 +1569,7 @@ def main():
         shell = flist.open_shell()
         if not shell:
             return # couldn't open shell
-        if macosxSupport.isAquaTk() and flist.dict:
+        if macosx.isAquaTk() and flist.dict:
             # On OSX: when the user has double-clicked on a file that causes
             # IDLE to be launched the shell window will open just in front of
             # the file she wants to see. Lower the interpreter window when
@@ -1603,7 +1603,7 @@ def main():
         # check for problematic OS X Tk versions and print a warning
         # message in the IDLE shell window; this is less intrusive
         # than always opening a separate window.
-        tkversionwarning = macosxSupport.tkVersionWarning(root)
+        tkversionwarning = macosx.tkVersionWarning(root)
         if tkversionwarning:
             shell.interp.runcommand("print('%s')" % tkversionwarning)
 
@@ -1613,7 +1613,7 @@ def main():
     capture_warnings(False)
 
 if __name__ == "__main__":
-    sys.modules['PyShell'] = sys.modules['__main__']
+    sys.modules['pyshell'] = sys.modules['__main__']
     main()
 
 capture_warnings(False)  # Make sure turned off; see issue 18081
index b66be9e721a51595b5f021e0e4bbe78a61e41e34..5ca7a2d5ffa42105802401daa6dd7018cb548345 100644 (file)
@@ -104,7 +104,7 @@ class WidgetRedirector:
 
         Note that if a registered function is called, the operation is not
         passed through to Tk.  Apply the function returned by self.register()
-        to *args to accomplish that.  For an example, see ColorDelegator.py.
+        to *args to accomplish that.  For an example, see colorizer.py.
 
         '''
         m = self._operations.get(operation)
index f2ea22e7f7098f761b463248802d4d85c1b0ebe7..589b814192133f06b50c905e36d5ccc75afdf663 100644 (file)
@@ -5,8 +5,8 @@ replace+find.
 """
 from tkinter import *
 
-from idlelib import SearchEngine
-from idlelib.SearchDialogBase import SearchDialogBase
+from idlelib import searchengine
+from idlelib.searchbase import SearchDialogBase
 import re
 
 
@@ -14,7 +14,7 @@ def replace(text):
     """Returns a singleton ReplaceDialog instance.The single dialog
      saves user entries and preferences across instances."""
     root = text._root()
-    engine = SearchEngine.get(root)
+    engine = searchengine.get(root)
     if not hasattr(engine, "_replacedialog"):
         engine._replacedialog = ReplaceDialog(root, engine)
     dialog = engine._replacedialog
@@ -164,7 +164,7 @@ class ReplaceDialog(SearchDialogBase):
             pos = None
         if not pos:
             first = last = pos = text.index("insert")
-        line, col = SearchEngine.get_line_col(pos)
+        line, col = searchengine.get_line_col(pos)
         chars = text.get("%d.0" % line, "%d.0" % (line+1))
         m = prog.match(chars, col)
         if not prog:
index 595e7bc3aa1109d1f8bb280bfc2b3edea93ca159..eb34944eb385337c5c83db1fa05a552cabefe999 100644 (file)
@@ -7,15 +7,15 @@ import threading
 import queue
 import tkinter
 
-from idlelib import CallTips
-from idlelib import AutoComplete
+from idlelib import calltips
+from idlelib import autocomplete
 
-from idlelib import RemoteDebugger
-from idlelib import RemoteObjectBrowser
-from idlelib import StackViewer
+from idlelib import debugger_r
+from idlelib import debugobj_r
+from idlelib import stackviewer
 from idlelib import rpc
-from idlelib import PyShell
-from idlelib import IOBinding
+from idlelib import pyshell
+from idlelib import iomenu
 
 import __main__
 
@@ -32,7 +32,7 @@ def idle_showwarning_subproc(
     if file is None:
         file = sys.stderr
     try:
-        file.write(PyShell.idle_formatwarning(
+        file.write(pyshell.idle_formatwarning(
                 message, category, filename, lineno, line))
     except IOError:
         pass # the file (probably stderr) is invalid - this warning gets lost.
@@ -82,7 +82,7 @@ def main(del_exitfunc=False):
     MyHandler object.  That reference is saved as attribute rpchandler of the
     Executive instance.  The Executive methods have access to the reference and
     can pass it on to entities that they command
-    (e.g. RemoteDebugger.Debugger.start_debugger()).  The latter, in turn, can
+    (e.g. debugger_r.Debugger.start_debugger()).  The latter, in turn, can
     call MyHandler(SocketIO) register/unregister methods via the reference to
     register and unregister themselves.
 
@@ -204,7 +204,7 @@ def print_exception():
             tbe = traceback.extract_tb(tb)
             print('Traceback (most recent call last):', file=efile)
             exclude = ("run.py", "rpc.py", "threading.py", "queue.py",
-                       "RemoteDebugger.py", "bdb.py")
+                       "debugger_r.py", "bdb.py")
             cleanup_traceback(tbe, exclude)
             traceback.print_list(tbe, file=efile)
         lines = traceback.format_exception_only(typ, exc)
@@ -298,12 +298,12 @@ class MyHandler(rpc.RPCHandler):
         executive = Executive(self)
         self.register("exec", executive)
         self.console = self.get_remote_proxy("console")
-        sys.stdin = PyShell.PseudoInputFile(self.console, "stdin",
-                IOBinding.encoding)
-        sys.stdout = PyShell.PseudoOutputFile(self.console, "stdout",
-                IOBinding.encoding)
-        sys.stderr = PyShell.PseudoOutputFile(self.console, "stderr",
-                IOBinding.encoding)
+        sys.stdin = pyshell.PseudoInputFile(self.console, "stdin",
+                iomenu.encoding)
+        sys.stdout = pyshell.PseudoOutputFile(self.console, "stdout",
+                iomenu.encoding)
+        sys.stderr = pyshell.PseudoOutputFile(self.console, "stderr",
+                iomenu.encoding)
 
         sys.displayhook = rpc.displayhook
         # page help() text to shell.
@@ -339,8 +339,8 @@ class Executive(object):
     def __init__(self, rpchandler):
         self.rpchandler = rpchandler
         self.locals = __main__.__dict__
-        self.calltip = CallTips.CallTips()
-        self.autocomplete = AutoComplete.AutoComplete()
+        self.calltip = calltips.CallTips()
+        self.autocomplete = autocomplete.AutoComplete()
 
     def runcode(self, code):
         global interruptable
@@ -372,7 +372,7 @@ class Executive(object):
             thread.interrupt_main()
 
     def start_the_debugger(self, gui_adap_oid):
-        return RemoteDebugger.start_debugger(self.rpchandler, gui_adap_oid)
+        return debugger_r.start_debugger(self.rpchandler, gui_adap_oid)
 
     def stop_the_debugger(self, idb_adap_oid):
         "Unregister the Idb Adapter.  Link objects and Idb then subject to GC"
@@ -396,7 +396,7 @@ class Executive(object):
             tb = tb.tb_next
         sys.last_type = typ
         sys.last_value = val
-        item = StackViewer.StackTreeItem(flist, tb)
-        return RemoteObjectBrowser.remote_object_tree_item(item)
+        item = stackviewer.StackTreeItem(flist, tb)
+        return debugobj_r.remote_object_tree_item(item)
 
 capture_warnings(False)  # Make sure turned off; see issue 18081
index 5cb818d833ba890b941a31163438a54ec95b77c5..7e7524a3c45cf9cbeeea1a17d87adf3915b2cd51 100644 (file)
@@ -21,10 +21,10 @@ import os
 import tabnanny
 import tokenize
 import tkinter.messagebox as tkMessageBox
-from idlelib import PyShell
+from idlelib import pyshell
 
-from idlelib.configHandler import idleConf
-from idlelib import macosxSupport
+from idlelib.config import idleConf
+from idlelib import macosx
 
 indent_message = """Error: Inconsistent indentation detected!
 
@@ -46,12 +46,12 @@ class ScriptBinding:
 
     def __init__(self, editwin):
         self.editwin = editwin
-        # Provide instance variables referenced by Debugger
+        # Provide instance variables referenced by debugger
         # XXX This should be done differently
         self.flist = self.editwin.flist
         self.root = self.editwin.root
 
-        if macosxSupport.isCocoaTk():
+        if macosx.isCocoaTk():
             self.editwin.text_frame.bind('<<run-module-event-2>>', self._run_module_event)
 
     def check_module_event(self, event):
@@ -112,7 +112,7 @@ class ScriptBinding:
             shell.set_warning_stream(saved_stream)
 
     def run_module_event(self, event):
-        if macosxSupport.isCocoaTk():
+        if macosx.isCocoaTk():
             # Tk-Cocoa in MacOSX is broken until at least
             # Tk 8.5.9, and without this rather
             # crude workaround IDLE would hang when a user
@@ -142,7 +142,7 @@ class ScriptBinding:
         if not self.tabnanny(filename):
             return 'break'
         interp = self.shell.interp
-        if PyShell.use_subprocess:
+        if pyshell.use_subprocess:
             interp.restart_subprocess(with_cwd=False, filename=
                         self.editwin._filename_to_unicode(filename))
         dirname = os.path.dirname(filename)
@@ -161,7 +161,7 @@ class ScriptBinding:
         interp.prepend_syspath(filename)
         # XXX KBK 03Jul04 When run w/o subprocess, runtime warnings still
         #         go to __stderr__.  With subprocess, they go to the shell.
-        #         Need to change streams in PyShell.ModifiedInterpreter.
+        #         Need to change streams in pyshell.ModifiedInterpreter.
         interp.runcode(code)
         return 'break'
 
index 53576b5f82eb489f312ac9875150bea6cfa1753b..80df0f813230bb4c2328644264c75b14cb145086 100644 (file)
@@ -1,5 +1,5 @@
 from tkinter import *
-from idlelib import macosxSupport
+from idlelib import macosx
 
 class ScrolledList:
 
@@ -23,7 +23,7 @@ class ScrolledList:
         # Bind events to the list box
         listbox.bind("<ButtonRelease-1>", self.click_event)
         listbox.bind("<Double-ButtonRelease-1>", self.double_click_event)
-        if macosxSupport.isAquaTk():
+        if macosx.isAquaTk():
             listbox.bind("<ButtonPress-2>", self.popup_event)
             listbox.bind("<Control-Button-1>", self.popup_event)
         else:
index 765d53fe92c831bdcb1763f247a71391e9756301..a609fd9583554cc1dedb2cb3596d51b1e909c569 100644 (file)
@@ -1,12 +1,12 @@
 from tkinter import *
 
-from idlelib import SearchEngine
-from idlelib.SearchDialogBase import SearchDialogBase
+from idlelib import searchengine
+from idlelib.searchbase import SearchDialogBase
 
 def _setup(text):
     "Create or find the singleton SearchDialog instance."
     root = text._root()
-    engine = SearchEngine.get(root)
+    engine = searchengine.get(root)
     if not hasattr(engine, "_searchdialog"):
         engine._searchdialog = SearchDialog(root, engine)
     return engine._searchdialog
index 5fa84e238b167d84a42706dd64f964c73fbe7370..9206bf5051880979853ecff5ed418fcf2c3422e8 100644 (file)
@@ -125,7 +125,7 @@ class SearchDialogBase:
     def create_option_buttons(self):
         '''Return (filled frame, options) for testing.
 
-        Options is a list of SearchEngine booleanvar, label pairs.
+        Options is a list of searchengine booleanvar, label pairs.
         A gridded frame from make_frame is filled with a Checkbutton
         for each pair, bound to the var, with the corresponding label.
         '''
index 37883bf687c71f0937a53ff54471b354cb6d7920..2e3700ece3f9d0d9bc04781dcb5060deba903795 100644 (file)
@@ -57,7 +57,7 @@ class SearchEngine:
 
     def setcookedpat(self, pat):
         "Set pattern after escaping if re."
-        # called only in SearchDialog.py: 66
+        # called only in search.py: 66
         if self.isre():
             pat = re.escape(pat)
         self.setpat(pat)
index ccc755ce31b6bb21c4b929f61f923c1810ee70de..5c188f07e7bb27b078b1f311d75b72227cb37e40 100644 (file)
@@ -4,9 +4,9 @@ import linecache
 import re
 import tkinter as tk
 
-from idlelib.TreeWidget import TreeNode, TreeItem, ScrolledCanvas
-from idlelib.ObjectBrowser import ObjectTreeItem, make_objecttreeitem
-from idlelib.PyShell import PyShellFileList
+from idlelib.tree import TreeNode, TreeItem, ScrolledCanvas
+from idlelib.debugobj import ObjectTreeItem, make_objecttreeitem
+from idlelib.pyshell import PyShellFileList
 
 def StackBrowser(root, flist=None, tb=None, top=None):
     if top is None:
index 964107e1176d212df41085533d9cd51ffa656f4a..c3eafed9d59bef1e56a102eeed9734ec6a89d9f2 100644 (file)
@@ -1,4 +1,4 @@
-# general purpose 'tooltip' routines - currently unused in idlefork
+# general purpose 'tooltip' routines - currently unused in idlelib
 # (although the 'calltips' extension is partly based on this code)
 # may be useful for some purposes in (or almost in ;) the current project scope
 # Ideas gleaned from PySol
@@ -76,7 +76,7 @@ class ListboxToolTip(ToolTipBase):
         for item in self.items:
             listbox.insert(END, item)
 
-def _tooltip(parent):
+def _tooltip(parent):  # htest #
     root = Tk()
     root.title("Test tooltip")
     width, height, x, y = list(map(int, re.split('[x+]', parent.geometry())))
index a19578fdcb3461bc4daf093b2849f801f2ea485b..08cc6370dd85af0665190e5cd9dea7e0096df989 100644 (file)
@@ -17,8 +17,8 @@
 import os
 from tkinter import *
 
-from idlelib import ZoomHeight
-from idlelib.configHandler import idleConf
+from idlelib import zoomheight
+from idlelib.config import idleConf
 
 ICONDIR = "Icons"
 
@@ -445,7 +445,7 @@ class ScrolledCanvas:
         self.canvas.yview_scroll(1, "unit")
         return "break"
     def zoom_height(self, event):
-        ZoomHeight.zoom_height(self.master)
+        zoomheight.zoom_height(self.master)
         return "break"
 
 
index 1c2502d81822e1c1023b198505c713d2159b8c2f..3e94b69bbea6f8e7a45219d6dfcba082aa697b68 100644 (file)
@@ -1,7 +1,7 @@
 import string
 from tkinter import *
 
-from idlelib.Delegator import Delegator
+from idlelib.delegator import Delegator
 
 #$ event <<redo>>
 #$ win <Control-y>
@@ -340,7 +340,7 @@ class CommandSequence(Command):
 def _undo_delegator(parent):  # htest #
     import re
     import tkinter as tk
-    from idlelib.Percolator import Percolator
+    from idlelib.percolator import Percolator
     undowin = tk.Toplevel()
     undowin.title("Test UndoDelegator")
     width, height, x, y = list(map(int, re.split('[x+]', parent.geometry())))
index a5d679e49912b5e4a9ade7340beb46c8aba17a2c..0016e9de5f940b6af0b4d98a9b709935e03be08d 100644 (file)
@@ -3,7 +3,7 @@
 import re
 import sys
 
-from idlelib import macosxSupport
+from idlelib import macosx
 
 class ZoomHeight:
 
@@ -32,7 +32,7 @@ def zoom_height(top):
         newy = 0
         newheight = newheight - 72
 
-    elif macosxSupport.isAquaTk():
+    elif macosx.isAquaTk():
         # The '88' below is a magic number that avoids placing the bottom
         # of the window below the panel on my machine. I don't know how
         # to calculate the correct value for this with tkinter.
index d9b3dd5ef2455587137f479cb8bfe2ceaa838406..07a1c82b2e113aead829458084a10dab9c705e00 100644 (file)
@@ -89,9 +89,9 @@ import sys
 import os
 
 from tkinter import *
-from idlelib.Percolator import Percolator
-from idlelib.ColorDelegator import ColorDelegator
-from idlelib.textView import view_text
+from idlelib.percolator import Percolator
+from idlelib.colorizer import ColorDelegator
+from idlelib.textview import view_text
 from turtledemo import __doc__ as about_turtledemo
 
 import turtle