]> granicus.if.org Git - vim/commitdiff
updated for version 7.0d03 v7.0d03
authorBram Moolenaar <Bram@vim.org>
Thu, 13 Apr 2006 20:37:35 +0000 (20:37 +0000)
committerBram Moolenaar <Bram@vim.org>
Thu, 13 Apr 2006 20:37:35 +0000 (20:37 +0000)
23 files changed:
runtime/autoload/netrw.vim
runtime/doc/pi_netrw.txt
runtime/doc/syntax.txt
runtime/doc/tabpage.txt
runtime/doc/tags
runtime/doc/todo.txt
runtime/doc/version7.txt
runtime/indent/vhdl.vim
runtime/syntax/abap.vim
runtime/syntax/apache.vim
runtime/syntax/help.vim
runtime/syntax/kconfig.vim
runtime/syntax/lifelines.vim
runtime/syntax/sh.vim
src/diff.c
src/edit.c
src/ex_getln.c
src/misc1.c
src/option.c
src/os_mswin.c
src/testdir/test3.in
src/testdir/test3.ok
src/version.h

index 7f4bd64e4d695145cfc6f484d1b9929662d194d3..1a865fabe541260c5d6ddf850fb0e1f866f37728 100644 (file)
@@ -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 @@ fun! s:NetBrowse(dirname)
 
   " 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 @@ fun! s:NetBrowse(dirname)
      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 @@ fun! s:NetBrowseChgDir(dirname,newdir)
   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 @@ fun! netrw#NetObtain(...)
 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 @@ endfun
 
 " ---------------------------------------------------------------------
 " 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: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
-    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'
    endif
 "   call Dret("NetMenu")
   endif
@@ -2766,7 +2782,7 @@ fun! netrw#DirBrowse(dirname)
 
   " 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 @@ fun! netrw#DirBrowse(dirname)
   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 @@ fun! netrw#DirBrowse(dirname)
 "  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 @@ fun! netrw#DirBrowse(dirname)
        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 @@ fun! s:LocalBrowseList()
   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 @@ fun! s:LocalBrowseChgDir(dirname,newdir,...)
     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 @@ endfun
 " 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 @@ fun! s:SetSort()
    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")
index 5ee16fc23acc3e2f48596ce23249464275ef6cf2..09270497506afd128577596d2c900426f896ab8e 100644 (file)
@@ -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 @@ NETRW BROWSER VARIABLES                                   *netrw-browse-var*
   *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 @@ which is loaded automatically at startup (assuming :set nocp).
 ==============================================================================
 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
