Skip to content

Commit 3637081

Browse files
authored
Merge pull request #749 from tsuyoshicho/fix/sexpluaeval
Deprecated.Text.Sexp: fix Lua array index base in 8.2.1066 0 to 1
2 parents 2f232dc + 3011008 commit 3637081

File tree

1 file changed

+12
-1
lines changed
  • autoload/vital/__vital__/Deprecated/Text

1 file changed

+12
-1
lines changed

autoload/vital/__vital__/Deprecated/Text/Sexp.vim

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,20 @@ function! s:_vital_depends() abort
2828
\ }
2929
endfunction
3030

31+
" lua array index as 0 based.
32+
let s:_base = 0
33+
if has('patch-8.2.1066')
34+
" fix lua array index as 1 based.
35+
let s:_base = 1
36+
endif
37+
function! s:_index(idx) abort
38+
return printf('%d', s:_base + a:idx)
39+
endfunction
40+
3141
function! s:parse(sexp) abort
3242
if exists('*luaeval')
33-
return luaeval('_G[_A[0]].vim.parse(_A[1])', [s:sfile, a:sexp])
43+
return luaeval('_G[_A[' . s:_index(0) . ']].vim.parse(_A[' . s:_index(1) . '])', [s:sfile, a:sexp])
44+
" return luaeval('_G[_A[0]].vim.parse(_A[1])', [s:sfile, a:sexp])
3445
" return luaeval('vital_text_sexp.parse(_A)', a:sexp)
3546
" return luaeval('vital_text_sexp.parse(vital_text_sexp.parse(_A))', a:sexp)
3647
else

0 commit comments

Comments
 (0)