Issue 2460: Make Ellipsis objects copyable.
diff --git a/Lib/copy.py b/Lib/copy.py
index 35c666f..3f2033f 100644
--- a/Lib/copy.py
+++ b/Lib/copy.py
@@ -101,7 +101,7 @@
     return x
 for t in (type(None), int, long, float, bool, str, tuple,
           frozenset, type, xrange, types.ClassType,
-          types.BuiltinFunctionType,
+          types.BuiltinFunctionType, type(Ellipsis),
           types.FunctionType):
     d[t] = _copy_immutable
 for name in ("ComplexType", "UnicodeType", "CodeType"):
@@ -197,6 +197,7 @@
 def _deepcopy_atomic(x, memo):
     return x
 d[type(None)] = _deepcopy_atomic
+d[type(Ellipsis)] = _deepcopy_atomic
 d[int] = _deepcopy_atomic
 d[long] = _deepcopy_atomic
 d[float] = _deepcopy_atomic
diff --git a/Misc/NEWS b/Misc/NEWS
index 04dec03..54d955b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -66,6 +66,8 @@
 - Issue #2432: give DictReader the dialect and line_num attributes
   advertised in the docs.
 
+- Issue #2460:  Make Ellipsis object copyable.
+
 - Issue #1681432:  Add triangular distribution to the random module
 
 - Issue #2136: urllib2's auth handler now allows single-quoted realms in the