Report de r21176 : patch grossier : quand une recherche se fait sur une table dont la clé primaire est composée, ne mémoriser que la valeur du premier champ de la clé. Ça marche moins pire qu'actuellement ou l'on ne memorise rien... (et ça peut etre utile sur certaines tables comme spip_formulaires_reponses_champs)
Report de r21181 : Le modele <formulaire|...> est plus sympa :
- dans l'espace privé il s'instancie directement car on a pas de cache et ça permet de le voir plutot que du PHP échappé
- dans le site public il injecte son PHP comme avant, et reste bien dynamique
Report de r21183 : r14456 a nettoyé a raison la globale $contexte_inclus qui était utilisée par tous les <INCLURE>
Mais dans le cas <INCLURE(script.php){foo=bar}> on ne disposait plus du contexte dans script.php, ce qui rendait totalement inoperant les anciennes écritures d'inclusion via php malgré la subsitance de code pour cela dans public.php

Par ailleurs ce script.php peut être utilisé pour faire un aiguillage dynamique vers un squelette ou un autre en fonction de la session et du contexte sans générer de multiplication de caches (performance issue).

On rétablit donc l'affectation de la variable $contexte_inclus dans le seul cas d'une inclusion d'un php, script.php pouvant ainsi recevoir tout le contexte désiré (y compris un {env}) et agir en conséquence.
Le define CODE_INCLURE_SCRIPT est modifié pour prendre $_contexte en argument supplémentaire, mais sans risque de casse en cas de personalisation.
Report de r21187 : coquille dans la fonction affdate_debut_fin (merci les tests)
Report de r21188 : coquille dans la chaine de langue sur les abbr (affdate_debut_fin)
Report de r21189 : extraire_attribut redresse les ' exprimes en entites html, mais on peut avoir &#39; ou &#039;
extraire_attribut est supposé aussi redresser les " exprimes en entites html d'après son test unitaire
Report de r21190 : r19869 visait à ne plus echapper les simple quotes dans les flux RSS, mais du coup on n'échappait plus non plus les double quotes. On rétablit ce dernier cas.
Report de r21191 : retablir la conversion des booleens (true => '1' et false=>'') de protege_champ qui avait sauté par erreur avec r16979
(c'est a priori un cas peu courant, mais tenons nous en a la spec initiale definie par le test unitaire)