updated for version 7.3.491
Problem:    No tests for Lua.
Solution:   Add some simple tests for Lua. (Luis Carvalho)
diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak
index b01d49b..a512cd9 100644
--- a/src/testdir/Make_amiga.mak
+++ b/src/testdir/Make_amiga.mak
@@ -13,6 +13,7 @@
 # test25	uses symbolic link
 # test27	can't edit file with "*"
 # test52	only for Win32
+# test85	no Lua interface
 
 SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
 		test7.out test8.out test9.out \
diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak
index d322504..4498c1c 100644
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -30,7 +30,7 @@
 		test68.out test69.out test71.out test72.out test73.out \
 		test74.out test75.out test76.out test77.out test78.out \
 		test79.out test80.out test81.out test82.out test83.out \
-		test84.out
+		test84.out test85.out
 
 SCRIPTS32 =	test50.out test70.out
 
diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak
index 0a680c5..4aee8cd 100644
--- a/src/testdir/Make_ming.mak
+++ b/src/testdir/Make_ming.mak
@@ -50,7 +50,7 @@
 		test68.out test69.out test71.out test72.out test73.out \
 		test74.out test75.out test76.out test77.out test78.out \
 		test79.out test80.out test81.out test82.out test83.out \
-		test84.out
+		test84.out test85.out
 
 SCRIPTS32 =	test50.out test70.out
 
diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak
index 9cef9aa..64d8532 100644
--- a/src/testdir/Make_os2.mak
+++ b/src/testdir/Make_os2.mak
@@ -13,6 +13,7 @@
 # test25	uses symbolic link
 # test27	can't edit file with "*" in file name
 # test52	only for Win32
+# test85	no Lua interface
 
 SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
 		test7.out test8.out test9.out \
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
index 4e961cf..dfc4a7b 100644
--- a/src/testdir/Make_vms.mms
+++ b/src/testdir/Make_vms.mms
@@ -4,7 +4,7 @@
 # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
 #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
 #
-# Last change:  2012 Mar 28
+# Last change:  2012 Apr 05
 #
 # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
 # Edit the lines in the Configuration section below to select.
@@ -89,6 +89,7 @@
 # with too many dots).
 #
 # Test 72: unknown reason
+# Test 85: no Lua interface
 
 .IFDEF WANT_GUI
 SCRIPT_GUI = test16.out
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
index 405ebd4..0fb8051 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -27,7 +27,7 @@
 		test69.out test70.out test71.out test72.out test73.out \
 		test74.out test75.out test76.out test77.out test78.out \
 		test79.out test80.out test81.out test82.out test83.out \
-		test84.out
+		test84.out test85.out
 
 SCRIPTS_GUI = test16.out
 
diff --git a/src/testdir/test1.in b/src/testdir/test1.in
index a3b5841..c175fa5 100644
--- a/src/testdir/test1.in
+++ b/src/testdir/test1.in
@@ -15,6 +15,7 @@
 be set like small.vim above.  mbyte.vim is sourced by tests that require the
 +multi_byte feature.
 Similar logic is applied to the +mzscheme feature, using mzscheme.vim.
+Similar logic is applied to the +lua feature, using lua.vim.
 
 STARTTEST
 :" Write a single line to test.out to check if testing works at all.
@@ -28,10 +29,17 @@
 qa!
 :w! mbyte.vim
 :w! mzscheme.vim
+:w! lua.vim
+:"
 :" If +multi_byte feature supported, make mbyte.vim empty.
 :if has("multi_byte") | sp another | w! mbyte.vim | q | endif
+:"
 :" If +mzscheme feature supported, make mzscheme.vim empty.
 :if has("mzscheme") | sp another | w! mzscheme.vim | q | endif
+:"
+:" If +lua feature supported, make lua.vim empty.
+:if has("lua") | sp another | w! lua.vim | q | endif
+:"
 :" If +eval feature supported quit here, leaving tiny.vim and small.vim empty.
 :" Otherwise write small.vim to skip the test.
 :if 1 | q! | endif
diff --git a/src/testdir/test85.in b/src/testdir/test85.in
new file mode 100644
index 0000000..a4c30d0
--- /dev/null
+++ b/src/testdir/test85.in
@@ -0,0 +1,42 @@
+Test for Lua interface and luaeval() function
+
+STARTTEST
+:so small.vim
+:so lua.vim
+:set nocompatible viminfo+=nviminfo
+:lua l = vim.list():add"item0":add"dictionary with list OK":add"item2"
+:lua h = vim.dict(); h.list = l
+:call garbagecollect()
+/^1
+:" change buffer contents
+:lua curbuf = vim.buffer()
+:lua curline = vim.eval"line('.')"
+:lua curbuf[curline] = "1 changed line 1"
+:" scalar test
+:let tmp_string = luaeval('"string"')
+:let tmp_1000 = luaeval('1000')
+:if printf("%s%.0f", tmp_string, tmp_1000) == "string1000"
+:let scalar_res = "OK"
+:else
+:let scalar_res = "FAILED"
+:endif
+:call append(search("^1"), "scalar test " . scalar_res)
+:" dictionary containing a list
+:let tmp = luaeval("h").list[1]
+:/^2/put =tmp
+:" circular list (at the same time test lists containing lists)
+:lua l[2] = l
+:let l2 = luaeval("h").list
+:if l2[2] == l2
+:let res = "OK"
+:else
+:let res = "FAILED"
+:endif
+:call setline(search("^3"), "circular test " . res)
+:?^1?,$w! test.out
+:qa!
+ENDTEST
+
+1 line 1
+2 line 2
+3 line 3
diff --git a/src/testdir/test85.ok b/src/testdir/test85.ok
new file mode 100644
index 0000000..f8d2d31
--- /dev/null
+++ b/src/testdir/test85.ok
@@ -0,0 +1,5 @@
+1 changed line 1
+scalar test OK
+2 line 2
+dictionary with list OK
+circular test OK
diff --git a/src/version.c b/src/version.c
index a835ea5..029b240 100644
--- a/src/version.c
+++ b/src/version.c
@@ -715,6 +715,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    491,
+/**/
     490,
 /**/
     489,