php:eval n'initialise pas correctement SPIP

vu avec l'utilisation de propre() en cli, qui n'interprête pas/plus les modèles à son premier appel, puis ok tous les suivants

Description du bug / Comment le reproduire

En PHP, dans un fichier, ou en SPIP CLI si on veut aller vite :

$ spip php:eval "include_spip('inc/texte'); echo propre('<doc2>');"
<p><tt>&lt;doc2&gt;</tt></p>

$ spip php:eval "include_spip('inc/texte'); propre('peu importe quoi'); echo propre('<doc2>');"
<div class='spip_document_2 spip_document spip_documents spip_document … etc

Comportement attendu

Le modèle doit être interprété dès le premier appel seul !

Autres informations

Je ne sais pas si c'est en lien avec spip/spip#5912 (closed) puis ensuite spip/spip#5977 (closed) qui a aboutit à plusieurs commits autour des échappements/déséchappements etc.

Précision là qu'on mettre interdire_scripts() en plus ou pas ne change rien. Et l'interprétation fonctionne pour TOUS les appels de propre() autre que le premier. S'il y en a 5, le premier ne fera rien, et les 4 autres fonctionneront.

Informations techniques

  • Version de SPIP : 4.4.3
Modification effectuée par cerdic