diff --git a/bug.tpl b/bug.tpl deleted file mode 100644 index 7c88f46..0000000 --- a/bug.tpl +++ /dev/null @@ -1,2 +0,0 @@ -This template produces incorrect output: - diff --git a/template.parser.php b/template.parser.php index 8255c43..1c346c4 100644 --- a/template.parser.php +++ b/template.parser.php @@ -1239,9 +1239,8 @@ class parse_engine { case 'r': if ($this->debug) echo "Reducing $type via rule $operand\n"; $this->reduce($operand); - $this->eat($type, $semantic); // Yes, this is tail-recursive. It's also the simplest way. - break; + return $this->eat($type, $semantic); case 'a': if ($this->stack->occupied()) { throw new parse_bug('Accept should happen with empty stack.');