[Checkins] SVN: Sandbox/malthe/chameleon.core/src/chameleon/core/translation.py Only write out tail of element of translation fails.

Malthe Borch mborch at gmail.com
Thu Oct 30 13:21:04 EDT 2008


Log message for revision 92713:
  Only write out tail of element of translation fails.

Changed:
  U   Sandbox/malthe/chameleon.core/src/chameleon/core/translation.py

-=-
Modified: Sandbox/malthe/chameleon.core/src/chameleon/core/translation.py
===================================================================
--- Sandbox/malthe/chameleon.core/src/chameleon/core/translation.py	2008-10-30 17:19:36 UTC (rev 92712)
+++ Sandbox/malthe/chameleon.core/src/chameleon/core/translation.py	2008-10-30 17:21:03 UTC (rev 92713)
@@ -129,7 +129,7 @@
 
         # tag tail (deferred)
         tail = self.tail
-        if self.fill_slot is None:
+        if self.fill_slot is None and self.translation_name is None:
             for part in reversed(tail):
                 if isinstance(part, types.expression):
                     _.append(clauses.Write(part, defer=True))
@@ -333,7 +333,7 @@
                 subclauses.append(clauses.Assign(
                     types.template('%(out)s.getvalue()'), variable))
                 _.append(clauses.Group(subclauses))
-                
+
             _.append(clauses.Assign(self.use_macro, self.symbols.metal))
 
             # compute macro function arguments and create argument string
@@ -401,6 +401,13 @@
                     subclauses.append(clauses.Write(value))
                 else:
                     subclauses.append(clauses.Out(element.tostring()))
+                    
+                for part in reversed(element.node.tail):
+                    if isinstance(part, types.expression):
+                        subclauses.append(clauses.Write(part))
+                    else:
+                        subclauses.append(clauses.Out(part))
+                    
             if subclauses:
                 _.append(clauses.Else(subclauses))
 



More information about the Checkins mailing list