Skip to content

Commit badf98f

Browse files
authored
Merge pull request #4900 from rescript-lang/fix_4896
fix #4896 `'` not needed be escaped when printed inside double quotes
2 parents 33441df + bfe263a commit badf98f

File tree

7 files changed

+7
-37
lines changed

7 files changed

+7
-37
lines changed

jscomp/syntax/ast_utf8_string.ml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ let error ~loc error =
6161
visual input while es5 string
6262
does not*)
6363

64-
let rec check_and_transform (loc : int ) buf s byte_offset s_len =
64+
let rec check_and_transform (loc : int ) (buf : Buffer.t) (s : string) (byte_offset : int) (s_len : int) =
6565
if byte_offset = s_len then ()
6666
else
6767
let current_char = s.[byte_offset] in
@@ -71,9 +71,6 @@ let rec check_and_transform (loc : int ) buf s byte_offset s_len =
7171
| Single 34 ->
7272
Buffer.add_string buf "\\\"";
7373
check_and_transform (loc + 1) buf s (byte_offset + 1) s_len
74-
| Single 39 ->
75-
Buffer.add_string buf "\\'";
76-
check_and_transform (loc + 1) buf s (byte_offset + 1) s_len
7774
| Single 10 ->
7875
Buffer.add_string buf "\\n";
7976
check_and_transform (loc + 1) buf s (byte_offset + 1) s_len

jscomp/syntax/ast_utf8_string_interp.ml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -202,9 +202,6 @@ let rec check_and_transform (loc : int ) s byte_offset ({s_len; buf} as cxt : c
202202
| Single 34 ->
203203
Buffer.add_string buf "\\\"";
204204
check_and_transform (loc + 1) s (byte_offset + 1) cxt
205-
| Single 39 ->
206-
Buffer.add_string buf "\\'";
207-
check_and_transform (loc + 1) s (byte_offset + 1) cxt
208205
| Single 10 ->
209206

210207
Buffer.add_string buf "\\n";

jscomp/test/chn_test.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ function eq(loc, x, y) {
3232

3333
console.log("你好,\n世界");
3434

35-
console.log("\x3f\u003f\b\t\n\v\f\r\0\"\'");
35+
console.log("\x3f\u003f\b\t\n\v\f\r\0\"'");
3636

3737
function convert(s) {
3838
return $$Array.to_list(Array.from(s, (function (x) {
@@ -227,7 +227,7 @@ eq("File \"chn_test.ml\", line 82, characters 5-12", convert(" \b\t\n\v\f\ra"),
227227
}
228228
});
229229

230-
eq("File \"chn_test.ml\", line 89, characters 6-13", convert(" \b\t\n\v\f\r\"\'\\\0a"), {
230+
eq("File \"chn_test.ml\", line 89, characters 6-13", convert(" \b\t\n\v\f\r\"'\\\0a"), {
231231
hd: 32,
232232
tl: {
233233
hd: 8,

0 commit comments

Comments
 (0)