updated for version 7.3.487
Problem:    When setting 'timeoutlen' or 'ttimeoutlen' the column for vertical
            movement is reset unnecessarily.
Solution:   Do not set w_set_curswant for every option. Add a test for this.
            (Kana Natsuno) Add the P_CURSWANT flag for options.
diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak
index ba261ab..b01d49b 100644
--- a/src/testdir/Make_amiga.mak
+++ b/src/testdir/Make_amiga.mak
@@ -29,7 +29,7 @@
 		test66.out test67.out test68.out 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
+		test81.out test82.out test83.out test84.out
 
 .SUFFIXES: .in .out
 
@@ -132,3 +132,4 @@
 test81.out: test81.in
 test82.out: test82.in
 test83.out: test83.in
+test84.out: test84.in
diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak
index 9d08173..d322504 100644
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -29,7 +29,8 @@
 		test42.out test52.out test65.out test66.out test67.out \
 		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
+		test79.out test80.out test81.out test82.out test83.out \
+		test84.out
 
 SCRIPTS32 =	test50.out test70.out
 
diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak
index 5f9dbdd..0a680c5 100644
--- a/src/testdir/Make_ming.mak
+++ b/src/testdir/Make_ming.mak
@@ -49,7 +49,8 @@
 		test42.out test52.out test65.out test66.out test67.out \
 		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
+		test79.out test80.out test81.out test82.out test83.out \
+		test84.out
 
 SCRIPTS32 =	test50.out test70.out
 
diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak
index 363bede..9cef9aa 100644
--- a/src/testdir/Make_os2.mak
+++ b/src/testdir/Make_os2.mak
@@ -29,7 +29,7 @@
 		test66.out test67.out test68.out 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
+		test81.out test82.out test83.out test84.out
 
 .SUFFIXES: .in .out
 
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
index 4e6ae63..4e961cf 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:  2011 Jul 15
+# Last change:  2012 Mar 28
 #
 # 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.
@@ -76,7 +76,7 @@
 	 test66.out test67.out test68.out test69.out \
 	 test71.out test72.out test74.out test75.out test76.out \
 	 test77.out test78.out test79.out test80.out test81.out \
-	 test82.out test83.out
+	 test82.out test83.out test84.out
 
 # Known problems:
 # Test 30: a problem around mac format - unknown reason
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
index a1cc22d..405ebd4 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -26,7 +26,8 @@
 		test64.out test65.out test66.out test67.out test68.out \
 		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
+		test79.out test80.out test81.out test82.out test83.out \
+		test84.out
 
 SCRIPTS_GUI = test16.out
 
diff --git a/src/testdir/test84.in b/src/testdir/test84.in
new file mode 100644
index 0000000..25482db
--- /dev/null
+++ b/src/testdir/test84.in
@@ -0,0 +1,35 @@
+Tests for curswant not changing when setting an option
+
+STARTTEST
+:so small.vim
+:/^start target options$/+1,/^end target options$/-1 yank
+:let target_option_names = split(@0)
+:function TestCurswant(option_name)
+:  normal! ggf8j
+:  let curswant_before = winsaveview().curswant
+:  execute 'let' '&'.a:option_name '=' '&'.a:option_name
+:  let curswant_after = winsaveview().curswant
+:  return [a:option_name, curswant_before, curswant_after]
+:endfunction
+:
+:new
+:put =['1234567890', '12345']
+:1 delete _
+:let result = []
+:for option_name in target_option_names
+:  call add(result, TestCurswant(option_name))
+:endfor
+:
+:new
+:put =map(copy(result), 'join(v:val, '' '')')
+:1 delete _
+:write test.out
+:
+:qall!
+ENDTEST
+
+start target options
+	tabstop
+	timeoutlen
+	ttimeoutlen
+end target options
diff --git a/src/testdir/test84.ok b/src/testdir/test84.ok
new file mode 100644
index 0000000..8b8e4ee
--- /dev/null
+++ b/src/testdir/test84.ok
@@ -0,0 +1,3 @@
+tabstop 7 4
+timeoutlen 7 7
+ttimeoutlen 7 7