index a085860b661a03b533c74b16350d707b94af9952..8c0b79c9b5314bd08c66d64f3db052fa11edf131 100644 (file)
@@ -2316,22 +2316,25 @@ If none of these cases pertain, then the first line of the file is examined
 (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
index 43b05b32472a483a82043a04f0f0715a639f048e..b775bacf9946e5ae36c3fd18fe8678b40551fdbb 100644 (file)
@@ -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 @@ next tab page.  |'tabline'|
 
 :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.
 
 
index a16484982cccd46934d2447b60c26748bf99841a..5f1b67dc221eccfb825c57bc7728211f3acc4b06 100644 (file)
@@ -5367,7 +5367,7 @@ g,        motion.txt      /*g,*
 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_<BS>    insert.txt      /*i_<BS>*
 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_<S-Up>  insert.txt      /*i_<S-Up>*
 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*
index 0ff82d716aa6cd24364cbd3798283f2cd4ffaae4..8e9ba4bc517cea396d85d50a07b1e627c452c8ee 100644 (file)
@@ -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 @@ be worked on, but only if you sponsor Vim development.  See |sponsor|.
 
 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 @@ Insert mode:
 
 
 '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 ()
        {
index 356e686f2b1eeeb25848ef32adb02224e2b6ca5e..a37d7234a9c03312f7e105ebdb6174fb073eca47 100644 (file)
@@ -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 @@ When 'guitablabel' is set the effect wasn't visible right away.
 
 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:
index 82f0f834b0493680cac1a2214a1ddb5663efb301..8176673a812c1e7a569daf345692c00490e33a76 100644 (file)
@@ -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 @@ let b:did_indent = 1
 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:ES = '\s*\%(--.*\)\=$'
 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")
index 2b1229fa297593aa62cb92d910e3d9a001bdd712..18d3b0fd3f9a496fb078ffe65a5ed1ba8def9176 100644 (file)
@@ -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 @@ endif
 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 MESSAGE MODIFY MODULE MOVE MOVE-CORRESPONDING MULTIPLY
 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 @@ syn match   abapStatement "\(\W\|^\)REF\W\+TO\(\W\|$\)"ms=s+1,me=e-1
 " 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 @@ syn match   abapError    "\.\."
 " 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 @@ if version >= 508 || !exists("did_abap_syntax_inits")
   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 @@ endif
 let b:current_syntax = "abap"
 
 " vim: ts=8 sw=2
+
index 4fe9e8e0b0173ee82c56fb167248794d0c79227d..d15388a84f0f59d0b660cec1e69176f2c9aa0015 100644 (file)
@@ -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 @@ else
        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 @@ syn region apacheString start=+"+ end=+"+ skip=+\\\\\|\\\"+
 
 " 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 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 apacheDeclaration AuthBasicAuthoritative AuthBasicProvider
+syn keyword apacheDeclaration AuthDigestAlgorithm AuthDigestDomain AuthDigestNcCheck AuthDigestNonceFormat AuthDigestNonceLifetime AuthDigestProvider AuthDigestQop AuthDigestShmemSize
 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 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  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 PerlCleanupHandler PerlChildInitHandler PerlChildE
 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
index 5c2abe024a29c6f7766d1f5acb5215a2d25f11d6..32e22312418781ccfcdab44ab0e41157baf78189 100644 (file)
@@ -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 match helpSectionDelim  "^-\{3,}.*--$"
 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 helpExampleStart        helpIgnore
 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
index 00c07d2cc51adbe191ea6ad0b29c342b7623990c..05730a518a6d3f317800fe83d0f8af4489339e8d 100644 (file)
@@ -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 @@ syn region  kconfigHelpText
       \ 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
index a6a2c8d14964ed1a1c7e08cacdbe6f3837a37bd7..d825a178ae092aaa3567645c3b063e0bccf55065 100644 (file)
@@ -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 @@ elseif exists("b:current_syntax")
   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 @@ if version >= 508 || !exists("did_lifelines_syn_inits")
   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
index b1aa1012d83a23269ba246548e88058b85cc781e..2c53f9fa45cab2c8a251bad6d971a77b8ab07606 100644 (file)
@@ -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 @@ endif
 " 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
index bc0364c77c0dc13ec53a6ea1178944a3bd6126c3..4896c049ac253f12fed490668625b29e2eb8e1f2 100644 (file)
@@ -839,7 +839,13 @@ diff_file(tmp_orig, tmp_new, tmp_diff)
                    (diff_flags & DIFF_ICASE) ? "-i " : "",
                    tmp_orig, tmp_new);
            append_redir(cmd, p_srr, tmp_diff);
+#ifdef FEAT_AUTOCMD
+           ++autocmd_block;    /* Avoid ShellCmdPost stuff */
+#endif
            (void)call_shell(cmd, SHELL_FILTER|SHELL_SILENT|SHELL_DOOUT);
+#ifdef FEAT_AUTOCMD
+           --autocmd_block;
+#endif
            vim_free(cmd);
        }
     }
@@ -942,7 +948,13 @@ ex_diffpatch(eap)
                fullname != NULL ? fullname :
 # endif
                eap->arg);
+#ifdef FEAT_AUTOCMD
+       ++autocmd_block;        /* Avoid ShellCmdPost stuff */
+#endif
        (void)call_shell(buf, SHELL_FILTER | SHELL_COOKED);
+#ifdef FEAT_AUTOCMD
+       --autocmd_block;
+#endif
     }
 
 #ifdef UNIX
index f2a5cdacd7bb6def536ae9645cac0aa348f7a613..a57787a98a9731f765866734e4a7d999d9e80164 100644 (file)
@@ -8494,6 +8494,16 @@ ins_pageup()
     pos_T      tpos;
 
     undisplay_dollar();
