diff --git a/runtime/indent/cmake.vim b/runtime/indent/cmake.vim
index 8c408fb..421afcb 100644
--- a/runtime/indent/cmake.vim
+++ b/runtime/indent/cmake.vim
@@ -23,6 +23,8 @@
 if exists("*CMakeGetIndent")
   finish
 endif
+let s:keepcpo= &cpo
+set cpo&vim
 
 fun! CMakeGetIndent(lnum)
   let this_line = getline(a:lnum)
@@ -83,3 +85,6 @@
 
   return ind
 endfun
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/indent/css.vim b/runtime/indent/css.vim
index 2a09566..f85bb05 100644
--- a/runtime/indent/css.vim
+++ b/runtime/indent/css.vim
@@ -15,6 +15,8 @@
 if exists("*GetCSSIndent")
   finish
 endif
+let s:keepcpo= &cpo
+set cpo&vim
 
 function s:prevnonblanknoncomment(lnum)
   let lnum = a:lnum
@@ -74,3 +76,6 @@
   return indent(pnum) + s:count_braces(pnum, 1) * &sw
         \ - s:count_braces(v:lnum, 0) * &sw
 endfunction
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/indent/eiffel.vim b/runtime/indent/eiffel.vim
index db66bf8..4726652 100644
--- a/runtime/indent/eiffel.vim
+++ b/runtime/indent/eiffel.vim
@@ -5,7 +5,7 @@
 " $Date: 2004/12/09 21:33:52 $
 " $Revision: 1.3 $
 " URL: http://www.djoce.net/page/vim/
-" Last Change:	2004 Sept 14 : removed specific value for tab (sw)
+" Last Change:	2012 May 18
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
@@ -37,6 +37,8 @@
 if exists("*GetEiffelIndent")
   finish
 endif
+let s:keepcpo= &cpo
+set cpo&vim
 
 function GetEiffelIndent()
 
@@ -103,4 +105,7 @@
   return ind
 endfunction
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
 " vim:sw=2
diff --git a/runtime/indent/idlang.vim b/runtime/indent/idlang.vim
index 97c31ad..b4c6ae6 100644
--- a/runtime/indent/idlang.vim
+++ b/runtime/indent/idlang.vim
@@ -1,6 +1,6 @@
 " IDL (Interactive Data Language) indent file.
 " Language: IDL (ft=idlang)
-" Last change:	2002 Sep 23
+" Last change:	2012 May 18
 " Maintainer: Aleksandar Jelenak <ajelenak AT yahoo.com>
 
 " Only load this indent file when no other was loaded.
@@ -9,8 +9,7 @@
 endif
 let b:did_indent = 1
 
-setlocal indentkeys=o,O,0=endif,0=ENDIF,0=endelse,0=ENDELSE,0=endwhile,
-		    \0=ENDWHILE,0=endfor,0=ENDFOR,0=endrep,0=ENDREP
+setlocal indentkeys=o,O,0=endif,0=ENDIF,0=endelse,0=ENDELSE,0=endwhile,0=ENDWHILE,0=endfor,0=ENDFOR,0=endrep,0=ENDREP
 
 setlocal indentexpr=GetIdlangIndent(v:lnum)
 
diff --git a/runtime/indent/java.vim b/runtime/indent/java.vim
index 3c48d3e..e0aec0f 100644
--- a/runtime/indent/java.vim
+++ b/runtime/indent/java.vim
@@ -2,7 +2,7 @@
 " Language:	Java
 " Previous Maintainer: Toby Allsopp <toby.allsopp@peace.com>
 " Current Maintainer: Hong Xu <xuhdev@gmail.com>
-" Last Change:	2012 Jan 20
+" Last Change:	2012 May 18
 " Version: 1.0
 " License: Same as Vim.
 " Copyright (c) 2012 Hong Xu
@@ -29,6 +29,8 @@
 if exists("*GetJavaIndent")
   finish
 endif
+let s:keepcpo= &cpo
+set cpo&vim
 
 function! SkipJavaBlanksAndComments(startline)
   let lnum = a:startline
@@ -139,4 +141,7 @@
   return theIndent
 endfunction
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
 " vi: sw=2 et
diff --git a/runtime/indent/mp.vim b/runtime/indent/mp.vim
index 1aea4f8..a118eb8 100644
--- a/runtime/indent/mp.vim
+++ b/runtime/indent/mp.vim
@@ -1,7 +1,7 @@
 " MetaPost indent file
 " Language:	MetaPost
 " Maintainer:	Eugene Minkovskii <emin@mccme.ru>
-" Last Change:	2003 Nov 21
+" Last Change:	2012 May 18
 " Version: 0.1
 " ==========================================================================
 
@@ -56,6 +56,8 @@
 if exists("*GetMetaPostIndent")
   finish
 endif
