diff --git a/CHANGELOG b/CHANGELOG index 36d12d2f6..296567abf 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,6 @@ * 0.9.8 + * fixed set tag when used with a capture * fixed type hinting for Twig_Environment::addFilter() method * 0.9.7 (2010-06-12) diff --git a/lib/Twig/TokenParser/Set.php b/lib/Twig/TokenParser/Set.php index 25731c745..04bc17815 100644 --- a/lib/Twig/TokenParser/Set.php +++ b/lib/Twig/TokenParser/Set.php @@ -29,6 +29,10 @@ class Twig_TokenParser_Set extends Twig_TokenParser list(, $values) = $this->parser->getExpressionParser()->parseMultitargetExpression(); $stream->expect(Twig_Token::BLOCK_END_TYPE); + + if (count($names) !== count($values)) { + throw new Twig_SyntaxError("When using set, you must have the same number of variables and assignements.", $lineno); + } } else { $capture = true; @@ -42,10 +46,6 @@ class Twig_TokenParser_Set extends Twig_TokenParser $stream->expect(Twig_Token::BLOCK_END_TYPE); } - if (count($names) !== count($values)) { - throw new Twig_SyntaxError("When using set, you must have the same number of variables and assignements.", $lineno); - } - return new Twig_Node_Set($capture, $names, $values, $lineno, $this->getTag()); }