bpo-31649: Make IDLE's _htest, _utest parameters keyword-only. (#3839)

diff --git a/Lib/idlelib/browser.py b/Lib/idlelib/browser.py
index 603d299..9b32315 100644
--- a/Lib/idlelib/browser.py
+++ b/Lib/idlelib/browser.py
@@ -61,7 +61,7 @@
     # This class is the base class for pathbrowser.PathBrowser.
     # Init and close are inherited, other methods are overriden.
 
-    def __init__(self, flist, name, path, _htest=False, _utest=False):
+    def __init__(self, flist, name, path, *, _htest=False, _utest=False):
         # XXX This API should change, if the file doesn't end in ".py"
         # XXX the code here is bogus!
         """Create a window for browsing a module's structure.
diff --git a/Lib/idlelib/config_key.py b/Lib/idlelib/config_key.py
index 5556b76..3a865f8 100644
--- a/Lib/idlelib/config_key.py
+++ b/Lib/idlelib/config_key.py
@@ -14,7 +14,7 @@
     keyerror_title = 'Key Sequence Error'
 
     def __init__(self, parent, title, action, currentKeySequences,
-                 _htest=False, _utest=False):
+                 *, _htest=False, _utest=False):
         """
         action - string, the name of the virtual event these keys will be
                  mapped to
diff --git a/Lib/idlelib/configdialog.py b/Lib/idlelib/configdialog.py
index a05f3b9..d27b072 100644
--- a/Lib/idlelib/configdialog.py
+++ b/Lib/idlelib/configdialog.py
@@ -41,7 +41,7 @@
     """Config dialog for IDLE.
     """
 
-    def __init__(self, parent, title='', _htest=False, _utest=False):
+    def __init__(self, parent, title='', *, _htest=False, _utest=False):
         """Show the tabbed dialog for user configuration.
 
         Args:
diff --git a/Lib/idlelib/help_about.py b/Lib/idlelib/help_about.py
index 679ac78..77b4b18 100644
--- a/Lib/idlelib/help_about.py
+++ b/Lib/idlelib/help_about.py
@@ -23,7 +23,7 @@
     """Modal about dialog for idle
 
     """
-    def __init__(self, parent, title=None, _htest=False, _utest=False):
+    def __init__(self, parent, title=None, *, _htest=False, _utest=False):
         """Create popup, do not return until tk widget destroyed.
 
         parent - parent of this dialog
diff --git a/Lib/idlelib/pathbrowser.py b/Lib/idlelib/pathbrowser.py
index b0c8c6d..c0aa2a1 100644
--- a/Lib/idlelib/pathbrowser.py
+++ b/Lib/idlelib/pathbrowser.py
@@ -9,7 +9,7 @@
 
 class PathBrowser(ModuleBrowser):
 
-    def __init__(self, flist, _htest=False, _utest=False):
+    def __init__(self, flist, *, _htest=False, _utest=False):
         """
         _htest - bool, change box location when running htest
         """
diff --git a/Lib/idlelib/textview.py b/Lib/idlelib/textview.py
index de4b190..e3b5506 100644
--- a/Lib/idlelib/textview.py
+++ b/Lib/idlelib/textview.py
@@ -57,7 +57,7 @@
     "A simple text viewer dialog for IDLE."
 
     def __init__(self, parent, title, text, modal=True,
-                 _htest=False, _utest=False):
+                 *, _htest=False, _utest=False):
         """Show the given text in a scrollable window with a 'close' button.
 
         If modal is left True, users cannot interact with other windows