Commit 57569bad35dcd01ae6b1e2e01fb2ce4446d1b153
1 parent
24253864
fix make_js_string. Now treat all CR LF TAB BACK native code to escaped sequence
to_js_string call also make_js_string to avoid the user to call it before use to_js_string
Showing
1 changed file
with
9 additions
and
6 deletions
Show diff stats
web/js_tools.anubis
| ... | ... | @@ -20,9 +20,12 @@ define List(Word8) |
| 20 | 20 | [ ] then reverse(so_far), |
| 21 | 21 | [h . t] then |
| 22 | 22 | make_js_string(t, |
| 23 | - if h = '\'' then | |
| 24 | - [h . ['\\' . so_far]] | |
| 25 | - else | |
| 23 | + if h = '\'' then [ h, '\\' . so_far] //single quote | |
| 24 | + else if h = '\r' then ['r', '\\' . so_far] //CR | |
| 25 | + else if h = '\n' then ['n', '\\' . so_far] //LF | |
| 26 | + else if h = '\t' then ['t', '\\' . so_far] //tab | |
| 27 | + else if h = 0x08 then ['b', '\\' . so_far] //Backspace | |
| 28 | + else | |
| 26 | 29 | [h . so_far] |
| 27 | 30 | ) |
| 28 | 31 | }. |
| ... | ... | @@ -44,12 +47,12 @@ public define String |
| 44 | 47 | String str |
| 45 | 48 | ) |
| 46 | 49 | = |
| 47 | - "'" + str + "'". | |
| 50 | + "'" + make_js_string(str) + "'". | |
| 48 | 51 | |
| 49 | 52 | public define String |
| 50 | 53 | format_js_function_call |
| 51 | 54 | ( |
| 52 | - String name, | |
| 53 | - List(String) args | |
| 55 | + String name, | |
| 56 | + List(String) args | |
| 54 | 57 | ) = |
| 55 | 58 | name + "(" + concat(args, ",") + ");". | ... | ... |