From e7d21d36d49d000e1ebd62ff33f16c3a0bdcc567 Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Sat, 16 Aug 2025 19:47:55 +0200 Subject: [PATCH] Fixed incorrect escape sequence parsing --- src/core/unescape.go | 2 +- tests/escape.q | 7 +++++++ tests/tests_test.go | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 tests/escape.q diff --git a/src/core/unescape.go b/src/core/unescape.go index b170e95..408aaad 100644 --- a/src/core/unescape.go +++ b/src/core/unescape.go @@ -37,7 +37,7 @@ func unescape(data []byte) []byte { escape = bytes.IndexByte(data, '\\') if escape == -1 { - return tmp + return append(tmp, data...) } } } \ No newline at end of file diff --git a/tests/escape.q b/tests/escape.q new file mode 100644 index 0000000..c795787 --- /dev/null +++ b/tests/escape.q @@ -0,0 +1,7 @@ +import io + +main() { + io.write("a\tb") + io.write("\nc") + io.write("\td\n") +} \ No newline at end of file diff --git a/tests/tests_test.go b/tests/tests_test.go index 4ca9f35..d29f385 100644 --- a/tests/tests_test.go +++ b/tests/tests_test.go @@ -57,6 +57,7 @@ var tests = []run{ {"struct", "", "", 0}, {"struct-init", "", "", 0}, {"hello", "", "Hello\nHello\nHello\n", 0}, + {"escape", "", "a\tb\nc\td\n", 0}, {"script", "", "Hello\n", 0}, } -- 2.51.2