+let s:keepcpo= &cpo
+set cpo&vim
 
 " Auxiliary Definitions: {{{1
 function! MetaNextNonblankNoncomment(pos)
@@ -203,4 +205,7 @@
 endfunction
 "
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
 " vim:sw=2:fdm=marker
diff --git a/runtime/indent/occam.vim b/runtime/indent/occam.vim
index ba978e0..bebb052 100644
--- a/runtime/indent/occam.vim
+++ b/runtime/indent/occam.vim
@@ -20,6 +20,8 @@
 if exists("*GetOccamIndent")
   finish
 endif
+let s:keepcpo= &cpo
+set cpo&vim
 
 "{{{  Indent definitions
 " Define carriage return indent
@@ -180,3 +182,6 @@
 
 endfunction
 "}}}
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/indent/sqlanywhere.vim b/runtime/indent/sqlanywhere.vim
index fdafb62..afc312f 100644
--- a/runtime/indent/sqlanywhere.vim
+++ b/runtime/indent/sqlanywhere.vim
@@ -48,6 +48,8 @@
 if exists("*GetSQLIndent")
     finish
 endif
+let s:keepcpo= &cpo
+set cpo&vim
 
 " List of all the statements that start a new block.
 " These are typically words that start a line.
@@ -382,4 +384,7 @@
     return s:ModuloIndent(ind)
 endfunction
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
 " vim:sw=4:
diff --git a/runtime/indent/vim.vim b/runtime/indent/vim.vim
index 40117a0..8281d94 100644
--- a/runtime/indent/vim.vim
+++ b/runtime/indent/vim.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:	Vim script
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2011 Mar 22
+" Last Change:	2012 May 18
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
@@ -16,6 +16,8 @@
 if exists("*GetVimIndent")
   finish
 endif
+let s:keepcpo= &cpo
+set cpo&vim
 
 function GetVimIndent()
   " Find a non-blank line above the current line.
@@ -79,4 +81,7 @@
   return ind
 endfunction
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
 " vim:sw=2
diff --git a/runtime/indent/xinetd.vim b/runtime/indent/xinetd.vim
index f7a5341..c812723 100644
--- a/runtime/indent/xinetd.vim
+++ b/runtime/indent/xinetd.vim
@@ -15,6 +15,8 @@
 if exists("*GetXinetdIndent")
   finish
 endif
+let s:keepcpo= &cpo
+set cpo&vim
 
 function s:count_braces(lnum, count_open)
   let n_open = 0
@@ -48,3 +50,6 @@
   return indent(pnum) + s:count_braces(pnum, 1) * &sw
         \ - s:count_braces(v:lnum, 0) * &sw
 endfunction
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/indent/xml.vim b/runtime/indent/xml.vim
index 4ac35b6..319dc39 100644
--- a/runtime/indent/xml.vim
+++ b/runtime/indent/xml.vim
@@ -1,6 +1,6 @@
 " Language:	xml
 " Maintainer:	Johannes Zellner <johannes@zellner.org>
-" Last Change:	2009-05-26 00:17:25
+" Last Change:	2012 May 18
 " Notes:	1) does not indent pure non-xml code (e.g. embedded scripts)
 "		2) will be confused by unbalanced tags in comments
 "		or CDATA sections.
@@ -12,13 +12,13 @@
     finish
 endif
 let b:did_indent = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 " [-- local settings (must come before aborting the script) --]
 setlocal indentexpr=XmlIndentGet(v:lnum,1)
 setlocal indentkeys=o,O,*<Return>,<>>,<<>,/,{,}
 
-set cpo-=C
-
 if !exists('b:xml_indent_open')
     let b:xml_indent_open = '.\{-}<\a'
     " pre tag, e.g. <address>
@@ -93,4 +93,7 @@
     return ind
 endfun
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
 " vim:ts=8
diff --git a/runtime/indent/zimbu.vim b/runtime/indent/zimbu.vim
index a01510d..8df0eeb 100644
--- a/runtime/indent/zimbu.vim
+++ b/runtime/indent/zimbu.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:	Zimbu
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2012 May 17
+" Last Change:	2011 Jun 19
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
@@ -16,13 +16,16 @@
 " We impose recommended defaults: no Tabs, 'shiftwidth' = 2
 setlocal sw=2 et
 
-let b:undo_indent = "setl et< ai< indentexpr="
+let b:undo_indent = "setl et< sw< ai< indentkeys< indentexpr="
 
 " Only define the function once.
 if exists("*GetZimbuIndent")
   finish
 endif
 
+let s:cpo_save = &cpo
+set cpo&vim
+
 " Come here when loading the script the first time.
 
 let s:maxoff = 50	" maximum number of lines to look backwards for ()
@@ -121,3 +124,5 @@
   return plindent
 endfunc
 
+let &cpo = s:cpo_save
+unlet s:cpo_save
