updated for version 7.0g
diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak
index 3bbd964..26ba30c 100644
--- a/src/testdir/Make_amiga.mak
+++ b/src/testdir/Make_amiga.mak
@@ -25,7 +25,7 @@
 		test43.out test44.out test45.out test46.out test47.out \
 		test48.out test51.out test53.out test54.out test55.out \
 		test56.out test57.out test58.out test59.out test60.out \
-		test61.out
+		test61.out test62.out
 
 .SUFFIXES: .in .out
 
@@ -106,3 +106,4 @@
 test59.out: test59.in
 test60.out: test60.in
 test61.out: test61.in
+test62.out: test62.in
diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak
index eec1f9b..99d89f7 100644
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -19,7 +19,7 @@
 		test44.out test45.out test46.out test47.out \
 		test48.out test51.out test53.out test54.out \
 		test55.out test56.out test57.out test58.out test59.out \
-		test60.out test61.out
+		test60.out test61.out test62.out
 
 SCRIPTS =	test3.out test4.out test5.out test6.out test7.out \
 		test8.out test9.out test11.out test13.out test14.out \
diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak
index 15f8d33..423fc80 100644
--- a/src/testdir/Make_os2.mak
+++ b/src/testdir/Make_os2.mak
@@ -25,7 +25,7 @@
 		test43.out test44.out test45.out test46.out test47.out \
 		test48.out test51.out test53.out test54.out test55.out \
 		test56.out test57.out test58.out test59.out test60.out \
-		test61.out
+		test61.out test62.out
 
 .SUFFIXES: .in .out
 
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
index 57101fc..cef07e9 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:  2006 Mar 15
+# Last change:  2006 Apr 30
 #
 # This has been tested on VMS 6.2 to 7.2 on DEC Alpha and VAX.
 # Edit the lines in the Configuration section below to select.
@@ -59,7 +59,7 @@
 	 test43.out test44.out test45.out test46.out \
 	 test48.out test51.out test53.out test54.out test55.out \
 	 test56.out test57.out test58.out test59.out test60.out \
-	 test61.out
+	 test61.out test62.out
 
 .IFDEF WANT_GUI
 SCRIPT_GUI = test16.out
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
index 4064cc1..747b187 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -15,7 +15,7 @@
 		test43.out test44.out test45.out test46.out test47.out \
 		test48.out test49.out test51.out test52.out test53.out \
 		test54.out test55.out test56.out test57.out test58.out \
-		test59.out test60.out test61.out
+		test59.out test60.out test61.out test62.out
 
 SCRIPTS_GUI = test16.out
 
diff --git a/src/testdir/test34.in b/src/testdir/test34.in
index 6760700..4781fec 100644
--- a/src/testdir/test34.in
+++ b/src/testdir/test34.in
@@ -1,4 +1,5 @@
-Test for user functions
+Test for user functions.
+Also test an <expr> mapping calling a function.
 
 STARTTEST
 :so small.vim
@@ -18,6 +19,27 @@
 :  exe "let g:" . a:divname . " = ". a:n1 / a:n2
 :  return "ok"
 :endfunction
+:func Expr1()
+:  normal! v
+:  return "111"
+:endfunc
+:func Expr2()
+:  call search('XX', 'b')
+:  return "222"
+:endfunc
+:func ListItem()
+:  let g:counter += 1
+:  return g:counter . '. '
+:endfunc
+:func ListReset()
+:  let g:counter = 0
+:  return ''
+:endfunc
+:let counter = 0
+:inoremap <expr> ( ListItem()
+:inoremap <expr> [ ListReset()
+:imap <expr> + Expr1()
+:imap <expr> * Expr2()
 :let retval = "nop"
 /^here
 C=Table("xxx", 4, "asdf")
@@ -25,7 +47,12 @@
  =retval
  =Compute(45, 5, "retval")
  =retval
-:.wq! test.out
+
+XX+-XX
+---*---
+(one
+(two
+[(one again:$-5,$wq! test.out
 ENDTEST
 
 here
diff --git a/src/testdir/test34.ok b/src/testdir/test34.ok
index 6dab52f..368ae10 100644
--- a/src/testdir/test34.ok
+++ b/src/testdir/test34.ok
@@ -1 +1,6 @@
 xxx4asdf fail nop ok 9
+XX111XX
+---222---
+1. one
+2. two
+1. one again
diff --git a/src/testdir/test62.in b/src/testdir/test62.in
new file mode 100644
index 0000000..e507c6a
--- /dev/null
+++ b/src/testdir/test62.in
@@ -0,0 +1,32 @@
+Tests for tab pages
+
+STARTTEST
+:so small.vim
+:" Simple test for opening and closing a tab page
+:tabnew
+:let nr = tabpagenr()
+:q
+:call append(line('$'), 'tab page ' . nr)
+:"
+:" Open three tab pages and use ":tabdo"
+:0tabnew
+:1tabnew
+:888tabnew
+:tabdo call append(line('$'), 'this is tab page ' . tabpagenr())
+:tabclose! 2
+:tabrewind
+:let line1 = getline('$')
+:undo
+:q
+:tablast
+:let line2 = getline('$')
+:q!
+:call append(line('$'), line1)
+:call append(line('$'), line2)
+:"
+:"
+:/^Results/,$w! test.out
+:qa!
+ENDTEST
+
+Results:
diff --git a/src/testdir/test62.ok b/src/testdir/test62.ok
new file mode 100644
index 0000000..57438ed
--- /dev/null
+++ b/src/testdir/test62.ok
@@ -0,0 +1,5 @@
+Results:
+tab page 2
+this is tab page 3
+this is tab page 1
+this is tab page 4