+
+#ifdef FEAT_WINDOWS
+    if (mod_mask & MOD_MASK_CTRL)
+    {
+       /* <C-PageUp>: tab page back */
+       goto_tabpage(-1);
+       return;
+    }
+#endif
+
     tpos = curwin->w_cursor;
     if (onepage(BACKWARD, 1L) == OK)
     {
@@ -8543,6 +8553,16 @@ ins_pagedown()
     pos_T      tpos;
 
     undisplay_dollar();
+
+#ifdef FEAT_WINDOWS
+    if (mod_mask & MOD_MASK_CTRL)
+    {
+       /* <C-PageDown>: tab page forward */
+       goto_tabpage(0);
+       return;
+    }
+#endif
+
     tpos = curwin->w_cursor;
     if (onepage(FORWARD, 1L) == OK)
     {
index e4a1c99b44731467265670fb0550ee1e7c74f043..11069f25e571eaa1df19fe48696e04283137bcbb 100644 (file)
@@ -4444,8 +4444,9 @@ ExpandGeneric(xp, regmatch, num_file, file, func)
        }
     }
 
-    /* Sort the results. */
-    sort_strings(*file, *num_file);
+    /* Sort the results.  Keep menu's in the specified order. */
+    if (xp->xp_context != EXPAND_MENUNAMES && xp->xp_context != EXPAND_MENUS)
+       sort_strings(*file, *num_file);
 
     return OK;
 }
index c8d0000ab95c4f1f6be873db18ceb20c5578eec8..905df158cf27ab66d826f45eb1161d0b50e6db2a 100644 (file)
@@ -3085,6 +3085,7 @@ get_keystroke()
                    mch_memmove(buf, buf + 3, (size_t)len);
                continue;
            }
+           break;
        }
 #ifdef FEAT_MBYTE
        if (has_mbyte)
@@ -4771,6 +4772,7 @@ static int        cin_isdo __ARGS((char_u *));
 static int     cin_iswhileofdo __ARGS((char_u *, linenr_T, int));
 static int     cin_isbreak __ARGS((char_u *));
 static int     cin_is_cpp_baseclass __ARGS((char_u *line, colnr_T *col));
+static int     get_baseclass_amount __ARGS((int col, int ind_maxparen, int ind_maxcomment, int ind_cpp_baseclass));
 static int     cin_ends_in __ARGS((char_u *, char_u *, char_u *));
 static int     cin_skip2pos __ARGS((pos_T *trypos));
 static pos_T   *find_start_brace __ARGS((int));
@@ -5447,7 +5449,8 @@ cin_isbreak(p)
     return (STRNCMP(p, "break", 5) == 0 && !vim_isIDc(p[5]));
 }
 
-/* Find the position of a C++ base-class declaration or
+/*
+ * Find the position of a C++ base-class declaration or
  * constructor-initialization. eg:
  *
  * class MyClass :
@@ -5462,10 +5465,11 @@ cin_isbreak(p)
     static int
 cin_is_cpp_baseclass(line, col)
     char_u     *line;
-    colnr_T    *col;
+    colnr_T    *col;       /* return: column to align with */
 {
     char_u     *s;
     int                class_or_struct, lookfor_ctor_init, cpp_base_class;
+    linenr_T   lnum = curwin->w_cursor.lnum;
 
     *col = 0;
 
@@ -5478,8 +5482,49 @@ cin_is_cpp_baseclass(line, col)
 
     cpp_base_class = lookfor_ctor_init = class_or_struct = FALSE;
 
-    while(*s != NUL)
+    /* Search for a line starting with '#', empty, ending in ';' or containing
+     * '{' or '}' and start below it.  This handles the following situations:
+     * a = cond ?
+     *       func() :
+     *            asdf;
+     * func::foo()
+     *       : something
+     * {}
+     * Foo::Foo (int one, int two)
+     *         : something(4),
+     *         somethingelse(3)
+     * {}
+     */
+    while (lnum > 1)
     {
+       s = skipwhite(ml_get(lnum - 1));
+       if (*s == '#' || *s == NUL)
+           break;
+       while (*s != NUL)
+       {
+           s = cin_skipcomment(s);
+           if (*s == '{' || *s == '}'
+                   || (*s == ';' && cin_nocode(s + 1)))
+               break;
+           if (*s != NUL)
+               ++s;
+       }
+       if (*s != NUL)
+           break;
+       --lnum;
+    }
+
+    s = cin_skipcomment(ml_get(lnum));
+    for (;;)
+    {
+       if (*s == NUL)
+       {
+           if (lnum == curwin->w_cursor.lnum)
+               break;
+           /* Continue in the cursor line. */
+           s = cin_skipcomment(ml_get(++lnum));
+       }
+
        if (s[0] == ':')
        {
            if (s[1] == ':')
@@ -5542,41 +5587,51 @@ cin_is_cpp_baseclass(line, col)
                lookfor_ctor_init = FALSE;
 
                /* the first statement starts here: lineup with this one... */
-               if (cpp_base_class && *col == 0)
+               if (cpp_base_class)
                    *col = (colnr_T)(s - line);
            }
 
+           /* When the line ends in a comma don't align with it. */
+           if (lnum == curwin->w_cursor.lnum && *s == ',' && cin_nocode(s + 1))
+               *col = 0;
+
            s = cin_skipcomment(s + 1);
        }
     }
 
