Remove mentions of the Demo directory.
diff --git a/Doc/extending/embedding.rst b/Doc/extending/embedding.rst
index 13a8e25..e261048 100644
--- a/Doc/extending/embedding.rst
+++ b/Doc/extending/embedding.rst
@@ -35,9 +35,6 @@
 to :c:func:`PyRun_SimpleFile`.  You can also call the lower-level operations
 described in the previous chapters to construct and use Python objects.
 
-A simple demo of embedding Python can be found in the directory
-:file:`Demo/embed/` of the source distribution.
-
 
 .. seealso::
 
diff --git a/Doc/library/curses.rst b/Doc/library/curses.rst
index f9ba0d6..369571a 100644
--- a/Doc/library/curses.rst
+++ b/Doc/library/curses.rst
@@ -49,7 +49,7 @@
       Tutorial material on using curses with Python, by Andrew Kuchling and Eric
       Raymond.
 
-   The :file:`Demo/curses/` directory in the Python source distribution contains
+   The :file:`Tools/demo/` directory in the Python source distribution contains
    some example programs using the curses bindings provided by this module.
 
 
diff --git a/Doc/library/imp.rst b/Doc/library/imp.rst
index 398698f..6e9845e 100644
--- a/Doc/library/imp.rst
+++ b/Doc/library/imp.rst
@@ -308,10 +308,3 @@
            # Since we may exit via an exception, close fp explicitly.
            if fp:
                fp.close()
-
-.. index:: module: knee
-
-A more complete example that implements hierarchical module names and includes a
-:func:`reload` function can be found in the module :mod:`knee`.  The :mod:`knee`
-module can be found in :file:`Demo/imputil/` in the Python source distribution.
-
diff --git a/Doc/library/tkinter.rst b/Doc/library/tkinter.rst
index cf92ed4..ae5635f 100644
--- a/Doc/library/tkinter.rst
+++ b/Doc/library/tkinter.rst
@@ -659,9 +659,7 @@
 
 scrollcommand
    This is almost always the :meth:`!set` method of some scrollbar widget, but can
-   be any widget method that takes a single argument.   Refer to the file
-   :file:`Demo/tkinter/matt/canvas-with-scrollbars.py` in the Python source
-   distribution for an example.
+   be any widget method that takes a single argument.
 
 wrap:
    Must be one of: ``"none"``, ``"char"``, or ``"word"``.
diff --git a/Doc/library/tkinter.tix.rst b/Doc/library/tkinter.tix.rst
index 68d8f5a..cc7ffd1 100644
--- a/Doc/library/tkinter.tix.rst
+++ b/Doc/library/tkinter.tix.rst
@@ -84,11 +84,7 @@
 -----------
 
 `Tix <http://tix.sourceforge.net/dist/current/man/html/TixCmd/TixIntro.htm>`_
-introduces over 40 widget classes to the :mod:`tkinter` repertoire.  There is a
-demo of all the :mod:`tkinter.tix` widgets in the :file:`Demo/tix` directory of
-the standard distribution.
-
-.. The Python sample code is still being added to Python, hence commented out
+introduces over 40 widget classes to the :mod:`tkinter` repertoire.
 
 
 Basic Widgets
diff --git a/Doc/library/turtle.rst b/Doc/library/turtle.rst
index c2b9f41..4f2fbcc 100644
--- a/Doc/library/turtle.rst
+++ b/Doc/library/turtle.rst
@@ -2268,7 +2268,7 @@
 stored and an additional one in the current working directory.  The latter will
 override the settings of the first one.
 
-The :file:`Demo/turtle` directory contains a :file:`turtle.cfg` file.  You can
+The :file:`Lib/turtledemo` directory contains a :file:`turtle.cfg` file.  You can
 study it as an example and see its effects when running the demos (preferably
 not from within the demo-viewer).
 
@@ -2400,8 +2400,7 @@
   strings and numbers respectively.
 
 - Two example scripts :file:`tdemo_nim.py` and :file:`tdemo_round_dance.py`
-  have been added to the Demo directory (source distribution only). As usual
-  they can be viewed and executed within the demo viewer :file:`turtleDemo.py`.
+  have been added to the :file:`Lib/turtledemo` directory.
 
 
 .. doctest::
diff --git a/Mac/Makefile.in b/Mac/Makefile.in
index 3c974a0..c5cd333 100644
--- a/Mac/Makefile.in
+++ b/Mac/Makefile.in
@@ -202,10 +202,6 @@
 installextras: $(srcdir)/Extras.ReadMe.txt $(srcdir)/Extras.install.py
 	$(INSTALL) -d "$(DESTDIR)$(PYTHONAPPSDIR)/Extras"
 	$(INSTALL) $(srcdir)/Extras.ReadMe.txt "$(DESTDIR)$(PYTHONAPPSDIR)/Extras/ReadMe.txt"
-	$(RUNSHARED) $(BUILDPYTHON) $(srcdir)/Extras.install.py $(srcdir)/../Demo \
-		"$(DESTDIR)$(PYTHONAPPSDIR)/Extras/Demo"
-	$(RUNSHARED) $(BUILDPYTHON) $(srcdir)/Extras.install.py $(srcdir)/Demo \
-		"$(DESTDIR)$(PYTHONAPPSDIR)/Extras/Demo.Mac"
 
 
 checkapplepython: $(srcdir)/Tools/fixapplepython23.py
diff --git a/Mac/README b/Mac/README
index a41fbf0..0261127 100644
--- a/Mac/README
+++ b/Mac/README
@@ -188,8 +188,8 @@
 framework itself, the Mac subtree, the applications and the unix tools.
 
 There is an extra target frameworkinstallextras that is not part of the
-normal frameworkinstall which installs the Demo and Tools directories
-into "/Applications/MacPython <VERSION>", this is useful for binary
+normal frameworkinstall which installs the Tools directory into
+"/Applications/MacPython <VERSION>", this is useful for binary
 distributions.
 
 What do all these programs do?
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 323f68d..63ee79b 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -154,7 +154,7 @@
 SRCDIRS= 	@SRCDIRS@
 
 # Other subdirectories
-SUBDIRSTOO=	Include Lib Misc Demo
+SUBDIRSTOO=	Include Lib Misc
 
 # Files and directories to be distributed
 CONFIGFILES=	configure configure.in acconfig.h pyconfig.h.in Makefile.pre.in
@@ -1155,7 +1155,7 @@
 frameworkaltinstallunixtools:
 	cd Mac && $(MAKE) altinstallunixtools DESTDIR="$(DESTDIR)"
 
-# This installs the Demos and Tools into the applications directory.
+# This installs the Tools into the applications directory.
 # It is not part of a normal frameworkinstall
 frameworkinstallextras:
 	cd Mac && $(MAKE) installextras DESTDIR="$(DESTDIR)"
diff --git a/Misc/NEWS b/Misc/NEWS
index 9477594..b6b968a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -79,6 +79,13 @@
 - Issue #10679: The "idle", "pydoc" and "2to3" scripts are now installed with
   a version-specific suffix on "make altinstall".
 
+Tools/Demos
+-----------
+
+- Issue #7962: The Demo directory is gone.  Most of the old and unmaintained
+  demos have been removed, others integrated in documentation or a new
+  Tools/demo subdirectory.
+
 
 What's New in Python 3.2 Beta 2?
 ================================