diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index bf40afa..ab582dc 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -1,4 +1,4 @@
-*diff.txt*      For Vim version 7.3.  Last change: 2011 Apr 14
+*diff.txt*      For Vim version 7.3.  Last change: 2012 May 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index d8fa408..4629c0f 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.3.  Last change: 2012 Apr 20
+*insert.txt*    For Vim version 7.3.  Last change: 2012 May 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1017,9 +1017,13 @@
 number between zero and the cursor column "col('.')".  This involves looking
 at the characters just before the cursor and including those characters that
 could be part of the completed item.  The text between this column and the
-cursor column will be replaced with the matches.  Return -1 if no completion
-can be done, the completion will be cancelled with an error message.  Return
--2 to cancel silently.
+cursor column will be replaced with the matches.
+
+Special return values:
+   -1 If no completion can be done, the completion will be cancelled with an
+      error message.
+   -2 To cancel silently and stay in completion mode.
+   -3 To cancel silently and leave completion mode.
 
 On the second invocation the arguments are:
    a:findstart  0
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 9804c5d..ba824ac 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -43,27 +43,17 @@
 Add link to i/OS version on download page:
 http://applidium.com/en/applications/vim/
 
-Patch to fix helptags for multi-byte encoding. (Yasuhiro Matsumoto, 2012 May
-10)
-
 GTK: problem with 'L' in 'guioptions' changing the window width.
 (Aaron Cornelius, 2012 Feb 6)
 
-Patch for completefunction. (Mtsushita Shougo, 2012 May 11)
-
 Patch: home_replace() does not work whtn 8.3 filename. (Yasuhiro
 Matsumoto, 2012 Apr 18)  Asked for another version of the patch.
+Again May 18.
 
 Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
 
-Gvim startup hangs in Ubuntu 12.04. (Yasuhiro Matsumoto, 2012 May 2)
-Patch available on github.  Updated May 8 and May 9?.
-
 Spell checking: "zg" doesn't pick up the "ß" character. (Axel Bender, 2012 May
-1)  Christian Brabandt reports a crash when doing something similar. (May 2)
-Fix for this: Christian Brabandt, 2012 May 9.
-
-Patch to avoid a crash when using MEM_PROFILE. (Dominique Pelle, 2012 May 14)
+1)
 
 Win32: When a directory name contains an exclamation mark, completion doesn't
 complete the contents of the directory.  No escaping for the "!"? (Jan
@@ -71,9 +61,6 @@
 
 Issue 54: document behavior of -complete, also expands arg.
 
-Patch to make ":diffupdate" check for buffers changed outside of Vim.
-(Christian Brabandt, 2012 May 13, update later)
-
 Cursor on wrong line after ":copen". (John Beckett, 2012 Apr 30)
 Fix by Christian Brabandt, 2012 May 2.  But calling changed_window_setting()
 would be a simpler solution.
@@ -166,9 +153,6 @@
 BufWinLeave triggers too late when quitting last window in a tab page. (Lech
 Lorens, 2012 Feb 21)
 
-"fC" doesn't position the cursor correctly when there are concealed
-characters.  Patch by Christian Brabandt, 2011 Oct 11)
-
 Patch for 'transparency' option. (Sergiu Dotenco, 2011 Sep 17)
 Only for MS-Windows.  No documentation.  Do we want this?
 
@@ -184,12 +168,9 @@
 Also: Alignment in help with tabs gets messed up, esp. at ":help index".
 Probably need to make a tab work like there was no concealing.  Possibly with
 an option.  Like line wrapping works as if there is no concealing.
-
-'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt,
-2012 Apr 2.
-
-'cursorline' works on a text line only.  Add 'cursorscreenline' for
-highlighting the screen line. (Christian Brabandt, 2012 Mar 31)
+Patch by Dominique Pelle, Also fixes "fC" problem.
+    "fC" doesn't position the cursor correctly when there are concealed
+    characters.  Patch by Christian Brabandt, 2011 Oct 11)
 
 With concealed text mouse click doesn't put the cursor in the right position.
 (Herb Sitz)  Fix by Christian Brabandt, 2011 Jun 16.  Doesn't work properly,
@@ -199,6 +180,12 @@
 only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
 21, Ben Fritz, 2010 Sep 14)
 
+'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt,
+2012 Apr 2.
+
+'cursorline' works on a text line only.  Add 'cursorscreenline' for
+highlighting the screen line. (Christian Brabandt, 2012 Mar 31)
+
 Win32: Does building a 64 bit version with VC9 give warnings for int
 conversions? (Mike Williams)
 
@@ -1121,6 +1108,7 @@
 8   Windows install with NSIS: make it possible to do a silent install, see
     http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
     Version from Guopeng Wen that does this (2010 Dec 27)
+Alternative: MSI installer: https://github.com/petrkle/vim-msi/
 
 Windows installer should install 32-bit version of right-click handler also on
 64-bit systems. (Brian Cunningham, 2011 Dec 28)
diff --git a/runtime/ftplugin/art.vim b/runtime/ftplugin/art.vim
index cb95e6b..c501a99 100644
--- a/runtime/ftplugin/art.vim
+++ b/runtime/ftplugin/art.vim
@@ -12,5 +12,4 @@
 run ftplugin/lisp.vim
 
 setl lw-=if
-setl lw+=def-art-fun,deffacts,defglobal,defrule,defschema,
-      \for,schema,while
+setl lw+=def-art-fun,deffacts,defglobal,defrule,defschema,for,schema,while
diff --git a/runtime/ftplugin/cs.vim b/runtime/ftplugin/cs.vim
index 0ff3c9d..7c2cbda 100644
--- a/runtime/ftplugin/cs.vim
+++ b/runtime/ftplugin/cs.vim
@@ -10,6 +10,8 @@
 
 " Don't load another plugin for this buffer
 let b:did_ftplugin = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 " Set 'formatoptions' to break comment lines but not other lines,
 " and insert the comment leader when hitting <CR> or using "o".
@@ -22,3 +24,6 @@
     let b:browsefilter = "C# Source Files (*.cs)\t*.cs\n" .
 		       \ "All Files (*.*)\t*.*\n"
 endif
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/ftplugin/ishd.vim b/runtime/ftplugin/ishd.vim
index dedb328..33ef151 100644
--- a/runtime/ftplugin/ishd.vim
+++ b/runtime/ftplugin/ishd.vim
@@ -8,6 +8,8 @@
 
 setlocal foldmethod=syntax
 
+" Using line continuation here.
+let s:cpo_save = &cpo
 set cpo-=C
 
 " matchit support
@@ -26,3 +28,6 @@
     let b:browsefilter = "InstallShield Files (*.rul)\t*.rul\n" .
 		       \ "All Files (*.*)\t*.*\n"
 endif
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/ftplugin/occam.vim b/runtime/ftplugin/occam.vim
index 9806318..e9b7c01 100644
--- a/runtime/ftplugin/occam.vim
+++ b/runtime/ftplugin/occam.vim
@@ -9,6 +9,8 @@
   finish
 endif
 let b:did_ftplugin = 1
+let s:keepcpo= &cpo
+set cpo&vim
 
 "{{{  Indent settings
 " Set shift width for indent
@@ -42,3 +44,6 @@
 	\ . " formatoptions< comments< textwidth<"
 	\ . "| unlet! b:browsefiler"
 "}}}
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/ftplugin/pyrex.vim b/runtime/ftplugin/pyrex.vim
index 69bd93d..251da39 100644
--- a/runtime/ftplugin/pyrex.vim
+++ b/runtime/ftplugin/pyrex.vim
@@ -2,12 +2,14 @@
 " Language:	Pyrex
 " Maintainer:	Marco Barisione <marco.bari@people.it>
 " URL:		http://marcobari.altervista.org/pyrex_vim.html
-" Last Change:	2004 May 16
+" Last Change:	2012 May 18
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
   finish
 endif
+let s:keepcpo= &cpo
+set cpo&vim
 
 " Behaves just like Python
 runtime! ftplugin/python.vim ftplugin/python_*.vim ftplugin/python/*.vim
@@ -20,3 +22,6 @@
 			\ "C++ Source Files (*.cpp *.c++)\t*.cpp;*.c++\n" .
 			\ "All Files (*.*)\t*.*\n"
 endif
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
diff --git a/runtime/ftplugin/sql.vim b/runtime/ftplugin/sql.vim
index f6084b7..c13dcf1 100644
--- a/runtime/ftplugin/sql.vim
+++ b/runtime/ftplugin/sql.vim
@@ -2,7 +2,7 @@
 " Language:    SQL (Common for Oracle, Microsoft SQL Server, Sybase)
 " Version:     8.0
 " Maintainer:  David Fishburn <dfishburn dot vim at gmail dot com>
-" Last Change: 2012 Mar 11
+" Last Change: 2012 May 18
 " Download:    http://vim.sourceforge.net/script.php?script_id=454
 
 " For more details please use:
@@ -67,7 +67,7 @@
 endif
 
 let s:save_cpo = &cpo
-set cpo=
+set cpo&vim
 
 " Disable autowrapping for code, but enable for comments
 " t	Auto-wrap text using textwidth
diff --git a/runtime/ftplugin/zimbu.vim b/runtime/ftplugin/zimbu.vim
index e50c1b6..85b57f4 100644
--- a/runtime/ftplugin/zimbu.vim
+++ b/runtime/ftplugin/zimbu.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:	Zimbu
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2012 May 17
+" Last Change:	2012 May 18
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -15,7 +15,7 @@
 let s:cpo_save = &cpo
 set cpo-=C
 
-let b:undo_ftplugin = "setl fo< com< ofu< | if has('vms') | setl isk< | endif"
+let b:undo_ftplugin = "setl fo< com< ofu< efm< tw< et< sts< sw< | if has('vms') | setl isk< | endif"
 
 " Set 'formatoptions' to break comment lines but not other lines,
 " and insert the comment leader when hitting <CR> or using "o".
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
diff --git a/runtime/macros/less.vim b/runtime/macros/less.vim
index 4888ed2..6ae5ebc 100644
--- a/runtime/macros/less.vim
+++ b/runtime/macros/less.vim
@@ -1,6 +1,6 @@
 " Vim script to work like "less"
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Dec 05
+" Last Change:	2012 May 18
 
 " Avoid loading this file twice, allow the user to define his own script.
 if exists("loaded_less")
diff --git a/runtime/syntax/dtd.vim b/runtime/syntax/dtd.vim
index 76778ba..001dbbd 100644
--- a/runtime/syntax/dtd.vim
+++ b/runtime/syntax/dtd.vim
@@ -13,17 +13,11 @@
 " TODO:
 "   - improve synchronizing.
 
-if version < 600
-    syntax clear
-    let __dtd_cpo_save__ = &cpo
-    set cpo&
-else
-    if exists("b:current_syntax")
-	finish
-    endif
-    let s:dtd_cpo_save = &cpo
-    set cpo&vim
+if exists("b:current_syntax")
+    finish
 endif
+let s:dtd_cpo_save = &cpo
+set cpo&vim
 
 if !exists("dtd_ignore_case")
     " I prefer having the case takes into consideration.
@@ -168,13 +162,8 @@
     delcommand HiLink
 endif
 
-if version < 600
-    let &cpo = __dtd_cpo_save__
-    unlet __dtd_cpo_save__
-else
-    let &cpo = s:dtd_cpo_save
-    unlet s:dtd_cpo_save
-endif
+let &cpo = s:dtd_cpo_save
+unlet s:dtd_cpo_save
 
 let b:current_syntax = "dtd"
 
diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim
index ddaad89..8d85d02 100644
--- a/runtime/syntax/help.vim
+++ b/runtime/syntax/help.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Vim help file
 " Maintainer:	Bram Moolenaar (Bram@vim.org)
-" Last Change:	2012 Apr 25
+" Last Change:	2012 May 18
 
 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
@@ -25,10 +25,10 @@
   syn match helpHyperTextEntry	"\*[#-)!+-~]\+\*$" contains=helpStar
 endif
 if has("conceal")
-  syn match helpBar		contained "|" conceal
+  syn match helpBar		contained "[|`]" conceal
   syn match helpStar		contained "\*" conceal
 else
-  syn match helpBar		contained "|"
+  syn match helpBar		contained "[|`]"
   syn match helpStar		contained "\*"
 endif
 syn match helpNormal		"|.*====*|"
@@ -38,7 +38,7 @@
 syn match helpVim		"VIM REFERENCE.*"
 syn match helpOption		"'[a-z]\{2,\}'"
 syn match helpOption		"'t_..'"
-syn match helpCommand		"`[^` ]*`"hs=s+1,he=e-1
+syn match helpCommand		"`[^` ]*`"hs=s+1,he=e-1 contains=helpBar
 syn match helpHeader		"\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore
 syn match helpGraphic		".* \ze`$" nextgroup=helpIgnore
 if has("conceal")