-    if (cpp_base_class && curwin->w_cursor.lnum > 1)
+    return cpp_base_class;
+}
+
+    static int
+get_baseclass_amount(col, ind_maxparen, ind_maxcomment, ind_cpp_baseclass)
+    int                col;
+    int                ind_maxparen;
+    int                ind_maxcomment;
+    int                ind_cpp_baseclass;
+{
+    int                amount;
+    colnr_T    vcol;
+    pos_T      *trypos;
+
+    if (col == 0)
     {
-       /* Check that there is no '?' in the previous line to catch:
-        *      a = cond ?
-        *            func() :
-        *                 asdf;
-        */
-       s = ml_get(curwin->w_cursor.lnum - 1);
-       if (!cin_ispreproc(s))
-           while (*s != NUL)
-           {
-               s = cin_skipcomment(s);
-               if (*s == '?')
-                   /* Disable when finding a '?'... */
-                   cpp_base_class = FALSE;
-               else if (*s == ';' && cin_nocode(s + 1))
-               {
-                   /* ...but re-enable when the line ends in ';'. */
-                   cpp_base_class = TRUE;
-                   break;
-               }
-               if (*s != NUL)
-                   ++s;
-           }
+       amount = get_indent();
+       if (find_last_paren(ml_get_curline(), '(', ')')
+               && (trypos = find_match_paren(ind_maxparen,
+                                                    ind_maxcomment)) != NULL)
+           amount = get_indent_lnum(trypos->lnum); /* XXX */
+       if (!cin_ends_in(ml_get_curline(), (char_u *)",", NULL))
+           amount += ind_cpp_baseclass;
     }
-
-    return cpp_base_class;
+    else
+    {
+       curwin->w_cursor.col = col;
+       getvcol(curwin, &curwin->w_cursor, &vcol, NULL, NULL);
+       amount = (int)vcol;
+    }
+    if (amount < ind_cpp_baseclass)
+       amount = ind_cpp_baseclass;
+    return amount;
 }
 
 /*
@@ -6902,22 +6957,17 @@ get_c_indent()
                        else
                            amount += ind_continuation;
                    }
-                   else if (col == 0 || theline[0] == '{')
+                   else if (theline[0] == '{')
                    {
-                       amount = get_indent();
-                       if (find_last_paren(l, '(', ')')
-                               && (trypos = find_match_paren(ind_maxparen,
-                                       ind_maxcomment)) != NULL)
-                           amount = get_indent_lnum(trypos->lnum); /* XXX */
-                       if (theline[0] != '{')
-                           amount += ind_cpp_baseclass;
+                       /* Need to find start of the declaration. */
+                       lookfor = LOOKFOR_UNTERM;
+                       ind_continuation = 0;
+                       continue;
                    }
                    else
