diff babel/messages/catalog.py @ 315:654b632e5482

Merging catalogs would sometimes mix translations from different runs.
author cmlenz
date Fri, 01 Feb 2008 14:46:32 +0000
parents 5c0bda4f20b1
children 355a977c92aa
line wrap: on
line diff
--- a/babel/messages/catalog.py
+++ b/babel/messages/catalog.py
@@ -92,6 +92,11 @@
                 return cmp(self.id, obj.id[0])
         return cmp(self.id, obj.id)
 
+    def clone(self):
+        return Message(self.id, self.string, self.locations, self.flags,
+                       self.auto_comments, self.user_comments,
+                       self.previous_id, self.lineno)
+
     def fuzzy(self):
         return 'fuzzy' in self.flags
     fuzzy = property(fuzzy, doc="""\
@@ -624,6 +629,7 @@
         fuzzy_matches = set()
 
         def _merge(message, oldkey, newkey):
+            message = message.clone()
             fuzzy = False
             if oldkey != newkey:
                 fuzzy = True
Copyright (C) 2012-2017 Edgewall Software