patch 7.4.813
Problem:    It is not possible to save and restore character search state.
Solution:   Add getcharsearch() and setcharsearch().  (James McCoy)
diff --git a/src/testdir/Make_amiga.mak b/src/testdir/Make_amiga.mak
index 5f687b5..183a809 100644
--- a/src/testdir/Make_amiga.mak
+++ b/src/testdir/Make_amiga.mak
@@ -42,6 +42,7 @@
 		test_autoformat_join.out \
 		test_breakindent.out \
 		test_changelist.out \
+		test_charsearch.out \
 		test_close_count.out \
 		test_command_count.out \
 		test_erasebackword.out \
@@ -194,6 +195,7 @@
 test_autoformat_join.out: test_autoformat_join.in
 test_breakindent.out: test_breakindent.in
 test_changelist.out: test_changelist.in
+test_charsearch.out: test_charsearch.in
 test_close_count.out: test_close_count.in
 test_command_count.out: test_command_count.in
 test_erasebackword.out: test_erasebackword.in
diff --git a/src/testdir/Make_dos.mak b/src/testdir/Make_dos.mak
index 55c5220..0f9514c 100644
--- a/src/testdir/Make_dos.mak
+++ b/src/testdir/Make_dos.mak
@@ -41,6 +41,7 @@
 		test_autoformat_join.out \
 		test_breakindent.out \
 		test_changelist.out \
+		test_charsearch.out \
 		test_close_count.out \
 		test_command_count.out \
 		test_erasebackword.out \
diff --git a/src/testdir/Make_ming.mak b/src/testdir/Make_ming.mak
index 9faac68..9ce78bf 100644
--- a/src/testdir/Make_ming.mak
+++ b/src/testdir/Make_ming.mak
@@ -63,6 +63,7 @@
 		test_autoformat_join.out \
 		test_breakindent.out \
 		test_changelist.out \
+		test_charsearch.out \
 		test_close_count.out \
 		test_command_count.out \
 		test_erasebackword.out \
diff --git a/src/testdir/Make_os2.mak b/src/testdir/Make_os2.mak
index 6ff7a6b..cac8f9c 100644
--- a/src/testdir/Make_os2.mak
+++ b/src/testdir/Make_os2.mak
@@ -43,6 +43,7 @@
 		test_autoformat_join.out \
 		test_breakindent.out \
 		test_changelist.out \
+		test_charsearch.out \
 		test_close_count.out \
 		test_command_count.out \
 		test_erasebackword.out \
diff --git a/src/testdir/Make_vms.mms b/src/testdir/Make_vms.mms
index d8f54ad..d90f59a 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:  2015 Jul 17
+# Last change:  2015 Aug 11
 #
 # 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.
@@ -102,6 +102,7 @@
 	 test_autoformat_join.out \
 	 test_breakindent.out \
 	 test_changelist.out \
+	 test_charsearch.out \
 	 test_close_count.out \
 	 test_command_count.out \
 	 test_erasebackword.out \
diff --git a/src/testdir/Makefile b/src/testdir/Makefile
index 92bbe61..7edebbe 100644
--- a/src/testdir/Makefile
+++ b/src/testdir/Makefile
@@ -39,6 +39,7 @@
 		test_autoformat_join.out \
 		test_breakindent.out \
 		test_changelist.out \
+		test_charsearch.out \
 		test_close_count.out \
 		test_command_count.out \
 		test_erasebackword.out \
diff --git a/src/testdir/test_charsearch.in b/src/testdir/test_charsearch.in
new file mode 100644
index 0000000..5085cb3
--- /dev/null
+++ b/src/testdir/test_charsearch.in
@@ -0,0 +1,25 @@
+Test for character searches
+
+STARTTEST
+:so small.vim
+:" check that "fe" and ";" work
+/^X
+ylfep;;p,,p:
+:" check that save/restore works
+/^Y
+ylfep:let csave = getcharsearch()
+fip:call setcharsearch(csave)
+;p;p:
+:" check that setcharsearch() changes the settins.
+/^Z
+ylfep:call setcharsearch({'char': 'k'})
+;p:call setcharsearch({'forward': 0})
+$;p:call setcharseearch({'until'}: 1})
+;;p:
+:/^X/,$w! test.out
+:qa!
+ENDTEST
+
+Xabcdefghijkemnopqretuvwxyz
+Yabcdefghijkemnopqretuvwxyz
+Zabcdefghijkemnokqretkvwxyz
diff --git a/src/testdir/test_charsearch.ok b/src/testdir/test_charsearch.ok
new file mode 100644
index 0000000..a0c90e2
--- /dev/null
+++ b/src/testdir/test_charsearch.ok
@@ -0,0 +1,3 @@
+XabcdeXfghijkeXmnopqreXtuvwxyz
+YabcdeYfghiYjkeYmnopqreYtuvwxyz
+ZabcdeZfghijkZemnokZqretkZvwxyz