[Zope-Checkins] CVS: Packages/TAL - TALInterpreter.py:1.78.4.7.24.1
Fred L. Drake, Jr.
fdrake at gmail.com
Tue Mar 14 12:48:22 EST 2006
Update of /cvs-repository/Packages/TAL
In directory cvs.zope.org:/tmp/cvs-serv1857/lib/python/TAL
Modified Files:
Tag: zc-Zope-2-7-5
TALInterpreter.py
Log Message:
add tests for on-error handling in macros for errors in slot fillers; errors
in the filler can now be handled by the macro, as intended
=== Packages/TAL/TALInterpreter.py 1.78.4.7 => 1.78.4.7.24.1 ===
--- Packages/TAL/TALInterpreter.py:1.78.4.7 Thu Aug 12 12:15:14 2004
+++ Packages/TAL/TALInterpreter.py Tue Mar 14 12:48:21 2006
@@ -691,11 +691,13 @@
slot = slots.get(slotName)
if slot is not None:
prev_source = self.sourceFile
- self.interpret(slot)
- if self.sourceFile != prev_source:
- self.engine.setSourceFile(prev_source)
- self.sourceFile = prev_source
- self.pushMacro(macroName, slots, entering=0)
+ try:
+ self.interpret(slot)
+ finally:
+ if self.sourceFile != prev_source:
+ self.engine.setSourceFile(prev_source)
+ self.sourceFile = prev_source
+ self.pushMacro(macroName, slots, entering=0)
return
self.pushMacro(macroName, slots)
# Falling out of the 'if' allows the macro to be interpreted.
More information about the Zope-Checkins
mailing list