Code analysé comme du commentaires JS et supprimé ?

Sur l’IRC, Pourrito a une erreur semble t’il issue de la compression JS, sur un SPIP 4.1.1

Il se retrouve avec un fichier local/cache-js/... contenant :

(j’ai ajouté les sauts de lignes là où est l’erreur)

function createDisabledPseudo(disabled){
//Known:disabled false positives:fieldset[disabled]>legend:nth-of-type(n+2):can-disable
return function(elem){
//Only certain elements can match:enabled or:disabled
//https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
//https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
if("form"in elem){
//Check for inherited disabledness on relevant non-disabled elements:

/,

rheaders=/^(.*?):[ \t]*([^\r\n]*)$/mg,
//#7653,#8125,#8152:local protocol detection
rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
rnoContent=/^(?:GET|HEAD)$/,
rprotocol=/^\/\//,
prefilters={},
transports={},
//Avoid comment-prolog char sequence(#10098);must appease lint and evade compression

Ce code est issue de jquery.js.

La partie //Check for inherited disabledness on relevant non-disabled elements: est en ligne 1033

			// Check for inherited disabledness on relevant non-disabled elements:
			// * listed form-associated elements in a disabled fieldset

La partie rheaders en ligne 9013

	rantiCache = /([?&])_=[^&]*/,
	rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,

Entre les deux, tout a été coupé.

On peut voir que le code sous // Check est // * ... ce qui sans l’espace pourrait être perçu comme un début de commentaire

On peut voir que la regex rantiCache contient le code */ qui pourrait être perçu aussi comme une fin de commentaire.

Par ailleur, son fichier de cache indique en entête

/* compact [
	local/cache-js/84a429e0a6bb290a4c764abed366dd8b.js?1652858900
] 65.1% */

Comme s’il compactait un fichier déjà compacté. Ce qui sous-entendrait que 2 compactages successifs engendrent un bug.