{ "\e" } [ "\u00001b" ] unit-test
{ "\e" } [ "\x1b" ] unit-test
+
+{ "foo" } [ "\"\\\nfoo\"" eval( -- obj ) ] unit-test
+{ "foo" } [ "\"foo\\\n\"" eval( -- obj ) ] unit-test
+{ "foo bar" } [ "\"foo \\\nbar\"" eval( -- obj ) ] unit-test
unclip-slice {
{ CHAR: u [ unicode-escape ] }
{ CHAR: x [ hex-escape ] }
+ { CHAR: \n [ f swap ] }
[ escape swap ]
} case ;
{ sbuf object object } declare
[
cut-slice [ append! ] dip
- rest-slice next-escape [ suffix! ] dip
+ rest-slice next-escape [ [ suffix! ] when* ] dip
CHAR: \\ over index (unescape-string)
] [
append!