]> gitweb.factorcode.org Git - factor.git/commitdiff
ini-file: stop using xml.entities.
authorJohn Benediktsson <mrjbq7@gmail.com>
Thu, 18 Mar 2021 17:26:55 +0000 (10:26 -0700)
committerJohn Benediktsson <mrjbq7@gmail.com>
Thu, 18 Mar 2021 17:26:55 +0000 (10:26 -0700)
extra/ini-file/ini-file.factor

index 7c6e52f7a7d02061ca4c7f2c5f2d349f9c96dc9f..65e38ee9e0aa72035c574f7122067e81de110a5d 100644 (file)
@@ -38,26 +38,28 @@ IN: ini-file
 : unescape-string ( str -- str' )
     [ (unescape-string) ] "" make ;
 
-USE: xml.entities
-
 : escape-string ( str -- str' )
-    H{
-        { CHAR: \a   "\\a"  }
-        { CHAR: \b   "\\b"  }
-        { CHAR: \f   "\\f"  }
-        { CHAR: \n   "\\n"  }
-        { CHAR: \r   "\\r"  }
-        { CHAR: \t   "\\t"  }
-        { CHAR: \b   "\\v"  }
-        { CHAR: '    "\\'"  }
-        { CHAR: \"   "\\\"" }
-        { CHAR: \\   "\\\\" }
-        { CHAR: ?    "\\?"  }
-        { CHAR: ;    "\\;"  }
-        { CHAR: [    "\\["  }
-        { CHAR: ]    "\\]"  }
-        { CHAR: =    "\\="  }
-    } escape-string-by ;
+    [
+        [
+            H{
+                { CHAR: \a   "\\a"  }
+                { CHAR: \b   "\\b"  }
+                { CHAR: \f   "\\f"  }
+                { CHAR: \n   "\\n"  }
+                { CHAR: \r   "\\r"  }
+                { CHAR: \t   "\\t"  }
+                { CHAR: \b   "\\v"  }
+                { CHAR: '    "\\'"  }
+                { CHAR: \"   "\\\"" }
+                { CHAR: \\   "\\\\" }
+                { CHAR: ?    "\\?"  }
+                { CHAR: ;    "\\;"  }
+                { CHAR: [    "\\["  }
+                { CHAR: ]    "\\]"  }
+                { CHAR: =    "\\="  }
+            } ?at [ % ] [ , ] if
+        ] each
+    ] "" make ;
 
 : space? ( ch -- ? )
     "\s\t\n\r\f\v" member-eq? ;