diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index 7f4bd64..1a865fa 100644
--- a/runtime/autoload/netrw.vim
+++ b/runtime/autoload/netrw.vim
@@ -1,7 +1,7 @@
 " netrw.vim: Handles file transfer and remote directory listing across a network
 "            AUTOLOAD PORTION
-" Date:		Apr 06, 2006
-" Version:	86
+" Date:		Apr 12, 2006
+" Version:	87
 " Maintainer:	Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
 " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
 " Copyright:    Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
@@ -23,7 +23,7 @@
 if &cp || exists("g:loaded_netrw")
   finish
 endif
-let g:loaded_netrw = "v86"
+let g:loaded_netrw = "v87"
 if v:version < 700
  echohl WarningMsg | echo "***netrw*** you need vim version 7.0 or later for version ".g:loaded_netrw." of netrw" | echohl None
  finish
@@ -1155,7 +1155,7 @@
 
   " set up menus
   let b:netrw_browser_active= 1
-  call s:NetMenu()
+  call s:NetMenu(1)
 
   " make this buffer modifiable
   setlocal ma nonu nowrap
@@ -1460,6 +1460,7 @@
      else
       exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!'
      endif
+     " remove priority pattern prefix
      exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{3}\///e'
     endif
     if w:netrw_longlist == 1
@@ -1494,14 +1495,17 @@
   if newdir !~ '[\/]$'
    " handling a file
    let dirname= dirname.newdir
+   let didfile= 0
    if g:netrw_browse_split == 1
     new
     wincmd _
    elseif g:netrw_browse_split == 2
     rightb vert new
     wincmd |
+   else
+    " handling a file, didn't split, so possibly remove menu
+    call s:NetMenu(0)
    endif
-   call s:NetMenu()
 "   call Decho("handling a file: dirname<".dirname.">")
 
   elseif newdir == './'
@@ -2567,7 +2571,7 @@
 endfun
 
 " ---------------------------------------------------------------------
-" NetPrevWinOpen: opoen file/directory in previous window.  {{{2
+" NetPrevWinOpen: open file/directory in previous window.  {{{2
 "   If there's only one window, then the window will first be split.
 fun! s:NetPrevWinOpen(islocal)
 "  call Dfunc("NetPrevWinOpen(islocal=".a:islocal.")")
@@ -2644,69 +2648,81 @@
 
 " ---------------------------------------------------------------------
 " NetMenu: generates the menu for gvim and netrw {{{2
-fun! s:NetMenu()
+fun! s:NetMenu(domenu)
 
   if has("menu") && has("gui_running") && &go =~ 'm'
-"   call Dfunc("NetMenu()")
-   if !exists("s:netrw_menu_enabled")
+"   call Dfunc("NetMenu(domenu=".a:domenu.")")
+   if !exists("s:netrw_menu_enabled") && a:domenu
+"    call Decho("initialize menu")
     let s:netrw_menu_enabled= 1
-    if !exists("g:DrChipTopLvlMenu")
-     let g:DrChipTopLvlMenu= "DrChip."
+    if !exists("g:NetrwTopLvlMenu")
+     let g:NetrwTopLvlMenu= "Netrw."
     endif
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Help<tab>?	?'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Apply\ Special\ Viewer<tab>x	x'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Bookmark\ Current\ Directory<tab>b	Nb'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Go\ Up\ Directory<tab>-	-'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Goto\ Bookmarked\ Directory<tab>B	NB'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Change\ To\ Recently\ Used\ Directory<tab>u	u'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Change\ To\ Subsequently\ Used\ Directory<tab>U	U'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Delete\ File/Directory<tab>D	D'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Edit\ File\ Hiding\ List<tab>'."<ctrl-h>	\<c-h>"
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Edit\ File/Directory<tab><cr>	'."\<cr>"
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Edit\ File/Directory,\ New\ Window<tab>o	o'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Edit\ File/Directory,\ New\ Vertical\ Window\ <tab>v	v'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.List\ Bookmarks\ and\ History<tab>q	q'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Listing\ Style\ (thin-long-wide)<tab>i	i'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Make\ Subdirectory<tab>d	d'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Normal-Hide-Show<tab>a	a'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Obtain\ File<tab>O	O'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Preview\ File/Directory<tab>p	p'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Previous\ Window\ Browser<tab>P	P'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Refresh\ Listing<tab>'."<ctrl-l>	\<c-l>"
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Rename\ File/Directory<tab>R	R'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Reverse\ Sorting\ Order<tab>'."r	r"
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Select\ Sorting\ Style<tab>s	s'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Sorting\ Sequence\ Edit<tab>S	S'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Set\ Current\ Directory<tab>c	c'
-    exe 'silent! menu '.g:DrChipTopLvlMenu.'Netrw.Settings/Options<tab>:NetrwSettings	'.":NetrwSettings\<cr>"
-   else
-"    call Decho("clear menus")
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Help'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Apply\ Special\ Viewer'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Bookmark\ Current\ Directory'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Go\ Up\ Directory'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Goto\ Bookmarked\ Directory'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Change\ To\ Recently\ Used\ Directory'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Change\ To\ Subsequently\ Used\ Directory'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Delete\ File/Directory'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Edit\ File\ Hiding\ List'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Edit\ File'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Enter\ File/Directory'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Enter\ File/Directory\ (vertical\ split)'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.List\ Bookmarks\ and\ History'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Listing\ Style\ (thin-long-wide)'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Make\ Subdirectory'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Normal-Hide-Show'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Obtain\ File'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Preview\ File'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Previous\ Window\ Browser'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Refresh\ Listing'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Rename\ File/Directory'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Reverse\ Sorting\ Order'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Select\ Sorting\ Style'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Sorting\ Sequence\ Edit'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Set\ Current\ Directory'
-    exe 'silent! unmenu '.g:DrChipTopLvlMenu.'Netrw.Settings/Options'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Help<tab><F1>	<F1>'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Apply\ Special\ Viewer<tab>x	x'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Bookmark\ Current\ Directory<tab>b	Nb'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Go\ Up\ Directory<tab>-	-'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Goto\ Bookmarked\ Directory<tab>B	NB'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Change\ To\ Recently\ Used\ Directory<tab>u	u'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Change\ To\ Subsequently\ Used\ Directory<tab>U	U'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Delete\ File/Directory<tab>D	D'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File\ Hiding\ List<tab>'."<ctrl-h>	\<c-h>"
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory<tab><cr>	'."\<cr>"
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Window<tab>o	o'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Vertical\ Window<tab>v	v'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'List\ Bookmarks\ and\ History<tab>q	q'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Listing\ Style\ (thin-long-wide)<tab>i	i'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Make\ Subdirectory<tab>d	d'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Normal-Hide-Show<tab>a	a'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Obtain\ File<tab>O	O'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Preview\ File/Directory<tab>p	p'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Previous\ Window\ Browser<tab>P	P'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Refresh\ Listing<tab>'."<ctrl-l>	\<c-l>"
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Rename\ File/Directory<tab>R	R'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Reverse\ Sorting\ Order<tab>'."r	r"
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Select\ Sorting\ Style<tab>s	s'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Sorting\ Sequence\ Edit<tab>S	S'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Set\ Current\ Directory<tab>c	c'
+    exe 'silent! menu '.g:NetrwTopLvlMenu.'Settings/Options<tab>:NetrwSettings	'.":NetrwSettings\<cr>"
+   elseif !a:domenu
+    let s:netrwcnt = 0
+    let curwin     = winnr()
+    windo if getline(2) =~ "Netrw" | let s:netrwcnt= s:netrwcnt + 1 | endif
+    exe curwin."wincmd w"
+    
+    if s:netrwcnt <= 1
+"     call Decho("clear menus")
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Help'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Apply\ Special\ Viewer'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Bookmark\ Current\ Directory'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Go\ Up\ Directory'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Goto\ Bookmarked\ Directory'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Change\ To\ Recently\ Used\ Directory'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Change\ To\ Subsequently\ Used\ Directory'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Delete\ File/Directory'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Edit\ File/Directory'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Window'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Vertical\ Window'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Edit\ File\ Hiding\ List'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Edit\ File'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Enter\ File/Directory'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Enter\ File/Directory\ (vertical\ split)'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'List\ Bookmarks\ and\ History'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Listing\ Style\ (thin-long-wide)'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Make\ Subdirectory'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Normal-Hide-Show'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Obtain\ File'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Preview\ File/Directory'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Previous\ Window\ Browser'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Refresh\ Listing'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Rename\ File/Directory'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Reverse\ Sorting\ Order'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Select\ Sorting\ Style'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Sorting\ Sequence\ Edit'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Set\ Current\ Directory'
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Settings/Options'
+     unlet s:netrw_menu_enabled
+    endif
    endif
 "   call Dret("NetMenu")
   endif
@@ -2766,7 +2782,7 @@
 
   " set up menus
   let b:netrw_browser_active= 1
-  call s:NetMenu()
+  call s:NetMenu(1)
 
   " find buffer number of buffer named precisely the same as a:dirname
   let bufnum= bufnr(escape(a:dirname,'\'))
@@ -2793,7 +2809,7 @@
   else
    exe "keepalt b ".bufnum
    if exists("s:last_sort_by") && g:netrw_sort_by == s:last_sort_by
-    if getline(2) =~ '^" Directory Listing '
+    if getline(2) =~ '^" Netrw Directory Listing '
      if !g:netrw_keepdir
 "      call Decho("change directory: cd ".b:netrw_curdir)
       exe 'cd '.escape(b:netrw_curdir,s:netrw_cd_escape)
@@ -2911,7 +2927,7 @@
 "  call Decho("set up banner")
   keepjumps put ='\" ============================================================================'
   keepjumps 1d
-  keepjumps put ='\" Directory Listing                                              (netrw '.g:loaded_netrw.')'
+  keepjumps put ='\" Netrw Directory Listing                                        (netrw '.g:loaded_netrw.')'
   keepjumps put ='\"   '.b:netrw_curdir
   let w:netrw_bannercnt= 3
 
@@ -2979,6 +2995,7 @@
        exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!'
       endif
      endif
+     " remove priority pattern prefix
      exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{3}\///e'
 
     else
@@ -3025,12 +3042,12 @@
   let dirname    = escape(b:netrw_curdir,s:netrw_glob_escape)
   let dirnamelen = strlen(b:netrw_curdir)
   let filelist   = glob(dirname."/*")
-"  call Decho("glob(dirname<".dirname.">,*)=".filelist)
+"  call Decho("glob(dirname<".dirname."/.*>)=".filelist)
   if filelist != ""
    let filelist= filelist."\n"
   endif
   let filelist= filelist.glob(dirname."/.*")
-"  call Decho("glob(dirname<".dirname.">,.*)=".glob(dirname.".*"))
+"  call Decho("glob(dirname<".dirname."/.*>)=".glob(dirname.".*"))
 
   " if the directory name includes a "$", and possibly other characters,
   " the glob() doesn't include "." and ".." entries.
@@ -3145,9 +3162,11 @@
     elseif g:netrw_browse_split == 2
      rightb vert new
      wincmd |
+    else
+     " handling a file, didn't split, so possibly remove menu
+     call s:NetMenu(0)
     endif
     exe "e! ".escape(dirname,s:netrw_cd_escape)
-    call s:NetMenu()
     set ma nomod
    endif
 
@@ -3177,8 +3196,9 @@
 " on the chance that s/he removed/created a file/directory with it.
 fun! s:LocalBrowseShellCmdRefresh()
 "  call Dfunc("LocalBrowseShellCmdRefresh() browselist=".string(s:netrw_browselist))
-  "  go through all buffers,
-  "  including unlisted (which is why I can't use bufdo)
+  "  GO through all buffers on netrw_browselist (ie. just local-netrw buffers):
+  "   | refresh any netrw window
+  "   | wipe out any non-displaying netrw buffer
   let curwin = winnr()
   let ibl    = 0
   for ibuf in s:netrw_browselist
@@ -4098,11 +4118,12 @@
    let priority = priority + 1
   endwhile
 
-  " I'm afraid that I don't remember why the following line was present.  It
-  " has something to do with priority -- items that satisfy a two or more
-  " priority patterns get preceded by two or more priority patterns: ###/
-  " So, I want to remove priority patterns, but not ###/ directory names.
-  " Following pattern retains just one priority pattern.
+  " Following line associated with priority -- items that satisfy a priority
+  " pattern get prefixed by ###/ which permits easy sorting by priority.
+  " Sometimes files can satisfy multiple priority patterns -- only the latest
+  " priority pattern needs to be retained.  So, at this point, these excess
+  " priority prefixes need to be removed, but not directories that happen to
+  " be just digits themselves.
   exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\(\d\{3}\/\)\%(\d\{3}\/\)\+\ze./\1/e'
 
 "  call Dret("SetSort")
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 5ee16fc..0927049 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt*  For Vim version 7.0d.  Last change: Apr 06, 2006
+*pi_netrw.txt*  For Vim version 7.0d.  Last change: Apr 12, 2006
 
 		VIM REFERENCE MANUAL    by Charles E. Campbell, Jr.
 
@@ -847,11 +847,10 @@
   *g:netrw_winsize*		specify initial size of new o/v windows
 				 default: ""
 
-  *g:DrChipTopLvlMenu*		This variable specifies the top level
-				submenu name; by default, its "DrChip.".
-				If you wish to change this, do so in your
-				.vimrc.  It affects all of my plugins which
-				have menus.
+  *g:NetrwTopLvlMenu*		This variable specifies the top level
+				menu name; by default, its "Netrw.".  If
+				you wish to change this, do so in your
+				.vimrc.
 
 INTRODUCTION TO DIRECTORY BROWSING			*netrw-browse-intro*
 
@@ -1448,6 +1447,7 @@
 ==============================================================================
 11. History						*netrw-history* {{{1
 
+	v87: * bug fix -- menus were partially disappearing
 	v85: * bug fix -- missing an endif
 	     * bug fix -- handles spaces in names and directories when using
 	       ftp-based browsing
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index a085860..8c0b79c 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -2316,22 +2316,25 @@
 (ex. /bin/sh  /bin/ksh	/bin/bash).  If the first line specifies a shelltype,
 then that shelltype is used.  However some files (ex. .profile) are known to
 be shell files but the type is not apparent.  Furthermore, on many systems
-sh is symbolically linked to "bash" (linux) or "ksh" (posix).
+sh is symbolically linked to "bash" (Linux, Windows+cygwin) or "ksh" (Posix).
 
 One may specify a global default by instantiating one of the following three
 variables in your <.vimrc>:
 
     ksh: >
-	let is_kornshell = 1
+	let g:is_kornshell = 1
+<   posix: (using this is the same as setting is_kornshell to 1) >
+	let g:is_posix     = 1
 <   bash: >
-	let is_bash	 = 1
-<   sh: >
-	let is_sh	 = 1
+	let g:is_bash	   = 1
+<   sh: (default) Borne shell >
+	let g:is_sh	   = 1
 
 If there's no "#! ..." line, and the user hasn't availed himself/herself of a
 default sh.vim syntax setting as just shown, then syntax/sh.vim will assume
 the Borne shell syntax.  No need to quote RFCs or market penetration
-statistics in error reports, please.
+statistics in error reports, please -- just select the default version of
+the sh your system uses in your <.vimrc>.
 
 If, in your <.vimrc>, you set >
 	let g:sh_fold_enabled= 1
diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt
index 43b05b3..b775bac 100644
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -1,4 +1,4 @@
-*tabpage.txt*   For Vim version 7.0d.  Last change: 2006 Apr 09
+*tabpage.txt*   For Vim version 7.0d.  Last change: 2006 Apr 13
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -124,11 +124,12 @@
 
 :tabn[ext]				*:tabn* *:tabnext* *gt*
 gt					*CTRL-<PageDown>* *<C-PageDown>*
-<C-PageDown>	Go to the next tab page.  Wraps around from the last to the
+<C-PageDown>				*i_CTRL-<PageDown>* *i_<C-PageDown>*
+		Go to the next tab page.  Wraps around from the last to the
 		first one.
 
-:tabn[ext] {count}
-{count}gt				*CTRL-<PageUp>* *<C-PageUp>*
+:tabn[ext] {count}			*CTRL-<PageUp>* *<C-PageUp>*
+{count}gt				*i_CTRL-<PageUp>* *i_<C-PageUp>*
 <C-PageUp>	Go to tab page {count}.  The first tab page has number one.
 
 
diff --git a/runtime/doc/tags b/runtime/doc/tags
index a164849..5f1b67d 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5367,7 +5367,7 @@
 g-	undo.txt	/*g-*
 g0	motion.txt	/*g0*
 g8	various.txt	/*g8*
-g:DrChipTopLvlMenu	pi_netrw.txt	/*g:DrChipTopLvlMenu*
+g:NetrwTopLvlMenu	pi_netrw.txt	/*g:NetrwTopLvlMenu*
 g:netrw_alto	pi_netrw.txt	/*g:netrw_alto*
 g:netrw_altv	pi_netrw.txt	/*g:netrw_altv*
 g:netrw_browse_split	pi_netrw.txt	/*g:netrw_browse_split*
@@ -5730,6 +5730,8 @@
 i_<C-End>	insert.txt	/*i_<C-End>*
 i_<C-Home>	insert.txt	/*i_<C-Home>*
 i_<C-Left>	insert.txt	/*i_<C-Left>*
+i_<C-PageDown>	tabpage.txt	/*i_<C-PageDown>*
+i_<C-PageUp>	tabpage.txt	/*i_<C-PageUp>*
 i_<C-Right>	insert.txt	/*i_<C-Right>*
 i_<CR>	insert.txt	/*i_<CR>*
 i_<Del>	insert.txt	/*i_<Del>*
@@ -5757,6 +5759,8 @@
 i_<Tab>	insert.txt	/*i_<Tab>*
 i_<Up>	insert.txt	/*i_<Up>*
 i_BS	insert.txt	/*i_BS*
+i_CTRL-<PageDown>	tabpage.txt	/*i_CTRL-<PageDown>*
+i_CTRL-<PageUp>	tabpage.txt	/*i_CTRL-<PageUp>*
 i_CTRL-@	insert.txt	/*i_CTRL-@*
 i_CTRL-A	insert.txt	/*i_CTRL-A*
 i_CTRL-B-gone	version5.txt	/*i_CTRL-B-gone*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 0ff82d7..8e9ba4b 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0d.  Last change: 2006 Apr 12
+*todo.txt*      For Vim version 7.0d.  Last change: 2006 Apr 13
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -32,6 +32,8 @@
 
 Do some of the 'cindent' bugs below.
 
+Should a[:5] not give an error for a list with 4 items?
+
 Add more tests for all new functionality in Vim 7.  Especially new functions.
 
 Win32: Describe how to do debugging. (George Reilly)
@@ -2236,21 +2238,6 @@
 
 
 'cindent', 'smartindent':
-8   Using "+" part of 'cinoptions' where it's not expected (Alexei Alexandrov):
-	if (a)
-	{
-	} else
-			asdf;
-8   Wrong indent for ":" after a method with line break in arguments:
-	Foo::Foo (int one,
-		    int two)
-	: something(4)
-	{}
-8   Wrong indent for ":" after a method with multiple lines:
-	Foo::Foo (int one, int two)
-		: something(4),
-	somethingelse(3)
-	{}
 9   Too much indent for "lulu": (Uwe Zeisberger)
        int main ()
        {
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 356e686..a37d723 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0d.  Last change: 2006 Apr 12
+*version7.txt*  For Vim version 7.0d.  Last change: 2006 Apr 13
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -2465,5 +2465,15 @@
 
 Fixed a few 'cindent' errors.
 
+When completing menu names, e.g., after ":emenu", don't sort the entries but
+keep them in the original order.
+
+Fixed a crash when editing a directory in diff mode.  Don't trigger
+autocommands when executing the diff command.
+
+Getting a keystroke could get stuck if 'encoding' is a multi-byte encoding and
+typing a special key.
+
+When 'foldignore' is set the folds were not updated right away.
 
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/indent/vhdl.vim b/runtime/indent/vhdl.vim
index 82f0f83..8176673 100644
--- a/runtime/indent/vhdl.vim
+++ b/runtime/indent/vhdl.vim
@@ -1,8 +1,8 @@
 " VHDL indent ('93 syntax)
 " Language:    VHDL
 " Maintainer:  Gerald Lai <laigera+vim?gmail.com>
-" Version:     1.34
-" Last Change: 2006 Feb 11
+" Version:     1.36
+" Last Change: 2006 Apr 12
 " URL:         http://www.vim.org/scripts/script.php?script_id=1450
 
 " only load this indent file when no other was loaded
@@ -15,37 +15,37 @@
 setlocal indentexpr=GetVHDLindent()
 setlocal indentkeys=!^F,o,O,e,0(,0)
 setlocal indentkeys+==~if,=~then,=~elsif,=~else
-setlocal indentkeys+==~begin,=~is,=~select,=~--
+setlocal indentkeys+==~begin,=~is,=~select
 
 " count repeat
-function! <SID>CountWrapper(cmd)
-  let i = v:count1
-  if a:cmd[0] == ":"
-    while i > 0
-      execute a:cmd
-      let i = i - 1
-    endwhile
-  else
-    execute "normal! gv\<Esc>"
-    execute "normal ".i.a:cmd
-    let curcol = col(".")
-    let curline = line(".")
-    normal! gv
-    call cursor(curline, curcol)
-  endif
-endfunction
+"function! <SID>CountWrapper(cmd)
+"  let i = v:count1
+"  if a:cmd[0] == ":"
+"    while i > 0
+"      execute a:cmd
+"      let i = i - 1
+"    endwhile
+"  else
+"    execute "normal! gv\<Esc>"
+"    execute "normal ".i.a:cmd
+"    let curcol = col(".")
+"    let curline = line(".")
+"    normal! gv
+"    call cursor(curline, curcol)
+"  endif
+"endfunction
 
 " explore motion
 " keywords: "architecture", "block", "configuration", "component", "entity", "function", "package", "procedure", "process", "record", "units"
-let b:vhdl_explore = '\%(architecture\|block\|configuration\|component\|entity\|function\|package\|procedure\|process\|record\|units\)'
-noremap  <buffer><silent>[[ :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\%(\\<end\\s\\+\\)\\@<!\\<".b:vhdl_explore."\\>\\c\\<Bar>\\%^","bW")')<CR>
-noremap  <buffer><silent>]] :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\%(\\<end\\s\\+\\)\\@<!\\<".b:vhdl_explore."\\>\\c\\<Bar>\\%$","W")')<CR>
-noremap  <buffer><silent>[] :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\<end\\s\\+".b:vhdl_explore."\\>\\c\\<Bar>\\%^","bW")')<CR>
-noremap  <buffer><silent>][ :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\<end\\s\\+".b:vhdl_explore."\\>\\c\\<Bar>\\%$","W")')<CR>
-vnoremap <buffer><silent>[[ :<C-u>cal <SID>CountWrapper('[[')<CR>
-vnoremap <buffer><silent>]] :<C-u>cal <SID>CountWrapper(']]')<CR>
-vnoremap <buffer><silent>[] :<C-u>cal <SID>CountWrapper('[]')<CR>
-vnoremap <buffer><silent>][ :<C-u>cal <SID>CountWrapper('][')<CR>
+"let b:vhdl_explore = '\%(architecture\|block\|configuration\|component\|entity\|function\|package\|procedure\|process\|record\|units\)'
+"noremap  <buffer><silent>[[ :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\%(\\<end\\s\\+\\)\\@<!\\<".b:vhdl_explore."\\>\\c\\<Bar>\\%^","bW")')<CR>
+"noremap  <buffer><silent>]] :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\%(\\<end\\s\\+\\)\\@<!\\<".b:vhdl_explore."\\>\\c\\<Bar>\\%$","W")')<CR>
+"noremap  <buffer><silent>[] :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\<end\\s\\+".b:vhdl_explore."\\>\\c\\<Bar>\\%^","bW")')<CR>
+"noremap  <buffer><silent>][ :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\<end\\s\\+".b:vhdl_explore."\\>\\c\\<Bar>\\%$","W")')<CR>
+"vnoremap <buffer><silent>[[ :<C-u>cal <SID>CountWrapper('[[')<CR>
+"vnoremap <buffer><silent>]] :<C-u>cal <SID>CountWrapper(']]')<CR>
+"vnoremap <buffer><silent>[] :<C-u>cal <SID>CountWrapper('[]')<CR>
+"vnoremap <buffer><silent>][ :<C-u>cal <SID>CountWrapper('][')<CR>
 
 " constants
 " not a comment
@@ -56,26 +56,26 @@
 let s:NE = '\%(\<end\s\+\)\@<!'
 
 " for matchit plugin
-if exists("loaded_matchit")
-  let b:match_ignorecase = 1
-  let b:match_words =
-    \ s:NE.'\<if\>:\<elsif\>:\<else\>:\<end\s\+if\>,'.
-    \ s:NE.'\<case\>:\<when\>:\<end\s\+case\>,'.
-    \ s:NE.'\<loop\>:\<end\s\+loop\>,'.
-    \ s:NE.'\<for\>:\<end\s\+for\>,'.
-    \ s:NE.'\<generate\>:\<end\s\+generate\>,'.
-    \ s:NE.'\<record\>:\<end\s\+record\>,'.
-    \ s:NE.'\<units\>:\<end\s\+units\>,'.
-    \ s:NE.'\<process\>:\<end\s\+process\>,'.
-    \ s:NE.'\<block\>:\<end\s\+block\>,'.
-    \ s:NE.'\<function\>:\<end\s\+function\>,'.
-    \ s:NE.'\<entity\>:\<end\s\+entity\>,'.
-    \ s:NE.'\<component\>:\<end\s\+component\>,'.
-    \ s:NE.'\<architecture\>:\<end\s\+architecture\>,'.
-    \ s:NE.'\<package\>:\<end\s\+package\>,'.
-    \ s:NE.'\<procedure\>:\<end\s\+procedure\>,'.
-    \ s:NE.'\<configuration\>:\<end\s\+configuration\>'
-endif
+"if exists("loaded_matchit")
+"  let b:match_ignorecase = 1
+"  let b:match_words =
+"    \ s:NE.'\<if\>:\<elsif\>:\<else\>:\<end\s\+if\>,'.
+"    \ s:NE.'\<case\>:\<when\>:\<end\s\+case\>,'.
+"    \ s:NE.'\<loop\>:\<end\s\+loop\>,'.
+"    \ s:NE.'\<for\>:\<end\s\+for\>,'.
+"    \ s:NE.'\<generate\>:\<end\s\+generate\>,'.
+"    \ s:NE.'\<record\>:\<end\s\+record\>,'.
+"    \ s:NE.'\<units\>:\<end\s\+units\>,'.
+"    \ s:NE.'\<process\>:\<end\s\+process\>,'.
+"    \ s:NE.'\<block\>:\<end\s\+block\>,'.
+"    \ s:NE.'\<function\>:\<end\s\+function\>,'.
+"    \ s:NE.'\<entity\>:\<end\s\+entity\>,'.
+"    \ s:NE.'\<component\>:\<end\s\+component\>,'.
+"    \ s:NE.'\<architecture\>:\<end\s\+architecture\>,'.
+"    \ s:NE.'\<package\>:\<end\s\+package\>,'.
+"    \ s:NE.'\<procedure\>:\<end\s\+procedure\>,'.
+"    \ s:NE.'\<configuration\>:\<end\s\+configuration\>'
+"endif
 
 " only define indent function once
 if exists("*GetVHDLindent")
diff --git a/runtime/syntax/abap.vim b/runtime/syntax/abap.vim
index 2b1229f..18d3b0f 100644
--- a/runtime/syntax/abap.vim
+++ b/runtime/syntax/abap.vim
@@ -1,11 +1,11 @@
 " Vim ABAP syntax file
-"    Language:	SAP - ABAP/4
-"    Revision:	0.8
-"  Maintainer:	Marius van Wyk <marius@e.co.za>
-" Last Change:	2004 Aug 30
+"    Language: SAP - ABAP/R4
+"    Revision: 1.0
+"  Maintainer: Marius Piedallu van Wyk <marius@e.co.za>
+" Last Change: 2006 Apr 13
 
-" For version 5.x: Clear all syntax items
-" For version 6.x: Quit when a syntax file was already loaded
+" For version  < 6.0: Clear all syntax items
+" For version >= 6.0: Quit when a syntax file was already loaded
 if version < 600
   syntax clear
 elseif exists("b:current_syntax")
@@ -16,19 +16,19 @@
 syn case ignore
 
 " Symbol Operators
-syn match   abapSymbolOperator      "[+\-/=<>$]"
-syn match   abapSymbolOperator      "\*"
-syn match   abapSymbolOperator      "[<>]="
-syn match   abapSymbolOperator      "<>"
-syn match   abapSymbolOperator      "\*\*"
-syn match   abapSymbolOperator      "[()]"
-syn match   abapSymbolOperator      "[:,\.]"
+syn match   abapSymbolOperator  "[+\-/=<>$]"
+syn match   abapSymbolOperator  "\*"
+syn match   abapSymbolOperator  "[<>]="
+syn match   abapSymbolOperator  "<>"
+syn match   abapSymbolOperator  "\*\*"
+syn match   abapSymbolOperator  "[()]"
+syn match   abapSymbolOperator  "[:,\.]"
 
 " Literals
 syn region  abapString matchgroup=abapString start="'" end="'" contains=abapStringEscape
 syn match   abapStringEscape contained "''"
 
-syn match   abapNumber	"-\=\<\d\+\>"
+syn match   abapNumber  "-\=\<\d\+\>"
 syn region  abapHex     matchgroup=abapHex start="X'" end="'"
 
 if version >= 600
@@ -52,7 +52,7 @@
 syn keyword abapStatement NEW-LINE NEW-PAGE NEW-SECTION
 syn keyword abapStatement ON OVERLAY
 syn keyword abapStatement PACK PARAMETERS PERFORM POSITION PRINT-CONTROL PROGRAM PROVIDE PUT
-syn keyword abapStatement RAISE RANGES READ RECEIVE REFRESH REJECT REPLACE REPORT RESERVE RESTORE ROLLBACK
+syn keyword abapStatement RAISE RANGES READ RECEIVE REFRESH REJECT REPLACE REPORT RESERVE RESTORE ROLLBACK RP-PROVIDE-FROM-LAST
 syn keyword abapStatement SCAN SCROLL SEARCH SELECT SELECT-OPTIONS SELECTION-SCREEN SET SHIFT SKIP SORT SPLIT START-OF-SELECTION STATICS STOP SUBMIT SUBTRACT SUBTRACT-CORRESPONDING SUM SUMMARY SUPPRESS SYNTAX-CHECK SYNTAX-TRACE
 syn keyword abapStatement TABLES TOP-OF-PAGE TRANSFER TRANSLATE TYPE TYPE-POOL TYPE-POOLS TYPES
 syn keyword abapStatement UNPACK UPDATE
@@ -82,7 +82,7 @@
 " Special ABAP specific tables:
 syn match   abapSpecial       "\(\W\|^\)\(sy\|\(p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)\(\W\|$\)"ms=s+1,me=e-1
 syn match   abapSpecialTables "\(sy\|\(p\|pa\)\d\d\d\d\|t\d\d\d.\|innnn\)-"me=e-1 contained
-syn match   abapSpecial       "\(\W\|^\)\w\+-\w\+"ms=s+1 contains=abapSpecialTables
+syn match   abapSpecial       "\(\W\|^\)\w\+-\(\w\+-\w\+\|\w\+\)"ms=s+1 contains=abapSpecialTables
 
 " Pointer
 syn match   abapSpecial  "<\w\+>"
@@ -118,7 +118,7 @@
 " Comments
 syn region  abapComment  start="^\*" end="$" contains=abapTodo
 syn match   abapComment  "\".*" contains=abapTodo
-syn keyword abapTodo     contained	TODO NOTE
+syn keyword abapTodo     contained TODO NOTE
 
 " Define the default highlighting.
 " For version 5.7 and earlier: only when not done already
@@ -132,17 +132,17 @@
   endif
 
   HiLink abapError          Error
-  HiLink abapComment	      Comment
-  HiLink abapInclude	      Include
+  HiLink abapComment        Comment
+  HiLink abapInclude        Include
   HiLink abapSpecial        Special
   HiLink abapSpecialTables  PreProc
-  HiLink abapSymbolOperator	abapOperator
-  HiLink abapOperator	      Operator
-  HiLink abapStatement	    Statement
-  HiLink abapString	        String
-  HiLink abapFloat	        Float
-  HiLink abapNumber	        Number
-  HiLink abapHex	          Number
+  HiLink abapSymbolOperator abapOperator
+  HiLink abapOperator       Operator
+  HiLink abapStatement      Statement
+  HiLink abapString         String
+  HiLink abapFloat          Float
+  HiLink abapNumber         Number
+  HiLink abapHex            Number
 
   delcommand HiLink
 endif
@@ -150,3 +150,4 @@
 let b:current_syntax = "abap"
 
 " vim: ts=8 sw=2
+
diff --git a/runtime/syntax/apache.vim b/runtime/syntax/apache.vim
index 4fe9e8e..d15388a 100644
--- a/runtime/syntax/apache.vim
+++ b/runtime/syntax/apache.vim
@@ -2,9 +2,14 @@
 " This is a GENERATED FILE. Please always refer to source file at the URI below.
 " Language: Apache configuration (httpd.conf, srm.conf, access.conf, .htaccess)
 " Maintainer: David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>
-" Last Change: 2002-10-15
+" License: This file can be redistribued and/or modified under the same terms
+"		as Vim itself.
+" Last Change: 2006-04-12
 " URL: http://trific.ath.cx/Ftp/vim/syntax/apache.vim
-" Note: define apache_version to your Apache version, e.g. "1.3", "2", "2.0.39"
+" Notes: Last synced with apache-2.2.0, version 1.x is no longer supported
+" TODO: see particular FIXME's scattered through the file
+"		make it really linewise?
+"		+ add `display' where appropriate
 
 " Setup
 if version >= 600
@@ -15,25 +20,11 @@
 	syntax clear
 endif
 
-if exists("apache_version")
-	let s:av = apache_version
-else
-	let s:av = "1.3"
-endif
-let s:av = substitute(s:av, "[^.0-9]", "", "g")
-let s:av = substitute(s:av, "^\\d\\+$", "\\0.999", "")
-let s:av = substitute(s:av, "^\\d\\+\\.\\d\\+$", "\\0.999", "")
-let s:av = substitute(s:av, "\\<\\d\\>", "0\\0", "g")
-let s:av = substitute(s:av, "\\<\\d\\d\\>", "0\\0", "g")
-let s:av = substitute(s:av, "[.]", "", "g")
-
 syn case ignore
 
 " Base constructs
 syn match apacheComment "^\s*#.*$" contains=apacheFixme
-if s:av >= "002000000"
-	syn match apacheUserID "#-\?\d\+\>"
-endif
+syn match apacheUserID "#-\?\d\+\>"
 syn case match
 syn keyword apacheFixme FIXME TODO XXX NOT
 syn case ignore
@@ -43,146 +34,118 @@
 
 " Core and mpm
 syn keyword apacheDeclaration AccessFileName AddDefaultCharset AllowOverride AuthName AuthType ContentDigest DefaultType DocumentRoot ErrorDocument ErrorLog HostNameLookups IdentityCheck Include KeepAlive KeepAliveTimeout LimitRequestBody LimitRequestFields LimitRequestFieldsize LimitRequestLine LogLevel MaxKeepAliveRequests NameVirtualHost Options Require RLimitCPU RLimitMEM RLimitNPROC Satisfy ScriptInterpreterSource ServerAdmin ServerAlias ServerName ServerPath ServerRoot ServerSignature ServerTokens TimeOut UseCanonicalName
-if s:av < "002000000"
-	syn keyword apacheDeclaration AccessConfig AddModule BindAddress BS2000Account ClearModuleList CoreDumpDirectory Group Listen ListenBacklog LockFile MaxClients MaxRequestsPerChild MaxSpareServers MinSpareServers PidFile Port ResourceConfig ScoreBoardFile SendBufferSize ServerType StartServers ThreadsPerChild ThreadStackSize User
-endif
-if s:av >= "002000000"
-	syn keyword apacheDeclaration AcceptPathInfo CGIMapExtension EnableMMAP FileETag ForceType LimitXMLRequestBody SetHandler SetInputFilter SetOutputFilter
-	syn keyword apacheOption INode MTime Size
-endif
+syn keyword apacheDeclaration AcceptPathInfo CGIMapExtension EnableMMAP FileETag ForceType LimitXMLRequestBody SetHandler SetInputFilter SetOutputFilter
+syn keyword apacheDeclaration AcceptFilter AllowEncodedSlashes EnableSendfile LimitInternalRecursion TraceEnable
+syn keyword apacheOption INode MTime Size
 syn keyword apacheOption Any All On Off Double EMail DNS Min Minimal OS Prod ProductOnly Full
 syn keyword apacheOption emerg alert crit error warn notice info debug
 syn keyword apacheOption registry script inetd standalone
 syn match apacheOptionOption "[+-]\?\<\(ExecCGI\|FollowSymLinks\|Includes\|IncludesNoExec\|Indexes\|MultiViews\|SymLinksIfOwnerMatch\)\>"
-syn keyword apacheOption user group valid-user
+syn keyword apacheOption user group
+syn match apacheOption "\<valid-user\>"
 syn case match
 syn keyword apacheMethodOption GET POST PUT DELETE CONNECT OPTIONS TRACE PATCH PROPFIND PROPPATCH MKCOL COPY MOVE LOCK UNLOCK contained
 syn case ignore
-syn match apacheSection "<\/\=\(Directory\|DirectoryMatch\|Files\|FilesMatch\|IfModule\|IfDefine\|Location\|LocationMatch\|VirtualHost\)\+.*>" contains=apacheAnything
-syn match apacheLimitSection "<\/\=\(Limit\|LimitExcept\)\+.*>" contains=apacheLimitSectionKeyword,apacheMethodOption,apacheError
+syn match apacheSection "<\/\=\(Directory\|DirectoryMatch\|Files\|FilesMatch\|IfModule\|IfDefine\|Location\|LocationMatch\|VirtualHost\)[^>]*>" contains=apacheAnything
+syn match apacheLimitSection "<\/\=\(Limit\|LimitExcept\)[^>]*>" contains=apacheLimitSectionKeyword,apacheMethodOption,apacheError
 syn keyword apacheLimitSectionKeyword Limit LimitExcept contained
 syn match apacheAuthType "AuthType\s.*$" contains=apacheAuthTypeValue
 syn keyword apacheAuthTypeValue Basic Digest
 syn match apacheAllowOverride "AllowOverride\s.*$" contains=apacheAllowOverrideValue,apacheComment
 syn keyword apacheAllowOverrideValue AuthConfig FileInfo Indexes Limit Options contained
-if s:av >= "002000000"
-	syn keyword apacheDeclaration CoreDumpDirectory Group Listen ListenBacklog LockFile MaxClients MaxMemFree MaxRequestsPerChild MaxSpareThreads MaxSpareThreadsPerChild MinSpareThreads NumServers PidFile ScoreBoardFile SendBufferSize ServerLimit StartServers StartThreads ThreadLimit ThreadsPerChild User
-	syn keyword apacheDeclaration MaxThreads ThreadStackSize
-	syn keyword apacheDeclaration AssignUserId ChildPerUserId
-	syn keyword apacheDeclaration AcceptMutex MaxSpareServers MinSpareServers
-	syn keyword apacheOption flock fcntl sysvsem pthread
-endif
+syn keyword apacheDeclaration CoreDumpDirectory EnableExceptionHook GracefulShutdownTimeout Group Listen ListenBacklog LockFile MaxClients MaxMemFree MaxRequestsPerChild MaxSpareThreads MaxSpareThreadsPerChild MinSpareThreads NumServers PidFile ScoreBoardFile SendBufferSize ServerLimit StartServers StartThreads ThreadLimit ThreadsPerChild User
+syn keyword apacheDeclaration MaxThreads ThreadStackSize
+syn keyword apacheDeclaration Win32DisableAcceptEx
+syn keyword apacheDeclaration AssignUserId ChildPerUserId
+syn keyword apacheDeclaration AcceptMutex MaxSpareServers MinSpareServers
+syn keyword apacheOption flock fcntl sysvsem pthread
 
 " Modules
+syn keyword apacheDeclaration Action Script
+syn keyword apacheDeclaration Alias AliasMatch Redirect RedirectMatch RedirectTemp RedirectPermanent ScriptAlias ScriptAliasMatch
+syn keyword apacheOption permanent temp seeother gone
+syn keyword apacheDeclaration AuthAuthoritative AuthGroupFile AuthUserFile
+syn keyword apacheDeclaration AuthBasicAuthoritative AuthBasicProvider
+syn keyword apacheDeclaration AuthDigestAlgorithm AuthDigestDomain AuthDigestNcCheck AuthDigestNonceFormat AuthDigestNonceLifetime AuthDigestProvider AuthDigestQop AuthDigestShmemSize
+syn keyword apacheOption none auth auth-int MD5 MD5-sess
+syn match apacheSection "<\/\=\(<AuthnProviderAlias\)[^>]*>" contains=apacheAnything
+syn keyword apacheDeclaration Anonymous Anonymous_Authoritative Anonymous_LogEmail Anonymous_MustGiveEmail Anonymous_NoUserID Anonymous_VerifyEmail
+syn keyword apacheDeclaration AuthDBDUserPWQuery AuthDBDUserRealmQuery
+syn keyword apacheDeclaration AuthDBMGroupFile AuthDBMAuthoritative
+syn keyword apacheDeclaration AuthDBM TypeAuthDBMUserFile
+syn keyword apacheOption default SDBM GDBM NDBM DB
+syn keyword apacheDeclaration AuthDefaultAuthoritative
+syn keyword apacheDeclaration AuthUserFile
+syn keyword apacheDeclaration AuthLDAPBindON AuthLDAPEnabled AuthLDAPFrontPageHack AuthLDAPStartTLS
+syn keyword apacheDeclaration AuthLDAPBindDN AuthLDAPBindPassword AuthLDAPCharsetConfig AuthLDAPCompareDNOnServer AuthLDAPDereferenceAliases AuthLDAPGroupAttribute AuthLDAPGroupAttributeIsDN AuthLDAPRemoteUserIsDN AuthLDAPUrl AuthzLDAPAuthoritative
+syn keyword apacheOption always never searching finding
+syn keyword apacheOption ldap-user ldap-group ldap-dn ldap-attribute ldap-filter
+syn keyword apacheDeclaration AuthDBMGroupFile AuthzDBMAuthoritative AuthzDBMType
+syn keyword apacheDeclaration AuthzDefaultAuthoritative
+syn keyword apacheDeclaration AuthGroupFile AuthzGroupFileAuthoritative
 syn match apacheAllowDeny "Allow\s\+from.*$" contains=apacheAllowDenyValue,apacheComment
 syn match apacheAllowDeny "Deny\s\+from.*$" contains=apacheAllowDenyValue,apacheComment
 syn keyword apacheAllowDenyValue All None contained
 syn match apacheOrder "^\s*Order\s.*$" contains=apacheOrderValue,apacheComment
 syn keyword apacheOrderValue Deny Allow contained
-syn keyword apacheDeclaration Action Script
-syn keyword apacheDeclaration Alias AliasMatch Redirect RedirectMatch RedirectTemp RedirectPermanent ScriptAlias ScriptAliasMatch
-syn keyword apacheOption permanent temp seeother gone
-syn keyword apacheDeclaration AuthAuthoritative AuthGroupFile AuthUserFile
-syn keyword apacheDeclaration Anonymous Anonymous_Authoritative Anonymous_LogEmail Anonymous_MustGiveEmail Anonymous_NoUserID Anonymous_VerifyEmail
-if s:av < "002000000"
-	syn keyword apacheDeclaration AuthDBGroupFile AuthDBUserFile AuthDBAuthoritative
-endif
-syn keyword apacheDeclaration AuthDBMGroupFile AuthDBMUserFile AuthDBMAuthoritative
-if s:av >= "002000000"
-	syn keyword apacheDeclaration AuthDBMType
-	syn keyword apacheOption default SDBM GDBM NDBM DB
-endif
-syn keyword apacheDeclaration AuthDigestAlgorithm AuthDigestDomain AuthDigestFile AuthDigestGroupFile AuthDigestNcCheck AuthDigestNonceFormat AuthDigestNonceLifetime AuthDigestQop
-syn keyword apacheOption none auth auth-int MD5 MD5-sess
-if s:av >= "002000000"
-	syn keyword apacheDeclaration AuthLDAPAuthoritative AuthLDAPBindON AuthLDAPBindPassword AuthLDAPCompareDNOnServer AuthLDAPDereferenceAliases AuthLDAPEnabled AuthLDAPFrontPageHack AuthLDAPGroupAttribute AuthLDAPGroupAttributeIsDN AuthLDAPRemoteUserIsDN AuthLDAPStartTLS AuthLDAPUrl
-	syn keyword apacheOption always never searching finding
-endif
-if s:av < "002000000"
-	syn keyword apacheDeclaration FancyIndexing
-endif
+syn keyword apacheDeclaration  AuthzOwnerAuthoritative
+syn keyword apacheDeclaration  AuthzUserAuthoritative
 syn keyword apacheDeclaration AddAlt AddAltByEncoding AddAltByType AddDescription AddIcon AddIconByEncoding AddIconByType DefaultIcon HeaderName IndexIgnore IndexOptions IndexOrderDefault ReadmeName
+syn keyword apacheDeclaration IndexStyleSheet
 syn keyword apacheOption DescriptionWidth FancyIndexing FoldersFirst IconHeight IconsAreLinks IconWidth NameWidth ScanHTMLTitles SuppressColumnSorting SuppressDescription SuppressHTMLPreamble SuppressLastModified SuppressSize TrackModified
 syn keyword apacheOption Ascending Descending Name Date Size Description
-if s:av >= "002000000"
-	syn keyword apacheOption HTMLTable SupressIcon SupressRules VersionSort
-endif
-if s:av < "002000000"
-	syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase
-endif
-if s:av >= "002000000"
-	syn keyword apacheDeclaration CacheDefaultExpire CacheEnable CacheForceCompletion CacheIgnoreCacheControl CacheIgnoreNoLastMod CacheLastModifiedFactor CacheMaxExpire CacheMaxStreamingBuffer
-endif
+syn keyword apacheOption HTMLTable SupressIcon SupressRules VersionSort XHTML
+syn keyword apacheOption IgnoreClient IgnoreCase ShowForbidden SuppresRules
+syn keyword apacheDeclaration CacheForceCompletion CacheMaxStreamingBuffer
+syn keyword apacheDeclaration CacheDefaultExpire CacheDisable CacheEnable CacheIgnoreCacheControl CacheIgnoreHeaders CacheIgnoreNoLastMod CacheLastModifiedFactor CacheMaxExpire CacheStoreNoStore CacheStorePrivate
 syn keyword apacheDeclaration MetaFiles MetaDir MetaSuffix
 syn keyword apacheDeclaration ScriptLog ScriptLogLength ScriptLogBuffer
-if s:av >= "002000000"
-	syn keyword apacheDeclaration ScriptStock
-	syn keyword apacheDeclaration CharsetDefault CharsetOptions CharsetSourceEnc
-	syn keyword apacheOption DebugLevel ImplicitAdd NoImplicitAdd
-endif
-syn keyword apacheDeclaration Dav DavDepthInfinity DavLockDB DavMinTimeout
-if s:av < "002000000"
-	syn keyword apacheDeclaration Define
-end
-if s:av >= "002000000"
-	syn keyword apacheDeclaration DeflateBufferSize DeflateFilterNote DeflateMemLevel DeflateWindowSize
-endif
-if s:av < "002000000"
-	syn keyword apacheDeclaration AuthDigestFile
-endif
-syn keyword apacheDeclaration DirectoryIndex
-if s:av >= "002000000"
-	syn keyword apacheDeclaration ProtocolEcho
-endif
+syn keyword apacheDeclaration ScriptStock
+syn keyword apacheDeclaration CharsetDefault CharsetOptions CharsetSourceEnc
+syn keyword apacheOption DebugLevel ImplicitAdd NoImplicitAdd
+syn keyword apacheDeclaration Dav DavDepthInfinity DavMinTimeout
+syn keyword apacheDeclaration DavLockDB
+syn keyword apacheDeclaration DavGenericLockDB
+syn keyword apacheDeclaration DBDExptime DBDKeep DBDMax DBDMin DBDParams DBDPersist DBDPrepareSQL DBDriver
+syn keyword apacheDeclaration DeflateCompressionLevel DeflateBufferSize DeflateFilterNote DeflateMemLevel DeflateWindowSize
+syn keyword apacheDeclaration DirectoryIndex DirectorySlash
+syn keyword apacheDeclaration CacheExpiryCheck CacheGcClean CacheGcDaily CacheGcInterval CacheGcMemUsage CacheGcUnused CacheSize CacheTimeMargin
+syn keyword apacheDeclaration CacheDirLength CacheDirLevels CacheMaxFileSize CacheMinFileSize CacheRoot
+syn keyword apacheDeclaration DumpIOInput DumpIOOutput
+syn keyword apacheDeclaration ProtocolEcho
 syn keyword apacheDeclaration PassEnv SetEnv UnsetEnv
 syn keyword apacheDeclaration Example
 syn keyword apacheDeclaration ExpiresActive ExpiresByType ExpiresDefault
-if s:av >= "002000000"
-	syn keyword apacheDeclaration ExtFilterDefine ExtFilterOptions
-	syn keyword apacheOption PreservesContentLength DebugLevel LogStderr NoLogStderr
-	syn keyword apacheDeclaration CacheFile MMapFile
-endif
+syn keyword apacheDeclaration ExtFilterDefine ExtFilterOptions
+syn keyword apacheOption PreservesContentLength DebugLevel LogStderr NoLogStderr
+syn match apacheOption "\<\(cmd\|mode\|intype\|outtype\|ftype\|disableenv\|enableenv\)\ze="
+syn keyword apacheDeclaration CacheFile MMapFile
+syn keyword apacheDeclaration FilterChain FilterDeclare FilterProtocol FilterProvider FilterTrace
 syn keyword apacheDeclaration Header
-if s:av >= "002000000"
-	syn keyword apacheDeclaration RequestHeader
-endif
+syn keyword apacheDeclaration RequestHeader
 syn keyword apacheOption set unset append add
+syn keyword apacheDeclaration IdentityCheck IdentityCheckTimeout
 syn keyword apacheDeclaration ImapMenu ImapDefault ImapBase
 syn keyword apacheOption none formatted semiformatted unformatted
 syn keyword apacheOption nocontent referer error map
-syn keyword apacheDeclaration XBitHack
-if s:av >= "002000000"
-	syn keyword apacheDeclaration SSIEndTag SSIErrorMsg SSIStartTag SSITimeFormat SSIUndefinedEcho
-endif
+syn keyword apacheDeclaration SSIEndTag SSIErrorMsg SSIStartTag SSITimeFormat SSIUndefinedEcho XBitHack
 syn keyword apacheOption on off full
 syn keyword apacheDeclaration AddModuleInfo
 syn keyword apacheDeclaration ISAPIReadAheadBuffer ISAPILogNotSupported ISAPIAppendLogToErrors ISAPIAppendLogToQuery
-if s:av >= "002000000"
-	syn keyword apacheDeclaration ISAPICacheFile ISAIPFakeAsync
-	syn keyword apacheDeclaration LDAPCacheEntries LDAPCacheTTL LDAPCertDBPath LDAPOpCacheEntries LDAPOpCacheTTL LDAPSharedCacheSize
-endif
-if s:av < "002000000"
-	syn keyword apacheDeclaration AgentLog
-endif
-syn keyword apacheDeclaration CookieLog CustomLog LogFormat TransferLog
-if s:av < "002000000"
-	syn keyword apacheDeclaration RefererIgnore RefererLog
-endif
-if s:av >= "002000000"
-endif
+syn keyword apacheDeclaration ISAPICacheFile ISAIPFakeAsync
+syn keyword apacheDeclaration LDAPCertDBPath
+syn keyword apacheDeclaration LDAPCacheEntries LDAPCacheTTL LDAPConnectionTimeout LDAPOpCacheEntries LDAPOpCacheTTL LDAPSharedCacheFile LDAPSharedCacheSize LDAPTrustedClientCert LDAPTrustedGlobalCert LDAPTrustedMode LDAPVerifyServerCert
+syn keyword apacheOption CA_DER CA_BASE64 CA_CERT7_DB CA_SECMOD CERT_DER CERT_BASE64 CERT_KEY3_DB CERT_NICKNAME CERT_PFX KEY_DER KEY_BASE64 KEY_PFX
+syn keyword apacheDeclaration BufferedLogs CookieLog CustomLog LogFormat TransferLog
+syn keyword apacheDeclaration ForensicLog
+syn keyword apacheDeclaration MCacheMaxObjectCount MCacheMaxObjectSize MCacheMaxStreamingBuffer MCacheMinObjectSize MCacheRemovalAlgorithm MCacheSize
 syn keyword apacheDeclaration AddCharset AddEncoding AddHandler AddLanguage AddType DefaultLanguage RemoveEncoding RemoveHandler RemoveType TypesConfig
-if s:av < "002000000"
-	syn keyword apacheDeclaration ForceType SetHandler
-endif
-if s:av >= "002000000"
-	syn keyword apacheDeclaration AddInputFilter AddOutputFilter ModMimeUsePathInfo MultiviewsMatch RemoveInputFilter RemoveOutputFilter
-endif
+syn keyword apacheDeclaration AddInputFilter AddOutputFilter ModMimeUsePathInfo MultiviewsMatch RemoveInputFilter RemoveOutputFilter RemoveCharset
+syn keyword apacheOption NegotiatedOnly Filters Handlers
 syn keyword apacheDeclaration MimeMagicFile
 syn keyword apacheDeclaration MMapFile
-syn keyword apacheDeclaration CacheNegotiatedDocs LanguagePriority
-if s:av >= "002000000"
-	syn keyword apacheDeclaration ForceLanguagePriority
-endif
+syn keyword apacheDeclaration CacheNegotiatedDocs LanguagePriority ForceLanguagePriority
+syn keyword apacheDeclaration NWSSLTrustedCerts NWSSLUpgradeable SecureListen
 syn keyword apacheDeclaration PerlModule PerlRequire PerlTaintCheck PerlWarn
 syn keyword apacheDeclaration PerlSetVar PerlSetEnv PerlPassEnv PerlSetupEnv
 syn keyword apacheDeclaration PerlInitHandler PerlPostReadRequestHandler PerlHeaderParserHandler
@@ -192,50 +155,25 @@
 syn keyword apacheDeclaration PerlRestartHandler PerlDispatchHandler
 syn keyword apacheDeclaration PerlFreshRestart PerlSendHeader
 syn keyword apacheDeclaration php_value php_flag php_admin_value php_admin_flag
-syn keyword apacheDeclaration AllowCONNECT NoProxy ProxyBlock ProxyDomain ProxyPass ProxyPassReverse ProxyReceiveBufferSize ProxyRemote ProxyRequests ProxyVia
-if s:av < "002000000"
-	syn keyword apacheDeclaration CacheRoot CacheSize CacheMaxExpire CacheDefaultExpire CacheLastModifiedFactor CacheGcInterval CacheDirLevels CacheDirLength CacheForceCompletion NoCache
-	syn keyword apacheOption block
-endif
-if s:av >= "002000000"
-	syn match apacheSection "<\/\=\(Proxy\|ProxyMatch\)\+.*>" contains=apacheAnything
-	syn keyword apacheDeclaration ProxyErrorOverride ProxyIOBufferSize ProxyMaxForwards ProxyPreserveHost ProxyRemoteMatch ProxyTimeout
-endif
-syn keyword apacheDeclaration RewriteEngine RewriteOptions RewriteLog RewriteLogLevel RewriteLock RewriteMap RewriteBase RewriteCond RewriteRule
+syn match apacheSection "<\/\=\(Proxy\|ProxyMatch\)[^>]*>" contains=apacheAnything
+syn keyword apacheDeclaration AllowCONNECT NoProxy ProxyBadHeader ProxyBlock ProxyDomain ProxyErrorOverride ProxyIOBufferSize ProxyMaxForwards ProxyPass ProxyPassReverse ProxyPassReverseCookieDomain ProxyPassReverseCookiePath ProxyPreserveHost ProxyReceiveBufferSize ProxyRemote ProxyRemoteMatch ProxyRequests ProxyTimeout ProxyVia
+syn keyword apacheDeclaration RewriteBase RewriteCond RewriteEngine RewriteLock RewriteLog RewriteLogLevel RewriteMap RewriteOptions RewriteRule
 syn keyword apacheOption inherit
-if s:av < "002000000"
-	syn keyword apacheDeclaration RoamingAlias
-endif
 syn keyword apacheDeclaration BrowserMatch BrowserMatchNoCase SetEnvIf SetEnvIfNoCase
 syn keyword apacheDeclaration LoadFile LoadModule
 syn keyword apacheDeclaration CheckSpelling
-syn keyword apacheDeclaration SSLCACertificateFile SSLCACertificatePath SSLCARevocationFile SSLCARevocationPath SSLCertificateChainFile SSLCertificateFile SSLCertificateKeyFile SSLCipherSuite SSLEngine SSLMutex SSLOptions SSLPassPhraseDialog SSLProtocol SSLRandomSeed SSLRequire SSLRequireSSL SSLSessionCache SSLSessionCacheTimeout SSLVerifyClient SSLVerifyDepth
-if s:av < "002000000"
-	syn keyword apacheDeclaration SSLLog SSLLogLevel
-endif
-if s:av >= "002000000"
-	syn keyword apacheDeclaration SSLProxyCACertificateFile SSLProxyCACertificatePath SSLProxyCARevocationFile SSLProxyCARevocationPath SSLProxyCipherSuite SSLProxyEngine SSLProxyMachineCertificateFile SSLProxyMachineCertificatePath SSLProxyProtocol SSLProxyVerify SSLProxyVerifyDepth
-endif
+syn keyword apacheDeclaration SSLCACertificateFile SSLCACertificatePath SSLCADNRequestFile SSLCADNRequestPath SSLCARevocationFile SSLCARevocationPath SSLCertificateChainFile SSLCertificateFile SSLCertificateKeyFile SSLCipherSuite SSLCryptoDevice SSLEngine SSLHonorCipherOrder SSLMutex SSLOptions SSLPassPhraseDialog SSLProtocol SSLProxyCACertificateFile SSLProxyCACertificatePath SSLProxyCARevocationFile SSLProxyCARevocationPath SSLProxyCipherSuite SSLProxyEngine SSLProxyMachineCertificateFile SSLProxyMachineCertificatePath SSLProxyProtocol SSLProxyVerify SSLProxyVerifyDepth SSLRandomSeed SSLRequire SSLRequireSSL SSLSessionCache SSLSessionCacheTimeout SSLUserName SSLVerifyClient SSLVerifyDepth
 syn match apacheOption "[+-]\?\<\(StdEnvVars\|CompatEnvVars\|ExportCertData\|FakeBasicAuth\|StrictRequire\|OptRenegotiate\)\>"
 syn keyword apacheOption builtin sem
 syn match apacheOption "\(file\|exec\|egd\|dbm\|shm\):"
-if s:av < "002000000"
-	syn match apacheOption "[+-]\?\<\(SSLv2\|SSLv3\|TLSv1\)\>"
-endif
-if s:av >= "002000000"
-	syn match apacheOption "[+-]\?\<\(SSLv2\|SSLv3\|TLSv1\|kRSA\|kHDr\|kDHd\|kEDH\|aNULL\|aRSA\|aDSS\|aRH\|eNULL\|DES\|3DES\|RC2\|RC4\|IDEA\|MD5\|SHA1\|SHA\|EXP\|EXPORT40\|EXPORT56\|LOW\|MEDIUM\|HIGH\|RSA\|DH\|EDH\|ADH\|DSS\|NULL\)\>"
-endif
-syn keyword apacheOption optional require optional_no_ca
+syn match apacheOption "[+-]\?\<\(SSLv2\|SSLv3\|TLSv1\|kRSA\|kHDr\|kDHd\|kEDH\|aNULL\|aRSA\|aDSS\|aRH\|eNULL\|DES\|3DES\|RC2\|RC4\|IDEA\|MD5\|SHA1\|SHA\|EXP\|EXPORT40\|EXPORT56\|LOW\|MEDIUM\|HIGH\|RSA\|DH\|EDH\|ADH\|DSS\|NULL\)\>"
+syn keyword apacheOption optional optional_no_ca
 syn keyword apacheDeclaration ExtendedStatus
-if s:av >= "002000000"
-	syn keyword apacheDeclaration SuexecUserGroup
-endif
+syn keyword apacheDeclaration SuexecUserGroup
 syn keyword apacheDeclaration UserDir
-syn keyword apacheDeclaration CookieExpires CookieName CookieTracking
-if s:av >= "002000000"
-	syn keyword apacheDeclaration CookieDomain CookieStyle
-	syn keyword apacheOption Netscape Cookie Cookie2 RFC2109 RFC2965
-endif
+syn keyword apacheDeclaration CookieDomain CookieExpires CookieName CookieStyle CookieTracking
+syn keyword apacheOption Netscape Cookie Cookie2 RFC2109 RFC2965
+syn match apacheSection "<\/\=\(<IfVersion\)[^>]*>" contains=apacheAnything
 syn keyword apacheDeclaration VirtualDocumentRoot VirtualDocumentRootIP VirtualScriptAlias VirtualScriptAliasIP
 
 " Define the default highlighting
diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim
index 5c2abe0..32e2231 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:	2006 Apr 12
+" Last Change:	2006 Apr 13
 
 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
@@ -14,14 +14,15 @@
 syn region helpExample		matchgroup=helpIgnore start=" >$" start="^>$" end="^[^ \t]"me=e-1 end="^<"
 if has("ebcdic")
   syn match helpHyperTextJump	"\\\@<!|[^"*|]\+|" contains=helpBar
-  syn match helpHyperTextEntry	"\*[^"*|]\+\*\s"he=e-1
-  syn match helpHyperTextEntry	"\*[^"*|]\+\*$"
+  syn match helpHyperTextEntry	"\*[^"*|]\+\*\s"he=e-1 contains=helpStar
+  syn match helpHyperTextEntry	"\*[^"*|]\+\*$" contains=helpStar
 else
   syn match helpHyperTextJump	"\\\@<!|[#-)!+-~]\+|" contains=helpBar
-  syn match helpHyperTextEntry	"\*[#-)!+-~]\+\*\s"he=e-1
-  syn match helpHyperTextEntry	"\*[#-)!+-~]\+\*$"
+  syn match helpHyperTextEntry	"\*[#-)!+-~]\+\*\s"he=e-1 contains=helpStar
+  syn match helpHyperTextEntry	"\*[#-)!+-~]\+\*$" contains=helpStar
 endif
 syn match helpBar		contained "|"
+syn match helpStar		contained "\*"
 syn match helpNormal		"|.*====*|"
 syn match helpNormal		":|vim:|"	" for :help modeline
 syn match helpVim		"Vim version [0-9.a-z]\+"
@@ -124,6 +125,7 @@
 hi def link helpIgnore		Ignore
 hi def link helpHyperTextJump	Subtitle
 hi def link helpBar		Ignore
+hi def link helpStar		Ignore
 hi def link helpHyperTextEntry	String
 hi def link helpHeadline	Statement
 hi def link helpHeader		PreProc
diff --git a/runtime/syntax/kconfig.vim b/runtime/syntax/kconfig.vim
index 00c07d2..05730a5 100644
--- a/runtime/syntax/kconfig.vim
+++ b/runtime/syntax/kconfig.vim
@@ -1,6 +1,6 @@
 " Vim syntax file
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2006-04-12
+" Latest Revision:  2006-04-13
 
 if exists("b:current_syntax")
   finish
@@ -711,6 +711,8 @@
       \ skip='^$'
       \ end='^\z1\@!'
 
+syn sync    match kconfigSyncHelp     grouphere kconfigHelpText 'help\|---help---'
+
 hi def link kconfigTodo         Todo
 hi def link kconfigComment      Comment
 hi def link kconfigKeyword      Keyword
diff --git a/runtime/syntax/lifelines.vim b/runtime/syntax/lifelines.vim
index a6a2c8d..d825a17 100644
--- a/runtime/syntax/lifelines.vim
+++ b/runtime/syntax/lifelines.vim
@@ -1,8 +1,15 @@
 " Vim syntax file
-" Language:	Lifelines (v 3.0.7) http://lifelines.sourceforge.net
-" Maintainer:	Patrick Texier <p.texier@orsennes.com>
-" Location:	ftp://216.71.72.236/lifelines.vim
-" Last Change:	2002 Mar 03
+" Language:	LifeLines (v 3.0.50) http://lifelines.sourceforge.net
+" Maintainer:	Patrick Texier <p.texier@genindre.org>
+" Location:	http://www.genindre.org/ftp/lifelines/lifelines.vim
+" Last Change:	2005 Dec 22.
+
+" option to highlight error obsolete statements
+" add the following line to your .vimrc file or here :
+" (level2 is for baptism)
+
+" let lifelines_deprecated=1
+" let lifelines_deprecated_level2=1
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -13,61 +20,94 @@
   finish
 endif
 
-" A bunch of useful lifelines keywords 3.0.7
+" A bunch of useful lifelines keywords 3.0.50
 
-syn keyword	lifelinesStatement	set
-syn keyword	lifelinesUser		getindi geindiset getfam getint getstr choosechild
-syn keyword	lifelinesUser		chooseindi choosespouse choosesubset menuchoose
-syn keyword	lifelinesUser		choosefam getintmsg getindimsg getstrmsg
-syn keyword	lifelinesProc		proc func return call
-syn keyword	lifelinesInclude	include
-syn keyword	lifelinesDef		global
+syn keyword	lifelinesStatement		set
+syn keyword	lifelinesUser			getindi geindiset getfam getint getstr choosechild
+syn keyword	lifelinesUser			chooseindi choosespouse choosesubset menuchoose
+syn keyword	lifelinesUser			choosefam 
+syn keyword	lifelinesProc			proc func return call
+syn keyword	lifelinesInclude		include
+syn keyword	lifelinesDef			global
 syn keyword	lifelinesConditional	if else elsif switch
-syn keyword	lifelinesRepeat		continue break while
-syn keyword	lifelinesLogical	and or not eq ne lt gt le ge strcmp eqstr nestr
-syn keyword	lifelinesArithm		add sub mul div mod exp neg incr decr
-syn keyword	lifelinesIndi		name fullname surname givens trimname birth
-syn keyword	lifelinesIndi		death baptism burial
-syn keyword	lifelinesIndi		father mother nextsib prevsib sex male female
-syn keyword	lifelinesIndi		pn nspouses nfamilies parents title key
-syn keyword	lifelinesIndi		soundex inode root indi firstindi nextindi
-syn keyword	lifelinesIndi		previndi spouses families forindi indiset
-syn keyword	lifelinesIndi		addtoset deletefromset lengthset union intersect
-syn keyword	lifelinesIndi		difference parentset childset spouseset siblingset
-syn keyword	lifelinesIndi		ancestorset descendentset descendantset uniqueset
-syn keyword	lifelinesIndi		namesort keysort valuesort genindiset getindiset
-syn keyword	lifelinesIndi		forindiset lastindi writeindi
-syn keyword	lifelinesIndi		inset
-syn keyword	lifelinesFam		marriage husband wife nchildren firstchild
-syn keyword     lifelinesFam		lastchild fnode fam firstfam nextfam lastfam
-syn keyword     lifelinesFam		prevfam children forfam writefam
-syn keyword	lifelinesList		list empty length enqueue dequeue requeue
-syn keyword	lifelinesList		push pop setel getel forlist inlist
-syn keyword	lifelinesTable		table insert lookup
-syn keyword	lifelinesGedcom		xref tag value parent child sibling savenode
-syn keyword	lifelinesGedcom		fornodes traverse createnode addnode deletenode
-syn keyword	lifelinesGedcom		reference dereference getrecord
-syn keyword     lifelinesGedcom		gengedcom gengedcomstrong gengedcomweak
-syn keyword	lifelinesFunct		date place year long short gettoday dayformat
-syn keyword	lifelinesFunct		monthformat dateformat extractdate
-syn keyword	lifelinesFunct		complexdate
-syn keyword	lifelinesFunct		extractnames extractplaces extracttokens lower
-syn keyword     lifelinesFunct		upper capitalize trim rjustify save strsave
-syn keyword     lifelinesFunct		concat strconcat strlen substring index
-syn keyword	lifelinesFunct		d card ord alpha roman strsoundex strtoint
-syn keyword	lifelinesFunct		atoi linemode pagemod col row pos pageout nl
-syn keyword	lifelinesFunct		sp qt newfile outfile copyfile print lock unlock
-syn keyword	lifelinesFunct		database version system stddate program
-syn keyword	lifelinesFunct		pvalue pagemode level extractdatestr debug
-syn keyword	lifelinesFunct		f free getcol getproperty heapused
+syn keyword	lifelinesRepeat			continue break while
+syn keyword	lifelinesLogical		and or not eq ne lt gt le ge strcmp eqstr nestr
+syn keyword	lifelinesArithm			add sub mul div mod exp neg incr decr
+syn keyword lifelinesArithm			cos sin tan arccos arcsin arctan
+syn keyword lifelinesArithm			deg2dms dms2deg spdist
+syn keyword	lifelinesIndi			name fullname surname givens trimname birth
+syn keyword	lifelinesIndi			death burial
+syn keyword	lifelinesIndi			father mother nextsib prevsib sex male female
+syn keyword	lifelinesIndi			pn nspouses nfamilies parents title key
+syn keyword	lifelinesIndi			soundex inode root indi firstindi nextindi
+syn keyword	lifelinesIndi			previndi spouses families forindi indiset
+syn keyword	lifelinesIndi			addtoset deletefromset  union intersect
+syn keyword	lifelinesIndi			difference parentset childset spouseset siblingset
+syn keyword	lifelinesIndi			ancestorset descendentset descendantset uniqueset
+syn keyword	lifelinesIndi			namesort keysort valuesort genindiset getindiset
+syn keyword	lifelinesIndi			forindiset lastindi writeindi
+syn keyword	lifelinesIndi			inset
+syn keyword	lifelinesFam			marriage husband wife nchildren firstchild
+syn keyword	lifelinesFam			lastchild fnode fam firstfam nextfam lastfam
+syn keyword	lifelinesFam			prevfam children forfam writefam
+syn keyword lifelinesFam			fathers mothers Parents
+syn keyword	lifelinesList			list empty length enqueue dequeue requeue
+syn keyword	lifelinesList			push pop setel getel forlist inlist dup clear
+syn keyword	lifelinesTable			table insert lookup
+syn keyword	lifelinesGedcom			xref tag value parent child sibling savenode
+syn keyword	lifelinesGedcom			fornodes traverse createnode addnode 
+syn keyword lifelinesGedcom			detachnode foreven fornotes forothr forsour
+syn keyword	lifelinesGedcom			reference dereference getrecord
+syn keyword	lifelinesFunct			date place year long short gettoday dayformat
+syn keyword	lifelinesFunct			monthformat dateformat extractdate eraformat
+syn keyword	lifelinesFunct			complexdate complexformat complexpic datepic
+syn keyword	lifelinesFunct			extractnames extractplaces extracttokens lower
+syn keyword lifelinesFunct			yearformat
+syn keyword	lifelinesFunct			upper capitalize trim rjustify 
+syn keyword lifelinesFunct			concat strconcat strlen substring index
+syn keyword lifelinesFunct			titlecase gettext
+syn keyword	lifelinesFunct			d card ord alpha roman strsoundex strtoint
+syn keyword	lifelinesFunct			atoi linemode pagemod col row pos pageout nl
+syn keyword	lifelinesFunct			sp qt newfile outfile copyfile print lock unlock test
+syn keyword	lifelinesFunct			database version system stddate program
+syn keyword	lifelinesFunct			pvalue pagemode level extractdatestr debug
+syn keyword	lifelinesFunct			f float int free getcol getproperty heapused
+syn keyword lifelinesFunct			sort rsort
+syn keyword lifelinesFunct			deleteel
+syn keyword lifelinesFunct			bytecode convertcode setlocale
+
+" option to highlight error obsolete statements
+" please read ll-reportmanual
+
+if exists("lifelines_deprecated")
+	syn keyword lifelinesError			getintmsg getindimsg getstrmsg
+	syn keyword	lifelinesError			gengedcom gengedcomstrong gengedcomweak deletenode
+	syn keyword lifelinesError			save strsave
+	syn keyword	lifelinesError			lengthset
+else
+	syn keyword lifelinesUser			getintmsg getindimsg getstrmsg
+	syn keyword	lifelinesGedcom			gengedcom gengedcomstrong gengedcomweak deletenode
+	syn keyword lifelinesFunct			save strsave
+	syn keyword	lifelinesIndi			lengthset
+endif
+if exists("lifelines_deprecated_level2")
+	syn keyword	lifelinesError			baptism
+else
+	syn keyword	lifelinesIndi			baptism
+endif
 
 syn region	lifelinesString		start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=lifelinesSpecial
 
-syn region	lifelinesComment	start="/\*"  end="\*/" contains=lifelinesComment
+syn match	lifelinesSpecial		"\\\(\\\|\(n\|t\)\)" contained
 
-" Only integers with lifelines
+syn region	lifelinesComment	start="/\*"  end="\*/" 
 
-syn match	lifelinesNumber		"\<\d\+\>"
+" integers
+syn match	lifelinesNumber		"-\=\<\d\+\>"
+"floats, with dot
+syn match	lifelinesNumber		"-\=\<\d\+\.\d*\>"
+"floats, starting with a dot
+syn match	lifelinesNumber		"-\=\.\d\+\>"
 
 "catch errors caused by wrong parenthesis
 "adapted from original c.vim written by Bram Moolenaar
@@ -90,25 +130,27 @@
   endif
 
   HiLink lifelinesConditional	Conditional
-  HiLink lifelinesArithm	Operator
-  HiLink lifelinesLogical	Conditional
-  HiLink lifelinesInclude	Include
-  HiLink lifelinesComment	Comment
-  HiLink lifelinesStatement	Statement
-  HiLink lifelinesUser		Statement
-  HiLink lifelinesFunct		Statement
-  HiLink lifelinesTable		Statement
-  HiLink lifelinesGedcom	Statement
-  HiLink lifelinesList		Statement
-  HiLink lifelinesRepeat	Repeat
-  HiLink lifelinesFam		Statement
-  HiLink lifelinesIndi		Statement
-  HiLink lifelinesProc		Statement
-  HiLink lifelinesDef		Statement
-  HiLink lifelinesString	String
-  HiLink lifelinesNumber	Number
+  HiLink lifelinesArithm		Operator
+  HiLink lifelinesLogical		Conditional
+  HiLink lifelinesInclude		Include
+  HiLink lifelinesComment		Comment
+  HiLink lifelinesStatement		Statement
+  HiLink lifelinesUser			Statement
+  HiLink lifelinesFunct			Statement
+  HiLink lifelinesTable			Statement
+  HiLink lifelinesGedcom		Statement
+  HiLink lifelinesList			Statement
+  HiLink lifelinesRepeat		Repeat
+  HiLink lifelinesFam			Statement
+  HiLink lifelinesIndi			Statement
+  HiLink lifelinesProc			Statement
+  HiLink lifelinesDef			Statement
+  HiLink lifelinesString		String
+  HiLink lifelinesSpecial		Special
+  HiLink lifelinesNumber		Number
   HiLink lifelinesParenError	Error
   HiLink lifelinesErrInParen	Error
+  HiLink lifelinesError			Error
 
   delcommand HiLink
 endif
diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim
index b1aa101..2c53f9f 100644
--- a/runtime/syntax/sh.vim
+++ b/runtime/syntax/sh.vim
@@ -3,18 +3,17 @@
 " Maintainer:		Dr. Charles E. Campbell, Jr.  <NdrOchipS@PcampbellAfamily.Mbiz>
 " Previous Maintainer:	Lennart Schultz <Lennart.Schultz@ecmwf.int>
 " Last Change:		Apr 12, 2006
-" Version:		83
+" Version:		84
 " URL:		http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
 "
 " Using the following VIM variables: {{{1
-" b:is_kornshell	if defined, enhance with kornshell/POSIX syntax
-" b:is_bash		if defined, enhance with bash syntax
-" g:is_kornshell	if neither b:is_kornshell or b:is_bash is
-"		defined, then if g:is_kornshell is set
-"		enhance with kornshell/POSIX syntax highlighting
 " g:is_bash		if none of the previous three variables are
 "		defined, then if g:is_bash is set enhance with
 "		bash syntax highlighting
+" g:is_kornshell	if neither b:is_kornshell or b:is_bash is
+"		defined, then if g:is_kornshell is set
+"		enhance with kornshell/POSIX syntax highlighting
+" g:is_posix                    this variable is the same as g:is_kornshell
 " g:sh_fold_enabled	if non-zero, syntax folding is enabled
 " g:sh_minlines		sets up syn sync minlines (dflt: 200)
 " g:sh_maxlines		sets up syn sync maxlines (dflt: 2x sh_minlines)
@@ -37,12 +36,15 @@
 " a b:is_sh is converted into b:is_bash/b:is_kornshell,
 " respectively.
 if !exists("b:is_kornshell") && !exists("b:is_bash")
-  if exists("is_kornshell")
+  if exists("g:is_posix") && !exists("g:is_kornshell")
+   let g:is_kornshell= g:is_posix
+  endif
+  if exists("g:is_kornshell")
     let b:is_kornshell= 1
     if exists("b:is_sh")
       unlet b:is_sh
     endif
-  elseif exists("is_bash")
+  elseif exists("g:is_bash")
     let b:is_bash= 1
     if exists("b:is_sh")
       unlet b:is_sh
