Erreurs nombre d'argument des filtres
Depuis PHP 7.1, une fonction appelée avec un mauvais nombre d'argument provoque une Fatal error: Uncaught ArgumentCountError: Too few arguments to function filtre_implode_dist(), 1 passed ... and exactly 2 expected
Or il n'y a aucune vérification, avant de l'appeler, du nombre d'argument avec lequel est appelée une fonction implémentant un filtre.
Du coup appeler [(#LISTE{Arbre,Bateau,Chat,Doche}|implode)] fait page blanche avec l'erreur ci dessus dans error.log
La définition est en effet
function filtre_implode_dist($a, $b) { return is_array($a) ? implode($b, $a) : $a; }
C'est assez rude pour du code SPIP où l'erreur est permise.
Du coup serait il possible de récupérer proprement ces situations d'erreur par gestion d'exception avant l'eval du code compilé ?
Sinon il faudrait s'assurer que toutes les fonctions php implémentant des filtres puissent accepter de n'avoir qu'un seul argument (la balise sur laquelle elles s'appliquent).
Ce qui donnerait ici :
function filtre_implode_dist($a, $b=", ") { return is_array($a) ? implode($b, $a) : $a; }