rename HTMLParser to html.parser, htmlentitydefs to html.entities
(http://bugs.python.org/issue2882)
diff --git a/Lib/html/__init__.py b/Lib/html/__init__.py
new file mode 100644
index 0000000..196d378
--- /dev/null
+++ b/Lib/html/__init__.py
@@ -0,0 +1 @@
+# This directory is a Python package.
diff --git a/Lib/htmlentitydefs.py b/Lib/html/entities.py
similarity index 100%
rename from Lib/htmlentitydefs.py
rename to Lib/html/entities.py
diff --git a/Lib/HTMLParser.py b/Lib/html/parser.py
similarity index 100%
rename from Lib/HTMLParser.py
rename to Lib/html/parser.py
diff --git a/Lib/lib-old/HTMLParser.py b/Lib/lib-old/HTMLParser.py
new file mode 100644
index 0000000..ae42e0f
--- /dev/null
+++ b/Lib/lib-old/HTMLParser.py
@@ -0,0 +1,8 @@
+from warnings import warnpy3k
+
+warnpy3k(("The HTMLParser module has been renamed to html.parser"
+          " in Python 3.0"), stacklevel=2)
+
+from sys import modules
+import html.parser
+modules["HTMLParser"] = html.parser
diff --git a/Lib/lib-old/htmlentitydefs.py b/Lib/lib-old/htmlentitydefs.py
new file mode 100644
index 0000000..340b623
--- /dev/null
+++ b/Lib/lib-old/htmlentitydefs.py
@@ -0,0 +1,8 @@
+from warnings import warnpy3k
+
+warnpy3k(("The htmlentitydefs module has been renamed to html.entities"
+          " in Python 3.0"), stacklevel=2)
+
+from sys import modules
+import html.entities
+modules["htmlentitydefs"] = html.entities
diff --git a/Lib/test/test_py3kwarn.py b/Lib/test/test_py3kwarn.py
index 2c8f509..1a65323 100644
--- a/Lib/test/test_py3kwarn.py
+++ b/Lib/test/test_py3kwarn.py
@@ -209,11 +209,13 @@
 class TestStdlibRenames(unittest.TestCase):
 
     renames = {'copy_reg': 'copyreg', 'Queue': 'queue',
+               'htmlentitydefs': 'html.entities',
                'SocketServer': 'socketserver',
                'ConfigParser': 'configparser',
                'repr': 'reprlib',
                'FileDialog': 'tkinter.filedialog',
                'FixTk': 'tkinter._fix',
+               'HTMLParser': 'html.parser',
                'ScrolledText': 'tkinter.scrolledtext',
                'SimpleDialog': 'tkinter.simpledialog',
                'Tix': 'tkinter.tix',
diff --git a/Misc/NEWS b/Misc/NEWS
index d0a18cd..8ee4d4d 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -48,6 +48,10 @@
 Library
 -------
 
+- Issue #2882: The htmlentitydefs module has been renamed to 'html.entities'
+  and HTMLParser has been renamed to 'html.parser'; the old names have been
+  deprecated and will be removed in Python 3.0.
+
 - Issue #961805: Fix Text.edit_modified() in Tkinter.
 
 - Issue #1793: Function ctypes.util.find_msvcrt() added that returns