-                   {
-                       curwin->w_cursor.col = col;
-                       getvcol(curwin, &curwin->w_cursor, &col, NULL, NULL);
-                       amount = (int)col;
-                   }
+                                                                    /* XXX */
+                       amount = get_baseclass_amount(col, ind_maxparen,
+                                          ind_maxcomment, ind_cpp_baseclass);
                    break;
                }
                else if (lookfor == LOOKFOR_CPP_BASECLASS)
@@ -6967,7 +7017,8 @@ get_c_indent()
                     * If we are looking for ',', we also look for matching
                     * braces.
                     */
-                   if (trypos == NULL && find_last_paren(l, '{', '}'))
+                   if (trypos == NULL && terminated == ','
+                                             && find_last_paren(l, '{', '}'))
                        trypos = find_start_brace(ind_maxcomment);
 
                    if (trypos != NULL)
@@ -7490,21 +7541,9 @@ term_again:
                }
                if (n)
                {
-                   if (col == 0)
-                   {
-                       amount = get_indent() + ind_cpp_baseclass;  /* XXX */
-                       if (find_last_paren(l, '(', ')')
-                               && (trypos = find_match_paren(ind_maxparen,
-                                       ind_maxcomment)) != NULL)
-                           amount = get_indent_lnum(trypos->lnum)
-                                          + ind_cpp_baseclass;     /* XXX */
-                   }
-                   else
-                   {
-                       curwin->w_cursor.col = col;
-                       getvcol(curwin, &curwin->w_cursor, &col, NULL, NULL);
-                       amount = (int)col;
-                   }
+                                                                    /* XXX */
+                   amount = get_baseclass_amount(col, ind_maxparen,
+                                          ind_maxcomment, ind_cpp_baseclass);
                    break;
                }
 
@@ -7604,7 +7643,7 @@ term_again:
                 *     bar;
                 * indent_to_0 here;
                 */
