diff runtime/doc/if_lua.txt @ 21030:08e284594211 v8.2.1066

patch 8.2.1066: Lua arrays are zero based Commit: https://github.com/vim/vim/commit/bd84617d1a6766efd59c94aabebb044bef805b99 Author: Bram Moolenaar <Bram@vim.org> Date: Sat Jun 27 12:32:57 2020 +0200 patch 8.2.1066: Lua arrays are zero based Problem: Lua arrays are zero based. Solution: Make Lua arrays one based. (Prabir Shrestha, closes https://github.com/vim/vim/issues/6347) Note: this is not backwards compatible.
author Bram Moolenaar <Bram@vim.org>
date Sat, 27 Jun 2020 12:45:04 +0200
parents ae185f35e256
children 89aba7895bb2
line wrap: on
line diff
--- a/runtime/doc/if_lua.txt
+++ b/runtime/doc/if_lua.txt
@@ -217,11 +217,15 @@ Vim's syntax for lists. Since lists are 
 Lua are reflected in Vim and vice-versa. A list "l" has the following
 properties and methods:
 
+NOTE: In patch 8.2.1066 array indexes were changed from zero-based to
+one-based.  You can check with: >
+	    if has("patch-8.2.1066")
+
 Properties
 ----------
 	o "#l" is the number of items in list "l", equivalent to "len(l)"
 	    in Vim.
-	o "l[k]" returns the k-th item in "l"; "l" is zero-indexed, as in Vim.
+	o "l[k]" returns the k-th item in "l"; "l" is one-indexed, as in Lua.
 	    To modify the k-th item, simply do "l[k] = newitem"; in
 	    particular, "l[k] = nil" removes the k-th item from "l".
 	o "l()" returns an iterator for "l".
@@ -237,11 +241,11 @@ Examples:
 	:let l = [1, 'item']
 	:lua l = vim.eval('l') -- same 'l'
 	:lua l:add(vim.list())
-	:lua l[0] = math.pi
+	:lua l[1] = math.pi
 	:echo l[0] " 3.141593
-	:lua l[0] = nil -- remove first item
+	:lua l[1] = nil -- remove first item
 	:lua l:insert(true, 1)
-	:lua print(l, #l, l[0], l[1], l[-1])
+	:lua print(l, #l, l[1], l[2])
 	:lua for item in l() do print(item) end
 <