From a34b02006527d28db5df5c6553be804770b81f79 Mon Sep 17 00:00:00 2001 From: Joel Martin Date: Wed, 9 Apr 2014 23:58:27 -0500 Subject: Fix metadata on functions. - Don't use metadata to store ast, env, params data. - In Clojure, store metadata on the :meta key of the real metadata. This also allows using any datatype as metadata. --- python/core.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'python/core.py') diff --git a/python/core.py b/python/core.py index 28d9c5e..5e2ef75 100644 --- a/python/core.py +++ b/python/core.py @@ -85,7 +85,10 @@ def mapf(f, lst): return List(map(f, lst)) # Metadata functions def with_meta(obj, meta): - new_obj = copy.copy(obj) + if type(obj) == type(lambda x:x): + new_obj = obj.__copy__() + else: + new_obj = copy.copy(obj) new_obj.__meta__ = meta return new_obj -- cgit v1.2.3