reverted partially a previous commit
authorFabien Potencier <fabien.potencier@gmail.com>
Sat, 21 Jul 2012 22:07:57 +0000 (00:07 +0200)
committerFabien Potencier <fabien.potencier@gmail.com>
Sat, 21 Jul 2012 22:11:46 +0000 (00:11 +0200)
This code was not only useful for macros but also when you call a method on
a template instance -- this is not recommended/supported but used by the Symfony profiler)

lib/Twig/Template.php

index beed5c5..64a08f6 100644 (file)
@@ -422,7 +422,15 @@ abstract class Twig_Template implements Twig_TemplateInterface
             $this->env->getExtension('sandbox')->checkMethodAllowed($object, $method);
         }
 
-        return call_user_func_array(array($object, $method), $arguments);
+        $ret = call_user_func_array(array($object, $method), $arguments);
+
+        // useful when calling a template method from a template
+        // this is not supported but unfortunately heavily used in the Symfony profiler
+        if ($object instanceof Twig_TemplateInterface) {
+            return $ret === '' ? '' : new Twig_Markup($ret, $this->env->getCharset());
+        }
+
+        return $ret;
     }
 
     /**