Parcourir la source

Different escaping. No unescape called. Escapes into UTF-8 range (only escape 0x00-0x1f, double quote and backslash, and 0x7f-0x9f, the rest is left unchanged).

Herbert Vojčík il y a 12 ans
Parent
commit
c6b3e3ba6a
3 fichiers modifiés avec 431 ajouts et 429 suppressions
  1. 220 219
      js/Kernel-Collections.deploy.js
  2. 210 209
      js/Kernel-Collections.js
  3. 1 1
      st/Kernel-Collections.st

Fichier diff supprimé car celui-ci est trop grand
+ 220 - 219
js/Kernel-Collections.deploy.js


Fichier diff supprimé car celui-ci est trop grand
+ 210 - 209
js/Kernel-Collections.js


+ 1 - 1
st/Kernel-Collections.st

@@ -976,7 +976,7 @@ asJavaScriptSelector
 asJavascript
 	<
 		if(self.search(/^[a-zA-Z0-9_:.$ ]*$/) == -1)
-			return "unescape(\"" + escape(self) + "\")";
+			return "\"" + self.replace(/[\x00-\x1f"\\\x7f-\x9f]/g, function(ch){var c=ch.charCodeAt(0);return "\\x"+("0"+c.toString(16)).slice(-2)}) + "\"";
 		else
 			return "\"" + self + "\"";
 	>

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff