diff --git a/runtime/compiler/decada.vim b/runtime/compiler/decada.vim
index 4670bbd9145d36cdbb430bf4cd36c2fad4f54691..0bf5487c895d462d8d521a4ca5fae128e910965d 100644
--- a/runtime/compiler/decada.vim
+++ b/runtime/compiler/decada.vim
@@ -15,14 +15,11 @@
 "    Help Page: compiler-decada
 "------------------------------------------------------------------------------
 
-let s:keepcpo= &cpo
-set cpo&vim
-
-if (exists("current_compiler")	    &&
-   \ current_compiler == "decada")  ||
-   \ version < 700
+if (exists("current_compiler") && current_compiler == "decada") || version < 700
    finish
 endif
+let s:keepcpo= &cpo
+set cpo&vim
 
 let current_compiler = "decada"
 
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index bb11f9cad5d3d45d271683cc6aef8d3cfabd8598..3e19b1d3e729d0666101fb48f820f984711617f7 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.3.  Last change: 2012 Apr 25
+*change.txt*    For Vim version 7.3.  Last change: 2012 Apr 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -260,6 +260,12 @@ r{char}			Replace the character under the cursor with {char}.
 			<CR>.  CTRL-V <NL> replaces with a <Nul>.
 			{Vi: CTRL-V <CR> still replaces with a line break,
 			cannot replace something with a <CR>}
+
+			If {char} is CTRL-E or CTRL-Y the character from the
+			line below or above is used, just like with |i_CTRL-E|
+			and |i_CTRL-Y|.  This also works with a count, thus
+			`10r<C-E>` copies 10 characters from the line below.
+
 			If you give a [count], Vim replaces [count] characters
 			with [count] {char}s.  When {char} is a <CR> or <NL>,
 			however, Vim inserts only one <CR>: "5r<CR>" replaces
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index be31f44bd746ba5ef8dcaf792a04a54875709800..91ee7f49755766f244d565ab0b5b8305b962334c 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.3.  Last change: 2012 Apr 25
+*eval.txt*	For Vim version 7.3.  Last change: 2012 Apr 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -5964,6 +5964,8 @@ undofile({name})					*undofile()*
 		the undo file exists.
 		{name} is always expanded to the full path, since that is what
 		is used internally.
+		If {name} is empty undofile() returns an empty string, since a
+		buffer without a file name will not write an undo file.
 		Useful in combination with |:wundo| and |:rundo|.
 		When compiled without the +persistent_undo option this always
 		returns an empty string.
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index d1df4cb277e9433815a2d7957d324023e4ecd2ff..ac8e62c074f9a4e4754fe5b12fde85405cbb2561 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.3.  Last change: 2012 Apr 30
+*todo.txt*      For Vim version 7.3.  Last change: 2012 May 01
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,6 +34,8 @@ not be repeated below, unless there is extra information.
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+patch to fix helphelp.txt from Ken Takata.  https://gist.github.com/2559599
+
 Go through more coverity reports.
 
 Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
@@ -41,9 +43,6 @@ Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
 Stack trace of crash: http://vpaste.net/GBt9S
 (Alexandre Provencio)
 
-Once syntax and other runtime files have been fixed: add "set cp" to
-check.vim.  Use a function to run both with 'cp' and 'nocp'.
-
 GTK: problem with 'L' in 'guioptions' changing the window width.
 (Aaron Cornelius, 2012 Feb 6)
 
@@ -54,10 +53,6 @@ Win32: When a directory name contains an exclamation mark, completion doesn't
 complete the contents of the directory.  No escaping for the "!"? (Jan
 Stocker, 2012 Jan 5)
 
-Patch for crash involving curwin->w_s. (Christian Brabandt, 2012 Apr 20)
-What is the cause?  Leaks memory?  Other solution?
-More debug info Apr 26.  Patch with proper fix Apr 26.  Update 28 Apr.
-
 Issue 54: document behavior of -complete, also expands arg.
 
 Cursor on wrong line after ":copen". (John Beckett, 2012 Apr 30)
@@ -81,12 +76,6 @@ When running Vim in silent ex mode, an existing swapfile causes Vim to wait
 for a user action without a prompt. (Maarten Billemont, 2012 Feb 3)
 Do give the prompt? Quit with an error?
 
-Patch for undofile(). (Christian Brabandt, 2012 Apr 27)
-
-Patch for: (Christian Brabandt, 2011 Aug 22)
--   Make it possible to enter "r<C-E>" and "r<C-Y>" (get character from line
-    below/above).
-
 Patch for: (Christian Brabandt, 2011 Aug 24, updated patch)
 8   ":sign unplace * file={filename}" should work.  Also: ":sign unplace *
     buffer={bufnr}".  So one can remove all signs for one file/buffer.
@@ -101,8 +90,6 @@ Name it "CompleteFuncDone".
 Patch for Make_mvc.mak and Make_ming.mak for Ruby support. (Yasuhiro
 Matsumoto, 2012 Jan 30)
 
-Patch to add completion for :history command.  (Dominique Pelle, 2012 Feb 26)
-
 Patch for 'backupcopy' default behavior for symlinks on Windows. (David Pope,
 2012 Mar 21, update Mar 31)
 
diff --git a/runtime/ftplugin/qf.vim b/runtime/ftplugin/qf.vim
index 9d438b520dc0f04fc380540797ba7470166e8cc8..98c8f932bccaf7d5b596937a473f60c87752c396 100644
--- a/runtime/ftplugin/qf.vim
+++ b/runtime/ftplugin/qf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:     Vim's quickfix window
 " Maintainer:   Lech Lorens <Lech.Lorens@gmail.com>
-" Last Changed: 18 Dec 2010
+" Last Changed: 30 Apr 2012
 
 if exists("b:did_ftplugin")
   finish
@@ -13,4 +13,4 @@ let b:did_ftplugin = 1
 let b:undo_ftplugin = "set stl<"
 
 " Display the command that produced the list in the quickfix window:
-setlocal stl=%t%{exists('w:quickfix_title')?\ '\ '.w:quickfix_title\ :\ ''}
+setlocal stl=%t%{exists('w:quickfix_title')?\ '\ '.w:quickfix_title\ :\ ''}\ %=%-15(%l,%c%V%)\ %P
diff --git a/runtime/indent/ada.vim b/runtime/indent/ada.vim
index c7f886436228912ba6b7b6d41b5bfa72c0dfb527..03fbaa3a18857d27885313791daaf7978f85ebf7 100644
--- a/runtime/indent/ada.vim
+++ b/runtime/indent/ada.vim
@@ -28,8 +28,6 @@
 if exists("b:did_indent") || version < 700
    finish
 endif
-let s:keepcpo= &cpo
-set cpo&vim
 
 let b:did_indent = 45
 
@@ -41,6 +39,8 @@ setlocal indentkeys+=0=~then,0=~end,0=~elsif,0=~when,0=~exception,0=~begin,0=~is
 if exists("*GetAdaIndent")
    finish
 endif
+let s:keepcpo= &cpo
+set cpo&vim
 
 if exists("g:ada_with_gnat_project_files")
    let s:AdaBlockStart = '^\s*\(if\>\|while\>\|else\>\|elsif\>\|loop\>\|for\>.*\<\(loop\|use\)\>\|declare\>\|begin\>\|type\>.*\<is\>[^;]*$\|\(type\>.*\)\=\<record\>\|procedure\>\|function\>\|accept\>\|do\>\|task\>\|package\>\|project\>\|then\>\|when\>\|is\>\)'
diff --git a/runtime/indent/python.vim b/runtime/indent/python.vim
index 838865f87f7087852b83f12dded594da34a0ff8b..54ed12342910e37d3084515a2e2c23bea86eb8d4 100644
--- a/runtime/indent/python.vim
+++ b/runtime/indent/python.vim
@@ -2,15 +2,13 @@
 " Language:		Python
 " Maintainer:		Bram Moolenaar <Bram@vim.org>
 " Original Author:	David Bustos <bustos@caltech.edu>
-" Last Change:		2012 Apr 30
+" Last Change:		2012 May 01
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
   finish
 endif
 let b:did_indent = 1
-let s:keepcpo= &cpo
-set cpo&vim
 
 " Some preliminary settings
 setlocal nolisp		" Make sure lisp indenting doesn't supersede us
@@ -23,6 +21,8 @@ setlocal indentkeys+=<:>,=elif,=except
 if exists("*GetPythonIndent")
   finish
 endif
+let s:keepcpo= &cpo
+set cpo&vim
 
 " Come here when loading the script the first time.
 
diff --git a/runtime/lang/menu_af_af.latin1.vim b/runtime/lang/menu_af_af.latin1.vim
index 7b16b0fcfb3342b82fd002028bb872d5602ca85e..46331e7ac601c18c896f320a483489a46af6cb7f 100644
--- a/runtime/lang/menu_af_af.latin1.vim
+++ b/runtime/lang/menu_af_af.latin1.vim
@@ -1,6 +1,6 @@
 " Menu Translations:	Afrikaas
 " Maintainer:		Danie Roux <droux@tuks.co.za>
-" Last Change:		2012 Apr 30
+" Last Change:		2012 May 01
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -153,5 +153,5 @@ menutrans Co&lor\ test		Toets\ die\ &kleure
 menutrans &Highlight\ test	Toets\ die\ verligting
 menutrans &Convert\ to\ HTML	Verwissel\ na\ HTML
 
-let s:keepcpo= &cpo
-set cpo&vim
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_ca_es.latin1.vim b/runtime/lang/menu_ca_es.latin1.vim
index c78e173b6822472bb9cef4532396b4017a281c53..1d77dc926bbe67f80ae0f1dcbefb39e2636416c0 100644
--- a/runtime/lang/menu_ca_es.latin1.vim
+++ b/runtime/lang/menu_ca_es.latin1.vim
@@ -9,6 +9,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 " The translations below are in latin1, but they work for cp1252,
 " iso-8859-15 without conversion as well.
@@ -311,3 +313,5 @@ menutrans Config			Configuraci
 menutrans Set\ '&syntax'\ only		Només\ el\ ressalt\ de\ sintaxi
 menutrans Set\ '&filetype'\ too		Carrega\ també\ els\ plugins
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_chinese_gb.936.vim b/runtime/lang/menu_chinese_gb.936.vim
index 193826bdc9bb11def2ec17a737783de2cd42e916..e636a423194a058a883babd13d5ce4680cf84d70 100644
--- a/runtime/lang/menu_chinese_gb.936.vim
+++ b/runtime/lang/menu_chinese_gb.936.vim
@@ -9,6 +9,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding cp936
 
@@ -261,3 +263,6 @@ menutrans &Highlight\ test		
 menutrans &Convert\ to\ HTML		ת»»³É\ HTML(&C)
 menutrans Set\ '&syntax'\ only		½öÉ趨\ 'syntax'(&S)
 menutrans Set\ '&filetype'\ too		Ò²É趨\ 'filetype'(&F)
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_chinese_taiwan.950.vim b/runtime/lang/menu_chinese_taiwan.950.vim
index 60dc2a799eb437aa257f53ef24a813b77a144cbf..7631e3e1a3a4e5b9f218c539d099c5579501b9f9 100644
--- a/runtime/lang/menu_chinese_taiwan.950.vim
+++ b/runtime/lang/menu_chinese_taiwan.950.vim
@@ -1,6 +1,6 @@
 " Menu Translations:	Traditional Chinese
 " Translated By:	Hung-Te Lin	<piaip@csie.ntu.edu.tw>
-" Last Change:		2005/01/28 02:51:38
+" Last Change:		2012 May 01
 
 " {{{ Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -8,6 +8,8 @@ if exists("did_menu_trans")
 endif
 let did_menu_trans = 1
 " }}}
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding cp950
 
@@ -282,4 +284,7 @@ if has("toolbar")
 endif
 " }}}
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
 " vim:foldmethod=marker:nowrap:foldcolumn=2:foldlevel=1
diff --git a/runtime/lang/menu_cs_cz.iso_8859-2.vim b/runtime/lang/menu_cs_cz.iso_8859-2.vim
index a5bc82e967a09d580060a3e4fbc8ac4520034994..88cf7e2528ecaaf0a8c486467b48e39bcb61e113 100644
--- a/runtime/lang/menu_cs_cz.iso_8859-2.vim
+++ b/runtime/lang/menu_cs_cz.iso_8859-2.vim
@@ -9,6 +9,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding ISO-8859-2
 
@@ -262,3 +264,6 @@ if has("toolbar")
   endfun
 endif
 " }}}
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_czech_czech_republic.1250.vim b/runtime/lang/menu_czech_czech_republic.1250.vim
index 4f21e8921006342c2c3d15da27e22bcf9c17cace..ebaab9b67920fb01c92c9b7943c255a8a2f3f88d 100644
--- a/runtime/lang/menu_czech_czech_republic.1250.vim
+++ b/runtime/lang/menu_czech_czech_republic.1250.vim
@@ -9,6 +9,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding cp1250
 
@@ -262,3 +264,6 @@ if has("toolbar")
   endfun
 endif
 " }}}
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_czech_czech_republic.ascii.vim b/runtime/lang/menu_czech_czech_republic.ascii.vim
index f2faec90defb7a25502f23e91c009e1122533f92..7ac8c34e0426c5a6976069cf6bce974c7c327d5c 100644
--- a/runtime/lang/menu_czech_czech_republic.ascii.vim
+++ b/runtime/lang/menu_czech_czech_republic.ascii.vim
@@ -9,8 +9,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
-
-
+let s:keepcpo= &cpo
+set cpo&vim
 
 " {{{ File menu
 menutrans &File				&Soubor
@@ -262,3 +262,6 @@ if has("toolbar")
   endfun
 endif
 " }}}
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_de_de.latin1.vim b/runtime/lang/menu_de_de.latin1.vim
index 6bfc0724840a96bddf9d6e8bf37c9067ea9e92c2..70feb74d231ada9690e4f3fe464323bc47df8d17 100644
--- a/runtime/lang/menu_de_de.latin1.vim
+++ b/runtime/lang/menu_de_de.latin1.vim
@@ -10,6 +10,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 " The translations below are in latin1, but they work for cp1252 and
 " iso-8859-15 without conversion as well.
@@ -302,3 +304,6 @@ let g:menutrans_tags_dialog = "Geben Sie die Namen der 'tag'-Dateien ein.\nTrenn
 let g:menutrans_textwidth_dialog = "Geben Sie eine neue Text-Breite ein (oder 0, um die Formatierung abzuschalten)"
 let g:menutrans_fileformat_dialog = "Wählen Sie ein Datei-Format aus"
 " }}}
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_eo.utf-8.vim b/runtime/lang/menu_eo.utf-8.vim
index 761ae0b81af9e43c250f1c6e81da860fea7a908f..7e363f904e88685918bb2e93f166ec4d4e8b00f2 100644
--- a/runtime/lang/menu_eo.utf-8.vim
+++ b/runtime/lang/menu_eo.utf-8.vim
@@ -1,12 +1,14 @@
 " Menu Translations:	Esperanto
 " Maintainer:		Dominique PELLE <dominique.pelle@free.fr>
-" Last Change:		2008 Mar 01
+" Last Change:		2012 May 01
 " 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding utf-8
 
@@ -455,3 +457,6 @@ menutrans &Off					M&alŝaltita
 menutrans Co&lor\ test				Testo\ de\ &koloroj
 menutrans &Highlight\ test			Testo\ de\ &emfazo
 menutrans &Convert\ to\ HTML			Konverti\ al\ &HTML
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_es_es.latin1.vim b/runtime/lang/menu_es_es.latin1.vim
index b943e230adc14d786eeeb6e8299565dd83733b53..97f38a765d457bed5664f3516caee236f8281fec 100644
--- a/runtime/lang/menu_es_es.latin1.vim
+++ b/runtime/lang/menu_es_es.latin1.vim
@@ -2,7 +2,7 @@
 " Previous translator:	Alejandro López-Valencia <dradul@users.sourceforge.net>
 " Last translator:	Omar Campagne Polaino <ocampagne@gmail.com>
 " Version:		7.2.245
-" Last Change:		2009 Sep 03
+" Last Change:		2012 May 01
 "
 
 " Quit when menu translations have already been done.
@@ -10,6 +10,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 " The translations below are in latin1, but they work for cp1252,
 " iso-8859-15 without conversion as well.
@@ -316,3 +318,6 @@ menutrans &Convert\ to\ HTML		&Convertir\ a\ HTML
 
 " Find Help dialog text
 let g:menutrans_help_dialog = "Introduzca un nombre de comando o palabra para obtener ayuda;\n\nAnteponga i_ para comandos de entrada (e.g.: i_CTRL-X)\nAnteponga c_ para comandos de la línea de comandos (e.g.: c_<Del>)\nAnteponga ` para un nombre de opción (e.g.: `shiftwidth`)"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_fi_fi.latin1.vim b/runtime/lang/menu_fi_fi.latin1.vim
index 1f1f5072c3eaf3743ede15fdd253a418f57e9f69..6a2c1e90538d6aa39b850d015af1551d59e5a133 100644
--- a/runtime/lang/menu_fi_fi.latin1.vim
+++ b/runtime/lang/menu_fi_fi.latin1.vim
@@ -1,12 +1,14 @@
 " Menu Translations:	Finnish
 " Maintainer:		Flammie Pirinen <flammie@iki.fi>
-" Last Change:		2007 Sep 04
+" Last Change:		2012 May 01
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 " Translations should be in latin1, if it requires latin9 or even unicode,
 " change this:
@@ -470,4 +472,7 @@ fun! Do_toolbar_tmenu()
   tmenu ToolBar.FindHelp			Etsi ohjeesta
 endfun
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
 " vim: set fileencoding=latin1
diff --git a/runtime/lang/menu_fr_fr.latin1.vim b/runtime/lang/menu_fr_fr.latin1.vim
index e8881bd693415eb9c0551203b815dd7a6914b486..c4b63c78331a18cc3505fb02288cbb934cd8541a 100644
--- a/runtime/lang/menu_fr_fr.latin1.vim
+++ b/runtime/lang/menu_fr_fr.latin1.vim
@@ -2,13 +2,15 @@
 " Maintainer:		Adrien Beau <version.francaise@free.fr>
 " First Version:	Francois Thunus <thunus@systran.fr>
 " Last Modification:    David Blanchet <david.blanchet@free.fr>
-" Last Change:		2006 Apr 30
+" Last Change:		2012 May 01
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 " The translations below are in latin1, but they work for cp1252 and
 " iso-8859-15 without conversion as well.
@@ -466,3 +468,6 @@ menutrans &Off					&Off
 menutrans Co&lor\ test				Tester\ les\ co&uleurs
 menutrans &Highlight\ test			Tester\ les\ g&roupes\ de\ surbrillance
 menutrans &Convert\ to\ HTML			Con&vertir\ en\ HTML
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_hu_hu.iso_8859-2.vim b/runtime/lang/menu_hu_hu.iso_8859-2.vim
index d3fafce103633705debbc7efb52cd3c0a06bdfc4..c7821d2b3227d13b727190b476578ca59dce4736 100644
--- a/runtime/lang/menu_hu_hu.iso_8859-2.vim
+++ b/runtime/lang/menu_hu_hu.iso_8859-2.vim
@@ -1,7 +1,7 @@
 " Menu Translations:	Hungarian (Magyar)
 " Original Translation:	Zoltán Árpádffy
 " Maintained By:	Kontra Gergely <kgergely@mcl.hu>
-" Last Change:		2003 May 31
+" Last Change:		2012 May 01
 " I'm working on defining (unaccented) hotkeys for everything.
 " I want to remove y and z hotkeys, because on the hungarian keymap they're at
 " a differrent place.
@@ -27,6 +27,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding iso-8859-2
 
@@ -256,3 +258,6 @@ let g:menutrans_path_dialog = "
 let g:menutrans_tags_dialog = "Írd be a tag fájl lehetséges elérési útjait, vesszõvel elválasztva"
 let g:menutrans_textwidth_dialog = "Írd be a szöveg szélességét (0 = formázás kikapcsolva)"
 let g:menutrans_fileformat_dialog = "Válaszd ki a fájl formátumát"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_hu_hu.utf-8.vim b/runtime/lang/menu_hu_hu.utf-8.vim
index 83a4dca40ae12b16a6ec0959467dbdf9f7dfdfcd..f3adf9188219e91ef4d7bfd2939a0e94de10fdbe 100644
--- a/runtime/lang/menu_hu_hu.utf-8.vim
+++ b/runtime/lang/menu_hu_hu.utf-8.vim
@@ -1,7 +1,7 @@
 " Menu Translations:	Hungarian (Magyar)
 " Original Translation:	Zoltán Árpádffy
 " Maintained By:	Kontra Gergely <kgergely@mcl.hu>
-" Last Change:		2004 Jun 10
+" Last Change:		2012 May 01
 "
 " This file was converted from menu_hu_hu.iso_8859-2.vim.  See there for
 " remarks.
@@ -11,6 +11,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding utf-8
 
@@ -240,3 +242,6 @@ let g:menutrans_path_dialog = "Írd be a keresett fájl lehetséges elérési ú
 let g:menutrans_tags_dialog = "Írd be a tag fájl lehetséges elérési útjait, vesszővel elválasztva"
 let g:menutrans_textwidth_dialog = "Írd be a szöveg szélességét (0 = formázás kikapcsolva)"
 let g:menutrans_fileformat_dialog = "Válaszd ki a fájl formátumát"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_it_it.latin1.vim b/runtime/lang/menu_it_it.latin1.vim
index 5a87bf00b2a7ebe59af2b822e6e59274263782bf..092136bf0b8d1345ac01c7c03755de8f9fa25264 100644
--- a/runtime/lang/menu_it_it.latin1.vim
+++ b/runtime/lang/menu_it_it.latin1.vim
@@ -2,13 +2,15 @@
 " Maintainer:		Antonio Colombo <azc100@gmail.com>
 "			Vlad Sandrini <vlad.gently@gmail.com>
 "			Luciano Montanaro <mikelima@cirulla.net>
-" Last Change:	2010 Ago 13
+" Last Change:	2012 May 01
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding iso-8859-1
 
@@ -348,4 +350,7 @@ endif
   endfun
 endif
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
 " vim: set sw=2 :
diff --git a/runtime/lang/menu_ja_jp.euc-jp.vim b/runtime/lang/menu_ja_jp.euc-jp.vim
index 16b7eee11bcb8664d68e8fcaa9b7aec6cf3274d8..fcc49d69202d131fea99dcdf57a1d21eebcd8137 100644
--- a/runtime/lang/menu_ja_jp.euc-jp.vim
+++ b/runtime/lang/menu_ja_jp.euc-jp.vim
@@ -9,6 +9,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding euc-jp
 
@@ -334,7 +336,8 @@ if has('iconv')
   an 10.396.120.130 &File.¥¨¥ó¥³¡¼¥É»ØÄê(&E)\.\.\..Êݸ(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
 endif
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
 " filler to avoid the line above being recognized as a modeline
 " filler
-" filler
-" filler
diff --git a/runtime/lang/menu_ja_jp.utf-8.vim b/runtime/lang/menu_ja_jp.utf-8.vim
index d54dfd51a19c13176f59323ab52e2e0765f21982..dc52872649f0e87390bc3553558db09488f3afe5 100644
--- a/runtime/lang/menu_ja_jp.utf-8.vim
+++ b/runtime/lang/menu_ja_jp.utf-8.vim
@@ -9,6 +9,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding utf-8
 
@@ -334,7 +336,8 @@ if has('iconv')
   an 10.396.120.130 &File.エンコード指定(&E)\.\.\..保存(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
 endif
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
 " filler to avoid the line above being recognized as a modeline
 " filler
-" filler
-" filler
diff --git a/runtime/lang/menu_japanese_japan.932.vim b/runtime/lang/menu_japanese_japan.932.vim
index 9787b9bb1106c8da5426d3fbd750975749c5c08d..05cadd450fe0b3a211569d03d1f9b867f7ee74c1 100644
--- a/runtime/lang/menu_japanese_japan.932.vim
+++ b/runtime/lang/menu_japanese_japan.932.vim
@@ -9,6 +9,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding cp932
 
@@ -334,7 +336,8 @@ if has('iconv')
   an 10.396.120.130 &File.ƒGƒ“ƒR[ƒhŽw’è(&E)\.\.\..•Û‘¶(&S)\.\.\..UTF-8(&8)<Tab>fenc=utf-8 :set fenc=utf-8 \| w<CR>
 endif
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
 " filler to avoid the line above being recognized as a modeline
 " filler
-" filler
-" filler
diff --git a/runtime/lang/menu_ko_kr.euckr.vim b/runtime/lang/menu_ko_kr.euckr.vim
index 84be04dd0659965a48098c4fc975f18d3ef76021..381638482418bbdca82d020af24f773f0811af6e 100644
--- a/runtime/lang/menu_ko_kr.euckr.vim
+++ b/runtime/lang/menu_ko_kr.euckr.vim
@@ -1,12 +1,14 @@
 " Menu Translations:	Korean
 " Maintainer:		SungHyun Nam <goweol@gmail.com>
-" Last Change:		2011 Mar 22
+" Last Change:		2012 May 01
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding euc-kr
 
@@ -259,3 +261,5 @@ menutrans Co&lor\ test		
 menutrans &Highlight\ test	Highlight\ ½ÃÇè(&H)
 menutrans &Convert\ to\ HTML	HTML·Î\ º¯È¯(&C)
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_ko_kr.utf-8.vim b/runtime/lang/menu_ko_kr.utf-8.vim
index 93f85511f9f22206bcd344a565944c377b9b83dd..d036853c511f9aedb376e316bbb97d7466e1ef0d 100644
--- a/runtime/lang/menu_ko_kr.utf-8.vim
+++ b/runtime/lang/menu_ko_kr.utf-8.vim
@@ -1,12 +1,14 @@
 " Menu Translations:	Korean
 " Maintainer:		SungHyun Nam <goweol@gmail.com>
-" Last Change:		2011 Mar 22
+" Last Change:		2012 May 01
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding utf-8
 
@@ -259,3 +261,5 @@ menutrans Co&lor\ test		색\ 시험(&l)
 menutrans &Highlight\ test	Highlight\ 시험(&H)
 menutrans &Convert\ to\ HTML	HTML로\ 변환(&C)
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_nl_nl.latin1.vim b/runtime/lang/menu_nl_nl.latin1.vim
index d7f75f2fe777cc2c278ff041edf9c4d2670fe837..e1d4506c88a23b51f31bcb1ad066761977d1a498 100644
--- a/runtime/lang/menu_nl_nl.latin1.vim
+++ b/runtime/lang/menu_nl_nl.latin1.vim
@@ -1,12 +1,14 @@
 " Menu Translations:	Nederlands
 " Maintainer:		Bram Moolenaar
-" Last Change:	2004 May 05
+" Last Change:	2012 May 01
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 " The translations below are in latin1, but they work for cp1252 and
 " iso-8859-15 without conversion as well.
@@ -238,3 +240,6 @@ let g:menutrans_path_dialog = "Typ het zoekpad voor bestanden.\nGebruik commas t
 let g:menutrans_tags_dialog = "Typ namen van tag bestanden.\nGebruik commas tussen de namen."
 let g:menutrans_textwidth_dialog = "Typ de nieuwe tekst breedte (0 om formatteren uit the schakelen): "
 let g:menutrans_fileformat_dialog = "Selecteer formaat voor het schrijven van het bestand"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_no_no.latin1.vim b/runtime/lang/menu_no_no.latin1.vim
index f27b05c71be6c394e6edccf837b5f03170b29b5c..a64e343445c3a4a840697c0c573cae62f88b6430 100644
--- a/runtime/lang/menu_no_no.latin1.vim
+++ b/runtime/lang/menu_no_no.latin1.vim
@@ -1,6 +1,6 @@
 " Menu Translations:	Norwegian / Norsk (Bokmål)
 " Maintainer:		Øyvind A. Holm <sunny@sunbase.org>
-" Last Change:		2004-05-16 20:00:52 +0200
+" Last Change:		2012 May 01
 " menu_no_no.latin1.vim 289 2004-05-16 18:00:52Z sunny
 
 " Quit when menu translations have already been done.
@@ -8,6 +8,8 @@ if exists("did_menu_trans")
 	finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 " The translations below are in ISO-8859-1, but they work for ISO-8859-15 and
 " CP1252 without conversion as well.
@@ -229,5 +231,8 @@ endif
 	let g:menutrans_textwidth_dialog = "Velg ny tekstbredde (0 for å forhindre formatering): "
 	let g:menutrans_fileformat_dialog = "Velg filformat som filen skal lagres med"
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
 "    vim: set ts=8 sw=8 :
 " vim600: set fdm=indent :
diff --git a/runtime/lang/menu_pl_pl.iso_8859-2.vim b/runtime/lang/menu_pl_pl.iso_8859-2.vim
index 021e1a7e6528ca015d4d07cb3a7aa1deb4220dca..7bb7294ae2523910b0681dc883a42a1425d37a62 100644
--- a/runtime/lang/menu_pl_pl.iso_8859-2.vim
+++ b/runtime/lang/menu_pl_pl.iso_8859-2.vim
@@ -8,6 +8,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding iso-8859-2
 
@@ -285,3 +287,6 @@ let g:menutrans_tags_dialog = "Podaj nazwy plik
 let g:menutrans_textwidth_dialog = "Wprowad¼ now± szeroko¶æ tekstu (0 wy³±cza przewijanie): "
 let g:menutrans_fileformat_dialog = "Wybierz format w którym ten plik ma byæ zapisany"
 let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\n&Anuluj"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_pl_pl.utf-8.vim b/runtime/lang/menu_pl_pl.utf-8.vim
index 1d347dcde568a53a9051011434582036e59e623b..871b4fad927ba5ff6e9d88d411ff409420266431 100644
--- a/runtime/lang/menu_pl_pl.utf-8.vim
+++ b/runtime/lang/menu_pl_pl.utf-8.vim
@@ -8,6 +8,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding utf-8
 
@@ -285,3 +287,6 @@ let g:menutrans_tags_dialog = "Podaj nazwy plików tagów.\nProszę rozdzielać
 let g:menutrans_textwidth_dialog = "Wprowadź nową szerokość tekstu (0 wyłącza przewijanie): "
 let g:menutrans_fileformat_dialog = "Wybierz format w którym ten plik ma być zapisany"
 let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\n&Anuluj"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_polish_poland.1250.vim b/runtime/lang/menu_polish_poland.1250.vim
index 398b18daf92c535c0f7aa28cde020e9ebcbfad57..9dde00dd464a3ff5986f92d86b150adfa43c8894 100644
--- a/runtime/lang/menu_polish_poland.1250.vim
+++ b/runtime/lang/menu_polish_poland.1250.vim
@@ -8,6 +8,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding cp1250
 
@@ -285,3 +287,6 @@ let g:menutrans_tags_dialog = "Podaj nazwy plik
 let g:menutrans_textwidth_dialog = "WprowadŸ now¹ szerokoœæ tekstu (0 wy³¹cza przewijanie): "
 let g:menutrans_fileformat_dialog = "Wybierz format w którym ten plik ma byæ zapisany"
 let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\n&Anuluj"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_pt_br.vim b/runtime/lang/menu_pt_br.vim
index 28a62b78dcc696e9a49a47c321867cf9785a7b0e..f4980ef5ac0eae8a5bd2ff6d8de2da369cdd825c 100644
--- a/runtime/lang/menu_pt_br.vim
+++ b/runtime/lang/menu_pt_br.vim
@@ -1,6 +1,6 @@
 " Menu Translations: Português do Brasil
 " Maintainer: José de Paula <jose@infoviaweb.com>
-" Last Change: 2006-09-19 02:30:00-03:00
+" Last Change: 2012 May 01
 "
 
 " Quit when menu translations have already been done.
@@ -8,6 +8,8 @@ if exists("did_menu_trans")
 	finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 " Translations in latin1 (ISO-8859-1), and should work in
 " latin9 (ISO-8859-15)
@@ -283,3 +285,6 @@ menutrans &Convert\ to\ HTML		&Converter\ para\ HTML
 
 " Find Help dialog text
 let g:menutrans_help_dialog = "Digite um comando ou palavra para obter ajuda;\n\nAnteponha i_ para comandos de entrada (ex.: i_CTRL-X)\nAnteponha c_ para comandos da linha de comandos (ex.: c_<Del>)\nAnteponha ` para um nome de opção (ex.: `shiftwidth`)"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_pt_pt.vim b/runtime/lang/menu_pt_pt.vim
index 28b9726ff21589bd9037b5fc6884c321728412a1..783be0b926680c85577cf5cf7702131b931ece7c 100644
--- a/runtime/lang/menu_pt_pt.vim
+++ b/runtime/lang/menu_pt_pt.vim
@@ -7,6 +7,8 @@ if exists("did_menu_trans")
 	finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 " Translations in latin1 (ISO-8859-1), and should work in
 " latin9 (ISO-8859-15)
@@ -262,3 +264,6 @@ menutrans &Convert\ to\ HTML		&Converter\ para\ HTML
 
 " Find Help dialog text
 let g:menutrans_help_dialog = "Digite um comando ou palavra para obter ajuda;\n\nAnteponha i_ para comandos de entrada (ex.: i_CTRL-X)\nAnteponha c_ para comandos da linha de comandos (ex.: c_<Del>)\nAnteponha ` para um nome de opção (ex.: `shiftwidth`)"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_ru_ru.koi8-r.vim b/runtime/lang/menu_ru_ru.koi8-r.vim
index 37cd9353b9a9e99c3c4a41e02abbb86e8bb07333..0d4fbaa2ab3bfa52f59437ce5a75808c56b4e6b3 100644
--- a/runtime/lang/menu_ru_ru.koi8-r.vim
+++ b/runtime/lang/menu_ru_ru.koi8-r.vim
@@ -16,6 +16,8 @@ if exists("did_menu_trans")
    finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding koi8-r
 
@@ -294,3 +296,6 @@ let g:menutrans_fileformat_dialog = "
 let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\nï&ÔÍÅÎÁ"
 "
 let menutrans_no_file = "[îÅÔ ÆÁÊÌÁ]"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_ru_ru.vim b/runtime/lang/menu_ru_ru.vim
index b7261526aa346255ff68d06302330d009b48ddc7..23a111ab759d0868ed58241197996d0569975cb2 100644
--- a/runtime/lang/menu_ru_ru.vim
+++ b/runtime/lang/menu_ru_ru.vim
@@ -16,6 +16,8 @@ if exists("did_menu_trans")
    finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding utf-8
 
@@ -294,3 +296,6 @@ let g:menutrans_fileformat_dialog = "Выберите формат файла."
 let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\nО&тмена"
 "
 let menutrans_no_file = "[Нет файла]"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_sk_sk.iso_8859-2.vim b/runtime/lang/menu_sk_sk.iso_8859-2.vim
index bace7d2394eb1f5f9451a70e3b0923c22243862d..69de4e7b0438e26d403933f542c02c34c9960943 100644
--- a/runtime/lang/menu_sk_sk.iso_8859-2.vim
+++ b/runtime/lang/menu_sk_sk.iso_8859-2.vim
@@ -1,12 +1,14 @@
 " Menu Translations:	Slovak
 " Translated By:	Martin Lacko <lacko@host.sk>
-" Last Change:		2003 Mar 30
+" Last Change:		2012 May 01
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding iso-8859-2
 
@@ -230,3 +232,6 @@ menutrans on/off\ for\ &This\ file	Zapn
 menutrans Co&lor\ test		Test\ &farieb
 menutrans &Highlight\ test	&Test\ zvýrazòovania
 menutrans &Convert\ to\ HTML	&Previes»\ do\ HTML
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_sl_si.cp1250.vim b/runtime/lang/menu_sl_si.cp1250.vim
index 23f668ced2a847602b764b84296e90cf196f69d7..8999b15da07b7d1766299b90a1870ad4e40ffeb2 100644
--- a/runtime/lang/menu_sl_si.cp1250.vim
+++ b/runtime/lang/menu_sl_si.cp1250.vim
@@ -11,6 +11,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding cp1250
 
@@ -292,3 +294,6 @@ let g:menutrans_textwidth_dialog = "Vnesite novo 
 let g:menutrans_fileformat_dialog = "Izberite format datoteke"
 let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\n&Preklièi"
 " }}}
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_sl_si.latin2.vim b/runtime/lang/menu_sl_si.latin2.vim
index 57d6c89def9739e755ce85ee14d55da1be0a58a1..fd503871db1625457394307b23d4b2549638dcf4 100644
--- a/runtime/lang/menu_sl_si.latin2.vim
+++ b/runtime/lang/menu_sl_si.latin2.vim
@@ -11,6 +11,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding latin2
 
@@ -292,3 +294,6 @@ let g:menutrans_textwidth_dialog = "Vnesite novo 
 let g:menutrans_fileformat_dialog = "Izberite format datoteke"
 let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\n&Preklièi"
 " }}}
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_sl_si.utf-8.vim b/runtime/lang/menu_sl_si.utf-8.vim
index 306e449ef148f88bc10e6940b18f9dc8a19adb5a..7043e62dc9b2b1f8089c9605918720df6d345ee4 100644
--- a/runtime/lang/menu_sl_si.utf-8.vim
+++ b/runtime/lang/menu_sl_si.utf-8.vim
@@ -11,6 +11,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding utf-8
 
@@ -292,3 +294,6 @@ let g:menutrans_textwidth_dialog = "Vnesite novo Å¡irino besedila (ali 0 za izkl
 let g:menutrans_fileformat_dialog = "Izberite format datoteke"
 let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\n&Prekliči"
 " }}}
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_slovak_slovak_republic.1250.vim b/runtime/lang/menu_slovak_slovak_republic.1250.vim
index 1df513de9c4131a2dda499b5a9ad6da93869df15..cfc607865cfe858e3b338d4bed6f356315c994ea 100644
--- a/runtime/lang/menu_slovak_slovak_republic.1250.vim
+++ b/runtime/lang/menu_slovak_slovak_republic.1250.vim
@@ -1,12 +1,14 @@
 " Menu Translations:	Slovak
 " Translated By:	Martin Lacko <lacko@host.sk>
-" Last Change:		2006 Jun 17
+" Last Change:		2012 May 01
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding cp1250
 
@@ -230,3 +232,6 @@ menutrans on/off\ for\ &This\ file	Zapn
 menutrans Co&lor\ test		Test\ &farieb
 menutrans &Highlight\ test	&Test\ zvýrazòovania
 menutrans &Convert\ to\ HTML	&Previes\ do\ HTML
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_sr_rs.ascii.vim b/runtime/lang/menu_sr_rs.ascii.vim
index 14a902604a96c252a8f2f22c95a920a2f882121a..8a12dad8e5cd05e8f54bbcc9c7da8610171225c4 100644
--- a/runtime/lang/menu_sr_rs.ascii.vim
+++ b/runtime/lang/menu_sr_rs.ascii.vim
@@ -7,6 +7,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 " Help menu
 menutrans &Help		      Pomo&c
@@ -256,3 +258,6 @@ let g:menutrans_textwidth_dialog = "Unesite novu sirinu teksta (0 sprecava prelo
 let g:menutrans_fileformat_dialog = "Izaberite vrstu datoteke"
 
 let menutrans_no_file = "[Nema datoteke]"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_sr_rs.iso_8859-2.vim b/runtime/lang/menu_sr_rs.iso_8859-2.vim
index 992124c84130631105732348f5045118d0cf0eaf..f4b8c68fbb80a06aa863ab353f5ec37dadef6a8a 100644
--- a/runtime/lang/menu_sr_rs.iso_8859-2.vim
+++ b/runtime/lang/menu_sr_rs.iso_8859-2.vim
@@ -7,6 +7,9 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
+
 scriptencoding iso8859-2
 
 " Help menu
@@ -257,3 +260,6 @@ let g:menutrans_textwidth_dialog = "Unesite novu 
 let g:menutrans_fileformat_dialog = "Izaberite vrstu datoteke"
 
 let menutrans_no_file = "[Nema datoteke]"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_sr_rs.iso_8859-5.vim b/runtime/lang/menu_sr_rs.iso_8859-5.vim
index e4d322dc68706fe62799ce1d3c898d7c5050c3f9..dd3b4368332bce7875c17cca83fa06f82a940a89 100644
--- a/runtime/lang/menu_sr_rs.iso_8859-5.vim
+++ b/runtime/lang/menu_sr_rs.iso_8859-5.vim
@@ -7,6 +7,9 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
+
 scriptencoding iso8859-5
 
 " Help menu
@@ -257,3 +260,6 @@ let g:menutrans_textwidth_dialog = "
 let g:menutrans_fileformat_dialog = "¸×ÐÑÕàØâÕ Òàáâã ÔÐâÞâÕÚÕ"
 
 let menutrans_no_file = "[½ÕÜÐ ÔÐâÞâÕÚÕ]"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_sr_rs.utf-8.vim b/runtime/lang/menu_sr_rs.utf-8.vim
index 85f1491d5a0742c06c5022221cc78b3765231082..b9e536dac48c27a327bc381a10a6756b284ff39c 100644
--- a/runtime/lang/menu_sr_rs.utf-8.vim
+++ b/runtime/lang/menu_sr_rs.utf-8.vim
@@ -7,6 +7,9 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
+
 scriptencoding utf-8
 
 " Help menu
@@ -258,4 +261,7 @@ let g:menutrans_fileformat_dialog = "Изаберите врсту датоте
 
 let menutrans_no_file = "[Нема датотеке]"
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
 " vim: tw=0 keymap=serbian
diff --git a/runtime/lang/menu_sv_se.latin1.vim b/runtime/lang/menu_sv_se.latin1.vim
index 8935e0da06c12ea029f99eb79ace5c867e3a7567..2e374853060d1a46afb2d61b84aa3c6e9c96b677 100644
--- a/runtime/lang/menu_sv_se.latin1.vim
+++ b/runtime/lang/menu_sv_se.latin1.vim
@@ -1,12 +1,14 @@
 " Menu Translations:    Swedish
 " Maintainer:		Johan Svedberg <johan@svedberg.com>
-" Last Change:		2006 Apr 13
+" Last Change:		2012 May 01
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 " The translations below are in latin1, but they work for cp1252 and
 " iso-8859-15 without conversion as well.
@@ -248,3 +250,6 @@ let g:menutrans_path_dialog = "Skriv in s
 let g:menutrans_tags_dialog = "Skriv in namn på taggfiler.\nSeparera namn med komma."
 let g:menutrans_textwidth_dialog = "Välj ny textbredd (0 för att förhindra formatering): "
 let g:menutrans_fileformat_dialog = "Välj filformat som filen ska sparas med"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_uk_ua.cp1251.vim b/runtime/lang/menu_uk_ua.cp1251.vim
index a517ecd782309e16fa7b890a42145ceef24bb392..2e751c888b6a3d1a7936b8c1d6e79a3d5ddb8930 100644
--- a/runtime/lang/menu_uk_ua.cp1251.vim
+++ b/runtime/lang/menu_uk_ua.cp1251.vim
@@ -12,6 +12,9 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
+
 scriptencoding cp1251
 
 " Help menu
@@ -244,3 +247,5 @@ let g:menutrans_tags_dialog = "
 let g:menutrans_textwidth_dialog = "Âêàæ³òü íîâó øèðèíó òåêñòó (0 äëÿ â³äì³íè ôîìàòóâàííÿ)"
 let g:menutrans_fileformat_dialog = "Âèáåð³òü ôîðìàò ôàéëó"
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_uk_ua.koi8-u.vim b/runtime/lang/menu_uk_ua.koi8-u.vim
index 6284145d26ed2f889d572b4965b1c0f218513173..c44700effefe3dab40ef8c48faad296314ff15e3 100644
--- a/runtime/lang/menu_uk_ua.koi8-u.vim
+++ b/runtime/lang/menu_uk_ua.koi8-u.vim
@@ -12,6 +12,9 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
+
 scriptencoding koi8-u
 
 " Help menu
@@ -244,3 +247,5 @@ let g:menutrans_tags_dialog = "
 let g:menutrans_textwidth_dialog = "÷ËÁÖ¦ÔØ ÎÏ×Õ ÛÉÒÉÎÕ ÔÅËÓÔÕ (0 ÄÌÑ ×¦ÄͦÎÉ ÆÏÍÁÔÕ×ÁÎÎÑ)"
 let g:menutrans_fileformat_dialog = "÷ÉÂÅÒ¦ÔØ ÆÏÒÍÁÔ ÆÁÊÌÕ"
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_vi_vn.vim b/runtime/lang/menu_vi_vn.vim
index 4b2b21f1dedab93a93317a86ffc2508636ab78ff..9fbd2c6d5c4d1904f9afa69e1ca9d3c82981b8c5 100644
--- a/runtime/lang/menu_vi_vn.vim
+++ b/runtime/lang/menu_vi_vn.vim
@@ -14,6 +14,8 @@ if exists("did_menu_trans")
    finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding utf-8
 
@@ -327,3 +329,6 @@ let g:menutrans_fileformat_dialog = "Hãy chọn định dạng tập tin."
 let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\n&Hủy bỏ"
 "
 let menutrans_no_file = "[không có tập tin]"
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_zh_cn.gb2312.vim b/runtime/lang/menu_zh_cn.gb2312.vim
index 3ec825ce9fd1986f8a5d28874c308371788d64e8..a12d94daf539829a3580a6e1d34a505bc9e6b59d 100644
--- a/runtime/lang/menu_zh_cn.gb2312.vim
+++ b/runtime/lang/menu_zh_cn.gb2312.vim
@@ -9,6 +9,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 " This causes trouble for a broken iconv (symptom: last character is always
 " ??).  Without this it works fine anyway, because gbk/cp936 is a superset of
@@ -264,3 +266,6 @@ menutrans &Highlight\ test		
 menutrans &Convert\ to\ HTML		ת»»³É\ HTML(&C)
 menutrans Set\ '&syntax'\ only		½öÉ趨\ 'syntax'(&S)
 menutrans Set\ '&filetype'\ too		Ò²É趨\ 'filetype'(&F)
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_zh_cn.utf-8.vim b/runtime/lang/menu_zh_cn.utf-8.vim
index 04f192f66e8284a208cbb1edc6414e2cc442bdd5..956363d29cd312b0824c50d13a6f9c0049e2d94b 100644
--- a/runtime/lang/menu_zh_cn.utf-8.vim
+++ b/runtime/lang/menu_zh_cn.utf-8.vim
@@ -9,6 +9,8 @@ if exists("did_menu_trans")
   finish
 endif
 let did_menu_trans = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 scriptencoding utf-8
 
@@ -261,3 +263,6 @@ menutrans &Highlight\ test		高亮测试(&H)
 menutrans &Convert\ to\ HTML		转换成\ HTML(&C)
 menutrans Set\ '&syntax'\ only		仅设定\ 'syntax'(&S)
 menutrans Set\ '&filetype'\ too		也设定\ 'filetype'(&F)
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/lang/menu_zh_tw.utf-8.vim b/runtime/lang/menu_zh_tw.utf-8.vim
index 97c56a3973738bc04110161c4b3016023233c02d..7bef83ce9a98185c5740b6d373ffb9d40d1ece35 100644
--- a/runtime/lang/menu_zh_tw.utf-8.vim
+++ b/runtime/lang/menu_zh_tw.utf-8.vim
@@ -1,6 +1,6 @@
 " Menu Translations:	Traditional Chinese
 " Translated By:	Hung-Te Lin	<piaip@csie.ntu.edu.tw>
-" Last Change:		2005/01/28 02:51:38
+" Last Change:		2012 May 01
 
 " {{{ Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -9,6 +9,9 @@ endif
 let did_menu_trans = 1
 " }}}
 
+let s:keepcpo= &cpo
+set cpo&vim
+
 scriptencoding utf-8
 
 " {{{ Help menu: complete
@@ -282,4 +285,7 @@ if has("toolbar")
 endif
 " }}}
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
 " vim:foldmethod=marker:nowrap:foldcolumn=2:foldlevel=1