-               if (cin_ends_in(l, (char_u*)";", NULL))
+               if (cin_ends_in(l, (char_u *)";", NULL))
                {
                    l = ml_get(curwin->w_cursor.lnum - 1);
                    if (cin_ends_in(l, (char_u *)",", NULL)
index 36cfe035e73f6b11e7fdc56d3bb501597ca2b7cd..70f686a51e57f86dee757dba1c8199c81f043d07 100644 (file)
@@ -2066,7 +2066,7 @@ static struct vimoption
     {"sessionoptions", "ssop", P_STRING|P_VI_DEF|P_COMMA|P_NODUP,
 #ifdef FEAT_SESSION
                            (char_u *)&p_ssop, PV_NONE,
-        {(char_u *)"blank,buffers,curdir,folds,help,options,tabpage,winsize",
+        {(char_u *)"blank,buffers,curdir,folds,help,options,tabpages,winsize",
                                                               (char_u *)0L}
 #else
                            (char_u *)NULL, PV_NONE,
@@ -6458,6 +6458,12 @@ did_set_string_option(opt_idx, varp, new_value_alloced, oldval, errbuf,
        if (check_opt_strings(p_fcl, p_fcl_values, TRUE) != OK)
            errmsg = e_invarg;
     }
+    /* 'foldignore' */
+    else if (gvarp == &curwin->w_allbuf_opt.wo_fdi)
+    {
+       if (foldmethodIsIndent(curwin))
+           foldUpdateAll(curwin);
+    }
 #endif
 
 #ifdef FEAT_VIRTUALEDIT
index 50a03a577be66cab516c59ccad6e3f46d6ada456..d196c869aed8e1751d6949d5a7b222c15671741b 100644 (file)
@@ -584,20 +584,6 @@ display_errors()
        for (p = (char *)error_ga.ga_data; *p; ++p)
            if (!isspace(*p))
            {
-#if 0
-               /* Truncate a very long message, it will go off-screen. */
-               if (STRLEN(p) > 2000)
-               {
-                   char_u      *s = p + 2000 - 14;
-
-#ifdef FEAT_MBYTE
-                   if (has_mbyte)
-                       s -= (*mb_head_off)(p, s);
-#endif
-                   STRCPY(s, _("...(truncated)"));
-               }
-#endif
-
                (void)gui_mch_dialog(
 #ifdef FEAT_GUI
                                     gui.starting ? VIM_INFO :
@@ -608,13 +594,6 @@ display_errors()
 #endif
                                             (char_u *)_("Error"),
                                     p, (char_u *)_("&Ok"), 1, NULL);
-#if 0
-#ifdef WIN3264
-               MessageBox(NULL, p, "Vim", MB_TASKMODAL|MB_SETFOREGROUND);
-#else
-               MessageBox(NULL, p, "Vim", MB_TASKMODAL);
-#endif
-#endif
                break;
            }
        ga_clear(&error_ga);
index 51ad72095770e8ce7ce2da9ce9683d9828d7a871..89831183483eb165217295bc92678d2e779ae703 100644 (file)
@@ -742,6 +742,31 @@ int  main(void)
        next_line_of_code();
 }
 
+barry()
+{
+       Foo::Foo (int one,
+                       int two)
+               : something(4)
+       {}
+}
+
+barry()
+{
+       Foo::Foo (int one, int two)
+               : something(4)
+       {}
+}
+
+Constructor::Constructor(int a,
+               int b 
+               )  : 
+       BaseClass(a,
+                       b,
+                       c),
+       mMember(b)
+{
+}
+
 /* end of AUTO */
 
 STARTTEST
@@ -1188,6 +1213,20 @@ protected:
    void testfall();
 };
 
+STARTTEST
+:set cino=+20
+2kdd]]=][
+ENDTEST
+
+       void
+foo()
+{
+       if (a)
+       {
+       } else
+               asdf;
+}
+
 STARTTEST
 :set cino=(0,W2s
 2kdd]]=][
index b197a28e001df3d3180400a7c52e2ead227f2869..2c7fd17f56f32314cac9e7824f5ed2c34e4c157c 100644 (file)
@@ -618,7 +618,7 @@ Constructor::Constructor(int a,
 
 Constructor::Constructor(int a,
                int b ) /*x*/ : /*x*/ BaseClass(a),
-                                                         member(b)
+       member(b)
 {
 }
 
@@ -651,7 +651,7 @@ class CAbc :
 };
 
 class CAbc : public BaseClass1,
-                        protected BaseClass2
+       protected BaseClass2
 {
 };
 
@@ -730,6 +730,31 @@ int  main(void)
        next_line_of_code();
 }
 
+barry()
+{
+       Foo::Foo (int one,
+                       int two)
+               : something(4)
+       {}
+}
+
+barry()
+{
+       Foo::Foo (int one, int two)
+               : something(4)
+       {}
+}
+
+Constructor::Constructor(int a,
+               int b 
+               )  : 
+       BaseClass(a,
+                       b,
+                       c),
+       mMember(b)
+{
+}
+
 /* end of AUTO */
 
 
@@ -1070,6 +1095,16 @@ protected:
 };
 
 
+       void
+foo()
+{
+       if (a)
+       {
+       } else
+               asdf;
+}
+
+
 {
        averylongfunctionnamelongfunctionnameaverylongfunctionname()->asd(
                        asdasdf,
index 980a85c97553f15ec6a25070c6d9277724a60966..11f5d83d617ee67d9eb21142ddf1b63ebe94aa8a 100644 (file)
@@ -35,6 +35,6 @@
  */
 #define VIM_VERSION_NODOT      "vim70d"
 #define VIM_VERSION_SHORT      "7.0d"
-#define VIM_VERSION_MEDIUM     "7.0d02 BETA"
-#define VIM_VERSION_LONG       "VIM - Vi IMproved 7.0d02 BETA (2006 Apr 12)"
-#define VIM_VERSION_LONG_DATE  "VIM - Vi IMproved 7.0d02 BETA (2006 Apr 12, compiled "
+#define VIM_VERSION_MEDIUM     "7.0d03 BETA"
+#define VIM_VERSION_LONG       "VIM - Vi IMproved 7.0d03 BETA (2006 Apr 13)"
+#define VIM_VERSION_LONG_DATE  "VIM - Vi IMproved 7.0d03 BETA (2006 Apr 13, compiled "