--- /dev/null
+--TEST--
+Fork of bug33853.phpt with exit replaced by throw
+--SKIPIF--
+<?php
+if (!extension_loaded('xsl')) die('skip xsl not loaded');
+?>
+--FILE--
+<?php
+
+spl_autoload_register(function ($className) {
+ var_dump($className);
+ throw new Exception("Autoload exception");
+});
+
+$xsl = new DomDocument();
+$xsl->loadXML('<?xml version="1.0" encoding="iso-8859-1" ?>
+<xsl:stylesheet version="1.0"
+xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+xmlns:php="http://php.net/xsl">
+<xsl:template match="/">
+<xsl:value-of select="php:function(\'TeSt::dateLang\')" />
+</xsl:template>
+</xsl:stylesheet>');
+$inputdom = new DomDocument();
+$inputdom->loadXML('<?xml version="1.0" encoding="iso-8859-1" ?>
+<today></today>');
+
+$proc = new XsltProcessor();
+$proc->registerPhpFunctions();
+$xsl = $proc->importStylesheet($xsl);
+try {
+ $newdom = $proc->transformToDoc($inputdom);
+} catch (Exception $e) {
+ echo $e->getMessage(), "\n";
+}
+?>
+===DONE===
+--EXPECT--
+string(4) "TeSt"
+Autoload exception
+===DONE===
fci.no_separation = 0;
/*fci.function_handler_cache = &function_ptr;*/
if (!zend_make_callable(&handler, &callable)) {
- php_error_docref(NULL, E_WARNING, "Unable to call handler %s()", ZSTR_VAL(callable));
+ if (!EG(exception)) {
+ php_error_docref(NULL, E_WARNING, "Unable to call handler %s()", ZSTR_VAL(callable));
+ }
valuePush(ctxt, xmlXPathNewString((const xmlChar *) ""));
} else if ( intern->registerPhpFunctions == 2 && zend_hash_exists(intern->registered_phpfunctions, callable) == 0) {
php_error_docref(NULL, E_WARNING, "Not allowed to call handler '%s()'", ZSTR_VAL(callable));