From: Guido van Rossum Date: Mon, 27 Nov 2000 21:53:14 +0000 (+0000) Subject: Patch by Finn Bock to support PyStringMap in Jython. X-Git-Tag: v2.1a1~708 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f8baad0f1759a5b26b050636fd327e874e17c5a0;p=thirdparty%2FPython%2Fcpython.git Patch by Finn Bock to support PyStringMap in Jython. --- diff --git a/Lib/copy.py b/Lib/copy.py index 9576575e2083..fc2e1ff18e72 100644 --- a/Lib/copy.py +++ b/Lib/copy.py @@ -56,6 +56,11 @@ class Error(Exception): pass error = Error # backward compatibility +try: + from org.python.core import PyStringMap +except ImportError: + PyStringMap = None + def copy(x): """Shallow copy operation on arbitrary Python objects. @@ -104,6 +109,8 @@ d[types.TupleType] = _copy_tuple def _copy_dict(x): return x.copy() d[types.DictionaryType] = _copy_dict +if PyStringMap is not None: + d[PyStringMap] = _copy_dict def _copy_inst(x): if hasattr(x, '__copy__'): @@ -200,6 +207,8 @@ def _deepcopy_dict(x, memo): y[deepcopy(key, memo)] = deepcopy(x[key], memo) return y d[types.DictionaryType] = _deepcopy_dict +if PyStringMap is not None: + d[PyStringMap] = _deepcopy_dict def _keep_alive(x, memo): """Keeps a reference to the object x in the memo.