Skip to content

Commit 4c87a0d

Browse files
committed
Fix escape_string
1 parent 2272fb5 commit 4c87a0d

File tree

3 files changed

+10
-7
lines changed

3 files changed

+10
-7
lines changed

autoload/vimlparser.vim

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4875,9 +4875,10 @@ function! s:Compiler.compile_curlynameexpr(node)
48754875
endfunction
48764876

48774877
function! s:Compiler.escape_string(str)
4878-
let str = '"'
48794878
let m = {"\n": '\n', "\t": '\t', "\r": '\r'}
4880-
for c in split(a:str, '\zs')
4879+
let str = '"'
4880+
for i in range(len(a:str))
4881+
let c = a:str[i]
48814882
if has_key(m, c)
48824883
let str .= m[c]
48834884
else

js/vimlparser.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4859,11 +4859,12 @@ Compiler.prototype.compile_curlynameexpr = function(node) {
48594859
}
48604860

48614861
Compiler.prototype.escape_string = function(str) {
4862-
var str = "\"";
48634862
var m = {"\n":"\\n", "\t":"\\t", "\r":"\\r"};
4864-
var __c13 = viml_split(str, "\\zs");
4863+
var str = "\"";
4864+
var __c13 = viml_range(viml_len(str));
48654865
for (var __i13 = 0; __i13 < __c13.length; ++__i13) {
4866-
var c = __c13[__i13];
4866+
var i = __c13[__i13];
4867+
var c = str[i];
48674868
if (viml_has_key(m, c)) {
48684869
str += m[c];
48694870
}

py/vimlparser.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3808,9 +3808,10 @@ def compile_curlynameexpr(self, node):
38083808
return "{" + self.compile(node.value) + "}"
38093809

38103810
def escape_string(self, str):
3811-
str = "\""
38123811
m = AttributeDict({"\n":"\\n", "\t":"\\t", "\r":"\\r"})
3813-
for c in viml_split(str, "\\zs"):
3812+
str = "\""
3813+
for i in viml_range(viml_len(str)):
3814+
c = str[i]
38143815
if viml_has_key(m, c):
38153816
str += m[c]
38163817
else:

0 commit comments

Comments
 (0)