From 2cec84620786fb31b8a14652508e876095ee7043 Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Mon, 9 Mar 2026 14:06:44 +0100 Subject: [PATCH] fix: copy object before modify namespace --- src/rougail/convert/convert.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/rougail/convert/convert.py b/src/rougail/convert/convert.py index 2d38322c4..4e39e85b7 100644 --- a/src/rougail/convert/convert.py +++ b/src/rougail/convert/convert.py @@ -936,13 +936,17 @@ class ParserVariable: def change_namespaces(self, variable): for key, value in variable.items(): - if isinstance(value, Calculation): - value.namespace = self.namespace + if isinstance(value, Calculation) and value.namespace != self.namespace: + copy = value.copy() + variable[key] = copy + copy.namespace = self.namespace if not isinstance(value, list): continue for idx, val in enumerate(value): - if isinstance(val, Calculation): - val.namespace = self.namespace + if isinstance(val, Calculation) and val.namespace != self.namespace: + copy = val.copy() + value[idx] = copy + copy.namespace = self.namespace def del_family( self,