fixed a PHP fatal error when calling a macro, imported in the template, in another macro

This commit is contained in:
Fabien Potencier
2019-05-16 13:58:43 +02:00
parent 0747f226f7
commit ba9b9681ca
3 changed files with 17 additions and 5 deletions
+1
View File
@@ -1,5 +1,6 @@
* 1.41.1 (2019-XX-XX)
* fixed a PHP fatal error when calling a macro imported in the template in another macro
* fixed wrong error message on "import" and "from"
* 1.41.0 (2019-05-14)
+1 -5
View File
@@ -334,11 +334,7 @@ class Parser implements \Twig_ParserInterface
public function getImportedSymbol($type, $alias)
{
foreach ($this->importedSymbols as $functions) {
if (isset($functions[$type][$alias])) {
return $functions[$type][$alias];
}
}
return isset($this->importedSymbols[0][$type][$alias]) ? $this->importedSymbols[0][$type][$alias] : null;
}
public function isMainScope()
@@ -0,0 +1,15 @@
--TEST--
"from" tag with syntax error
--TEMPLATE--
{% from _self import another %}
{% macro foo() %}
{{ another() }}
{% endmacro %}
{% macro another() %}
{% endmacro %}
--DATA--
return []
--EXCEPTION--
Twig\Error\SyntaxError: Unknown "another" function in "index.twig" at line 5.