changeset 839:1f3b1021f002 v7.0e05

updated for version 7.0e05
author vimboss
date Fri, 21 Apr 2006 22:12:41 +0000
parents 8e5830943bff
children 2c885fab04e3
files runtime/autoload/netrw.vim runtime/autoload/paste.vim runtime/colors/darkblue.vim runtime/compiler/bdf.vim runtime/compiler/gcc.vim runtime/compiler/rst.vim runtime/doc/eval.txt runtime/doc/index.txt runtime/doc/mbyte.txt runtime/doc/options.txt runtime/doc/pi_netrw.txt runtime/doc/print.txt runtime/doc/quickref.txt runtime/doc/sponsor.txt runtime/doc/tabpage.txt runtime/doc/todo.txt runtime/doc/undo.txt runtime/doc/version7.txt runtime/doc/windows.txt runtime/filetype.vim runtime/ftplugin/a2ps.vim runtime/ftplugin/ada.vim runtime/ftplugin/alsaconf.vim runtime/ftplugin/arch.vim runtime/ftplugin/automake.vim runtime/ftplugin/bdf.vim runtime/ftplugin/calendar.vim runtime/ftplugin/changelog.vim runtime/ftplugin/conf.vim runtime/ftplugin/context.vim runtime/ftplugin/crm.vim runtime/ftplugin/css.vim runtime/ftplugin/cvsrc.vim runtime/ftplugin/dictconf.vim runtime/ftplugin/dictdconf.vim runtime/ftplugin/dircolors.vim runtime/ftplugin/elinks.vim runtime/ftplugin/eterm.vim runtime/ftplugin/fetchmail.vim runtime/ftplugin/gpg.vim runtime/ftplugin/group.vim runtime/ftplugin/grub.vim runtime/ftplugin/haskell.vim runtime/ftplugin/help.vim runtime/ftplugin/indent.vim runtime/ftplugin/ld.vim runtime/ftplugin/lftp.vim runtime/ftplugin/libao.vim runtime/ftplugin/limits.vim runtime/ftplugin/loginaccess.vim runtime/ftplugin/logindefs.vim runtime/ftplugin/m4.vim runtime/ftplugin/mailcap.vim runtime/ftplugin/manconf.vim runtime/ftplugin/mf.vim runtime/ftplugin/modconf.vim runtime/ftplugin/mp.vim runtime/ftplugin/mplayerconf.vim runtime/ftplugin/muttrc.vim runtime/ftplugin/nanorc.vim runtime/ftplugin/netrc.vim runtime/ftplugin/pamconf.vim runtime/ftplugin/passwd.vim runtime/ftplugin/pinfo.vim runtime/ftplugin/procmail.vim runtime/ftplugin/prolog.vim runtime/ftplugin/protocols.vim runtime/ftplugin/quake.vim runtime/ftplugin/racc.vim runtime/ftplugin/readline.vim runtime/ftplugin/rnc.vim runtime/ftplugin/rst.vim runtime/ftplugin/screen.vim runtime/ftplugin/sensors.vim runtime/ftplugin/services.vim runtime/ftplugin/setserial.vim runtime/ftplugin/sieve.vim runtime/ftplugin/slpconf.vim runtime/ftplugin/slpreg.vim runtime/ftplugin/slpspi.vim runtime/ftplugin/sshconfig.vim runtime/ftplugin/sudoers.vim runtime/ftplugin/sysctl.vim runtime/ftplugin/terminfo.vim runtime/ftplugin/udevconf.vim runtime/ftplugin/udevperm.vim runtime/ftplugin/udevrules.vim runtime/ftplugin/updatedb.vim runtime/ftplugin/xdefaults.vim runtime/ftplugin/xf86conf.vim runtime/ftplugin/xinetd.vim runtime/ftplugin/xmodmap.vim runtime/ftplugin/yaml.vim runtime/ftplugin/zsh.vim runtime/indent/automake.vim runtime/indent/cmake.vim runtime/indent/config.vim runtime/indent/css.vim runtime/indent/dictconf.vim runtime/indent/dictdconf.vim runtime/indent/docbk.vim runtime/indent/eterm.vim runtime/indent/ld.vim runtime/indent/make.vim runtime/indent/python.vim runtime/indent/readline.vim runtime/indent/rst.vim runtime/indent/sh.vim runtime/indent/sml.vim runtime/indent/tcl.vim runtime/indent/xf86conf.vim runtime/indent/xinetd.vim runtime/indent/yacc.vim runtime/indent/zsh.vim runtime/keymap/persian-iranian_utf-8.vim runtime/lang/menu_chinese_gb.936.vim runtime/lang/menu_zh_cn.gb2312.vim runtime/lang/menu_zh_cn.utf-8.vim runtime/makemenu.vim runtime/optwin.vim runtime/spell/es/es_ES.diff runtime/spell/es/main.aap runtime/syntax/a2ps.vim runtime/syntax/alsaconf.vim runtime/syntax/arch.vim runtime/syntax/bdf.vim runtime/syntax/calendar.vim runtime/syntax/chordpro.vim runtime/syntax/cmake.vim runtime/syntax/context.vim runtime/syntax/crm.vim runtime/syntax/cvsrc.vim runtime/syntax/dictconf.vim runtime/syntax/dictdconf.vim runtime/syntax/dircolors.vim runtime/syntax/elinks.vim runtime/syntax/esterel.vim runtime/syntax/eterm.vim runtime/syntax/fetchmail.vim runtime/syntax/gpg.vim runtime/syntax/group.vim runtime/syntax/grub.vim runtime/syntax/indent.vim runtime/syntax/ld.vim runtime/syntax/lftp.vim runtime/syntax/libao.vim runtime/syntax/limits.vim runtime/syntax/loginaccess.vim runtime/syntax/logindefs.vim runtime/syntax/manconf.vim runtime/syntax/modconf.vim runtime/syntax/mplayerconf.vim runtime/syntax/nanorc.vim runtime/syntax/netrc.vim runtime/syntax/pamconf.vim runtime/syntax/passwd.vim runtime/syntax/pinfo.vim runtime/syntax/protocols.vim runtime/syntax/quake.vim runtime/syntax/racc.vim runtime/syntax/readline.vim runtime/syntax/rnc.vim runtime/syntax/screen.vim runtime/syntax/sensors.vim runtime/syntax/services.vim runtime/syntax/setserial.vim runtime/syntax/sieve.vim runtime/syntax/slpconf.vim runtime/syntax/slpreg.vim runtime/syntax/slpspi.vim runtime/syntax/sqlj.vim runtime/syntax/sudoers.vim runtime/syntax/sysctl.vim runtime/syntax/terminfo.vim runtime/syntax/udevconf.vim runtime/syntax/udevperm.vim runtime/syntax/udevrules.vim runtime/syntax/updatedb.vim runtime/syntax/xinetd.vim runtime/syntax/xmodmap.vim runtime/syntax/yaml.vim src/auto/configure src/configure.in src/digraph.c src/ex_eval.c src/gui.c src/gui_gtk_x11.c src/gui_motif.c src/gui_w48.c src/message.c src/misc2.c src/option.c src/option.h src/po/it.po src/po/zh_CN.UTF-8.po src/po/zh_CN.cp936.po src/po/zh_CN.po src/proto/gui.pro src/undo.c src/version.h src/window.c
diffstat 201 files changed, 3471 insertions(+), 3153 deletions(-) [+]
line wrap: on
line diff
--- 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 14, 2006
-" Version:	88
+" Date:		Apr 21, 2006
+" Version:	91
 " 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 = "v88"
+let g:loaded_netrw = "v91"
 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
@@ -396,7 +396,7 @@ fun! netrw#NetRead(mode,...)
     let choice = substitute(choice,'\\','/','ge')
 "    call Decho("fixing up windows url to <".choice."> tmpfile<".tmpfile)
 
-    exe 'lcd ' . fnamemodify(tmpfile,':h')
+    exe 'cd ' . fnamemodify(tmpfile,':h')
     let tmpfile = fnamemodify(tmpfile,':t')
    endif
 
@@ -890,7 +890,7 @@ fun! netrw#NetWrite(...) range
    if has("win32") || has("win95") || has("win64") || has("win16")
     let choice= substitute(choice,'\\','/','ge')
     "ER: see NetRead()
-    exe 'lcd ' . fnamemodify(tmpfile,':h')
+    exe 'cd ' . fnamemodify(tmpfile,':h')
     let tmpfile = fnamemodify(tmpfile,':t')
    endif
 
@@ -1233,6 +1233,7 @@ fun! s:NetBrowse(dirname)
 "   call Decho("new path<".path.">")
 
    " remote-read the requested file into current buffer
+   mark '
    keepjumps keepalt enew!
    set ma
 "   call Decho("exe file ".method."://".user.machine."/".escape(path,s:netrw_cd_escape))
@@ -1257,6 +1258,7 @@ fun! s:NetBrowse(dirname)
   let bufname   = method.'://'.user.machine.'/'.path
   let bufnamenr = bufnr(bufname.'$')
 "  call Decho("bufname<".bufname."> bufnamenr=".bufnamenr)
+  mark '
   if bufnamenr != -1
    " buffer already exists, switch to it!
 "   call Decho("buffer already exists, switching to it")
@@ -1324,7 +1326,7 @@ fun! s:NetBrowse(dirname)
   setlocal ma nonu nowrap
 
   " Set up the banner
-"  call Decho("set up the banner: sortby<".g:netrw_sort_by."> method<".method.">")
+"  call Decho("set up the banner: sortby<".g:netrw_sort_by."> method<".method."> direction<".g:netrw_sort_direction.">")
   keepjumps put ='\" ==========================================================================='
   keepjumps put ='\" Netrw Remote Directory Listing                                 (netrw '.g:loaded_netrw.')'
   keepjumps put ='\"   '.bufname
@@ -2148,10 +2150,10 @@ fun! s:NetrwWideListing()
    let b:netrw_cpf= 0
    if line("$") >= w:netrw_bannercnt
     exe 'silent keepjumps '.w:netrw_bannercnt.',$g/^./if virtcol("$") > b:netrw_cpf|let b:netrw_cpf= virtcol("$")|endif'
-  else
-"   call Dret("NetrwWideListing")
-   return
-  endif
+   else
+"    call Dret("NetrwWideListing")
+    return
+   endif
 "   call Decho("max file strlen+1=".b:netrw_cpf)
    let b:netrw_cpf= b:netrw_cpf + 1
 
@@ -2163,7 +2165,7 @@ fun! s:NetrwWideListing()
 "   call Decho("fpl= ".winwidth(0)."/[b:netrw_cpf=".b:netrw_cpf.']='.w:netrw_fpl)
 
    " make wide display
-   exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^.*$/\=printf("%-'.b:netrw_cpf.'s",submatch(0))/'
+   exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^.*$/\=printf("%-'.b:netrw_cpf.'s",escape(submatch(0),"\\"))/'
    let fpc         = (line("$") - w:netrw_bannercnt + w:netrw_fpl)/w:netrw_fpl
    let newcolstart = w:netrw_bannercnt + fpc
    let newcolend   = newcolstart + fpc - 1
@@ -2252,11 +2254,15 @@ fun! s:NetMakeDir(usrhost)
     call mkdir(fullnewdir,"p")
    else
     let netrw_origdir= s:NetGetcwd(1)
-    exe 'cd '.b:netrw_curdir
-"    call Decho("netrw_origdir<".netrw_origdir."> b:netrw_curdir<".b:netrw_curdir.">")
+    exe 'keepjumps cd '.b:netrw_curdir
+"    call Decho("netrw_origdir<".netrw_origdir.">: cd b:netrw_curdir<".b:netrw_curdir.">")
 "    call Decho("exe silent! !".g:netrw_local_mkdir.' "'.newdirname.'"')
     exe "silent! !".g:netrw_local_mkdir.' "'.newdirname.'"'
     if !g:netrw_keepdir | exe 'keepjumps cd '.netrw_origdir | endif
+    if !g:netrw_keepdir
+     exe 'keepjumps cd '.netrw_origdir
+"     call Decho("netrw_keepdir=".g:netrw_keepdir.": cd ".netrw_origdir)
+    endif
    endif
 
    if v:shell_error == 0
@@ -2770,6 +2776,11 @@ fun! netrw#DirBrowse(dirname)
   endif
 
   call s:NetOptionSave()
+  if w:acdkeep
+   exe 'cd '.escape(a:dirname,s:netrw_cd_escape)
+"   call Decho("cd ".escape(a:dirname,s:netrw_cd_escape))
+"   call Decho("getcwd<".getcwd().">")
+  endif
 
   if v:version < 603
    if !exists("g:netrw_quiet")
@@ -2807,6 +2818,7 @@ fun! netrw#DirBrowse(dirname)
   endif
 
   " get cleared buffer
+  mark '
   if bufnum < 0 || !bufexists(bufnum)
    keepjumps keepalt enew!
 "   call Decho("enew buffer")
@@ -2815,8 +2827,8 @@ fun! netrw#DirBrowse(dirname)
    if exists("s:last_sort_by") && g:netrw_sort_by == s:last_sort_by
     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)
+"      call Decho("netrw_keepdir=".g:netrw_keepdir.": cd ".escape(b:netrw_curdir,s:netrw_cd_escape))
      endif
      call s:NetOptionRestore()
 "     call Dret("DirBrowse : reusing buffer#".bufnum."<".a:dirname.">")
@@ -2847,7 +2859,7 @@ fun! netrw#DirBrowse(dirname)
 
   " make netrw's idea of the current directory vim's if the user wishes
   if !g:netrw_keepdir
-"   call Decho("change directory: cd ".b:netrw_curdir)
+"   call Decho("netrw_keepdir=".g:netrw_keepdir.": cd ".escape(b:netrw_curdir,s:netrw_cd_escape))
    try
     exe 'cd '.escape(b:netrw_curdir,s:netrw_cd_escape)
    catch /^Vim\%((\a\+)\)\=:E472/
@@ -2916,8 +2928,12 @@ fun! netrw#DirBrowse(dirname)
   nnoremap <buffer> <silent> v		:call <SID>NetSplit(3)<cr>
   nnoremap <buffer> <silent> x		:call netrw#NetBrowseX(<SID>LocalBrowseChgDir(b:netrw_curdir,<SID>NetGetWord(),0),0)"<cr>
   nnoremap <buffer> <silent> <2-leftmouse>	:call <SID>LocalBrowse(<SID>LocalBrowseChgDir(b:netrw_curdir,<SID>NetGetWord()))<cr>
-  nnoremap <buffer> <silent> <s-up>	:Pexplore<cr>
-  nnoremap <buffer> <silent> <s-down>	:Nexplore<cr>
+  if s:didstarstar || !mapcheck("<s-down>","n")
+   nnoremap <buffer> <silent> <s-down>	:Nexplore<cr>
+  endif
+  if s:didstarstar || !mapcheck("<s-up>","n")
+   nnoremap <buffer> <silent> <s-up>	:Pexplore<cr>
+  endif
   exe 'nnoremap <buffer> <silent> <del>	:call <SID>LocalBrowseRm("'.b:netrw_curdir.'")<cr>'
   exe 'vnoremap <buffer> <silent> <del>	:call <SID>LocalBrowseRm("'.b:netrw_curdir.'")<cr>'
   exe 'nnoremap <buffer> <silent> D	:call <SID>LocalBrowseRm("'.b:netrw_curdir.'")<cr>'
@@ -3040,7 +3056,7 @@ endfun
 " ---------------------------------------------------------------------
 "  LocalBrowseList: does the job of "ls" for local directories {{{2
 fun! s:LocalBrowseList()
-"  call Dfunc("LocalBrowseList() b:netrw_curdir<".b:netrw_curdir.">")
+"  call Dfunc("LocalBrowseList() b:netrw_curdir<".b:netrw_curdir."> sortby<".g:netrw_sort_by.">")
 
   " get the list of files contained in the current directory
   let dirname    = escape(b:netrw_curdir,s:netrw_glob_escape)
@@ -3070,7 +3086,11 @@ fun! s:LocalBrowseList()
 "  call Decho("filelist<".filelist.">")
   endif
   let filelist= substitute(filelist,'\n\{2,}','\n','ge')
-  let filelist= substitute(filelist,'\','/','ge')
+  if (has("win32") || has("win95") || has("win64") || has("win16"))
+   let filelist= substitute(filelist,'\','/','ge')
+  else
+   let filelist= substitute(filelist,'\','\\','ge')
+  endif
 
 "  call Decho("dirname<".dirname.">")
 "  call Decho("dirnamelen<".dirnamelen.">")
@@ -3503,6 +3523,12 @@ fun! netrw#Explore(indx,dosplit,style,..
   endif
   norm! 0
 
+  if a:1 =~ '\*/'
+   " Explore */pattern
+   let pattern= substitute(a:1,'^\*/\(.*\)$','\1','')
+"   call Decho("Explore */".pattern)
+  endif
+
   if a:1 == "" && a:indx >= 0
    " Explore Hexplore Vexplore Sexplore
 "   call Decho("Explore Hexplore Vexplore Sexplore")
@@ -3516,26 +3542,61 @@ fun! netrw#Explore(indx,dosplit,style,..
     call s:LocalBrowse(newdir)
    endif
 
-  elseif a:1 =~ '\*\*/' || a:indx < 0
-   " Nexplore Pexplore -or-  Explore **/...
-"   call Decho("Nexplore Pexplore -or-  Explore **/...")
+  elseif a:1 =~ '^\*\*/' || a:indx < 0 || a:1 =~ '^\*/'
+   " Nexplore, Pexplore, Explore **/... , or Explore */pattern
+"   call Decho("Nexplore, Pexplore, <s-down>, <s-up>, Explore ".a:1)
+   let s:didstarstar= 1
+   if exists("b:netrw_curdir")
+    nnoremap <buffer> <silent> <s-up>	:Pexplore<cr>
+    nnoremap <buffer> <silent> <s-down>	:Nexplore<cr>
+   endif
 
    if has("path_extra")
     if !exists("w:netrw_explore_indx")
      let w:netrw_explore_indx= 0
     endif
     let indx = a:indx
+"    call Decho("input indx=".indx)
+"
     if indx == -1
+     if !exists("w:netrw_explore_list") " sanity check
+      echohl WarningMsg | echo "***netrw*** using Nexplore or <s-down> improperly; see help for netrw-starstar" | echohl None
+      call inputsave()|call input("Press <cr> to continue")|call inputrestore()
+"      call Dret("Explore")
+      return
+     endif
      let indx= w:netrw_explore_indx + 1
+"     call Decho("indx= [w:netrw_explore_indx=".w:netrw_explore_indx."]=".indx)
+
     elseif indx == -2
+     if !exists("w:netrw_explore_list") " sanity check
+      echohl WarningMsg | echo "***netrw*** using Pexplore or <s-up> improperly; see help for netrw-starstar" | echohl None
+      call inputsave()|call input("Press <cr> to continue")|call inputrestore()
+"      call Dret("Explore")
+      return
+     endif
      let indx= w:netrw_explore_indx - 1
+"     call Decho("indx= [w:netrw_explore_indx=".w:netrw_explore_indx."]=".indx)
+
     else
+     " build list of files to Explore with Nexplore/Pexplore
      let w:netrw_explore_indx    = 0
      if !exists("b:netrw_curdir")
       let b:netrw_curdir= getcwd()
      endif
-     let w:netrw_explore_list    = split(expand(b:netrw_curdir."/".a:1),'\n')
+"     call Decho("b:netrw_curdir<".b:netrw_curdir.">")
+     if exists("pattern")
+"      call Decho("building list based on pattern<".pattern."> cwd<".getcwd().">")
+      exe "vimgrep /".pattern."/gj ".b:netrw_curdir."/*"
+      let w:netrw_explore_list = map(getqflist(),'b:netrw_curdir.bufname(v:val.bufnr)')
+     else
+"      call Decho("building list based on ".b:netrw_curdir."/".a:1)
+      let w:netrw_explore_list= split(expand(b:netrw_curdir."/".a:1),'\n')
+     endif
+
      let w:netrw_explore_listlen = len(w:netrw_explore_list)
+"     call Decho("w:netrw_explore_list<".string(w:netrw_explore_list)."> listlen=".w:netrw_explore_listlen)
+
      if w:netrw_explore_listlen == 1 && w:netrw_explore_list[0] =~ '\*\*\/'
       echohl WarningMsg | echo "***netrw*** no files matched" | echohl None
       call inputsave()|call input("Press <cr> to continue")|call inputrestore()
@@ -3928,14 +3989,9 @@ fun! s:NetOptionSave()
   endif
 
   " Get Temporary Filename
-  let w:aikeep   = &ai
-"  " netrw and the acd option do not work together properly
-"  if &acd && (has("netbeans_intg") || has("sun_workshop"))
-"   set noacd
-"   echohl Warning | echomsg "***warning*** directory browsing and the acd setting are incompatible" |echohl None
-"  endif
+  let w:acdkeep   = &acd
+  let w:aikeep    = &ai
   let w:fokeep    = &fo
-  let w:aikeep    = &ai
   let w:cikeep    = &ci
   let w:cinkeep   = &cin
   let w:cinokeep  = &cino
@@ -3943,9 +3999,6 @@ fun! s:NetOptionSave()
   let w:cpokeep   = &cpo
   let w:hidkeep   = &hidden
   let w:magickeep = &magic
-  if !g:netrw_keepdir
-   let w:dirkeep  = getcwd()
-  endif
   let w:gdkeep    = &gd
   let w:repkeep   = &report
   let w:spellkeep = &spell
@@ -3953,7 +4006,7 @@ fun! s:NetOptionSave()
   setlocal cino =
   setlocal com  =
   setlocal cpo -=aA
-  setlocal nocin noai noci magic nospell fo=nroql2 nohid
+  setlocal noacd nocin noai noci magic nospell fo=nroql2 nohid
   setlocal tw   =0
   setlocal report=10000
   if has("win32") && !has("win95")
@@ -3975,14 +4028,13 @@ fun! s:NetOptionRestore()
   endif
   unlet w:netoptionsave
 
-  if exists("w:aikeep")| let &ai= w:aikeep|endif
+  if exists("w:acdkeep")  |let &acd    = w:acdkeep     |unlet w:acdkeep  |endif
   if exists("w:aikeep")   |let &ai     = w:aikeep      |unlet w:aikeep   |endif
   if exists("w:cikeep")   |let &ci     = w:cikeep      |unlet w:cikeep   |endif
   if exists("w:cinkeep")  |let &cin    = w:cinkeep     |unlet w:cinkeep  |endif
   if exists("w:cinokeep") |let &cino   = w:cinokeep    |unlet w:cinokeep |endif
   if exists("w:comkeep")  |let &com    = w:comkeep     |unlet w:comkeep  |endif
   if exists("w:cpokeep")  |let &cpo    = w:cpokeep     |unlet w:cpokeep  |endif
-  if exists("w:dirkeep")  |exe "lcd ".w:dirkeep        |unlet w:dirkeep  |endif
   if exists("w:fokeep")   |let &fo     = w:fokeep      |unlet w:fokeep   |endif
   if exists("w:gdkeep")   |let &gd     = w:gdkeep      |unlet w:gdkeep   |endif
   if exists("w:hidkeep")  |let &hidden = w:hidkeep     |unlet w:hidkeep  |endif
--- a/runtime/autoload/paste.vim
+++ b/runtime/autoload/paste.vim
@@ -1,6 +1,6 @@
 " Vim support file to help with paste mappings and menus
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Mar 09
+" Last Change:	2006 Apr 21
 
 " Define the string to use for items that are present both in Edit, Popup and
 " Toolbar menu.  Also used in mswin.vim and macmap.vim.
@@ -33,7 +33,3 @@ else
   let paste#paste_cmd['v'] = '"-c<Esc>gix<Esc>' . paste#paste_cmd['n'] . '"_x'
   let paste#paste_cmd['i'] = 'x<Esc>' . paste#paste_cmd['n'] . '"_s'
 endif
-
-if has("virtualedit")
-else
-endif
--- a/runtime/colors/darkblue.vim
+++ b/runtime/colors/darkblue.vim
@@ -1,6 +1,6 @@
 " Vim color file
 " Maintainer:	Bohdan Vlasyuk <bohdan@vstu.edu.ua>
-" Last Change:	2005 Mar 28
+" Last Change:	2006 Apr 21
 
 " darkblue -- for those who prefer dark background
 " [note: looks bit uglier with come terminal palettes,
@@ -58,5 +58,3 @@ hi PreProc	ctermfg=magenta guifg=#ff80ff
 hi type		ctermfg=green guifg=#60ff60 gui=none cterm=none
 hi Underlined	cterm=underline term=underline
 hi Ignore	guifg=bg ctermfg=bg
-
-
--- a/runtime/compiler/bdf.vim
+++ b/runtime/compiler/bdf.vim
@@ -1,7 +1,7 @@
 " Vim compiler file
 " Compiler:         BDF to PCF Conversion
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("current_compiler")
   finish
@@ -11,9 +11,9 @@ let current_compiler = "bdf"
 let s:cpo_save = &cpo
 set cpo-=C
 
-CompilerSet makeprg=bdftopcf\ $*
+setlocal makeprg=bdftopcf\ $*
 
-CompilerSet errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
+setlocal errorformat=%ABDF\ %trror\ on\ line\ %l:\ %m,
       \%-Z%p^,
       \%Cbdftopcf:\ bdf\ input\\,\ %f\\,\ corrupt,
       \%-G%.%#
--- a/runtime/compiler/gcc.vim
+++ b/runtime/compiler/gcc.vim
@@ -1,7 +1,7 @@
 " Vim compiler file
 " Compiler:         GNU C Compiler
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("current_compiler")
   finish
--- a/runtime/compiler/rst.vim
+++ b/runtime/compiler/rst.vim
@@ -1,7 +1,7 @@
 " Vim compiler file
 " Compiler:         reStructuredText Documentation Format
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("current_compiler")
   finish
@@ -11,7 +11,7 @@ let current_compiler = "rst"
 let s:cpo_save = &cpo
 set cpo-=C
 
-CompilerSet errorformat=
+setlocal errorformat=
       \%f:%l:\ (%tEBUG/0)\ %m,
       \%f:%l:\ (%tNFO/1)\ %m,
       \%f:%l:\ (%tARNING/2)\ %m,
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0e.  Last change: 2006 Apr 15
+*eval.txt*      For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1369,9 +1369,9 @@ v:lc_time	The current locale setting for
 
 						*v:lnum* *lnum-variable*
 v:lnum		Line number for the 'foldexpr' |fold-expr| and 'indentexpr'
-		expressions, tab page number for 'guitablabel'.  Only valid
-		while one of these expressions is being evaluated.  Read-only
-		when in the |sandbox|.
+		expressions, tab page number for 'guitablabel' and
+		'guitabtooltip'.  Only valid while one of these expressions is
+		being evaluated.  Read-only when in the |sandbox|.
 
 					*v:prevcount* *prevcount-variable*
 v:prevcount	The count given for the last but one Normal mode command.
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -552,6 +552,9 @@ tag		command		   action in Normal mode	~
 |CTRL-W_g}|	CTRL-W g }	   do a |:ptjump| to the tag under the cursor
 |CTRL-W_gf|	CTRL-W g f	   edit file name under the cursor in a new
 				   tab page
+|CTRL-W_gF|	CTRL-W g F	   edit file name under the cursor in a new
+				   tab page and jump to the line number
+				   following the file name.
 |CTRL-W_h|	CTRL-W h	   go to Nth left window (stop at first window)
 |CTRL-W_i|	CTRL-W i	   split window and jump to declaration of
 				   identifier under the cursor
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -1,4 +1,4 @@
-*mbyte.txt*     For Vim version 7.0e.  Last change: 2006 Apr 02
+*mbyte.txt*     For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar et al.
@@ -1035,7 +1035,7 @@ use a brightly colored cursor: >
 	:highlight Cursor guifg=NONE guibg=Green
 	:highlight lCursor guifg=NONE guibg=Cyan
 <
-			*keymap-file-format* *:loadk* *:loadkeymap* *E105*
+		*keymap-file-format* *:loadk* *:loadkeymap* *E105* *E791*
 The keymap file looks something like this: >
 
 	" Maintainer:	name <email@address>
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0e.  Last change: 2006 Apr 20
+*options.txt*	For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2092,12 +2092,16 @@ A jump table for the options with a shor
 'debug'			string	(default "")
 			global
 			{not in Vi}
-	When set to "msg", error messages that would otherwise be omitted will
-	be given anyway.  This is useful when debugging 'foldexpr',
-	'formatexpr' or 'indentexpr'.
-	When set to "beep", a message will be given when otherwise only a beep
-	would be produced.
+	These values can be used:
+	msg	Error messages that would otherwise be omitted will be given
+		anyway.
+	throw	Error messages that would otherwise be omitted will be given
+		anyway and also throw an exception and set |v:errmsg|.
+	beep	A message will be given when otherwise only a beep would be
+		produced.
 	The values can be combined, separated by a comma.
+	"msg" and "throw" are useful for debugging 'foldexpr', 'formatexpr' or
+	'indentexpr'.
 
 						*'define'* *'def'*
 'define' 'def'		string	(default "^\s*#\s*define")
@@ -3407,11 +3411,25 @@ A jump table for the options with a shor
 	|setting-guitablabel| for more info.
 
 	The format of this option is like that of 'statusline'.
+	'guitabtooltip' is used for the tooltip, see below.
 
 	Only used when the GUI tab pages line is displayed.  'e' must be
 	present in 'guioptions'.  For the non-GUI tab pages line 'tabline' is
 	used.
 
+						*'guitabtooltip'* *'gtt'*
+'guitabtooltip' 'gtt'	string	(default empty)
+			global
+			{not in Vi}
+			{only available when compiled with GUI enabled and
+			with the +windows feature}
+	When nonempty describes the text to use in a tooltip for the GUI tab
+	pages line.  When empty Vim will use a default tooltip.
+	This option is otherwise just like 'guitablabel' above.
+
+	The tooltip only works for some systems.
+
+
 						*'helpfile'* *'hf'*
 'helpfile' 'hf'		string	(default (MSDOS)  "$VIMRUNTIME\doc\help.txt"
 					 (others) "$VIMRUNTIME/doc/help.txt")
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt*  For Vim version 7.0e.  Last change: Apr 12, 2006
+*pi_netrw.txt*  For Vim version 7.0e.  Last change: Apr 21, 2006
 
 		VIM REFERENCE MANUAL    by Charles E. Campbell, Jr.
 
@@ -782,7 +782,7 @@ NETRW BROWSER VARIABLES					*netrw-brows
 				=0 keep the current directory the same as the
 				   browsing directory.
 				The current browsing directory is contained in
-				b:netrw_curdir
+				b:netrw_curdir (also see |netrw-c|)
 
   *g:netrw_list_cmd*		command for listing remote directories
 				 default: (if ssh is executable)
@@ -919,15 +919,16 @@ DIRECTORY EXPLORING COMMANDS	*netrw-nexp
 By default, these commands use the current file's directory.  However, one
 may explicitly provide a directory (path) to use.
 
-(Following needs v7.0 or later)			*netrw-starstar*
-When Explore, Sexplore, Hexplore, or Vexplore are used with a **,
+							*netrw-starstar*
+When Explore, Sexplore, Hexplore, or Vexplore are used with a **/filepat,
 such as:
 >
 	:Explore **/filename_pattern
 <
-netrw will attempt to find a (sub)directory which matches the filename
-pattern.  Internally, it produces a list of files which match the pattern
-and their paths; to that extent it resembles the Unix operation:
+netrw will attempt to find a file in the current directory or any subdirectory
+which matches the filename pattern.  Internally, it produces a list of files
+which match the pattern and their paths; to that extent it resembles the Unix
+operation:
 >
 	find $(pwd) -name "$1" -exec "echo" "{}" ";" 2> /dev/null
 <
@@ -951,6 +952,18 @@ As an example, consider
 The status line will show, on the right hand side of the status line, a
 message like "Match 3 of 20".
 
+							*netrw-starpat*
+When Explore, Sexplore, Hexplore, or Vexplore are used with a */pattern,
+such as:
+>
+	:Explore */pattern
+<
+netrw will use |:vimgrep| to find files which contain the given pattern.
+Like what happens with |netrw-starstar|, a list of files which contain
+matches to the given pattern is generated.  The cursor will then jump
+to the first file with the given pattern; |:Nexplore|, |:Pexplore|, and
+the shifted-down and -up arrows work with the list to move to the next
+or previous files in that list.
 
 REFRESHING THE LISTING					*netrw-ctrl-l*
 
@@ -1261,14 +1274,16 @@ to forward a copy to me for future inclu
 
 MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY	*netrw-c* *netrw-curdir*
 
-By default, g:netrw_keepdir is 1.  This setting means that the current
+By default, |g:netrw_keepdir| is 1.  This setting means that the current
 directory will not track the browsing directory.  However, setting
-g:netrw_keepdir to 0 (say, in your <.vimrc>) will tell netrw to have the
-currently browsed directory be the current directory.
+g:netrw_keepdir to 0 (say, in your <.vimrc>) will tell netrw to make the
+currently browsed directory also be the current directory.
 
-With the default setting for g:netrw_keepdir, in order to make the two
-directories the same, use the "c" map (just type c).  That map will set the
-current directory to the current browsing directory.
+However, with the default setting for g:netrw_keepdir of 1 where netrw
+maintains its own separate notion of the current directory, in order to make
+the two directories the same, use the "c" map (just type c).  That map will
+set Vim's notion of the current directory to the netrw's current browsing
+directory.
 
 
 BOOKMARKING A DIRECTORY		*netrw-b* *netrw-bookmark* *netrw-bookmarks*
@@ -1447,6 +1462,17 @@ which is loaded automatically at startup
 ==============================================================================
 11. History						*netrw-history* {{{1
 
+	v91: * :Explore */pattern implemented
+	     * |'acd'| option bypassed
+	v90: * mark ', as suggested by Yegappan Lakshmanan, used to help
+	       guarantee entry into the jump list when appropriate.
+	     * <s-down> and <s-up> are no longer defined until a
+	       :Explore **/pattern  is used (if the user already has a map
+	       for them).  They will be defined for new browser windows
+	       from that point forward.
+	v89: * A <s-down>, <s-up>, :Nexplore, or a :Pexplore without having
+	       first done an :Explore **/pattern (see |netrw-starstar|) caused
+	       a lot of unhelpful error messages to appear
 	v88: * moved DrChip.Netrw menu to Netrw.  Now has priority 80 by
 	       default.  g:NetrwTopLvlMenu == "Netrw" and can be changed
 	       by the user to suit.  The priority is g:NetrwMenuPriority.
--- a/runtime/doc/print.txt
+++ b/runtime/doc/print.txt
@@ -1,4 +1,4 @@
-*print.txt*     For Vim version 7.0e.  Last change: 2005 Apr 01
+*print.txt*     For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -287,7 +287,7 @@ another font will be used as follows:
 
   if b: is missing, then use r:
   if i: is missing, then use r:
-  if o: is missing, then use i:
+  if o: is missing, then use b:
 
 Some CJK fonts do not contain characters for codes in the ASCII code range.
 Also, some characters in the CJK ASCII code ranges differ in a few code points
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 7.0e.  Last change: 2006 Mar 23
+*quickref.txt*  For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -707,6 +707,7 @@ Short explanation of each option:		*opti
 'guioptions'      'go'      GUI: Which components and options are used
 'guipty'                    GUI: try to use a pseudo-tty for ":!" commands
 'guitablabel'     'gtl'     GUI: custom label for a tab page
+'guitabtooltip'   'gtt'     GUI: custom tooltip for a tab page
 'helpfile'        'hf'      full path name of the main help file
 'helpheight'      'hh'      minimum height of a new help window
 'helplang'        'hlg'     preferred help languages
--- a/runtime/doc/sponsor.txt
+++ b/runtime/doc/sponsor.txt
@@ -1,4 +1,4 @@
-*sponsor.txt*   For Vim version 7.0e.  Last change: 2006 Mar 29
+*sponsor.txt*   For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -202,8 +202,8 @@ Are the donations tax deductible?
 
 That depends on your country.  The donations to help the children in |Uganda|
 are tax deductible in Holland, Germany, Canada and in the USA.  See the ICCF
-website http://www.iccf.nl/donate.html.  You must send an e-mail to Bram to
-let him know that the donation is done because of the use of Vim.
+website http://iccf-holland.org/donate.html.  You must send an e-mail to Bram
+to let him know that the donation is done because of the use of Vim.
 
 
 Can you send me a bill?
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -1,4 +1,4 @@
-*tabpage.txt*   For Vim version 7.0e.  Last change: 2006 Apr 13
+*tabpage.txt*   For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -82,6 +82,9 @@ In the GUI tab pages line you can use th
 CTRL-W gf	Open a new tab page and edit the file name under the cursor.
 		See |CTRL-W_gf|.
 
+CTRL-W gF	Open a new tab page and edit the file name under the cursor
+		and jump to the line number following the file name.
+		See |CTRL-W_gF|.
 
 CLOSING A TAB PAGE:
 
@@ -306,21 +309,25 @@ specify the label to display for each ta
 specifies the whole tab pages line at once, 'guitablabel' is used for each
 label separately.
 
+'guitabtooltip' is very similar and is used for the tooltip of the same label.
+This only appears when the mouse pointer hovers over the label, thus it
+usually is longer.  Only supported on some systems though.
+
 See the 'statusline' option for the format of the value.
 
 The "%N" item can be used for the current tab page number.  The |v:lnum|
-variable is also set to this number when 'guitablabel' is evaluated.
+variable is also set to this number when the option is evaluated.
 The items that use a file name refer to the current window of the tab page.
 
-Note that syntax highlighting is not used for 'guitablabel'.  The %T and %X
+Note that syntax highlighting is not used for the option.  The %T and %X
 items are also ignored.
 
 A simple example that puts the tab page number and the buffer name in the
 label: >
 	:set guitablabel=%N\ %f
 
-An example that resembles the default: Show the number of windows in the tab
-page and a '+' if there is a modifed buffer: >
+An example that resembles the default 'guitablabel': Show the number of
+windows in the tab page and a '+' if there is a modifed buffer: >
 
 	function GuiTabLabel()
 	  let label = ''
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0e.  Last change: 2006 Apr 20
+*todo.txt*      For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,7 +30,7 @@ be worked on, but only if you sponsor Vi
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-For a tooltip of at GUI tab label we need a new field.  Also 'guitabtip'?
+Win32: Crash when adding many menu entries. (Karl Waedt)
 
 Crash in "z=" when the change triggers checking out the file, FileChangedRO
 event.  Problem in move_lines()?  FileChangedShell also involved? (Neil Bird)
@@ -39,6 +39,7 @@ Added a few checks for valid buffer, did
 Fix coverity false positives?
 
 Add more tests for all new functionality in Vim 7.  Especially new functions.
+    :undojoin
 
 Win32: Describe how to do debugging. (George Reilly)
 
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -1,4 +1,4 @@
-*undo.txt*      For Vim version 7.0e.  Last change: 2006 Apr 12
+*undo.txt*      For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -87,10 +87,11 @@ undone together.
 If you want to write a function or script that doesn't create a new undoable
 change but joins in with the previous change use this command:
 
-							*:undoj* *:undojoin*
+						*:undoj* *:undojoin* *E790*
 :undoj[oin]		Join further changes with the previous undo block.
 			Warning: Use with care, it may prevent the user from
-			properly undoing changes.
+			properly undoing changes.  Don't use this after undo
+			or redo.
 			{not in Vi}
 
 This is most useful when you need to prompt the user halfway a change.  For
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0e.  Last change: 2006 Apr 20
+*version7.txt*  For Vim version 7.0e.  Last change: 2006 Apr 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -280,9 +280,9 @@ argument.  The maximum number of pages c
 
 The line with tab labels is either made with plain text an highlighting or
 with a GUI mechanism.  The GUI labels look better but are only available on a
-few systems.  The line can be customized with 'tabline' and 'guitablabel'.
-Whether it is displayed is set with 'showtabline'.  Whether to use the GUI
-labels is set with the "e" flag in 'guioptions'.
+few systems.  The line can be customized with 'tabline', 'guitablabel' and
+'guitabtooltip'.  Whether it is displayed is set with 'showtabline'.  Whether
+to use the GUI labels is set with the "e" flag in 'guioptions'.
 
 The |:tab| command modifier can be used to have most commands that open a new
 window open a new tab instead.
@@ -895,6 +895,7 @@ BibTeX indent file. (Dorai Sitaram)
 BTM ftplugin file. (Bram Moolenaar)
 calendar ftplugin file. (Nikolai Weibull)
 Changelog indent file. (Nikolai Weibull)
+ChordPro syntax file. (Niels Bo Andersen)
 Cmake indent and syntax file. (Andy Cedilnik)
 conf ftplugin file. (Nikolai Weibull)
 context syntax and ftplugin file. (Nikolai Weibull)
@@ -2569,5 +2570,17 @@ It was possible to switch to another tab
 
 Completion could hang when 'lines' is 6 and a preview window was opened.
 
+Added CTRL-W gF: open file under cursor in new tab page and jump to the line
+number following the file name.
+Added 'guitabtooltip', but it's not implemented anywhere yet.
+
+Added "throw" to 'debug' option: thow an exception for error messages even
+whey they would otherwise be ignored.
+
+When 'keymap' is set and a line contains an invalid entry could get a "No
+mapping found" warning instead of a proper error message.
+
+Motif: default to using XpmAttributes instead of XpmAttributes_21.
+
 
  vim:tw=78:ts=8:ft=help:norl:
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -729,6 +729,8 @@ CTRL-W F						*CTRL-W_F*
 		Split current window in two.  Edit file name under cursor and
 		jump to the line number following the file name. See |gF| for
 		details on how the line number is obtained.
+		{not available when the |+file_in_path| feature was disabled
+		at compile time}
 
 CTRL-W gf						*CTRL-W_gf*
 		Open a new tab page and edit the file name under the cursor.
@@ -737,6 +739,14 @@ CTRL-W gf						*CTRL-W_gf*
 		{not available when the |+file_in_path| feature was disabled
 		at compile time}
 
+CTRL-W gF						*CTRL-W_gF*
+		Open a new tab page and edit the file name under the cursor
+		and jump to the line number following the file name.  Like
+		"tab split" and "gF", but the new tab page isn't created if
+		the file does not exist.
+		{not available when the |+file_in_path| feature was disabled
+		at compile time}
+
 Also see |CTRL-W_CTRL-I|: open window for an included file that includes
 the keyword under the cursor.
 
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Apr 19
+" Last Change:	2006 Apr 21
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -390,6 +390,9 @@ fun! s:FTchange()
   setf chill
 endfun
 
+" ChordPro
+au BufNewFile,BufRead *.chopro,*.crd,*.cho,*.crdpro,*.chordpro	setf chordpro
+
 " Clean
 au BufNewFile,BufRead *.dcl,*.icl		setf clean
 
--- a/runtime/ftplugin/a2ps.vim
+++ b/runtime/ftplugin/a2ps.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         a2ps(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/ada.vim
+++ b/runtime/ftplugin/ada.vim
@@ -1,7 +1,7 @@
 " Vim Ada plugin file
 " Language:	Ada
 " Maintainer:	Neil Bird <neil@fnxweb.com>
-" Last Change:	2003 May 11
+" Last Change:	2006 Apr 21
 " Version:	$Id$
 " Look for the latest version at http://vim.sourceforge.net/
 "
@@ -14,7 +14,6 @@
 " Exports 'AdaWord()' function to return full name of Ada entity under the
 " cursor( or at given line/column), stripping whitespace/newlines as necessary.
 
-
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
   finish
@@ -27,11 +26,9 @@ let b:did_ftplugin = 1
 let s:cpoptions = &cpoptions
 set cpo-=C
 
-
 " Ada comments
 setlocal comments+=O:--
 
-
 " Make local tag mappings for this buffer (if not already set)
 if mapcheck('<C-]>','n') == ''
   nnoremap <unique> <buffer> <C-]>    :call JumpToTag_ada('')<cr>
--- a/runtime/ftplugin/alsaconf.vim
+++ b/runtime/ftplugin/alsaconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         alsaconf(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/arch.vim
+++ b/runtime/ftplugin/arch.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         GNU Arch inventory file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/automake.vim
+++ b/runtime/ftplugin/automake.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Automake
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-22
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/bdf.vim
+++ b/runtime/ftplugin/bdf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         BDF font definition
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/calendar.vim
+++ b/runtime/ftplugin/calendar.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         calendar(1) input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/changelog.vim
+++ b/runtime/ftplugin/changelog.vim
@@ -1,11 +1,14 @@
 " Vim filetype plugin file
 " Language:         generic Changelog file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 " Variables:
-"   g:changelog_timeformat -
+"   g:changelog_timeformat (deprecated: use g:changelog_dateformat instead) -
 "       description: the timeformat used in ChangeLog entries.
 "       default: "%Y-%m-%d".
+"   g:changelog_dateformat -
+"       description: the format sent to strftime() to generate a date string.
+"       default: "%Y-%m-%d".
 "   g:changelog_username -
 "       description: the username to use in ChangeLog entries
 "       default: try to deduce it from environment variables and system files.
@@ -25,8 +28,8 @@
 "  Problem is that you might end up with ChangeLog files all over the place.
 
 " If 'filetype' isn't "changelog", we must have been to add ChangeLog opener
-if &filetype == "changelog"
-  if exists("b:did_ftplugin")
+if &filetype == 'changelog'
+  if exists('b:did_ftplugin')
     finish
   endif
   let b:did_ftplugin = 1
@@ -34,20 +37,25 @@ if &filetype == "changelog"
   let s:cpo_save = &cpo
   set cpo&vim
 
-  " The format of the date-time field (should have been called dateformat)
-  if !exists("g:changelog_timeformat")
-    let g:changelog_timeformat = "%Y-%m-%d"
+  " Set up the format used for dates.
+  if !exists('g:changelog_dateformat')
+    if exists('g:changelog_timeformat')
+      let g:changelog_dateformat = g:changelog_timeformat
+    else
+      let g:changelog_dateformat = "%Y-%m-%d"
+    endif
   endif
 
   " Try to figure out a reasonable username of the form:
-  " Full Name <user@host>
-  if !exists("g:changelog_username")
-    if exists("$EMAIL_ADDRESS")
+  "   Full Name <user@host>.
+  if !exists('g:changelog_username')
+    if exists('$EMAIL') && $EMAIL != ''
+      let g:changelog_username = $EMAIL
+    elseif exists('$EMAIL_ADDRESS') && $EMAIL_ADDRESS != ''
+      " This is some Debian junk if I remember correctly.
       let g:changelog_username = $EMAIL_ADDRESS
-    elseif exists("$EMAIL")
-      let g:changelog_username = $EMAIL
     else
-      " Get the users login name
+      " Get the users login name.
       let login = system('whoami')
       if v:shell_error
         let login = 'unknown'
@@ -58,43 +66,42 @@ if &filetype == "changelog"
         endif
       endif
 
-      " Try to full name from gecos field in /etc/passwd
+      " Try to get the full name from gecos field in /etc/passwd.
       if filereadable('/etc/passwd')
-        let name = substitute(
-              \system('cat /etc/passwd | grep ^`whoami`'),
-              \'^\%([^:]*:\)\{4}\([^:]*\):.*$', '\1', '')
+        for line in readfile('/etc/passwd')
+          if line =~ '^' . login
+            let name = substitute(line,'^\%([^:]*:\)\{4}\([^:]*\):.*$','\1','')
+            " Only keep stuff before the first comma.
+            let comma = stridx(name, ',')
+            if comma != -1
+              let name = strpart(name, 0, comma)
+            endif
+            " And substitute & in the real name with the login of our user.
+            let amp = stridx(name, '&')
+            if amp != -1
+              let name = strpart(name, 0, amp) . toupper(login[0]) .
+                       \ strpart(login, 1) . strpart(name, amp + 1)
+            endif
+          endif
+        endfor
       endif
 
-      " If there is no such file, or there was some other problem try
-      " others
-      if !filereadable('/etc/passwd') || v:shell_error
-        " Maybe the environment has something of interest
+      " If we haven't found a name, try to gather it from other places.
+      if !exists('name')
+        " Maybe the environment has something of interest.
         if exists("$NAME")
           let name = $NAME
         else
           " No? well, use the login name and capitalize first
-          " character
+          " character.
           let name = toupper(login[0]) . strpart(login, 1)
         endif
       endif
 
-      " Only keep stuff before the first comma
-      let comma = stridx(name, ',')
-      if comma != -1
-        let name = strpart(name, 0, comma)
-      endif
-
-      " And substitute & in the real name with the login of our user
-      let amp = stridx(name, '&')
-      if amp != -1
-        let name = strpart(name, 0, amp) . toupper(login[0]) .
-              \strpart(login, 1) . strpart(name, amp + 1)
-      endif
-
-      " Get our hostname
-      let hostname = system("hostname")
+      " Get our hostname.
+      let hostname = system('hostname')
       if v:shell_error
-        let hostname = 'unknownhost'
+        let hostname = 'localhost'
       else
         let newline = stridx(hostname, "\n")
         if newline != -1
@@ -102,102 +109,99 @@ if &filetype == "changelog"
         endif
       endif
 
-      " And finally set the username
-      let g:changelog_username = name.'  <'.login.'@'.hostname.'>'
+      " And finally set the username.
+      let g:changelog_username = name . '  <' . login . '@' . hostname . '>'
     endif
   endif
 
-  " Format used for new date-entries
-  if !exists("g:changelog_new_date_format")
+  " Format used for new date entries.
+  if !exists('g:changelog_new_date_format')
     let g:changelog_new_date_format = "%d  %u\n\n\t* %c\n\n"
   endif
 
-  " Format used for new entries to current date-entry
-  if !exists("g:changelog_new_entry_format")
+  " Format used for new entries to current date entry.
+  if !exists('g:changelog_new_entry_format')
     let g:changelog_new_entry_format = "\t* %c"
   endif
 
-  if !exists("g:changelog_date_entry_search")
+  " Regular expression used to find a given date entry.
+  if !exists('g:changelog_date_entry_search')
     let g:changelog_date_entry_search = '^\s*%d\_s*%u'
   endif
 
-  " Substitutes specific items in new date-entry formats and search strings
-  " Can be done with substitute of course, but unclean, and need \@! then
+  " Substitutes specific items in new date-entry formats and search strings.
+  " Can be done with substitute of course, but unclean, and need \@! then.
   function! s:substitute_items(str, date, user)
     let str = a:str
+    let middles = {'%': '%', 'd': a:date, 'u': a:user, 'c': '{cursor}'}
     let i = stridx(str, '%')
     while i != -1
-      let char = str[i + 1]
-      if char == '%'
-        let middle = '%'
-      elseif char == 'd'
-        let middle = a:date
-      elseif char == 'u'
-        let middle = a:user
-      elseif char == 'c'
-        let middle = '{cursor}'
-      else
-        let middle = char
+      let inc = 0
+      if has_key(middles, str[i + 1])
+        let mid = middles[str[i + 1]]
+        let str = strpart(str, 0, i) . mid . strpart(str, i + 2)
+        let inc = strlen(mid)
       endif
-      let str = strpart(str, 0, i) . middle . strpart(str, i + 2)
-      let i = stridx(str, '%')
+      let i = stridx(str, '%', i + 1 + inc)
     endwhile
     return str
   endfunction
 
+  " Position the cursor once we've done all the funky substitution.
   function! s:position_cursor()
     if search('{cursor}') > 0
-      let pos = line('.')
-      let line = getline(pos)
+      let lnum = line('.')
+      let line = getline(lnum)
       let cursor = stridx(line, '{cursor}')
-      call setline(pos, substitute(line, '{cursor}', '', ''))
+      call setline(lnum, substitute(line, '{cursor}', '', ''))
     endif
     startinsert!
   endfunction
 
-  " Internal function to create a new entry in the ChangeLog
+  " Internal function to create a new entry in the ChangeLog.
   function! s:new_changelog_entry()
-    " Deal with 'paste' option
+    " Deal with 'paste' option.
     let save_paste = &paste
     let &paste = 1
-    1
-    " Look for an entry for today by our user
-    let date = strftime(g:changelog_timeformat)
+    call cursor(1, 1)
+    " Look for an entry for today by our user.
+    let date = strftime(g:changelog_dateformat)
     let search = s:substitute_items(g:changelog_date_entry_search, date,
-          \g:changelog_username)
+                                  \ g:changelog_username)
     if search(search) > 0
-      " Ok, now we look for the end of the date-entry, and add an entry
-      let pos = nextnonblank(line('.') + 1)
-      let line = getline(pos)
-      while line =~ '^\s\+\S\+'
-        let pos = pos + 1
-        let line = getline(pos)
-      endwhile
-      let insert = s:substitute_items(g:changelog_new_entry_format,
-            \'', '')
-      execute "normal! ".(pos - 1)."Go".insert
-      execute pos
+      " Ok, now we look for the end of the date entry, and add an entry.
+      call cursor(nextnonblank(line('.') + 1), 1)
+      if search('^\s*$', 'W') > 0
+        let p = line('.') - 1
+      else
+        let p = line('.')
+      endif
+      let ls = split(s:substitute_items(g:changelog_new_entry_format, '', ''),
+                   \ '\n')
+      call append(p, ls)
+      call cursor(p + 1, 1)
     else
-      " Flag for removing empty lines at end of new ChangeLogs
+      " Flag for removing empty lines at end of new ChangeLogs.
       let remove_empty = line('$') == 1
 
-      " No entry today, so create a date-user header and insert an entry
+      " No entry today, so create a date-user header and insert an entry.
       let todays_entry = s:substitute_items(g:changelog_new_date_format,
-            \date, g:changelog_username)
-      " Make sure we have a cursor positioning
+                                          \ date, g:changelog_username)
+      " Make sure we have a cursor positioning.
       if stridx(todays_entry, '{cursor}') == -1
-        let todays_entry = todays_entry.'{cursor}'
+        let todays_entry = todays_entry . '{cursor}'
       endif
 
-      " Now do the work
-      execute "normal! i".todays_entry
+      " Now do the work.
+      call append(0, split(todays_entry, '\n'))
+      
+      " Remove empty lines at end of file.
       if remove_empty
-        while getline('$') == ''
-          $delete
-        endwhile
+        $-/^\s*$/-1,$delete
       endif
 
-      1
+      " Reposition cursor once we're done.
+      call cursor(1, 1)
     endif
 
     call s:position_cursor()
@@ -211,16 +215,18 @@ if &filetype == "changelog"
     command! -nargs=0 NewChangelogEntry call s:new_changelog_entry()
   endif
 
-  let b:undo_ftplugin = "setl com< tw< fo< et< ai<"
+  let b:undo_ftplugin = "setl com< fo< et< ai<"
 
-  if &textwidth == 0
-    setlocal textwidth=78
-  endif
   setlocal comments=
   setlocal formatoptions+=t
   setlocal noexpandtab
   setlocal autoindent
 
+  if &textwidth == 0
+    setlocal textwidth=78
+    let b:undo_ftplugin .= " tw<"
+  endif
+
   let &cpo = s:cpo_save
   unlet s:cpo_save
 else
@@ -228,23 +234,20 @@ else
   nmap <silent> <Leader>o :call <SID>open_changelog()<CR>
 
   function! s:open_changelog()
-    if filereadable('ChangeLog')
-      if bufloaded('ChangeLog')
-        let buf = bufnr('ChangeLog')
-        execute "normal! \<C-W>t"
-        while winbufnr(winnr()) != buf
-          execute "normal! \<C-W>w"
-        endwhile
+    if !filereadable('ChangeLog')
+      return
+    endif
+    let buf = bufnr('ChangeLog')
+    if buf != -1
+      if bufwinnr(buf) != -1
+        execute buf . 'wincmd w'
       else
-        split ChangeLog
+        execute 'bsplit' buf
       endif
+    else
+      split ChangeLog
+    endif
 
-      if exists("g:mapleader")
-        execute "normal " . g:mapleader . "o"
-      else
-        execute "normal \\o"
-      endif
-      startinsert!
-    endif
+    call s:new_changelog_entry()
   endfunction
 endif
--- a/runtime/ftplugin/conf.vim
+++ b/runtime/ftplugin/conf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         generic configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/context.vim
+++ b/runtime/ftplugin/context.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         ConTeXt typesetting engine
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
@@ -13,7 +13,7 @@ set cpo&vim
 
 let b:undo_ftplugin = "setl com< cms< def< inc< sua< fo<"
 
-setlocal comments=:%,b:%D,b:%C,b:%M commentstring=%\ %s formatoptions+=tcroql
+setlocal comments=b:%D,b:%C,b:%M,:% commentstring=%\ %s formatoptions+=tcroql
 
 let &l:define='\\\%([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\='
         \ .     'def\|\\font\|\\\%(future\)\=let'
--- a/runtime/ftplugin/crm.vim
+++ b/runtime/ftplugin/crm.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         CRM114
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/css.vim
+++ b/runtime/ftplugin/css.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         CSS
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/cvsrc.vim
+++ b/runtime/ftplugin/cvsrc.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         cvs(1) RC file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/dictconf.vim
+++ b/runtime/ftplugin/dictconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         dict(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/dictdconf.vim
+++ b/runtime/ftplugin/dictdconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         dictd(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-01
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/dircolors.vim
+++ b/runtime/ftplugin/dircolors.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         dircolors(1) input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/elinks.vim
+++ b/runtime/ftplugin/elinks.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         elinks(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/eterm.vim
+++ b/runtime/ftplugin/eterm.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         eterm(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/fetchmail.vim
+++ b/runtime/ftplugin/fetchmail.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         fetchmail(1) RC File
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/gpg.vim
+++ b/runtime/ftplugin/gpg.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         gpg(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/group.vim
+++ b/runtime/ftplugin/group.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         group(5) user group file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/grub.vim
+++ b/runtime/ftplugin/grub.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         grub(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/haskell.vim
+++ b/runtime/ftplugin/haskell.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Haskell
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/help.vim
+++ b/runtime/ftplugin/help.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Vim help file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/indent.vim
+++ b/runtime/ftplugin/indent.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         indent(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/ld.vim
+++ b/runtime/ftplugin/ld.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         ld(1) script
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/lftp.vim
+++ b/runtime/ftplugin/lftp.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         lftp(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/libao.vim
+++ b/runtime/ftplugin/libao.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         libao.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/limits.vim
+++ b/runtime/ftplugin/limits.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         limits(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/loginaccess.vim
+++ b/runtime/ftplugin/loginaccess.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         login.access(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/logindefs.vim
+++ b/runtime/ftplugin/logindefs.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         login.defs(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/m4.vim
+++ b/runtime/ftplugin/m4.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         m4
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/mailcap.vim
+++ b/runtime/ftplugin/mailcap.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Mailcap configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/manconf.vim
+++ b/runtime/ftplugin/manconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         man.conf(5) - man configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/mf.vim
+++ b/runtime/ftplugin/mf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         MetaFont
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/modconf.vim
+++ b/runtime/ftplugin/modconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         modules.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/mp.vim
+++ b/runtime/ftplugin/mp.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         MetaPost
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/mplayerconf.vim
+++ b/runtime/ftplugin/mplayerconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         mplayer(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/muttrc.vim
+++ b/runtime/ftplugin/muttrc.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         mutt RC File
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/nanorc.vim
+++ b/runtime/ftplugin/nanorc.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         nanorc(5) - GNU nano configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/netrc.vim
+++ b/runtime/ftplugin/netrc.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         netrc(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/pamconf.vim
+++ b/runtime/ftplugin/pamconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         pam(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/passwd.vim
+++ b/runtime/ftplugin/passwd.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         passwd(5) password file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/pinfo.vim
+++ b/runtime/ftplugin/pinfo.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         pinfo(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/procmail.vim
+++ b/runtime/ftplugin/procmail.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         procmail(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/prolog.vim
+++ b/runtime/ftplugin/prolog.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Prolog
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/protocols.vim
+++ b/runtime/ftplugin/protocols.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         protocols(5) - Internet protocols definition file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/quake.vim
+++ b/runtime/ftplugin/quake.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Quake[1-3] configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/racc.vim
+++ b/runtime/ftplugin/racc.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Racc input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/readline.vim
+++ b/runtime/ftplugin/readline.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         readline(3) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/rnc.vim
+++ b/runtime/ftplugin/rnc.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Relax NG compact syntax
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/rst.vim
+++ b/runtime/ftplugin/rst.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         reStructuredText documentation format
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/screen.vim
+++ b/runtime/ftplugin/screen.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         screen(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/sensors.vim
+++ b/runtime/ftplugin/sensors.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         sensors.conf(5) - libsensors configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/services.vim
+++ b/runtime/ftplugin/services.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         services(5) - Internet network services list
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/setserial.vim
+++ b/runtime/ftplugin/setserial.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         setserial(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/sieve.vim
+++ b/runtime/ftplugin/sieve.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Sieve filtering language input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/slpconf.vim
+++ b/runtime/ftplugin/slpconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         RFC 2614 - An API for Service Location configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/slpreg.vim
+++ b/runtime/ftplugin/slpreg.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         RFC 2614 - An API for Service Location registration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/slpspi.vim
+++ b/runtime/ftplugin/slpspi.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         RFC 2614 - An API for Service Location SPI file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/sshconfig.vim
+++ b/runtime/ftplugin/sshconfig.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         OpenSSH client configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/sudoers.vim
+++ b/runtime/ftplugin/sudoers.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         sudoers(5) configuration files
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/sysctl.vim
+++ b/runtime/ftplugin/sysctl.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         sysctl.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/terminfo.vim
+++ b/runtime/ftplugin/terminfo.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         terminfo(5) definition
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/udevconf.vim
+++ b/runtime/ftplugin/udevconf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         udev(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-01
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/udevperm.vim
+++ b/runtime/ftplugin/udevperm.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         udev(8) permissions file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-01
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/udevrules.vim
+++ b/runtime/ftplugin/udevrules.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         udev(8) rules file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-01
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/updatedb.vim
+++ b/runtime/ftplugin/updatedb.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         updatedb.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/xdefaults.vim
+++ b/runtime/ftplugin/xdefaults.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         X resources files like ~/.Xdefaults (xrdb)
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/xf86conf.vim
+++ b/runtime/ftplugin/xf86conf.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         XFree86 Configuration File
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/xinetd.vim
+++ b/runtime/ftplugin/xinetd.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         xinetd.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/xmodmap.vim
+++ b/runtime/ftplugin/xmodmap.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         xmodmap(1) definition file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/yaml.vim
+++ b/runtime/ftplugin/yaml.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         YAML (YAML Ain't Markup Language)
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/ftplugin/zsh.vim
+++ b/runtime/ftplugin/zsh.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         Zsh shell script
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_ftplugin")
   finish
--- a/runtime/indent/automake.vim
+++ b/runtime/indent/automake.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         automake
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
--- a/runtime/indent/cmake.vim
+++ b/runtime/indent/cmake.vim
@@ -56,7 +56,7 @@ fun! CMakeGetIndent(lnum)
                     \       or . '[^()\\#"]' . or . '\\.' . '\)*'
 
   let cmake_indent_comment_line = '^\s*' . cmake_regex_comment
-  let cmake_indent_blank_regex = '^\s*$')
+  let cmake_indent_blank_regex = '^\s*$'
   let cmake_indent_open_regex = '^\s*' . cmake_regex_identifier .
                     \           '\s*(' . cmake_regex_arguments .
                     \           '\(' . cmake_regex_comment . '\)\?$'
@@ -65,8 +65,8 @@ fun! CMakeGetIndent(lnum)
                     \            ')\s*' .
                     \            '\(' . cmake_regex_comment . '\)\?$'
 
-  let cmake_indent_begin_regex = '^\s*\(IF\|MACRO\|FOREACH\|ELSE\)\s*('
-  let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\)\s*('
+  let cmake_indent_begin_regex = '^\s*\(IF\|MACRO\|FOREACH\|ELSE\|WHILE\)\s*('
+  let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\|ENDWHILE\)\s*('
 
   " Add
   if previous_line =~? cmake_indent_comment_line " Handle comments
--- a/runtime/indent/config.vim
+++ b/runtime/indent/config.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         Autoconf configure.{ac,in} file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2006-02-11
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 " TODO:             how about nested [()]'s in one line
 "                   what's wrong with '\\\@!'?
 
--- a/runtime/indent/css.vim
+++ b/runtime/indent/css.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:	    CSS
-" Maintainer:	    Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:	    Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
--- a/runtime/indent/dictconf.vim
+++ b/runtime/indent/dictconf.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         dict(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
--- a/runtime/indent/dictdconf.vim
+++ b/runtime/indent/dictdconf.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         dictd(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-01
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
--- a/runtime/indent/docbk.vim
+++ b/runtime/indent/docbk.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         DocBook Documentation Format
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
--- a/runtime/indent/eterm.vim
+++ b/runtime/indent/eterm.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         Eterm configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
--- a/runtime/indent/ld.vim
+++ b/runtime/indent/ld.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         ld(1) script
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
--- a/runtime/indent/make.vim
+++ b/runtime/indent/make.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         Makefile
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
@@ -15,18 +15,9 @@ if exists("*GetMakeIndent")
   finish
 endif
 
-function s:GetStringWidth(line, str)
-  let end = matchend(a:line, a:str)
-  let width = 0
-  for c in a:line
-    if c == "\t"
-      let width += &ts - (width % &ts)
-    else
-      let width += 1
-    endif
-  endfor
-  return width
-endfunction
+let s:rule_rx = '^[^ \t#:][^#:]*:\{1,2}\%([^=:]\|$\)'
+let s:continuation_rx = '\\$'
+let s:assignment_rx = '^\s*\h\w*\s*+\==\s*\zs.*\\$'
 
 function GetMakeIndent()
   let lnum = v:lnum - 1
@@ -35,11 +26,27 @@ function GetMakeIndent()
   endif
 
   let line = getline(lnum)
-  if line == ''
-    return 0
-  elseif line =~ '^[^ \t#:][^#:]*:\{1,2}\%([^=:]\|$\)'
-    return indent(lnum) + &ts
-  elseif line =~ '^\s*\h\w*\s*+\==\s*.\+\\$'
-    return s:GetStringWidth(line, '+\==\s*')
+  let ind = indent(lnum)
+
+  if line =~ s:rule_rx
+    return ind + &ts
+  elseif line =~ s:continuation_rx
+    while lnum > 0 && line =~ s:continuation_rx && line !~ s:assignment_rx
+      let lnum -= 1
+      let line = getline(lnum)
+    endwhile
+    if line =~ s:assignment_rx
+      call cursor(lnum, 1)
+      return search(s:assignment_rx, 'W') != 0 ? virtcol('.') - 1 : 0
+    else
+      return 0
+    endif
+  else
+    let pnum = lnum - 1
+    if pnum == 0
+      return ind
+    endif
+
+    return getline(pnum) =~ s:continuation_rx ? 0 : ind
   endif
 endfunction
--- a/runtime/indent/python.vim
+++ b/runtime/indent/python.vim
@@ -2,7 +2,7 @@
 " Language:		Python
 " Maintainer:		Bram Moolenaar <Bram@vim.org>
 " Original Author:	David Bustos <bustos@caltech.edu>
-" Last Change:		2006 Mar 26
+" Last Change:		2006 Apr 21
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
--- a/runtime/indent/readline.vim
+++ b/runtime/indent/readline.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         readline configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
--- a/runtime/indent/rst.vim
+++ b/runtime/indent/rst.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         reStructuredText Documentation Format
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
--- a/runtime/indent/sh.vim
+++ b/runtime/indent/sh.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         Shell Script
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
--- a/runtime/indent/sml.vim
+++ b/runtime/indent/sml.vim
@@ -130,14 +130,16 @@ function! GetSMLIndent()
 	elseif line =~ '^\s*else\>'
 	  	if lline !~ '^\s*\(if\|else\|then\)\>'
 				return s:FindPair('\<if\>', '', '\<then\>')
-	  	else return ind
+	  	else
+		  return ind
 		endif
 
 	" Match 'then' with 'if'
 	elseif line =~ '^\s*then\>'
   	if lline !~ '^\s*\(if\|else\|then\)\>'
 		  return s:FindPair('\<if\>', '', '\<then\>')
-	else return ind
+	else
+	  return ind
 	endif
 
 	" Indent if current line begins with ']'
--- a/runtime/indent/tcl.vim
+++ b/runtime/indent/tcl.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:	    Tcl
-" Maintainer:	    Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:	    Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
--- a/runtime/indent/xf86conf.vim
+++ b/runtime/indent/xf86conf.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         XFree86 Configuration File
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
--- a/runtime/indent/xinetd.vim
+++ b/runtime/indent/xinetd.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         xinetd.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-28
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
--- a/runtime/indent/yacc.vim
+++ b/runtime/indent/yacc.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         YACC input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
--- a/runtime/indent/zsh.vim
+++ b/runtime/indent/zsh.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:         Zsh Shell Script
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:did_indent")
   finish
--- a/runtime/keymap/persian-iranian_utf-8.vim
+++ b/runtime/keymap/persian-iranian_utf-8.vim
@@ -1,7 +1,7 @@
 " Vim Keymap file for Persian Standard Keyboard Layout
 " Maintainers: Behnam 'ZWNJ' Esfahbod <behnam@zwnj.org>,
 "	       Amir Hedayaty <hedayaty@gmail.com>
-" Last Change: 2005 Nov 30
+" Last Change: 2006 Apr 21
 
 scriptencoding utf-8
 
@@ -58,7 +58,7 @@ m	倬
 ,	賵
 .	.
 /	/
-\	\
+\\	\\
 
 ~	梅
 !	!
--- a/runtime/lang/menu_chinese_gb.936.vim
+++ b/runtime/lang/menu_chinese_gb.936.vim
@@ -52,7 +52,7 @@ menutrans &Paste<Tab>"+gP		粘贴(&P)<Tab>"+gP
 menutrans Put\ &Before<Tab>[p		粘贴到光标前(&B)<Tab>[p
 menutrans Put\ &After<Tab>]p		粘贴到光标后(&A)<Tab>]p
 menutrans &Delete<Tab>x			删除(&D)<Tab>x
-menutrans &Select\ all<Tab>ggVG		全选(&S)<Tab>ggVG
+menutrans &Select\ All<Tab>ggVG		全选(&S)<Tab>ggVG
 menutrans &Find\.\.\.			查找(&F)\.\.\.
 menutrans Find\ and\ Rep&lace\.\.\.	查找和替换(&L)\.\.\.
 menutrans &Find<Tab>/			查找(&F)<Tab>/
--- a/runtime/lang/menu_zh_cn.gb2312.vim
+++ b/runtime/lang/menu_zh_cn.gb2312.vim
@@ -52,7 +52,7 @@ menutrans &Paste<Tab>"+gP		粘贴(&P)<Tab>"+gP
 menutrans Put\ &Before<Tab>[p		粘贴到光标前(&B)<Tab>[p
 menutrans Put\ &After<Tab>]p		粘贴到光标后(&A)<Tab>]p
 menutrans &Delete<Tab>x			删除(&D)<Tab>x
-menutrans &Select\ all<Tab>ggVG		全选(&S)<Tab>ggVG
+menutrans &Select\ All<Tab>ggVG		全选(&S)<Tab>ggVG
 menutrans &Find\.\.\.			查找(&F)\.\.\.
 menutrans Find\ and\ Rep&lace\.\.\.	查找和替换(&L)\.\.\.
 menutrans &Find<Tab>/			查找(&F)<Tab>/
--- a/runtime/lang/menu_zh_cn.utf-8.vim
+++ b/runtime/lang/menu_zh_cn.utf-8.vim
@@ -52,7 +52,7 @@ menutrans &Paste<Tab>"+gP		绮樿创(&P)<Tab>"+gP
 menutrans Put\ &Before<Tab>[p		绮樿创鍒板厜鏍囧墠(&B)<Tab>[p
 menutrans Put\ &After<Tab>]p		绮樿创鍒板厜鏍囧悗(&A)<Tab>]p
 menutrans &Delete<Tab>x			鍒犻櫎(&D)<Tab>x
-menutrans &Select\ all<Tab>ggVG		鍏ㄩ(&S)<Tab>ggVG
+menutrans &Select\ All<Tab>ggVG		鍏ㄩ(&S)<Tab>ggVG
 menutrans &Find\.\.\.			鏌ユ壘(&F)\.\.\.
 menutrans Find\ and\ Rep&lace\.\.\.	鏌ユ壘鍜屾浛鎹(&L)\.\.\.
 menutrans &Find<Tab>/			鏌ユ壘(&F)<Tab>/
--- a/runtime/makemenu.vim
+++ b/runtime/makemenu.vim
@@ -1,6 +1,6 @@
 " Script to define the syntax menu in synmenu.vim
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Apr 18
+" Last Change:	2006 Apr 21
 
 " This is used by "make menu" in the src directory.
 edit <sfile>:p:h/synmenu.vim
@@ -116,6 +116,7 @@ SynMenu C.CH\ script:ch
 SynMenu C.ChangeLog:changelog
 SynMenu C.Cheetah\ template:cheetah
 SynMenu C.CHILL:chill
+SynMenu C.ChordPro:chordpro
 SynMenu C.Clean:clean
 SynMenu C.Clever:cl
 SynMenu C.Clipper:clipper
--- a/runtime/optwin.vim
+++ b/runtime/optwin.vim
@@ -1,7 +1,7 @@
 " These commands create the option window.
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Mar 18
+" Last Change:	2006 Apr 21
 
 " If there already is an option window, jump to that one.
 if bufwinnr("option-window") > 0
@@ -481,6 +481,8 @@ call append("$", "tabline\tcustom tab pa
 call <SID>OptionG("tal", &tal)
 call append("$", "guitablabel\tcustom tab page label for the GUI")
 call <SID>OptionG("gtl", &gtl)
+call append("$", "guitabtooltip\tcustom tab page tooltip for the GUI")
+call <SID>OptionG("gtt", &gtt)
 
 
 call <SID>Header("terminal")
--- a/runtime/spell/es/es_ES.diff
+++ b/runtime/spell/es/es_ES.diff
@@ -1,8 +1,8 @@
-*** es_ES.orig.aff	Thu Aug 25 19:19:44 2005
---- es_ES.aff	Thu Aug 25 19:19:44 2005
+*** es_ES.orig.aff	Fri Apr 21 10:57:12 2006
+--- es_ES.aff	Fri Apr 21 11:10:16 2006
 ***************
-*** 3,4 ****
---- 3,22 ----
+*** 4,5 ****
+--- 4,12 ----
   
 + FOL  哙徕沅彐玷殛腱眍镳耱篝貊
 + LOW  哙徕沅彐玷殛腱眍镳耱篝貊
@@ -11,77 +11,28 @@
 + SOFOFROM abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ噌忏溴骁栝觌祉铒瘃蝮趱鲽懒旅呐魄壬仕掏蜗醒矣哉重仝圮蒉
 + SOFOTO   ebctefghejklnnepkrstevvkesebctefghejklnnepkrstevvkeseeeeeeeceeeeeeeedneeeeeeeeeeepseeeeeeeeceeeeeeeedneeeeeeeeeeep?
 + 
-+ MAP 9
-+ MAP a噌忏溴
-+ MAP e栝觌
-+ MAP i祉铒
-+ MAP o蝮趱
-+ MAP u
-+ MAP n
-+ MAP c
-+ MAP y
-+ MAP s
-+ 
-  SFX J Y 12
-*** es_ES.orig.dic	Thu Aug 25 19:19:44 2005
---- es_ES.dic	Thu Apr 20 20:30:24 2006
-***************
-*** 485,487 ****
-  acerc髎e
-- acerc髎e
-  acer韆/S
---- 485,486 ----
-***************
-*** 708,710 ****
-  acr韙icamente
-- acr韙ico
-  acr韙ico/PS
---- 707,708 ----
-***************
-*** 948,950 ****
-  ad髇de
-- ad髇de
-  adondequiera
---- 946,947 ----
+  REP 20
 ***************
-*** 1435,1437 ****
-  ah
-- ah
-  ahajar/PSTVWX
---- 1432,1433 ----
-***************
-*** 3887,3889 ****
-  apostolado
-- apostolado
-  apostolados
---- 3883,3884 ----
-***************
-*** 12926,12928 ****
-  dame
-- dame
-  d醡elo
---- 12921,12922 ----
-***************
-*** 15561,15563 ****
-  dime
-- dime
-  d韒elo
---- 15555,15556 ----
-***************
-*** 25133,25135 ****
-  inadaptado/PS
-- inadecuaci髇
-  inadecuaci髇/S
---- 25126,25127 ----
-***************
-*** 28008,28010 ****
-  l韇ranos
-- l韇ranos
-  libranza/S
---- 28000,28001 ----
-***************
-*** 48480,48481 ****
---- 48471,48473 ----
-  xilotila/S
-+ y
-  ya
+*** 26,33 ****
+  
+! MAP 5
+! MAP a酇
+! MAP e镋
+! MAP i鞩
+! MAP o驩
+! MAP uU谲
+  PFX a Y 2
+--- 33,45 ----
+  
+! MAP 9
+! MAP a噌忏溴
+! MAP e栝觌
+! MAP i祉铒
+! MAP o蝮趱
+! MAP u
+! MAP n
+! MAP c
+! MAP y
+! MAP s
+! 
+  PFX a Y 2
--- a/runtime/spell/es/main.aap
+++ b/runtime/spell/es/main.aap
@@ -48,7 +48,7 @@ es_ES.aff es_ES.dic: {buildcheck=}
         :assertpkg unzip patch
         :fetch $ZIPFILE_ES
         :sys $UNZIP $ZIPFILE_ES
-        :delete add-to--dictionary.lst.example
+        :delete Changelog_es_ES.txt
         :delete $ZIPFILE_ES
         @if not os.path.exists('es_ES.orig.aff'):
             :copy es_ES.aff es_ES.orig.aff
--- a/runtime/syntax/a2ps.vim
+++ b/runtime/syntax/a2ps.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         a2ps(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/alsaconf.vim
+++ b/runtime/syntax/alsaconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         alsaconf(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/arch.vim
+++ b/runtime/syntax/arch.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         GNU Arch inventory file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/bdf.vim
+++ b/runtime/syntax/bdf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         BDF font definition
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-27
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/calendar.vim
+++ b/runtime/syntax/calendar.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         calendar(1) input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/chordpro.vim
@@ -0,0 +1,67 @@
+" Vim syntax file
+" Language:     ChordPro (v. 3.6.2)
+" Maintainer:   Niels Bo Andersen <niels@niboan.dk>
+" Last Change:	2006 Apr 20 
+" Remark:       Requires VIM version 6.00 or greater
+
+" Quit when a syntax file was already loaded
+if exists("b:current_syntax")
+  finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+setlocal iskeyword+=-
+
+syn case ignore
+
+syn keyword chordproDirective contained
+  \ start_of_chorus soc end_of_chorus eoc new_song ns no_grid ng grid g
+  \ new_page np new_physical_page npp start_of_tab sot end_of_tab eot
+  \ column_break colb
+
+syn keyword chordproDirWithOpt contained
+  \ comment c comment_italic ci comment_box cb title t subtitle st define
+  \ textfont textsize chordfont chordsize columns col
+
+syn keyword chordproDefineKeyword contained base-fret frets
+
+syn match chordproDirMatch /{\w*}/ contains=chordproDirective contained transparent
+syn match chordproDirOptMatch /{\w*:/ contains=chordproDirWithOpt contained transparent
+
+" Workaround for a bug in VIM 6, which causes incorrect coloring of the first {
+if version < 700
+  syn region chordproOptions start=/{\w*:/ end=/}/ contains=chordproDirOptMatch contained transparent
+  syn region chordproOptions start=/{define:/ end=/}/ contains=chordproDirOptMatch, chordproDefineKeyword contained transparent
+else
+  syn region chordproOptions start=/{\w*:/hs=e+1 end=/}/he=s-1 contains=chordproDirOptMatch contained
+  syn region chordproOptions start=/{define:/hs=e+1 end=/}/he=s-1 contains=chordproDirOptMatch, chordproDefineKeyword contained
+endif
+
+syn region chordproTag start=/{/ end=/}/ contains=chordproDirMatch,chordproOptions oneline
+
+syn region chordproChord matchgroup=chordproBracket start=/\[/ end=/]/ oneline
+
+syn region chordproTab start=/{start_of_tab}\|{sot}/hs=e+1 end=/{end_of_tab}\|{eot}/he=s-1 contains=chordproTag,chordproComment keepend
+
+syn region chordproChorus start=/{start_of_chorus}\|{soc}/hs=e+1 end=/{end_of_chorus}\|{eoc}/he=s-1 contains=chordproTag,chordproChord,chordproComment keepend
+
+syn match chordproComment /^#.*/
+
+" Define the default highlighting.
+hi def link chordproDirective Statement
+hi def link chordproDirWithOpt Statement
+hi def link chordproOptions Special
+hi def link chordproChord Type
+hi def link chordproTag Constant
+hi def link chordproTab PreProc
+hi def link chordproComment Comment
+hi def link chordproBracket Constant
+hi def link chordproDefineKeyword Type
+hi def chordproChorus term=bold cterm=bold gui=bold
+
+let b:current_syntax = "chordpro"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
--- a/runtime/syntax/cmake.vim
+++ b/runtime/syntax/cmake.vim
@@ -49,7 +49,7 @@ syn region cmakeArguments start=/\s*(/ e
 syn keyword cmakeDeprecated ABSTRACT_FILES BUILD_NAME SOURCE_FILES SOURCE_FILES_REMOVE VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WRAP_EXCLUDE_FILES
            \ nextgroup=cmakeArgument
 syn keyword cmakeStatement
-           \ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDIF ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE
+           \ ADD_CUSTOM_COMMAND ADD_CUSTOM_TARGET ADD_DEFINITIONS ADD_DEPENDENCIES ADD_EXECUTABLE ADD_LIBRARY ADD_SUBDIRECTORY ADD_TEST AUX_SOURCE_DIRECTORY BUILD_COMMAND BUILD_NAME CMAKE_MINIMUM_REQUIRED CONFIGURE_FILE CREATE_TEST_SOURCELIST ELSE ENABLE_LANGUAGE ENABLE_TESTING ENDFOREACH ENDIF ENDWHILE EXEC_PROGRAM EXECUTE_PROCESS EXPORT_LIBRARY_DEPENDENCIES FILE FIND_FILE FIND_LIBRARY FIND_PACKAGE FIND_PATH FIND_PROGRAM FLTK_WRAP_UI FOREACH GET_CMAKE_PROPERTY GET_DIRECTORY_PROPERTY GET_FILENAME_COMPONENT GET_SOURCE_FILE_PROPERTY GET_TARGET_PROPERTY GET_TEST_PROPERTY IF INCLUDE INCLUDE_DIRECTORIES INCLUDE_EXTERNAL_MSPROJECT INCLUDE_REGULAR_EXPRESSION INSTALL INSTALL_FILES INSTALL_PROGRAMS INSTALL_TARGETS LINK_DIRECTORIES LINK_LIBRARIES LIST LOAD_CACHE LOAD_COMMAND MACRO MAKE_DIRECTORY MARK_AS_ADVANCED MATH MESSAGE OPTION OUTPUT_REQUIRED_FILES PROJECT QT_WRAP_CPP QT_WRAP_UI REMOVE REMOVE_DEFINITIONS SEPARATE_ARGUMENTS SET SET_DIRECTORY_PROPERTIES SET_SOURCE_FILES_PROPERTIES SET_TARGET_PROPERTIES SET_TESTS_PROPERTIES SITE_NAME SOURCE_GROUP STRING SUBDIR_DEPENDS SUBDIRS TARGET_LINK_LIBRARIES TRY_COMPILE TRY_RUN USE_MANGLED_MESA UTILITY_SOURCE VARIABLE_REQUIRES VTK_MAKE_INSTANTIATOR VTK_WRAP_JAVA VTK_WRAP_PYTHON VTK_WRAP_TCL WHILE WRITE_FILE ENDMACRO
            \ nextgroup=cmakeArgumnts
 
 "syn match cmakeMacro /^\s*[A-Z_]\+/ nextgroup=cmakeArgumnts
--- a/runtime/syntax/context.vim
+++ b/runtime/syntax/context.vim
@@ -1,30 +1,24 @@
 " Vim syntax file
 " Language:         ConTeXt typesetting engine
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
 endif
 
+runtime! syntax/plaintex.vim
+
 let s:cpo_save = &cpo
 set cpo&vim
 
-syn keyword contextTodo       TODO FIXME XXX NOTE
-
-syn region  contextComment    display oneline start='%' end='$'
-                              \ contains=contextTodo
-syn region  contextComment    display oneline start='^\s*%[CDM]' end='$'
-                              \ contains=ALL
-
-syn match   contextStatement  display '\\[a-zA-Z@]\+' contains=@NoSpell
+if !exists('g:context_include')
+  let g:context_include = ['mp', 'javascript', 'xml']
+endif
 
 syn match   contextBlockDelim display '\\\%(start\|stop\)\a\+'
                               \ contains=@NoSpell
 
-syn match   contextDelimiter  '[][{}]'
-
-syn match   contextEscaped    display '\\\_[\{}|&%$ ]'
 syn region  contextEscaped    display matchgroup=contextPreProc
                               \ start='\\type\z(\A\)' end='\z1'
 syn region  contextEscaped    display matchgroup=contextPreProc
@@ -39,34 +33,52 @@ syn region  contextEscaped    display ma
 syn region  contextEscaped    display matchgroup=contextPreProc
                               \ start='\\Typed\h\+{' end='}'
 
-"syn region  contextMath       matchgroup=contextMath start='\$' end='\$'
-"                              \ contains=contextStatement
-
-syn match   contextBuiltin    '\\\%(newif\|def\|gdef\|global\|let\|glet\|bgroup\)\>'
-                              \ contains=@NoSpell
-syn match   contextBuiltin    '\\\%(begingroup\|egroup\|endgroup\|long\|catcode\)\>'
-                              \ contains=@NoSpell
-syn match   contextBuiltin    '\\\%(unprotect\|unexpanded\|if\|else\|fi\|ifx\)\>'
-                              \ contains=@NoSpell
-syn match   contextBuiltin    '\\\%(futurelet\|protect\)\>' contains=@NoSpell
-syn match   contextBuiltin    '\\\%([lr]q\)\>' contains=@NoSpell
+syn match   contextBuiltin    display contains=@NoSpell
+      \ '\\\%(unprotect\|protect\|unexpanded\)' 
 
 syn match   contextPreProc    '^\s*\\\%(start\|stop\)\=\%(component\|environment\|project\|product\).*$'
                               \ contains=@NoSpell
-syn match   contextPreProc    '^\s*\\input\s\+.*$' contains=@NoSpell
+
+if index(g:context_include, 'mp') != -1
+  syn include @mpTop          syntax/mp.vim
+  unlet b:current_syntax
+
+  syn region  contextMPGraphic  transparent matchgroup=contextBlockDelim
+                                \ start='\\start\z(\a*MPgraphic\|MP\%(page\|inclusions\|run\)\).*'
+                                \ end='\\stop\z1'
+                                \ contains=@mpTop
+endif
+
+" TODO: also need to implement this for \\typeC or something along those
+" lines.
+function! s:include_syntax(name, group)
+  if index(g:context_include, a:name) != -1
+    execute 'syn include @' . a:name . 'Top' 'syntax/' . a:name . '.vim'
+    unlet b:current_syntax
+    execute 'syn region context' . a:group . 'Code'
+          \ 'transparent matchgroup=contextBlockDelim'
+          \ 'start=+\\start' . a:group . '+ end=+\\stop' . a:group . '+'
+          \ 'contains=@' . a:name . 'Top'
+  endif
+endfunction
+
+call s:include_syntax('c', 'C')
+call s:include_syntax('ruby', 'Ruby')
+call s:include_syntax('javascript', 'JS')
+call s:include_syntax('xml', 'XML')
 
 syn match   contextSectioning '\\chapter\>' contains=@NoSpell
 syn match   contextSectioning '\\\%(sub\)*section\>' contains=@NoSpell
 
 syn match   contextSpecial    '\\crlf\>\|\\par\>\|-\{2,3}\||[<>/]\=|'
                               \ contains=@NoSpell
-syn match   contextSpecial    '\\[`'"]'
+syn match   contextSpecial    /\\[`'"]/
 syn match   contextSpecial    +\\char\%(\d\{1,3}\|'\o\{1,3}\|"\x\{1,2}\)\>+
                               \ contains=@NoSpell
 syn match   contextSpecial    '\^\^.'
 syn match   contextSpecial    '`\%(\\.\|\^\^.\|.\)'
 
-syn match   contextStyle      '\\\%(em\|tt\|rm\|ss\|hw\|cg\)\>'
+syn match   contextStyle      '\\\%(em\|ss\|hw\|cg\|mf\)\>'
                               \ contains=@NoSpell
 syn match   contextFont       '\\\%(CAP\|Cap\|cap\|Caps\|kap\|nocap\)\>'
                               \ contains=@NoSpell
@@ -74,29 +86,18 @@ syn match   contextFont       '\\\%(Word
                               \ contains=@NoSpell
 syn match   contextFont       '\\\%(vi\{1,3}\|ix\|xi\{0,2}\)\>'
                               \ contains=@NoSpell
-syn match   contextFont       '\\\%(tf[abcdx]\|bfx\|[is]lx\)\>'
-                              \ contains=@NoSpell
-syn match   contextFont       '\\\%(b[fsi]\|s[cl]\|it\|os\|mf\)\>'
+syn match   contextFont       '\\\%(tf\|b[si]\|s[cl]\|os\)\%(xx\|[xabcd]\)\=\>'
                               \ contains=@NoSpell
 
-syn match   contextDimension  '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|mm\|dd\|sp\|e[mx]\)\>'
-                              \ contains=@NoSpell
-
-hi def link contextTodo       Todo
-hi def link contextComment    Comment
-hi def link contextEscaped    Special
-hi def link contextStatement  Identifier
-hi def link contextMath       String
 hi def link contextBlockDelim Keyword
 hi def link contextBuiltin    Keyword
 hi def link contextDelimiter  Delimiter
 hi def link contextPreProc    PreProc
 hi def link contextSectioning PreProc
 hi def link contextSpecial    Special
+hi def link contextType       Type
 hi def link contextStyle      contextType
 hi def link contextFont       contextType
-hi def link contextType       Type
-hi def link contextDimension  Number
 
 let b:current_syntax = "context"
 
--- a/runtime/syntax/crm.vim
+++ b/runtime/syntax/crm.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         CRM114
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/cvsrc.vim
+++ b/runtime/syntax/cvsrc.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         cvs(1) RC file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/dictconf.vim
+++ b/runtime/syntax/dictconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         dict(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/dictdconf.vim
+++ b/runtime/syntax/dictdconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         dictd(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-01
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/dircolors.vim
+++ b/runtime/syntax/dircolors.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         dircolors(1) input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-27
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/elinks.vim
+++ b/runtime/syntax/elinks.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         elinks(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/esterel.vim
+++ b/runtime/syntax/esterel.vim
@@ -32,7 +32,7 @@ syn keyword esterelStatement	every do lo
 syn keyword esterelStatement	emit present await
 syn keyword esterelStatement	if then else
 syn keyword esterelBoolean		and or not xor xnor nor nand
-syn keyword esterelOperator		\[ \] 
+"syn keyword esterelOperator		\[ \] 
 syn keyword esterelPippo		pippo
 " Esterel Types
 syn keyword esterelType integer float bolean
--- a/runtime/syntax/eterm.vim
+++ b/runtime/syntax/eterm.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         eterm(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-21
 
 if exists("b:current_syntax")
   finish
@@ -61,7 +61,7 @@ syn match   etermColorNumber      contai
 syn match   etermColorSpec        contained display '\S\+'
 
 syn region  etermColorContext     fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+color'
+                                  \ start='^\s*begin\s\+color\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermColorOptions
 
@@ -99,7 +99,7 @@ syn keyword etermAttrOptions      contai
                                   \ nextgroup=etermNumber skipwhite
 
 syn region  etermAttrContext      fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+attributes\'
+                                  \ start='^\s*begin\s\+attributes\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermAttrOptions
 
@@ -111,7 +111,7 @@ syn keyword etermIClassOptions    contai
                                   \ skipwhite
 
 syn region  etermIClassContext    fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+imageclasses'
+                                  \ start='^\s*begin\s\+imageclasses\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermImageContext,
                                   \ etermIClassOptions
@@ -176,7 +176,7 @@ syn region  etermImageOptions     contai
 
 syn region  etermImageContext     contained fold transparent
                                   \ matchgroup=etermContext
-                                  \ start='^\s*begin\s\+image'
+                                  \ start='^\s*begin\s\+image\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermImageOptions
 
@@ -193,7 +193,7 @@ syn keyword etermMenuItemOptions  contai
 
 syn region  etermMenuItemContext  contained fold transparent
                                   \ matchgroup=etermContext
-                                  \ start='^\s*begin\s\+menuitem'
+                                  \ start='^\s*begin\s\+menuitem\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermMenuItemOptions
 
@@ -206,7 +206,7 @@ syn keyword etermMenuOptions      contai
 syn match   etermMenuOptions      contained display '\<sep\>\|-'
 
 syn region  etermMenuContext      fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+menu'
+                                  \ start='^\s*begin\s\+menu\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermMenuOptions,
                                   \ etermMenuItemContext
@@ -227,7 +227,7 @@ syn keyword etermBindType         contai
 syn match   etermBindParam        contained display '\S\+'
 
 syn region  etermActionsContext   fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+actions'
+                                  \ start='^\s*begin\s\+actions\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermActionsOptions
 
@@ -256,7 +256,7 @@ syn keyword etermButtonAction     contai
                                   \ skipwhite
 
 syn region  etermButtonContext    fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+button_bar'
+                                  \ start='^\s*begin\s\+button_bar\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermButtonOptions
 
@@ -270,8 +270,8 @@ syn keyword etermMultiOptions     contai
                                   \ skipwhite
 
 syn region  etermMultiContext     fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+multichar'
-                                  \ end="^\s*end\>'
+                                  \ start='^\s*begin\s\+multichar\>'
+                                  \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermMultiOptions
 
 syn keyword etermXimOptions       contained input_method
@@ -285,8 +285,8 @@ syn keyword etermXimOptions       contai
 syn keyword etermPreeditType      contained OverTheSpot OffTheSpot Root
 
 syn region  etermXimContext       fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+xim'
-                                  \ end="^\s*end\>'
+                                  \ start='^\s*begin\s\+xim\>'
+                                  \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermXimOptions
 
 syn keyword etermTogOptions       contained map_alert visual_bell login_shell
@@ -301,7 +301,7 @@ syn keyword etermTogOptions       contai
                                   \ skipwhite
 
 syn region  etermTogContext       fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+toggles'
+                                  \ start='^\s*begin\s\+toggles\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermTogOptions
 
@@ -318,7 +318,7 @@ syn keyword etermKeyboardOptions  contai
                                   \ nextgroup=etermBoolean skipwhite
 
 syn region  etermKeyboardContext  fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+keyboard'
+                                  \ start='^\s*begin\s\+keyboard\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermKeyboardOptions
 
@@ -330,7 +330,7 @@ syn keyword etermMiscOptions      contai
                                   \ border_width line_space
 
 syn region  etermMiscContext      fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+misc'
+                                  \ start='^\s*begin\s\+misc\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermMiscOptions
 
@@ -351,7 +351,7 @@ syn keyword etermEScreenOptions   contai
                                   \ skipwhite
 
 syn region  etermEScreenContext   fold transparent matchgroup=etermContext
-                                  \ start='^\s*begin\s\+escreen'
+                                  \ start='^\s*begin\s\+escreen\>'
                                   \ end='^\s*end\>'
                                   \ contains=@etermGeneral,etermEScreenOptions
 
--- a/runtime/syntax/fetchmail.vim
+++ b/runtime/syntax/fetchmail.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         fetchmail(1) RC File
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2006-01-25
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/gpg.vim
+++ b/runtime/syntax/gpg.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         gpg(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/group.vim
+++ b/runtime/syntax/group.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         group(5) user group file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
@@ -25,7 +25,7 @@ syn match   groupShadow         containe
 
 syn match   groupGIDColon       contained display ':' nextgroup=groupGID
 
-syn match   groupGID            contained display '\d\+'
+syn match   groupGID            contained display '\d*'
                                 \ nextgroup=groupUserListColon
 
 syn match   groupUserListColon  contained display ':' nextgroup=groupUserList
--- a/runtime/syntax/grub.vim
+++ b/runtime/syntax/grub.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         grub(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/indent.vim
+++ b/runtime/syntax/indent.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         indent(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 "   indent_is_bsd:  If exists, will change somewhat to match BSD implementation
 "
 " TODO: is the deny-all (a la lilo.vim nice or no?)...
@@ -15,7 +15,7 @@ endif
 let s:cpo_save = &cpo
 set cpo&vim
 
-setlocal iskeyword=@,48-57,-,_
+setlocal iskeyword=@,48-57,-,+,_
 
 syn match   indentError   '\S\+'
 
--- a/runtime/syntax/ld.vim
+++ b/runtime/syntax/ld.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         ld(1) script
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/lftp.vim
+++ b/runtime/syntax/lftp.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         lftp(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/libao.vim
+++ b/runtime/syntax/libao.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         libao.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/limits.vim
+++ b/runtime/syntax/limits.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         limits(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/loginaccess.vim
+++ b/runtime/syntax/loginaccess.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         login.access(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/logindefs.vim
+++ b/runtime/syntax/logindefs.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         login.defs(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/manconf.vim
+++ b/runtime/syntax/manconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         man.conf(5) - man configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/modconf.vim
+++ b/runtime/syntax/modconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         modules.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/mplayerconf.vim
+++ b/runtime/syntax/mplayerconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         mplayer(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/nanorc.vim
+++ b/runtime/syntax/nanorc.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         nanorc(5) - GNU nano configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/netrc.vim
+++ b/runtime/syntax/netrc.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         netrc(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-27
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/pamconf.vim
+++ b/runtime/syntax/pamconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         pam(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 
 if exists("b:current_syntax")
--- a/runtime/syntax/passwd.vim
+++ b/runtime/syntax/passwd.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         passwd(5) password file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
@@ -12,7 +12,7 @@ set cpo&vim
 
 syn match   passwdBegin         display '^' nextgroup=passwdAccount
 
-syn match   passwdAccount       contained display '[a-z_][a-z0-9_-]*'
+syn match   passwdAccount       contained display '[+-]\=[a-z_][a-z0-9_-]*'
                                 \ nextgroup=passwdPasswordColon
 
 syn match   passwdPasswordColon contained display ':'
@@ -26,12 +26,12 @@ syn match   passwdShadow        containe
 
 syn match   passwdUIDColon      contained display ':' nextgroup=passwdUID
 
-syn match   passwdUID           contained display '\d\+'
+syn match   passwdUID           contained display '\d*'
                                 \ nextgroup=passwdGIDColon
 
 syn match   passwdGIDColon      contained display ':' nextgroup=passwdGID
 
-syn match   passwdGID           contained display '\d\+'
+syn match   passwdGID           contained display '\d*'
                                 \ nextgroup=passwdGecosColon
 
 syn match   passwdGecosColon    contained display ':' nextgroup=passwdGecos
@@ -47,7 +47,7 @@ syn match   passwdDir           containe
 syn match   passwdShellColon    contained display ':'
                                 \ nextgroup=passwdShell
 
-syn match   passwdShell         contained display '[/*][^:]*'
+syn match   passwdShell         contained display '.*'
 
 hi def link passwdColon         Normal
 hi def link passwdAccount       Identifier
--- a/runtime/syntax/pinfo.vim
+++ b/runtime/syntax/pinfo.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         pinfo(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/protocols.vim
+++ b/runtime/syntax/protocols.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         protocols(5) - Internet protocols definition file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/quake.vim
+++ b/runtime/syntax/quake.vim
@@ -1,9 +1,11 @@
 " Vim syntax file
 " Language:         Quake[1-3] configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
+"               quake_is_quake1 - the syntax is to be used for quake1 configs
 "               quake_is_quake2 - the syntax is to be used for quake2 configs
 "               quake_is_quake3 - the syntax is to be used for quake3 configs
+" Credits:          Tomasz Kalkosinski wrote the original quake3Colors stuff
 
 if exists("b:current_syntax")
   finish
@@ -20,20 +22,24 @@ syn region  quakeComment      display on
                               \ keepend contains=quakeTodo,@Spell
 
 syn region  quakeString       display oneline start=+"+ skip=+\\\\\|\\"+
-                              \ end=+"\|$+ contains=quakeNumbers,@quakeCommands
+                              \ end=+"\|$+ contains=quakeNumbers,
+                              \ @quakeCommands,@quake3Colors
 
 syn case ignore
 
-syn match quakeNumbers        display transparent '\<\d\|\.\d'
+syn match quakeNumbers        display transparent '\<-\=\d\|\.\d'
                               \ contains=quakeNumber,quakeFloat,
                               \ quakeOctalError,quakeOctal
 syn match quakeNumber         contained display '\d\+\>'
-syn match quakeOctal          contained display '0\o\+\>'
-                              \ contains=quakeOctalZero
-syn match quakeOctalZero      contained display '\<0'
 syn match quakeFloat          contained display '\d\+\.\d*'
 syn match quakeFloat          contained display '\.\d\+\>'
-syn match quakeOctalError     contained display '0\o*[89]\d*'
+
+if exists("quake_is_quake1") || exists("quake_is_quake2")
+  syn match quakeOctal        contained display '0\o\+\>'
+                              \ contains=quakeOctalZero
+  syn match quakeOctalZero    contained display '\<0'
+  syn match quakeOctalError   contained display '0\o*[89]\d*'
+endif
 
 syn cluster quakeCommands     contains=quakeCommand,quake1Command,
                               \ quake12Command,Quake2Command,Quake23Command,
@@ -80,8 +86,6 @@ if exists("quake_is_quake2")
   syn keyword quake2Command   weaplast
 endif
 
-syn case match
-
 if exists("quake_is_quake2") || exists("quake_is_quake3")
   syn keyword quake23Command  imagelist modellist path z_stats
 endif
@@ -112,6 +116,24 @@ if exists("quake_is_quake3")
   syn match   quake3Command   display "\<[+-]button\(\d\|1[0-4]\)\>"
 endif
 
+if exists("quake_is_quake3")
+  syn cluster quake3Colors    contains=quake3Red,quake3Green,quake3Yellow,
+                              \ quake3Blue,quake3Cyan,quake3Purple,quake3White,
+                              \ quake3Orange,quake3Grey,quake3Black,quake3Shadow
+
+  syn region quake3Red        contained start=+\^1+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3Green      contained start=+\^2+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3Yellow     contained start=+\^3+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3Blue       contained start=+\^4+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3Cyan       contained start=+\^5+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3Purple     contained start=+\^6+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3White      contained start=+\^7+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3Orange     contained start=+\^8+hs=e+1 end=+[$^\"\n]+he=e-1
+  syn region quake3Grey       contained start=+\^9+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3Black      contained start=+\^0+hs=e+1 end=+[$^"\n]+he=e-1
+  syn region quake3Shadow     contained start=+\^[Xx]+hs=e+1 end=+[$^"\n]+he=e-1
+endif
+
 hi def link quakeComment      Comment
 hi def link quakeTodo         Todo
 hi def link quakeString       String
@@ -128,6 +150,20 @@ hi def link quake23Command    quakeComma
 hi def link quake3Command     quakeCommands
 hi def link quakeCommands     Keyword
 
+if exists("quake_is_quake3")
+  hi quake3Red                ctermfg=Red         guifg=Red
+  hi quake3Green              ctermfg=Green       guifg=Green
+  hi quake3Yellow             ctermfg=Yellow      guifg=Yellow
+  hi quake3Blue               ctermfg=Blue        guifg=Blue
+  hi quake3Cyan               ctermfg=Cyan        guifg=Cyan
+  hi quake3Purple             ctermfg=DarkMagenta guifg=Purple
+  hi quake3White              ctermfg=White       guifg=White
+  hi quake3Black              ctermfg=Black       guifg=Black
+  hi quake3Orange             ctermfg=Brown       guifg=Orange
+  hi quake3Grey               ctermfg=LightGrey   guifg=LightGrey
+  hi quake3Shadow             cterm=underline     gui=underline
+endif
+
 let b:current_syntax = "quake"
 
 let &cpo = s:cpo_save
--- a/runtime/syntax/racc.vim
+++ b/runtime/syntax/racc.vim
@@ -1,7 +1,7 @@
 " Vim default file
 " Language:         Racc input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/readline.vim
+++ b/runtime/syntax/readline.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         readline(3) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 "   readline_has_bash - if defined add support for bash specific
 "                       settings/functions
 
--- a/runtime/syntax/rnc.vim
+++ b/runtime/syntax/rnc.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         Relax NG compact syntax
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/screen.vim
+++ b/runtime/syntax/screen.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         screen(1) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/sensors.vim
+++ b/runtime/syntax/sensors.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         sensors.conf(5) - libsensors configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/services.vim
+++ b/runtime/syntax/services.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         services(5) - Internet network services list
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/setserial.vim
+++ b/runtime/syntax/setserial.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         setserial(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/sieve.vim
+++ b/runtime/syntax/sieve.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         Sieve filtering language input file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/slpconf.vim
+++ b/runtime/syntax/slpconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         RFC 2614 - An API for Service Location configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/slpreg.vim
+++ b/runtime/syntax/slpreg.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         RFC 2614 - An API for Service Location registration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/slpspi.vim
+++ b/runtime/syntax/slpspi.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         RFC 2614 - An API for Service Location SPI file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/sqlj.vim
+++ b/runtime/syntax/sqlj.vim
@@ -94,6 +94,8 @@ if version >= 508 || !exists("did_sqlj_s
   HiLink sqljString	String
   HiLink sqljType	Type
   HiLink sqljPre	PreProc
+
+  delcommand HiLink
 endif
 
 let b:current_syntax = "sqlj"
--- a/runtime/syntax/sudoers.vim
+++ b/runtime/syntax/sudoers.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         sudoers(5) configuration files
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/sysctl.vim
+++ b/runtime/syntax/sysctl.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         sysctl.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-29
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/terminfo.vim
+++ b/runtime/syntax/terminfo.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         terminfo(5) definition
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
@@ -74,7 +74,7 @@ syn keyword terminfoStrings     acsc cbt
 syn match terminfoStrings       display '\<kf\([0-9]\|[0-5][0-9]\|6[0-3]\)\>'
 
 syn match terminfoParameters    '%[%dcspl+*/mAO&|^=<>!~i?te;-]'
-syn match terminfoParameters    '%\('[A-Z]'\|{[0-9]\{1,2}}\|p[1-9]\|P[a-z]\|g[A-Z]\)'
+syn match terminfoParameters    "%\('[A-Z]'\|{[0-9]\{1,2}}\|p[1-9]\|P[a-z]\|g[A-Z]\)"
 
 hi def link terminfoComment     Comment
 hi def link terminfoTodo        Todo
--- a/runtime/syntax/udevconf.vim
+++ b/runtime/syntax/udevconf.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         udev(8) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-01
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/udevperm.vim
+++ b/runtime/syntax/udevperm.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         udev(8) permissions file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-01
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/udevrules.vim
+++ b/runtime/syntax/udevrules.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         udev(8) rules file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/updatedb.vim
+++ b/runtime/syntax/updatedb.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         updatedb.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/xinetd.vim
+++ b/runtime/syntax/xinetd.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         xinetd.conf(5) configuration file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-06-30
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/xmodmap.vim
+++ b/runtime/syntax/xmodmap.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         xmodmap(1) definition file
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/runtime/syntax/yaml.vim
+++ b/runtime/syntax/yaml.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         YAML (YAML Ain't Markup Language)
-" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
-" Latest Revision:  2005-07-04
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -9197,7 +9197,7 @@ fi
 rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
   else
     cat >>confdefs.h <<\_ACEOF
-#define XPMATTRIBUTES_TYPE XpmAttributes_21
+#define XPMATTRIBUTES_TYPE XpmAttributes
 _ACEOF
 
   fi
--- a/src/configure.in
+++ b/src/configure.in
@@ -1911,7 +1911,7 @@ if test -z "$SKIP_MOTIF"; then
 	AC_MSG_RESULT(no); AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes)
 	)
   else
-    AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes_21)
+    AC_DEFINE(XPMATTRIBUTES_TYPE, XpmAttributes)
   fi
   CPPFLAGS=$cppflags_save
 fi
--- a/src/digraph.c
+++ b/src/digraph.c
@@ -2439,8 +2439,11 @@ ex_loadkeymap(eap)
 	    kp->to = vim_strnsave(p, (int)(s - p));
 
 	    if (kp->from == NULL || kp->to == NULL
-		    || STRLEN(kp->from) + STRLEN(kp->to) >= KMAP_LLEN)
+		    || STRLEN(kp->from) + STRLEN(kp->to) >= KMAP_LLEN
+		    || *kp->from == NUL || *kp->to == NUL)
 	    {
+		if (kp->to != NULL && *kp->to == NUL)
+		    EMSG(_("E791: Empty keymap entry"));
 		vim_free(kp->from);
 		vim_free(kp->to);
 	    }
--- a/src/ex_eval.c
+++ b/src/ex_eval.c
@@ -155,22 +155,22 @@ cause_errthrow(mesg, severe, ignore)
     struct msglist **plist;
 
     /*
-     * Do nothing when displaying the interrupt message or reporting an uncaught
-     * exception (which has already been discarded then) at the top level.  Also
-     * when no exception can be thrown.  The message will be displayed by
-     * emsg().
+     * Do nothing when displaying the interrupt message or reporting an
+     * uncaught exception (which has already been discarded then) at the top
+     * level.  Also when no exception can be thrown.  The message will be
+     * displayed by emsg().
      */
     if (suppress_errthrow)
 	return FALSE;
 
     /*
-     * If emsg() has not been called previously, temporarily reset "force_abort"
-     * until the throw point for error messages has been reached.  This ensures
-     * that aborting() returns the same value for all errors that appear in the
-     * same command.  This means particularly that for parsing errors during
-     * expression evaluation emsg() will be called multiply, even when the
-     * expression is evaluated from a finally clause that was activated due to
-     * an aborting error, interrupt, or exception.
+     * If emsg() has not been called previously, temporarily reset
+     * "force_abort" until the throw point for error messages has been
+     * reached.  This ensures that aborting() returns the same value for all
+     * errors that appear in the same command.  This means particularly that
+     * for parsing errors during expression evaluation emsg() will be called
+     * multiply, even when the expression is evaluated from a finally clause
+     * that was activated due to an aborting error, interrupt, or exception.
      */
     if (!did_emsg)
     {
@@ -181,18 +181,18 @@ cause_errthrow(mesg, severe, ignore)
     /*
      * If no try conditional is active and no exception is being thrown and
      * there has not been an error in a try conditional or a throw so far, do
-     * nothing (for compatibility of non-EH scripts).  The message will then be
-     * displayed by emsg().  When ":silent!" was used and we are not currently
-     * throwing an exception, do nothing.  The message text will then be stored
-     * to v:errmsg by emsg() without displaying it.
+     * nothing (for compatibility of non-EH scripts).  The message will then
+     * be displayed by emsg().  When ":silent!" was used and we are not
+     * currently throwing an exception, do nothing.  The message text will
+     * then be stored to v:errmsg by emsg() without displaying it.
      */
     if (((trylevel == 0 && !cause_abort) || emsg_silent) && !did_throw)
 	return FALSE;
 
     /*
      * Ignore an interrupt message when inside a try conditional or when an
-     * exception is being thrown or when an error in a try conditional or throw
-     * has been detected previously.  This is important in order that an
+     * exception is being thrown or when an error in a try conditional or
+     * throw has been detected previously.  This is important in order that an
      * interrupt exception is catchable by the innermost try conditional and
      * not replaced by an interrupt message error exception.
      */
--- a/src/gui.c
+++ b/src/gui.c
@@ -3407,31 +3407,36 @@ gui_update_tabline()
 }
 
 /*
- * Get the label for tab page "tp" into NameBuff[].
+ * Get the label or tooltip for tab page "tp" into NameBuff[].
  */
     void
-get_tabline_label(tp)
+get_tabline_label(tp, tooltip)
     tabpage_T	*tp;
+    int		tooltip;	/* TRUE: get tooltip */
 {
     int		modified = FALSE;
     char_u	buf[40];
     int		wincount;
     win_T	*wp;
-
-    /* Use 'guitablabel' if it's set. */
-    if (*p_gtl != NUL)
+    char_u	*opt;
+
+    /* Use 'guitablabel' or 'guitabtooltip' if it's set. */
+    opt = (tooltip ? p_gtt : p_gtl);
+    if (*opt != NUL)
     {
 	int	use_sandbox = FALSE;
 	int	save_called_emsg = called_emsg;
 	char_u	res[MAXPATHL];
 	tabpage_T *save_curtab;
+	char_u	*opt_name = (char_u *)(tooltip ? "guitabtooltip"
+							     : "guitablabel");
 
 	called_emsg = FALSE;
 
 	printer_page_num = tabpage_index(tp);
 # ifdef FEAT_EVAL
 	set_vim_var_nr(VV_LNUM, printer_page_num);
-	use_sandbox = was_set_insecurely((char_u *)"guitablabel", 0);
+	use_sandbox = was_set_insecurely(opt_name, 0);
 # endif
 	/* It's almost as going to the tabpage, but without autocommands. */
 	curtab->tp_firstwin = firstwin;
@@ -3446,7 +3451,7 @@ get_tabline_label(tp)
 	curbuf = curwin->w_buffer;
 
 	/* Can't use NameBuff directly, build_stl_str_hl() uses it. */
-	build_stl_str_hl(curwin, res, MAXPATHL, p_gtl, use_sandbox,
+	build_stl_str_hl(curwin, res, MAXPATHL, opt, use_sandbox,
 						 0, (int)Columns, NULL, NULL);
 	STRCPY(NameBuff, res);
 
@@ -3459,7 +3464,7 @@ get_tabline_label(tp)
 	curbuf = curwin->w_buffer;
 
 	if (called_emsg)
-	    set_string_option_direct((char_u *)"guitablabel", -1,
+	    set_string_option_direct(opt_name, -1,
 					   (char_u *)"", OPT_FREE, SID_ERROR);
 	called_emsg |= save_called_emsg;
     }
@@ -3467,7 +3472,8 @@ get_tabline_label(tp)
     {
 	/* Get the buffer name into NameBuff[] and shorten it. */
 	get_trans_bufname(tp == curtab ? curbuf : tp->tp_curwin->w_buffer);
-	shorten_dir(NameBuff);
+	if (!tooltip)
+	    shorten_dir(NameBuff);
 
 	wp = (tp == curtab) ? firstwin : tp->tp_firstwin;
 	for (wincount = 0; wp != NULL; wp = wp->w_next, ++wincount)
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -3320,7 +3320,7 @@ gui_mch_update_tabline(void)
 		    nr++);
 	}
 
-	get_tabline_label(tp);
+	get_tabline_label(tp, FALSE);
 	labeltext = CONVERT_TO_UTF8(NameBuff);
 	gtk_notebook_set_tab_label_text(GTK_NOTEBOOK(gui.tabline), page,
 						     (const gchar *)labeltext);
--- a/src/gui_motif.c
+++ b/src/gui_motif.c
@@ -3359,8 +3359,9 @@ gui_mch_update_tabline(void)
 	XtVaGetValues(tab, XmNlabelString, &label_str, NULL);
 	if (XmStringGetLtoR(label_str, XmSTRING_DEFAULT_CHARSET, &label_cstr))
 	{
-	    get_tabline_label(tp);
-	    if (STRCMP(label_cstr, NameBuff) != 0) {
+	    get_tabline_label(tp, FALSE);
+	    if (STRCMP(label_cstr, NameBuff) != 0)
+	    {
 		XtVaSetValues(tab, XtVaTypedArg, XmNlabelString, XmRString,
 			      NameBuff, STRLEN(NameBuff) + 1, NULL);
 		/*
--- a/src/gui_w48.c
+++ b/src/gui_w48.c
@@ -2334,7 +2334,7 @@ gui_mch_update_tabline(void)
 	    TabCtrl_InsertItem(s_tabhwnd, nr, &tie);
 	}
 
-	get_tabline_label(tp);
+	get_tabline_label(tp, FALSE);
 	tie.pszText = NameBuff;
 #ifdef FEAT_MBYTE
 	wstr = NULL;
--- a/src/message.c
+++ b/src/message.c
@@ -561,17 +561,18 @@ emsg(s)
 
     /*
      * If "emsg_off" is set: no error messages at the moment.
-     * If 'debug' is set: do error message anyway, but without side effects.
+     * If "msg" is in 'debug': do error message but without side effects.
      * If "emsg_skip" is set: never do error messages.
      */
-    if ((emsg_off > 0 && vim_strchr(p_debug, 'm') == NULL)
+    if ((emsg_off > 0 && vim_strchr(p_debug, 'm') == NULL
+					  && vim_strchr(p_debug, 't') == NULL)
 #ifdef FEAT_EVAL
 	    || emsg_skip > 0
 #endif
 	    )
 	return TRUE;
 
-    if (!emsg_off)
+    if (!emsg_off || vim_strchr(p_debug, 't') != NULL)
     {
 #ifdef FEAT_EVAL
 	/*
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -5816,7 +5816,8 @@ filewritable(fname)
 emsg3(s, a1, a2)
     char_u *s, *a1, *a2;
 {
-    if ((emsg_off > 0 && vim_strchr(p_debug, 'm') == NULL)
+    if ((emsg_off > 0 && vim_strchr(p_debug, 'm') == NULL
+					  && vim_strchr(p_debug, 't') == NULL)
 #ifdef FEAT_EVAL
 	    || emsg_skip > 0
 #endif
@@ -5835,7 +5836,8 @@ emsgn(s, n)
     char_u	*s;
     long	n;
 {
-    if ((emsg_off > 0 && vim_strchr(p_debug, 'm') == NULL)
+    if ((emsg_off > 0 && vim_strchr(p_debug, 'm') == NULL
+					  && vim_strchr(p_debug, 't') == NULL)
 #ifdef FEAT_EVAL
 	    || emsg_skip > 0
 #endif
--- a/src/option.c
+++ b/src/option.c
@@ -1267,6 +1267,15 @@ static struct vimoption
 			    {(char_u *)NULL, (char_u *)0L}
 #endif
 				    },
+    {"guitabtooltip",  "gtl", P_STRING|P_VI_DEF|P_RWIN,
+#if defined(FEAT_GUI_TABLINE)
+			    (char_u *)&p_gtt, PV_NONE,
+			    {(char_u *)"", (char_u *)0L}
+#else
+			    (char_u *)NULL, PV_NONE,
+			    {(char_u *)NULL, (char_u *)0L}
+#endif
+				    },
     {"hardtabs",    "ht",   P_NUM|P_VI_DEF,
 			    (char_u *)NULL, PV_NONE,
 			    {(char_u *)0L, (char_u *)0L}},
@@ -2812,7 +2821,7 @@ static char *(p_bsdir_values[]) = {"curr
 static char *(p_scbopt_values[]) = {"ver", "hor", "jump", NULL};
 #endif
 static char *(p_swb_values[]) = {"useopen", "usetab", "split", NULL};
-static char *(p_debug_values[]) = {"msg", "beep", NULL};
+static char *(p_debug_values[]) = {"msg", "throw", "beep", NULL};
 #ifdef FEAT_VERTSPLIT
 static char *(p_ead_values[]) = {"both", "ver", "hor", NULL};
 #endif
@@ -6188,7 +6197,7 @@ did_set_string_option(opt_idx, varp, new
     /* 'debug' */
     else if (varp == &p_debug)
     {
-	if (check_opt_strings(p_debug, p_debug_values, FALSE) != OK)
+	if (check_opt_strings(p_debug, p_debug_values, TRUE) != OK)
 	    errmsg = e_invarg;
     }
 
--- a/src/option.h
+++ b/src/option.h
@@ -508,6 +508,7 @@ EXTERN char_u	*p_go;		/* 'guioptions' */
 #endif
 #if defined(FEAT_GUI_TABLINE)
 EXTERN char_u	*p_gtl;		/* 'guitablabel' */
+EXTERN char_u	*p_gtt;		/* 'guitabtooltip' */
 #endif
 EXTERN char_u	*p_hf;		/* 'helpfile' */
 #ifdef FEAT_WINDOWS
--- a/src/po/it.po
+++ b/src/po/it.po
@@ -12,8 +12,8 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: vim 7.0\n"
-"POT-Creation-Date: 2006-04-08 09:01+0200\n"
-"PO-Revision-Date:  2006-04-08 09:01+0200\n"
+"POT-Creation-Date: 2006-04-21 09:26+0200\n"
+"PO-Revision-Date:  2006-04-21 09:26+0200\n"
 "Last-Translator:   Vlad Sandrini   <vlad.gently@gmail.com>\n"
 "Language-Team:     Italian"
 "                   Antonio Colombo <azc100@gmail.com>"
@@ -494,6 +494,22 @@ msgstr "E723: Manca '}' a fine Dizionari
 msgid "E724: variable nested too deep for displaying"
 msgstr "E724: variabile troppo nidificata per la visualizzazione"
 
+#, c-format
+msgid "E117: Unknown function: %s"
+msgstr "E117: Funzione sconosciuta: %s"
+
+#, c-format
+msgid "E119: Not enough arguments for function: %s"
+msgstr "E119: La funzione: %s richiede pi argomenti"
+
+#, c-format
+msgid "E120: Using <SID> not in a script context: %s"
+msgstr "E120: Uso di <SID> fuori dal contesto di uno script: %s"
+
+#, c-format
+msgid "E725: Calling dict function without Dictionary: %s"
+msgstr "E725: Chiamata di funzione dict in assenza di Dizionario: %s"
+
 msgid "E699: Too many arguments"
 msgstr "E699: Troppi argomenti"
 
@@ -2517,12 +2533,33 @@ msgstr "<finestra %d>"
 msgid "no such window"
 msgstr "finestra inesistente"
 
+msgid "E265: $_ must be an instance of String"
+msgstr "E265: $_ deve essere un'istanza di String"
+
 msgid ""
 "E266: Sorry, this command is disabled, the Ruby library could not be loaded."
 msgstr ""
 "E266: Spiacente, comando non disponibile, non riesco a caricare libreria "
 "programmi Ruby."
 
+msgid "E267: unexpected return"
+msgstr "E267: return imprevisto"
+
+msgid "E268: unexpected next"
+msgstr "E268: next imprevisto"
+
+msgid "E269: unexpected break"
+msgstr "E269: break imprevisto"
+
+msgid "E270: unexpected redo"
+msgstr "E270: redo imprevisto"
+
+msgid "E271: retry outside of rescue clause"
+msgstr "E271: retry fuori da clausola rescue"
+
+msgid "E272: unhandled exception"
+msgstr "E272: eccezione non gestita"
+
 #, c-format
 msgid "E273: unknown longjmp status %d"
 msgstr "E273: tipo sconosciuto di salto nel programma %d"
@@ -4232,9 +4269,6 @@ msgstr "ANCHOR_BUF_SIZE troppo piccolo."
 msgid "I/O ERROR"
 msgstr "ERRORE I/O"
 
-msgid "...(truncated)"
-msgstr "...(troncato)"
-
 msgid "Message"
 msgstr "Messaggio"
 
@@ -4660,6 +4694,16 @@ msgstr "E388: Non sono riuscito a trovar
 msgid "E389: Couldn't find pattern"
 msgstr "E389: Non sono riuscito a trovare il modello"
 
+#, c-format
+msgid ""
+"\n"
+"# Last %sSearch Pattern:\n"
+"~"
+msgstr ""
+"\n"
+"# Ult. %sEspressione di Ricerca:\n"
+"~"
+
 msgid "E759: Format error in spell file"
 msgstr "E759: Errore di formato nel file ortografico"
 
@@ -4739,7 +4783,7 @@ msgid ""
 "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line "
 "%d"
 msgstr ""
-"Definire COMPOUNDFORBIDFLAG dop l'elemento PFX potrebbe dare risultati "
+"Definire COMPOUNDFORBIDFLAG dopo l'elemento PFX potrebbe dare risultati "
 "errati in %s linea %d"
 
 #, c-format
@@ -4747,7 +4791,7 @@ msgid ""
 "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line "
 "%d"
 msgstr ""
-"Definire COMPOUNDPERMITFLAG dop l'elemento PFX potrebbe dare risultati "
+"Definire COMPOUNDPERMITFLAG dopo l'elemento PFX potrebbe dare risultati "
 "errati in %s linea %d"
 
 #, c-format
@@ -5380,6 +5424,10 @@ msgstr "Nessuna modifica, Undo impossibi
 msgid "number changes  time"
 msgstr "numero modif.   ora"
 
+#, c-format
+msgid "%ld seconds ago"
+msgstr "%ld secondi fa"
+
 msgid "E439: undo list corrupt"
 msgstr "E439: lista 'undo' non valida"
 
@@ -5686,6 +5734,9 @@ msgstr "ATTENZIONE: Trovato Windows 95/9
 msgid "type  :help windows95<Enter>  for info on this"
 msgstr "batti :help windows95<Enter>  per info al riguardo"
 
+msgid "Already only one window"
+msgstr "C' gi una finestra sola"
+
 msgid "E441: There is no preview window"
 msgstr "E441: Non c' una finestra di pre-visualizzazione"
 
@@ -5698,9 +5749,6 @@ msgstr "E443: Non posso ruotare quando un'altra finestra  divisa in due"
 msgid "E444: Cannot close last window"
 msgstr "E444: Non riesco a chiudere l'ultima finestra"
 
-msgid "Already only one window"
-msgstr "C' gi una finestra sola"
-
 msgid "E445: Other window contains changes"
 msgstr "E445: Altre finestre contengono modifiche"
 
--- a/src/po/zh_CN.UTF-8.po
+++ b/src/po/zh_CN.UTF-8.po
@@ -4,6 +4,10 @@
 # Do ":help credits" in Vim to see a list of people who contributed.
 #
 # FIRST AUTHOR  Wang Jun <junw@turbolinux.com.cn>
+# 
+# TRANSLATORS
+#   Edyfox <edyfox@gmail.com>
+#   Yuheng Xie <elephant@linux.net.cn>
 #
 # Original translations.
 #
@@ -11,8 +15,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim(Simplified Chinese)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-28 21:47+0800\n"
-"PO-Revision-Date: 2006-04-18 18:00+0800\n"
+"POT-Creation-Date: 2006-04-21 15:16+0800\n"
+"PO-Revision-Date: 2006-04-21 14:00+0800\n"
 "Last-Translator: Yuheng Xie <elephant@linux.net.cn>\n"
 "Language-Team: Simplified Chinese <i18n-translation@lists.linux.net.cn>\n"
 "MIME-Version: 1.0\n"
@@ -209,6 +213,9 @@ msgstr "E102: 鎵句笉鍒扮紦鍐插尯 \"%s\""
 msgid "E103: Buffer \"%s\" is not in diff mode"
 msgstr "E103: 缂撳啿鍖 \"%s\" 涓嶅湪 diff 妯″紡"
 
+msgid "E787: Buffer changed unexpectedly"
+msgstr "E787: 鎰忓鍦版敼鍙樹簡缂撳啿鍖"
+
 msgid "E104: Escape not allowed in digraph"
 msgstr "E104: 澶嶅悎瀛楃(digraph)涓笉鑳戒娇鐢 Escape"
 
@@ -222,8 +229,8 @@ msgid " Keyword completion (^N^P)"
 msgstr " 鍏抽敭瀛楄ˉ鍏 (^N^P)"
 
 #. ctrl_x_mode == 0, ^P/^N compl.
-msgid " ^X mode (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
-msgstr " ^X 妯″紡 (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
+msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
+msgstr " ^X 妯″紡 (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 
 msgid " Whole line completion (^L^N^P)"
 msgstr " 鏁磋琛ュ叏 (^L^N^P)"
@@ -256,8 +263,8 @@ msgstr " 鐢ㄦ埛鑷畾涔夎ˉ鍏 (^U^N^P)"
 msgid " Omni completion (^O^N^P)"
 msgstr " 鍏ㄨ兘琛ュ叏 (^O^N^P)"
 
-msgid " Spelling suggestion (^S^N^P)"
-msgstr " 鎷煎啓寤鸿 (^S^N^P)"
+msgid " Spelling suggestion (s^N^P)"
+msgstr " 鎷煎啓寤鸿 (s^N^P)"
 
 msgid " Keyword Local completion (^N^P)"
 msgstr " 鍏抽敭瀛楀眬閮ㄨˉ鍏 (^N^P)"
@@ -489,9 +496,8 @@ msgstr "E722: Dictionary 涓己灏戦楀彿: %s"
 msgid "E723: Missing end of Dictionary '}': %s"
 msgstr "E723: Dictionary 缂哄皯缁撴潫绗 '}': %s"
 
-#, fuzzy
-#~ msgid "E724: variable nested too deep for displaying"
-#~ msgstr "E724: 鍙橀噺宓屽杩囨繁"
+msgid "E724: variable nested too deep for displaying"
+msgstr "E724: 鍙橀噺宓屽杩囨繁鏃犳硶鏄剧ず"
 
 msgid "E699: Too many arguments"
 msgstr "E699: 鍙傛暟杩囧"
@@ -529,8 +535,8 @@ msgstr ""
 msgid "called inputrestore() more often than inputsave()"
 msgstr "inputrestore() 鐨勮皟鐢ㄦ鏁板浜 inputsave()"
 
-msgid "E745: Range not allowed"
-msgstr "E745: 涓嶅厑璁哥殑鑼冨洿"
+msgid "E786: Range not allowed"
+msgstr "E786: 涓嶅厑璁哥殑鑼冨洿"
 
 msgid "E701: Invalid type for len()"
 msgstr "E701: len() 鐨勭被鍨嬫棤鏁"
@@ -560,9 +566,8 @@ msgstr "E655: 绗﹀彿杩炴帴杩囧(寰幆锛)"
 msgid "E258: Unable to send to client"
 msgstr "E258: 鏃犳硶鍙戦佸埌瀹㈡埛绔"
 
-#, fuzzy
-#~ msgid "E702: Sort compare function failed"
-#~ msgstr "E702: Sort 姣旇緝鍑芥暟澶辫触"
+msgid "E702: Sort compare function failed"
+msgstr "E702: Sort 姣旇緝鍑芥暟澶辫触"
 
 msgid "(Invalid)"
 msgstr "(鏃犳晥)"
@@ -611,9 +616,8 @@ msgstr "鏈煡"
 msgid "E742: Cannot change value of %s"
 msgstr "E742: 鏃犳硶鏀瑰彉 %s 鐨勫"
 
-#, fuzzy
-#~ msgid "E698: variable nested too deep for making a copy"
-#~ msgstr "E698: 鍙橀噺宓屽杩囨繁"
+msgid "E698: variable nested too deep for making a copy"
+msgstr "E698: 鍙橀噺宓屽杩囨繁鏃犳硶澶嶅埗"
 
 #, c-format
 msgid "E124: Missing '(': %s"
@@ -682,6 +686,268 @@ msgstr ""
 "\n"
 "\t鏈杩戜慨鏀逛簬 "
 
+#, c-format
+msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
+msgstr "<%s>%s%s  %d,  鍗佸叚杩涘埗 %02x,  鍏繘鍒 %03o"
+
+#, c-format
+msgid "> %d, Hex %04x, Octal %o"
+msgstr "> %d, 鍗佸叚杩涘埗 %04x, 鍏繘鍒 %o"
+
+#, c-format
+msgid "> %d, Hex %08x, Octal %o"
+msgstr "> %d, 鍗佸叚杩涘埗 %08x, 鍏繘鍒 %o"
+
+msgid "E134: Move lines into themselves"
+msgstr "E134: 鎶婅绉诲姩鍒拌嚜宸蹭腑"
+
+msgid "1 line moved"
+msgstr "绉诲姩浜 1 琛"
+
+#, c-format
+msgid "%ld lines moved"
+msgstr "绉诲姩浜 %ld 琛"
+
+#, c-format
+msgid "%ld lines filtered"
+msgstr "杩囨护浜 %ld 琛"
+
+msgid "E135: *Filter* Autocommands must not change current buffer"
+msgstr "E135: *Filter* 鑷姩鍛戒护涓嶅彲浠ユ敼鍙樺綋鍓嶇紦鍐插尯"
+
+msgid "[No write since last change]\n"
+msgstr "[宸蹭慨鏀逛絾灏氭湭淇濆瓨]\n"
+
+# bad to translate
+#, c-format
+msgid "%sviminfo: %s in line: "
+msgstr "%sviminfo: %s 浣嶄簬琛: "
+
+msgid "E136: viminfo: Too many errors, skipping rest of file"
+msgstr "E136: viminfo: 閿欒杩囧锛屽拷鐣ユ枃浠剁殑鍓╀綑閮ㄥ垎"
+
+#, c-format
+msgid "Reading viminfo file \"%s\"%s%s%s"
+msgstr "璇诲彇 viminfo 鏂囦欢 \"%s\"%s%s%s"
+
+msgid " info"
+msgstr " 淇℃伅"
+
+msgid " marks"
+msgstr " 鏍囪"
+
+msgid " FAILED"
+msgstr " 澶辫触"
+
+#, c-format
+msgid "E137: Viminfo file is not writable: %s"
+msgstr "E137: Viminfo 鏂囦欢涓嶅彲鍐欏叆: %s"
+
+#, c-format
+msgid "E138: Can't write viminfo file %s!"
+msgstr "E138: 鏃犳硶鍐欏叆 viminfo 鏂囦欢 %s锛"
+
+#, c-format
+msgid "Writing viminfo file \"%s\""
+msgstr "鍐欏叆 viminfo 鏂囦欢 \"%s\""
+
+# do not translate to avoid writing Chinese in files
+#. Write the info:
+#, fuzzy, c-format
+#~ msgid "# This viminfo file was generated by Vim %s.\n"
+#~ msgstr "# 杩欎釜 viminfo 鏂囦欢鏄敱 Vim %s 鐢熸垚鐨勩俓n"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+msgid ""
+"# You may edit it if you're careful!\n"
+"\n"
+msgstr ""
+"# 濡傛灉瑕佽嚜琛屼慨鏀硅鐗瑰埆灏忓績锛乗n"
+"\n"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+#~ msgid "# Value of 'encoding' when this file was written\n"
+#~ msgstr "# 'encoding' 鍦ㄦ鏂囦欢寤虹珛鏃剁殑鍊糪n"
+
+msgid "Illegal starting char"
+msgstr "鏃犳晥鐨勫惎鍔ㄥ瓧绗"
+
+msgid "Save As"
+msgstr "鍙﹀瓨涓"
+
+msgid "Write partial file?"
+msgstr "瑕佸啓鍏ラ儴鍒嗘枃浠跺悧锛"
+
+msgid "E140: Use ! to write partial buffer"
+msgstr "E140: 璇蜂娇鐢 ! 鏉ュ啓鍏ラ儴鍒嗙紦鍐插尯"
+
+#, c-format
+msgid "Overwrite existing file \"%s\"?"
+msgstr "瑕嗙洊宸插瓨鍦ㄧ殑鏂囦欢 \"%s\" 鍚楋紵"
+
+#, c-format
+msgid "Swap file \"%s\" exists, overwrite anyway?"
+msgstr "浜ゆ崲鏂囦欢 \"%s\" 宸插瓨鍦紝纭疄瑕佽鐩栧悧锛"
+
+#, c-format
+msgid "E768: Swap file exists: %s (:silent! overrides)"
+msgstr "E768: 浜ゆ崲鏂囦欢宸插瓨鍦: %s (:silent! 寮哄埗鎵ц)"
+
+#, c-format
+msgid "E141: No file name for buffer %ld"
+msgstr "E141: 缂撳啿鍖 %ld 娌℃湁鏂囦欢鍚"
+
+msgid "E142: File not written: Writing is disabled by 'write' option"
+msgstr "E142: 鏂囦欢鏈啓鍏: 鍐欏叆琚 'write' 閫夐」绂佺敤"
+
+#, c-format
+msgid ""
+"'readonly' option is set for \"%s\".\n"
+"Do you wish to write anyway?"
+msgstr ""
+"\"%s\" 宸茶瀹 'readonly' 閫夐」銆俓n"
+"纭疄瑕佽鐩栧悧锛"
+
+msgid "Edit File"
+msgstr "缂栬緫鏂囦欢"
+
+#, c-format
+msgid "E143: Autocommands unexpectedly deleted new buffer %s"
+msgstr "E143: 鑷姩鍛戒护鎰忓鍦板垹闄や簡鏂扮紦鍐插尯 %s"
+
+msgid "E144: non-numeric argument to :z"
+msgstr "E144: :z 涓嶆帴鍙楅潪鏁板瓧鐨勫弬鏁"
+
+msgid "E145: Shell commands not allowed in rvim"
+msgstr "E145: rvim 涓姝娇鐢 shell 鍛戒护"
+
+msgid "E146: Regular expressions can't be delimited by letters"
+msgstr "E146: 姝e垯琛ㄨ揪寮忎笉鑳界敤瀛楁瘝浣滃垎鐣"
+
+#, c-format
+msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
+msgstr "鏇挎崲涓 %s (y/n/a/q/l/^E/^Y)锛"
+
+msgid "(Interrupted) "
+msgstr "(宸蹭腑鏂) "
+
+msgid "1 match"
+msgstr "1 涓尮閰嶏紝"
+
+msgid "1 substitution"
+msgstr "1 娆℃浛鎹紝"
+
+#, c-format
+msgid "%ld matches"
+msgstr "%ld 涓尮閰嶏紝"
+
+#, c-format
+msgid "%ld substitutions"
+msgstr "%ld 娆℃浛鎹紝"
+
+msgid " on 1 line"
+msgstr "鍏 1 琛"
+
+#, c-format
+msgid " on %ld lines"
+msgstr "鍏 %ld 琛"
+
+msgid "E147: Cannot do :global recursive"
+msgstr "E147: :global 涓嶈兘閫掑綊鎵ц"
+
+msgid "E148: Regular expression missing from global"
+msgstr "E148: global 缂哄皯姝e垯琛ㄨ揪寮"
+
+#, c-format
+msgid "Pattern found in every line: %s"
+msgstr "姣忚閮藉尮閰嶈〃杈惧紡: %s"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+msgid ""
+"\n"
+"# Last Substitute String:\n"
+"$"
+msgstr ""
+"\n"
+"# 鏈杩戠殑鏇挎崲瀛楃涓:\n"
+"$"
+
+msgid "E478: Don't panic!"
+msgstr "E478: 涓嶈鎱岋紒"
+
+#, c-format
+msgid "E661: Sorry, no '%s' help for %s"
+msgstr "E661: 鎶辨瓑锛屾病鏈 '%s' 鐨 %s 鐨勮鏄"
+
+#, c-format
+msgid "E149: Sorry, no help for %s"
+msgstr "E149: 鎶辨瓑锛屾病鏈 %s 鐨勮鏄"
+
+#, c-format
+msgid "Sorry, help file \"%s\" not found"
+msgstr "鎶辨瓑锛屾壘涓嶅埌甯姪鏂囦欢 \"%s\""
+
+#, c-format
+msgid "E150: Not a directory: %s"
+msgstr "E150: 涓嶆槸鐩綍: %s"
+
+#, c-format
+msgid "E152: Cannot open %s for writing"
+msgstr "E152: 鏃犳硶鎵撳紑骞跺啓鍏 %s"
+
+#, c-format
+msgid "E153: Unable to open %s for reading"
+msgstr "E153: 鏃犳硶鎵撳紑骞惰鍙 %s"
+
+#, c-format
+msgid "E670: Mix of help file encodings within a language: %s"
+msgstr "E670: 鍦ㄤ竴绉嶈瑷涓贩鍚堜簡澶氱甯姪鏂囦欢缂栫爜: %s"
+
+#, c-format
+msgid "E154: Duplicate tag \"%s\" in file %s/%s"
+msgstr "E154: Tag \"%s\" 鍦ㄦ枃浠 %s/%s 涓噸澶嶅嚭鐜"
+
+#, c-format
+msgid "E160: Unknown sign command: %s"
+msgstr "E160: 鏈煡鐨 sign 鍛戒护: %s"
+
+msgid "E156: Missing sign name"
+msgstr "E156: 缂哄皯 sign 鍚嶇О"
+
+msgid "E612: Too many signs defined"
+msgstr "E612: Signs 瀹氫箟杩囧"
+
+#, c-format
+msgid "E239: Invalid sign text: %s"
+msgstr "E239: 鏃犳晥鐨 sign 鏂囧瓧: %s"
+
+#, c-format
+msgid "E155: Unknown sign: %s"
+msgstr "E155: 鏈煡鐨 sign: %s"
+
+msgid "E159: Missing sign number"
+msgstr "E159: 缂哄皯 sign 鍙"
+
+#, c-format
+msgid "E158: Invalid buffer name: %s"
+msgstr "E158: 鏃犳晥鐨勭紦鍐插尯鍚: %s"
+
+#, c-format
+msgid "E157: Invalid sign ID: %ld"
+msgstr "E157: 鏃犳晥鐨 sign ID: %ld"
+
+msgid " (NOT FOUND)"
+msgstr " (鎵句笉鍒)"
+
+msgid " (not supported)"
+msgstr " (涓嶆敮鎸)"
+
+msgid "[Deleted]"
+msgstr "[宸插垹闄"
+
 msgid "Entering Debug mode.  Type \"cont\" to continue."
 msgstr "杩涘叆璋冭瘯妯″紡銆傝緭鍏 \"cont\" 缁х画杩愯銆"
 
@@ -711,9 +977,6 @@ msgstr "%3d  %s %s  绗 %ld 琛"
 msgid "E750: First use :profile start <fname>"
 msgstr "E750: 璇峰厛浣跨敤 :profile start <fname>"
 
-msgid "Save As"
-msgstr "鍙﹀瓨涓"
-
 #, c-format
 msgid "Save changes to \"%s\"?"
 msgstr "灏嗘敼鍙樹繚瀛樺埌 \"%s\" 鍚楋紵"
@@ -812,265 +1075,6 @@ msgstr "褰撳墠鐨 %s璇█: \"%s\""
 msgid "E197: Cannot set language to \"%s\""
 msgstr "E197: 涓嶈兘璁惧畾璇█涓 \"%s\""
 
-#, c-format
-msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
-msgstr "<%s>%s%s  %d,  鍗佸叚杩涘埗 %02x,  鍏繘鍒 %03o"
-
-#, c-format
-msgid "> %d, Hex %04x, Octal %o"
-msgstr "> %d, 鍗佸叚杩涘埗 %04x, 鍏繘鍒 %o"
-
-#, c-format
-msgid "> %d, Hex %08x, Octal %o"
-msgstr "> %d, 鍗佸叚杩涘埗 %08x, 鍏繘鍒 %o"
-
-msgid "E134: Move lines into themselves"
-msgstr "E134: 鎶婅绉诲姩鍒拌嚜宸蹭腑"
-
-msgid "1 line moved"
-msgstr "绉诲姩浜 1 琛"
-
-#, c-format
-msgid "%ld lines moved"
-msgstr "绉诲姩浜 %ld 琛"
-
-#, c-format
-msgid "%ld lines filtered"
-msgstr "杩囨护浜 %ld 琛"
-
-msgid "E135: *Filter* Autocommands must not change current buffer"
-msgstr "E135: *Filter* 鑷姩鍛戒护涓嶅彲浠ユ敼鍙樺綋鍓嶇紦鍐插尯"
-
-msgid "[No write since last change]\n"
-msgstr "[宸蹭慨鏀逛絾灏氭湭淇濆瓨]\n"
-
-#, c-format
-# bad to translate
-msgid "%sviminfo: %s in line: "
-msgstr "%sviminfo: %s 浣嶄簬琛: "
-
-msgid "E136: viminfo: Too many errors, skipping rest of file"
-msgstr "E136: viminfo: 閿欒杩囧锛屽拷鐣ユ枃浠剁殑鍓╀綑閮ㄥ垎"
-
-#, c-format
-msgid "Reading viminfo file \"%s\"%s%s%s"
-msgstr "璇诲彇 viminfo 鏂囦欢 \"%s\"%s%s%s"
-
-msgid " info"
-msgstr " 淇℃伅"
-
-msgid " marks"
-msgstr " 鏍囪"
-
-msgid " FAILED"
-msgstr " 澶辫触"
-
-#, c-format
-msgid "E137: Viminfo file is not writable: %s"
-msgstr "E137: Viminfo 鏂囦欢涓嶅彲鍐欏叆: %s"
-
-#, c-format
-msgid "E138: Can't write viminfo file %s!"
-msgstr "E138: 鏃犳硶鍐欏叆 viminfo 鏂囦欢 %s锛"
-
-#, c-format
-msgid "Writing viminfo file \"%s\""
-msgstr "鍐欏叆 viminfo 鏂囦欢 \"%s\""
-
-#. Write the info:
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid "# This viminfo file was generated by Vim %s.\n"
-msgstr "# 杩欎釜 viminfo 鏂囦欢鏄敱 vim %s 鐢熸垚鐨勩俓n"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid ""
-"# You may edit it if you're careful!\n"
-"\n"
-msgstr ""
-"# 濡傛灉瑕佽嚜琛屼慨鏀硅鐗瑰埆灏忓績锛乗n"
-"\n"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid "# Value of 'encoding' when this file was written\n"
-msgstr "# 'encoding' 鍦ㄦ鏂囦欢寤虹珛鏃剁殑鍊糪n"
-
-msgid "Illegal starting char"
-msgstr "鏃犳晥鐨勫惎鍔ㄥ瓧绗"
-
-msgid "Write partial file?"
-msgstr "瑕佸啓鍏ラ儴鍒嗘枃浠跺悧锛"
-
-msgid "E140: Use ! to write partial buffer"
-msgstr "E140: 璇蜂娇鐢 ! 鏉ュ啓鍏ラ儴鍒嗙紦鍐插尯"
-
-#, c-format
-msgid "Overwrite existing file \"%s\"?"
-msgstr "瑕嗙洊宸插瓨鍦ㄧ殑鏂囦欢 \"%s\" 鍚楋紵"
-
-#, c-format
-msgid "Swap file \"%s\" exists, overwrite anyway?"
-msgstr "浜ゆ崲鏂囦欢 \"%s\" 宸插瓨鍦紝纭疄瑕佽鐩栧悧锛"
-
-#, c-format
-msgid "E768: Swap file exists: %s (:silent! overrides)"
-msgstr "E768: 浜ゆ崲鏂囦欢宸插瓨鍦: %s (:silent! 寮哄埗鎵ц)"
-
-#, c-format
-msgid "E141: No file name for buffer %ld"
-msgstr "E141: 缂撳啿鍖 %ld 娌℃湁鏂囦欢鍚"
-
-msgid "E142: File not written: Writing is disabled by 'write' option"
-msgstr "E142: 鏂囦欢鏈啓鍏: 鍐欏叆琚 'write' 閫夐」绂佺敤"
-
-#, c-format
-msgid ""
-"'readonly' option is set for \"%s\".\n"
-"Do you wish to write anyway?"
-msgstr ""
-"\"%s\" 宸茶瀹 'readonly' 閫夐」銆俓n"
-"纭疄瑕佽鐩栧悧锛"
-
-msgid "Edit File"
-msgstr "缂栬緫鏂囦欢"
-
-#, c-format
-msgid "E143: Autocommands unexpectedly deleted new buffer %s"
-msgstr "E143: 鑷姩鍛戒护鎰忓鍦板垹闄や簡鏂扮紦鍐插尯 %s"
-
-msgid "E144: non-numeric argument to :z"
-msgstr "E144: :z 涓嶆帴鍙楅潪鏁板瓧鐨勫弬鏁"
-
-msgid "E145: Shell commands not allowed in rvim"
-msgstr "E145: rvim 涓姝娇鐢 shell 鍛戒护"
-
-msgid "E146: Regular expressions can't be delimited by letters"
-msgstr "E146: 姝e垯琛ㄨ揪寮忎笉鑳界敤瀛楁瘝浣滃垎鐣"
-
-#, c-format
-msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
-msgstr "鏇挎崲涓 %s (y/n/a/q/l/^E/^Y)锛"
-
-msgid "(Interrupted) "
-msgstr "(宸蹭腑鏂) "
-
-msgid "1 match"
-msgstr "1 涓尮閰嶏紝"
-
-msgid "1 substitution"
-msgstr "1 娆℃浛鎹紝"
-
-#, c-format
-msgid "%ld matches"
-msgstr "%ld 涓尮閰嶏紝"
-
-#, c-format
-msgid "%ld substitutions"
-msgstr "%ld 娆℃浛鎹紝"
-
-msgid " on 1 line"
-msgstr "鍏 1 琛"
-
-#, c-format
-msgid " on %ld lines"
-msgstr "鍏 %ld 琛"
-
-msgid "E147: Cannot do :global recursive"
-msgstr "E147: :global 涓嶈兘閫掑綊鎵ц"
-
-msgid "E148: Regular expression missing from global"
-msgstr "E148: global 缂哄皯姝e垯琛ㄨ揪寮"
-
-#, c-format
-msgid "Pattern found in every line: %s"
-msgstr "姣忚閮藉尮閰嶈〃杈惧紡: %s"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid ""
-"\n"
-"# Last Substitute String:\n"
-"$"
-msgstr ""
-"\n"
-"# 鏈杩戠殑鏇挎崲瀛楃涓:\n"
-"$"
-
-msgid "E478: Don't panic!"
-msgstr "E478: 涓嶈鎱岋紒"
-
-#, c-format
-msgid "E661: Sorry, no '%s' help for %s"
-msgstr "E661: 鎶辨瓑锛屾病鏈 '%s' 鐨 %s 鐨勮鏄"
-
-#, c-format
-msgid "E149: Sorry, no help for %s"
-msgstr "E149: 鎶辨瓑锛屾病鏈 %s 鐨勮鏄"
-
-#, c-format
-msgid "Sorry, help file \"%s\" not found"
-msgstr "鎶辨瓑锛屾壘涓嶅埌甯姪鏂囦欢 \"%s\""
-
-#, c-format
-msgid "E150: Not a directory: %s"
-msgstr "E150: 涓嶆槸鐩綍: %s"
-
-#, c-format
-msgid "E152: Cannot open %s for writing"
-msgstr "E152: 鏃犳硶鎵撳紑骞跺啓鍏 %s"
-
-#, c-format
-msgid "E153: Unable to open %s for reading"
-msgstr "E153: 鏃犳硶鎵撳紑骞惰鍙 %s"
-
-#, c-format
-msgid "E670: Mix of help file encodings within a language: %s"
-msgstr "E670: 鍦ㄤ竴绉嶈瑷涓贩鍚堜簡澶氱甯姪鏂囦欢缂栫爜: %s"
-
-#, c-format
-msgid "E154: Duplicate tag \"%s\" in file %s/%s"
-msgstr "E154: Tag \"%s\" 鍦ㄦ枃浠 %s/%s 涓噸澶嶅嚭鐜"
-
-#, c-format
-msgid "E160: Unknown sign command: %s"
-msgstr "E160: 鏈煡鐨 sign 鍛戒护: %s"
-
-msgid "E156: Missing sign name"
-msgstr "E156: 缂哄皯 sign 鍚嶇О"
-
-msgid "E612: Too many signs defined"
-msgstr "E612: Signs 瀹氫箟杩囧"
-
-#, c-format
-msgid "E239: Invalid sign text: %s"
-msgstr "E239: 鏃犳晥鐨 sign 鏂囧瓧: %s"
-
-#, c-format
-msgid "E155: Unknown sign: %s"
-msgstr "E155: 鏈煡鐨 sign: %s"
-
-msgid "E159: Missing sign number"
-msgstr "E159: 缂哄皯 sign 鍙"
-
-#, c-format
-msgid "E158: Invalid buffer name: %s"
-msgstr "E158: 鏃犳晥鐨勭紦鍐插尯鍚: %s"
-
-#, c-format
-msgid "E157: Invalid sign ID: %ld"
-msgstr "E157: 鏃犳晥鐨 sign ID: %ld"
-
-msgid " (NOT FOUND)"
-msgstr " (鎵句笉鍒)"
-
-msgid " (not supported)"
-msgstr " (涓嶆敮鎸)"
-
-msgid "[Deleted]"
-msgstr "[宸插垹闄"
-
 msgid "Entering Ex mode.  Type \"visual\" to go to Normal mode."
 msgstr "杩涘叆 Ex 妯″紡銆傝緭鍏 \"visual\" 鍥炲埌姝e父妯″紡銆"
 
@@ -1179,7 +1183,7 @@ msgstr "E467: Custom 琛ュ叏闇瑕佷竴涓嚱鏁板弬鏁"
 
 #, c-format
 msgid "E185: Cannot find color scheme %s"
-msgstr "E185: 鎵句笉鍒伴鑹蹭富棰 %s"
+msgstr "E185: 鎵句笉鍒伴厤鑹叉柟妗 %s"
 
 msgid "Greetings, Vim user!"
 msgstr "鎮ㄥソ锛孷im 鐢ㄦ埛锛"
@@ -1391,6 +1395,9 @@ msgstr "E602: :endtry 缂哄皯瀵瑰簲鐨 :try"
 msgid "E193: :endfunction not inside a function"
 msgstr "E193: :endfunction 涓嶅湪鍑芥暟鍐"
 
+msgid "E788: Not allowed to edit another buffer now"
+msgstr "E788: 鐩墠涓嶅厑璁哥紪杈戝埆鐨勭紦鍐插尯"
+
 msgid "tagname"
 msgstr "tag 鍚"
 
@@ -1400,8 +1407,8 @@ msgstr " 绫诲瀷 鏂囦欢\n"
 msgid "'history' option is zero"
 msgstr "閫夐」 'history' 涓洪浂"
 
+# do not translate to avoid writing Chinese in files
 #, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
 msgid ""
 "\n"
 "# %s History (newest to oldest):\n"
@@ -1409,17 +1416,25 @@ msgstr ""
 "\n"
 "# %s 鍘嗗彶璁板綍 (浠庢柊鍒版棫):\n"
 
-msgid "Command Line"
-msgstr "鍛戒护琛"
-
-msgid "Search String"
-msgstr "鏌ユ壘瀛楃涓"
-
-msgid "Expression"
-msgstr "琛ㄨ揪寮"
-
-msgid "Input Line"
-msgstr "杈撳叆琛"
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Command Line"
+#~ msgstr "鍛戒护琛"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Search String"
+#~ msgstr "鏌ユ壘瀛楃涓"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Expression"
+#~ msgstr "琛ㄨ揪寮"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Input Line"
+#~ msgstr "杈撳叆琛"
 
 msgid "E198: cmd_pchar beyond the command length"
 msgstr "E198: cmd_pchar 瓒呰繃鍛戒护闀垮害"
@@ -1550,9 +1565,8 @@ msgstr "E509: 鏃犳硶鍒涘缓澶囦唤鏂囦欢 (璇峰姞 ! 寮哄埗鎵ц)"
 msgid "E510: Can't make backup file (add ! to override)"
 msgstr "E510: 鏃犳硶鐢熸垚澶囦唤鏂囦欢 (璇峰姞 ! 寮哄埗鎵ц)"
 
-#, fuzzy
-#~ msgid "E460: The resource fork would be lost (add ! to override)"
-#~ msgstr "E460: Resource fork 浼氭秷澶 (璇峰姞 ! 寮哄埗鎵ц)"
+msgid "E460: The resource fork would be lost (add ! to override)"
+msgstr "E460: Resource fork 浼氫涪澶 (璇峰姞 ! 寮哄埗鎵ц)"
 
 msgid "E214: Can't find temp file for writing"
 msgstr "E214: 鎵句笉鍒扮敤浜庡啓鍏ョ殑涓存椂鏂囦欢"
@@ -1836,6 +1850,29 @@ msgstr "鎵句笉鍒版槧灏"
 msgid "E228: makemap: Illegal mode"
 msgstr "E228: makemap: 鏃犳晥鐨勬ā寮"
 
+msgid "E229: Cannot start the GUI"
+msgstr "E229: 鏃犳硶鍚姩鍥惧舰鐣岄潰"
+
+#, c-format
+msgid "E230: Cannot read from \"%s\""
+msgstr "E230: 鏃犳硶璇诲彇鏂囦欢 \"%s\""
+
+msgid "E665: Cannot start GUI, no valid font found"
+msgstr "E665: 鏃犳硶鍚姩鍥惧舰鐣岄潰锛屾壘涓嶅埌鏈夋晥鐨勫瓧浣"
+
+msgid "E231: 'guifontwide' invalid"
+msgstr "E231: 鏃犳晥鐨 'guifontwide'"
+
+msgid "E599: Value of 'imactivatekey' is invalid"
+msgstr "E599: 'imactivatekey' 鐨勫兼棤鏁"
+
+#, c-format
+msgid "E254: Cannot allocate color %s"
+msgstr "E254: 鏃犳硶鍒嗛厤棰滆壊 %s"
+
+msgid "No match at cursor, finding next"
+msgstr "鍦ㄥ厜鏍囧娌℃湁鍖归厤锛屾煡鎵句笅涓涓"
+
 msgid "<cannot open> "
 msgstr "<鏃犳硶鎵撳紑>"
 
@@ -1858,38 +1895,15 @@ msgstr "纭畾"
 msgid "Cancel"
 msgstr "鍙栨秷"
 
+msgid "Scrollbar Widget: Could not get geometry of thumb pixmap."
+msgstr "婊氬姩鏉¢儴浠: 鏃犳硶鑾峰彇婊戝潡鍥惧儚鐨勫嚑浣曞ぇ灏"
+
 msgid "Vim dialog"
 msgstr "Vim 瀵硅瘽妗"
 
-msgid "Scrollbar Widget: Could not get geometry of thumb pixmap."
-msgstr "婊氬姩鏉¢儴浠: 鏃犳硶鑾峰彇婊戝潡鍥惧儚鐨勫嚑浣曞ぇ灏"
-
 msgid "E232: Cannot create BalloonEval with both message and callback"
 msgstr "E232: 涓嶈兘鍚屾椂浣跨敤娑堟伅鍜屽洖璋冨嚱鏁版潵鍒涘缓 BalloonEval"
 
-msgid "E229: Cannot start the GUI"
-msgstr "E229: 鏃犳硶鍚姩鍥惧舰鐣岄潰"
-
-#, c-format
-msgid "E230: Cannot read from \"%s\""
-msgstr "E230: 涓嶈兘璇诲彇鏂囦欢 \"%s\""
-
-msgid "E665: Cannot start GUI, no valid font found"
-msgstr "E665: 鏃犳硶鍚姩鍥惧舰鐣岄潰锛屾壘涓嶅埌鏈夋晥鐨勫瓧浣"
-
-msgid "E231: 'guifontwide' invalid"
-msgstr "E231: 鏃犳晥鐨 'guifontwide'"
-
-msgid "E599: Value of 'imactivatekey' is invalid"
-msgstr "E599: 'imactivatekey' 鐨勫兼棤鏁"
-
-#, c-format
-msgid "E254: Cannot allocate color %s"
-msgstr "E254: 鏃犳硶鍒嗛厤棰滆壊 %s"
-
-msgid "No match at cursor, finding next"
-msgstr "鍦ㄥ厜鏍囧娌℃湁鍖归厤锛屾煡鎵句笅涓涓"
-
 msgid "Vim dialog..."
 msgstr "Vim 瀵硅瘽妗..."
 
@@ -2027,6 +2041,12 @@ msgstr "E243: 涓嶆敮鎸佺殑鍙傛暟: \"-%s\"锛涜浣跨敤 OLE 鐗堟湰銆"
 msgid "E672: Unable to open window inside MDI application"
 msgstr "E672: 鏃犳硶鍦 MDI 搴旂敤绋嬪簭涓墦寮绐楀彛"
 
+msgid "Close tab"
+msgstr "鍏抽棴鏍囩"
+
+msgid "Open tab..."
+msgstr "鎵撳紑鏍囩..."
+
 msgid "Find string (use '\\\\' to find  a '\\')"
 msgstr "鏌ユ壘瀛楃涓 (浣跨敤 '\\\\' 鏉ユ煡鎵 '\\')"
 
@@ -2084,40 +2104,36 @@ msgstr ""
 "瀛椾綋1鐨勫搴: %ld\n"
 "\n"
 
-#, fuzzy
-#~ msgid "Invalid font specification"
-#~ msgstr "涓嶆纭殑瀛椾綋闆(Fontset)"
-
-#~ msgid "&Dismiss"
-#~ msgstr ""
-
-#~ msgid "no specific match"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "Vim - Font Selector"
-#~ msgstr "瀛椾綋閫夋嫨"
-
-#~ msgid "Name:"
-#~ msgstr ""
+msgid "Invalid font specification"
+msgstr "鎸囧畾浜嗘棤鏁堢殑瀛椾綋"
+
+msgid "&Dismiss"
+msgstr "鍙栨秷(&D)"
+
+msgid "no specific match"
+msgstr "鎵句笉鍒板尮閰嶇殑椤"
+
+msgid "Vim - Font Selector"
+msgstr "Vim - 瀛椾綋閫夋嫨鍣"
+
+msgid "Name:"
+msgstr "鍚嶇О:"
 
 #. create toggle button
 #~ msgid "Show size in Points"
 #~ msgstr ""
 
-#, fuzzy
-#~ msgid "Encoding:"
-#~ msgstr "璁板綍涓"
-
-#, fuzzy
-#~ msgid "Font:"
-#~ msgstr "瀛椾綋1: %s\n"
-
-#~ msgid "Style:"
-#~ msgstr ""
-
-#~ msgid "Size:"
-#~ msgstr ""
+msgid "Encoding:"
+msgstr "缂栫爜:"
+
+msgid "Font:"
+msgstr "瀛椾綋:"
+
+msgid "Style:"
+msgstr "椋庢牸:"
+
+msgid "Size:"
+msgstr "灏哄:"
 
 msgid "E256: Hangul automata ERROR"
 msgstr "E256: Hangul automata 閿欒"
@@ -3021,8 +3037,8 @@ msgstr ""
 msgid "-display <display>\tRun vim on <display> (also: --display)"
 msgstr "-display <display>\t鍦 <display> 涓婅繍琛 vim (涔熷彲鐢 --display)"
 
-#~ msgid "--role <role>\tSet a unique role to identify the main window"
-#~ msgstr ""
+msgid "--role <role>\tSet a unique role to identify the main window"
+msgstr "--role <role>\t璁剧疆鐢ㄤ簬鍖哄垎涓荤獥鍙g殑绐楀彛瑙掕壊鍚"
 
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
 msgstr "--socketid <xid>\t鍦ㄥ彟涓涓 GTK 閮ㄤ欢涓墦寮 Vim"
@@ -3030,8 +3046,8 @@ msgstr "--socketid <xid>\t鍦ㄥ彟涓涓 GTK 閮ㄤ欢涓墦寮 Vim"
 msgid "-P <parent title>\tOpen Vim inside parent application"
 msgstr "-P <parent title>\t鍦ㄧ埗搴旂敤绋嬪簭涓墦寮 Vim"
 
-#~ msgid "No display"
-#~ msgstr ""
+msgid "No display"
+msgstr "娌℃湁 display"
 
 #. Failed to send, abort.
 msgid ": Send failed.\n"
@@ -3045,9 +3061,8 @@ msgstr ": 鍙戦佸け璐ャ傚皾璇曟湰鍦版墽琛孿n"
 msgid "%d of %d edited"
 msgstr "%d 涓 %d 宸茬紪杈"
 
-#, fuzzy
-#~ msgid "No display: Send expression failed.\n"
-#~ msgstr "鍙戦佽〃杈惧紡澶辫触銆俓n"
+msgid "No display: Send expression failed.\n"
+msgstr "娌℃湁 display: 鍙戦佽〃杈惧紡澶辫触銆俓n"
 
 msgid ": Send expression failed.\n"
 msgstr ": 鍙戦佽〃杈惧紡澶辫触銆俓n"
@@ -3241,49 +3256,49 @@ msgstr "E308: 璀﹀憡: 鍘熷鏂囦欢鍙兘宸茶淇敼"
 msgid "E309: Unable to read block 1 from %s"
 msgstr "E309: 鏃犳硶浠 %s 璇诲彇鍧 1"
 
+# do not translate to avoid writing Chinese in files
 #, fuzzy
-# do not translate to avoid writing Chinese in files
-msgid "???MANY LINES MISSING"
-msgstr "???缂哄皯浜嗗お澶氳"
-
-#, fuzzy
+#~ msgid "???MANY LINES MISSING"
+#~ msgstr "???缂哄皯浜嗗お澶氳"
+
 # do not translate to avoid writing Chinese in files
-msgid "???LINE COUNT WRONG"
-msgstr "???琛屾暟閿欒"
-
 #, fuzzy
+#~ msgid "???LINE COUNT WRONG"
+#~ msgstr "???琛屾暟閿欒"
+
 # do not translate to avoid writing Chinese in files
-msgid "???EMPTY BLOCK"
-msgstr "???绌虹殑鍧"
-
 #, fuzzy
+#~ msgid "???EMPTY BLOCK"
+#~ msgstr "???绌虹殑鍧"
+
 # do not translate to avoid writing Chinese in files
-msgid "???LINES MISSING"
-msgstr "???缂哄皯浜嗕竴浜涜"
+#, fuzzy
+#~ msgid "???LINES MISSING"
+#~ msgstr "???缂哄皯浜嗕竴浜涜"
 
 #, c-format
 msgid "E310: Block 1 ID wrong (%s not a .swp file?)"
 msgstr "E310: 鍧 1 ID 閿欒 (%s 涓嶆槸浜ゆ崲鏂囦欢锛)"
 
+# do not translate to avoid writing Chinese in files
 #, fuzzy
-# do not translate to avoid writing Chinese in files
-msgid "???BLOCK MISSING"
-msgstr "???缂哄皯鍧"
-
-#, fuzzy
+#~ msgid "???BLOCK MISSING"
+#~ msgstr "???缂哄皯鍧"
+
 # do not translate to avoid writing Chinese in files
-msgid "??? from here until ???END lines may be messed up"
-msgstr "??? 浠庤繖閲屽埌 ???END 鐨勮鍙兘宸叉贩涔"
-
 #, fuzzy
+#~ msgid "??? from here until ???END lines may be messed up"
+#~ msgstr "??? 浠庤繖閲屽埌 ???END 鐨勮鍙兘宸叉贩涔"
+
 # do not translate to avoid writing Chinese in files
-msgid "??? from here until ???END lines may have been inserted/deleted"
-msgstr "??? 浠庤繖閲屽埌 ???END 鐨勮鍙兘宸茶鎻掑叆/鍒犻櫎杩"
-
 #, fuzzy
+#~ msgid "??? from here until ???END lines may have been inserted/deleted"
+#~ msgstr "??? 浠庤繖閲屽埌 ???END 鐨勮鍙兘宸茶鎻掑叆/鍒犻櫎杩"
+
 # do not translate to avoid writing Chinese in files
-msgid "???END"
-msgstr "???END"
+#, fuzzy
+#~ msgid "???END"
+#~ msgstr "???END"
 
 msgid "E311: Recovery Interrupted"
 msgstr "E311: 鎭㈠宸茶涓柇"
@@ -3810,18 +3825,18 @@ msgid "E347: No more file \"%s\" found i
 msgstr "E347: 鍦ㄨ矾寰勪腑鎵句笉鍒版洿澶氱殑鏂囦欢 \"%s\""
 
 #. Get here when the server can't be found.
-#~ msgid "Cannot connect to Netbeans #2"
-#~ msgstr ""
-
-#~ msgid "Cannot connect to Netbeans"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
-#~ msgstr ""
-
-#~ msgid "read from Netbeans socket"
-#~ msgstr ""
+msgid "Cannot connect to Netbeans #2"
+msgstr "鏃犳硶杩炴帴鍒 Netbeans #2"
+
+msgid "Cannot connect to Netbeans"
+msgstr "鏃犳硶杩炴帴鍒 Netbeans"
+
+#, c-format
+msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
+msgstr "E668: NetBeans 杩炴帴淇℃伅鏂囦欢涓敊璇殑璁块棶妯″紡: \"%s\""
+
+msgid "read from Netbeans socket"
+msgstr "浠 Netbeans 濂楁帴瀛楄鍙"
 
 #, c-format
 msgid "E658: NetBeans connection lost for buffer %ld"
@@ -3950,26 +3965,27 @@ msgstr "E574: 鏈煡鐨勫瘎瀛樺櫒绫诲瀷 %d"
 msgid "%ld Cols; "
 msgstr "%ld 鍒; "
 
-#, fuzzy, c-format
-#~ msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
-#~ msgstr "閫夋嫨浜 %s%ld/%ld 琛; %ld/%ld 瀛(Word); %ld/%ld 瀛楃(Bytes)"
-
-#, fuzzy, c-format
+#, c-format
+msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
+msgstr "閫夋嫨浜 %s%ld/%ld 琛; %ld/%ld 涓瘝; %ld/%ld 涓瓧鑺"
+
+#, c-format
 msgid ""
 "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld "
 "Bytes"
-msgstr "閫夋嫨浜 %s%ld/%ld 琛; %ld/%ld 瀛(Word); %ld/%ld 瀛楃(Chars); %ld/%ld"
-
-#, fuzzy, c-format
-#~ msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
-#~ msgstr "鍒 %s/%s; 琛 %ld/%ld; 瀛(Word) %ld/%ld; 瀛楃(Byte) %ld/%ld"
-
-#, fuzzy, c-format
+msgstr "閫夋嫨浜 %s%ld/%ld 琛; %ld/%ld 涓瘝; %ld/%ld 涓瓧绗; %ld/%ld 涓瓧鑺"
+
+#, c-format
+msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
+msgstr "绗 %s/%s 鍒; 绗 %ld/%ld 琛; 绗 %ld/%ld 涓瘝; 绗 %ld/%ld 涓瓧鑺"
+
+#, c-format
 msgid ""
 "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of "
 "%ld"
 msgstr ""
-"鍒 %s/%s; 琛 %ld/%ld; 瀛(Word) %ld/%ld; 瀛楃(Char) %ld/%ld; 瀛楃(Byte) %ld/%ld"
+"绗 %s/%s 鍒; 绗 %ld/%ld 琛; 绗 %ld/%ld 涓瘝; 绗 %ld/%ld 涓瓧绗; 绗 %ld/%ld 涓"
+"瀛楄妭"
 
 #, c-format
 #~ msgid "(+%ld for BOM)"
@@ -4177,17 +4193,14 @@ msgstr "ANCHOR_BUF_SIZE 澶皬"
 msgid "I/O ERROR"
 msgstr "I/O 閿欒"
 
-#~ msgid "...(truncated)"
-#~ msgstr ""
-
-#~ msgid "Message"
-#~ msgstr ""
+msgid "Message"
+msgstr "娑堟伅"
 
 msgid "'columns' is not 80, cannot execute external commands"
 msgstr "'columns' 涓嶆槸 80, 涓嶈兘鎵ц澶栭儴鍛戒护"
 
 msgid "E237: Printer selection failed"
-msgstr "E237: 涓嶈兘閫夋嫨姝ゆ墦鍗版満"
+msgstr "E237: 閫夋嫨鎵撳嵃鏈哄け璐"
 
 #, c-format
 msgid "to %s on %s"
@@ -4203,7 +4216,7 @@ msgstr "E238: 鎵撳嵃閿欒: %s"
 
 #, c-format
 msgid "Printing '%s'"
-msgstr "宸叉墦鍗: '%s'"
+msgstr "鎵撳嵃 '%s'"
 
 #, c-format
 msgid "E244: Illegal charset name \"%s\" in font name \"%s\""
@@ -4214,22 +4227,22 @@ msgid "E245: Illegal char '%c' in font n
 msgstr "E245: 涓嶆纭殑瀛楃 '%c' 鍑虹幇鍦ㄥ瓧浣撳悕绉 \"%s\" 鍐"
 
 msgid "E366: Invalid 'osfiletype' option - using Text"
-msgstr "E366: 涓嶆纭殑 'filetype' 閫夐」 - 浣跨敤绾枃瀛楁ā寮"
+msgstr "E366: 涓嶆纭殑 'osfiletype' 閫夐」 - 浣跨敤绾枃瀛楁ā寮"
 
 msgid "Vim: Double signal, exiting\n"
-msgstr "Vim: 鍙岄噸淇″彿, 閫鍑轰腑\n"
+msgstr "Vim: 鍙岄噸淇″彿锛岄鍑轰腑\n"
 
 #, c-format
 msgid "Vim: Caught deadly signal %s\n"
-msgstr "Vim: CVim: 鎷︽埅鍒颁俊鍙(signal) %s\n"
+msgstr "Vim: 鎷︽埅鍒拌嚧鍛戒俊鍙(deadly signal) %s\n"
 
 #, c-format
 msgid "Vim: Caught deadly signal\n"
-msgstr "Vim: 鎷︽埅鍒拌嚧鍛界殑淇″彿(deadly signale)\n"
+msgstr "Vim: 鎷︽埅鍒拌嚧鍛戒俊鍙(deadly signal)\n"
 
 #, c-format
 msgid "Opening the X display took %ld msec"
-msgstr "鎵撳紑 X Window 鐢ㄦ椂 %ld 绉"
+msgstr "鎵撳紑 X display 鐢ㄦ椂 %ld 绉"
 
 msgid ""
 "\n"
@@ -4239,24 +4252,24 @@ msgstr ""
 "Vim: X 閿欒\n"
 
 msgid "Testing the X display failed"
-msgstr "娴嬭瘯 X Window 澶辫触"
+msgstr "娴嬭瘯 X display 澶辫触"
 
 msgid "Opening the X display timed out"
-msgstr "鎵撳紑 X Window 瓒呮椂"
+msgstr "鎵撳紑 X display 瓒呮椂"
 
 msgid ""
 "\n"
 "Cannot execute shell "
 msgstr ""
 "\n"
-"涓嶈兘鎵ц shell"
+"鏃犳硶鎵ц shell"
 
 msgid ""
 "\n"
 "Cannot execute shell sh\n"
 msgstr ""
 "\n"
-"涓嶈兘鎵ц shell sh\n"
+"鏃犳硶鎵ц shell sh\n"
 
 msgid ""
 "\n"
@@ -4270,14 +4283,14 @@ msgid ""
 "Cannot create pipes\n"
 msgstr ""
 "\n"
-"涓嶈兘寤虹珛绠¢亾\n"
+"鏃犳硶寤虹珛绠¢亾\n"
 
 msgid ""
 "\n"
 "Cannot fork\n"
 msgstr ""
 "\n"
-"涓嶈兘 fork\n"
+"鏃犳硶 fork\n"
 
 msgid ""
 "\n"
@@ -4286,46 +4299,45 @@ msgstr ""
 "\n"
 "鍛戒护宸茬粨鏉焅n"
 
-#, fuzzy
-#~ msgid "XSMP lost ICE connection"
-#~ msgstr "鏄剧ず杩炴帴"
-
-#, c-format
-#~ msgid "dlerror = \"%s\""
-#~ msgstr ""
+msgid "XSMP lost ICE connection"
+msgstr "XSMP 涓㈠け浜嗗埌 ICE 鐨勮繛鎺"
+
+# do not translate
+#, c-format
+msgid "dlerror = \"%s\""
+msgstr "dlerror = \"%s\""
 
 msgid "Opening the X display failed"
-msgstr "鎵撳紑 X Window 澶辫触"
-
-#~ msgid "XSMP handling save-yourself request"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "XSMP opening connection"
-#~ msgstr "娌℃湁 cscope 杩炴帴"
-
-#~ msgid "XSMP ICE connection watch failed"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "XSMP SmcOpenConnection failed: %s"
-#~ msgstr ""
+msgstr "鎵撳紑 X display 澶辫触"
+
+msgid "XSMP handling save-yourself request"
+msgstr "XSMP 澶勭悊 save-yourself 璇锋眰"
+
+msgid "XSMP opening connection"
+msgstr "XSMP 鎵撳紑杩炴帴"
+
+msgid "XSMP ICE connection watch failed"
+msgstr "XSMP ICE 杩炴帴鐩戣澶辫触"
+
+#, c-format
+msgid "XSMP SmcOpenConnection failed: %s"
+msgstr "XSMP SmcOpenConnection 璋冪敤澶辫触: %s"
 
 msgid "At line"
 msgstr "鍦ㄨ鍙 "
 
 msgid "Could not load vim32.dll!"
-msgstr "涓嶈兘鍔犺浇 vim32.dll锛"
+msgstr "鏃犳硶鍔犺浇 vim32.dll锛"
 
 msgid "VIM Error"
 msgstr "VIM 閿欒"
 
 msgid "Could not fix up function pointers to the DLL!"
-msgstr "涓嶈兘淇鍑芥暟鎸囬拡鍒 DLL!"
+msgstr "鏃犳硶淇鍒 DLL 鐨勫嚱鏁版寚閽!"
 
 #, c-format
 msgid "shell returned %d"
-msgstr "Shell 杩斿洖鍊 %d"
+msgstr "Shell 杩斿洖 %d"
 
 #, c-format
 msgid "Vim: Caught %s event\n"
@@ -4348,8 +4360,8 @@ msgid ""
 "External commands will not pause after completion.\n"
 "See  :help win32-vimrun  for more information."
 msgstr ""
-"鍦ㄤ綘鐨 $PATH 涓壘涓嶅埌 VIMRUN.EXE.\n"
-"澶栭儴鍛戒护鎵ц瀹屾瘯鍚庡皢涓嶄細鏆傚仠.\n"
+"鍦ㄤ綘鐨 $PATH 涓壘涓嶅埌 VIMRUN.EXE銆俓n"
+"澶栭儴鍛戒护鎵ц瀹屾瘯鍚庡皢涓嶄細鏆傚仠銆俓n"
 "杩涗竴姝ヨ鏄庤瑙 :help win32-vimrun"
 
 msgid "Vim Warning"
@@ -4407,8 +4419,8 @@ msgstr "閿欒鍒楄〃 %d / %d锛涘叡 %d 涓敊璇"
 msgid "E382: Cannot write, 'buftype' option is set"
 msgstr "E382: 鏃犳硶鍐欏叆锛屽凡璁惧畾閫夐」 'buftype'"
 
-#~ msgid "E683: File name missing or invalid pattern"
-#~ msgstr ""
+msgid "E683: File name missing or invalid pattern"
+msgstr "E683: 缂哄皯鏂囦欢鍚嶆垨妯″紡鏃犳晥"
 
 #, c-format
 msgid "Cannot open file \"%s\""
@@ -4603,9 +4615,9 @@ msgstr "  鎵句笉鍒"
 msgid "Scanning included file: %s"
 msgstr "鏌ユ壘鍖呭惈鏂囦欢: %s"
 
-#, fuzzy, c-format
-#~ msgid "Searching included file %s"
-#~ msgstr "鏌ユ壘鍖呭惈鏂囦欢: %s"
+#, c-format
+msgid "Searching included file %s"
+msgstr "鏌ユ壘鍖呭惈鐨勬枃浠 %s"
 
 msgid "E387: Match is on current line"
 msgstr "E387: 褰撳墠琛屽尮閰"
@@ -4622,339 +4634,339 @@ msgstr "E388: 鎵句笉鍒板畾涔"
 msgid "E389: Couldn't find pattern"
 msgstr "E389: 鎵句笉鍒 pattern"
 
-#, fuzzy
-#~ msgid "E759: Format error in spell file"
-#~ msgstr "E297: 浜ゆ崲鏂囦欢鍐欏叆閿欒"
-
-#, fuzzy
-#~ msgid "E758: Truncated spell file"
-#~ msgstr "E237: 涓嶈兘閫夋嫨姝ゆ墦鍗版満"
-
-#, fuzzy, c-format
-#~ msgid "Trailing text in %s line %d: %s"
-#~ msgstr "\"%s%s\" 涓柇鐐: 绗 %ld 琛"
-
-#, c-format
-#~ msgid "Affix name too long in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "E761: Format error in affix file FOL, LOW or UPP"
-#~ msgstr "E431: Tag 鏂囦欢 \"%s\" 鏍煎紡閿欒"
-
-#~ msgid "E762: Character in FOL, LOW or UPP is out of range"
-#~ msgstr ""
-
-#~ msgid "Compressing word tree..."
-#~ msgstr ""
-
-#~ msgid "E756: Spell checking is not enabled"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Reading spell file \"%s\""
-#~ msgstr "浣跨敤浜ゆ崲鏂囦欢 \"%s\""
-
-#, fuzzy
-#~ msgid "E757: This does not look like a spell file"
-#~ msgstr "E307: %s 鐪嬭捣鏉ヤ笉鍍忔槸 Vim 浜ゆ崲鏂囦欢"
-
-#, fuzzy
-#~ msgid "E771: Old spell file, needs to be updated"
-#~ msgstr "E173: 杩樻湁 %ld 涓枃浠舵湭缂栬緫"
-
-#~ msgid "E772: Spell file is for newer version of Vim"
+msgid "E759: Format error in spell file"
+msgstr "E759: 鎷煎啓鏂囦欢鏍煎紡閿欒"
+
+msgid "E758: Truncated spell file"
+msgstr "E758: 宸叉埅鏂殑鎷煎啓鏂囦欢"
+
+#, c-format
+msgid "Trailing text in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝澶氫綑鐨勫悗缁瓧绗: %s"
+
+#, c-format
+msgid "Affix name too long in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝闄勫姞椤瑰悕瀛楀お闀: %s"
+
+msgid "E761: Format error in affix file FOL, LOW or UPP"
+msgstr "E761: 闄勫姞鏂囦欢 FOL銆丩OW 鎴 UPP 涓牸寮忛敊璇"
+
+msgid "E762: Character in FOL, LOW or UPP is out of range"
+msgstr "E762: FOL銆丩OW 鎴 UPP 涓瓧绗﹁秴鍑鸿寖鍥"
+
+msgid "Compressing word tree..."
+msgstr "鍘嬬缉鍗曡瘝鏍戔︹"
+
+msgid "E756: Spell checking is not enabled"
+msgstr "E756: 鎷煎啓妫鏌ユ湭鍚敤"
+
+#, c-format
+msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
+msgstr "璀﹀憡: 鎵句笉鍒板崟璇嶅垪琛 \"%s.%s.spl\" or \"%s.ascii.spl\""
+
+#, c-format
+msgid "Reading spell file \"%s\""
+msgstr "璇诲彇鎷煎啓鏂囦欢 \"%s\""
+
+msgid "E757: This does not look like a spell file"
+msgstr "E757: 杩欑湅璧锋潵涓嶅儚鏄嫾鍐欐枃浠"
+
+msgid "E771: Old spell file, needs to be updated"
+msgstr "E771: 鏃х増鏈殑鎷煎啓鏂囦欢锛岄渶瑕佹洿鏂"
+
+msgid "E772: Spell file is for newer version of Vim"
+msgstr "E772: 涓烘洿楂樼増鏈殑 Vim 鎵鐢ㄧ殑鎷煎啓鏂囦欢"
+
+msgid "E770: Unsupported section in spell file"
+msgstr "E770: 鎷煎啓鏂囦欢涓瓨鍦ㄤ笉鏀寔鐨勮妭"
+
+#, c-format
+msgid "Warning: region %s not supported"
+msgstr "璀﹀憡: 鍖哄煙 %s 涓嶆敮鎸"
+
+#, c-format
+msgid "Reading affix file %s ..."
+msgstr "璇诲彇闄勫姞鏂囦欢 %s 鈥︹"
+
+#, c-format
+msgid "Conversion failure for word in %s line %d: %s"
+msgstr "鍗曡瘝 %s 杞崲澶辫触锛岀 %d 琛: %s"
+
+#, c-format
+msgid "Conversion in %s not supported: from %s to %s"
+msgstr "涓嶆敮鎸 %s 涓殑杞崲: 浠 %s 鍒 %s"
+
+#, c-format
+msgid "Conversion in %s not supported"
+msgstr "涓嶆敮鎸 %s 涓殑杞崲"
+
+#, c-format
+msgid "Invalid value for FLAG in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝FLAG 鐨勫兼棤鏁: %s"
+
+#, c-format
+msgid "FLAG after using flags in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝鍦ㄤ娇鐢ㄦ爣蹇楀悗鍑虹幇 FLAG: %s"
+
+#, c-format
+#~ msgid ""
+#~ "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line "
+#~ "%d"
 #~ msgstr ""
 
-#, fuzzy
-#~ msgid "E770: Unsupported section in spell file"
-#~ msgstr "E297: 浜ゆ崲鏂囦欢鍐欏叆閿欒"
-
-#, fuzzy, c-format
-#~ msgid "Warning: region %s not supported"
-#~ msgstr "涓嶆敮鎸佽閫夐」"
-
-#, fuzzy, c-format
-#~ msgid "Reading affix file %s ..."
-#~ msgstr "鏌ユ壘 tag 鏂囦欢 \"%s\""
-
-#, c-format
-#~ msgid "Conversion failure for word in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Conversion in %s not supported: from %s to %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Conversion in %s not supported"
-#~ msgstr "涓嶆敮鎸佽閫夐」"
-
-#, fuzzy, c-format
-#~ msgid "Invalid value for FLAG in %s line %d: %s"
-#~ msgstr "涓嶆纭殑鏈嶅姟鍣 id : %s"
-
-#, c-format
-#~ msgid "FLAG after using flags in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Different combining flag in continued affix block in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Duplicate affix in %s line %d: %s"
-#~ msgstr "E154: 鏍囩(tag) \"%s\" 鍦ㄦ枃浠 %s 閲岄噸澶嶅嚭鐜板娆"
-
 #, c-format
 #~ msgid ""
-#~ "Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
-#~ "line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Expected Y or N in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Broken condition in %s line %d: %s"
-#~ msgstr "\"%s%s\" 涓柇鐐: 绗 %ld 琛"
-
-#, c-format
-#~ msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Expected REP(SAL) count in %s line %d"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Expected MAP count in %s line %d"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Duplicate character in MAP in %s line %d"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Unrecognized or duplicate item in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Missing FOL/LOW/UPP line in %s"
-#~ msgstr ""
-
-#~ msgid "COMPOUNDSYLMAX used without SYLLABLE"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "Too many postponed prefixes"
-#~ msgstr "澶缂栬緫鍙傛暟"
-
-#, fuzzy
-#~ msgid "Too many compound flags"
-#~ msgstr "澶缂栬緫鍙傛暟"
-
-#~ msgid "Too many posponed prefixes and/or compound flags"
+#~ "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line "
+#~ "%d"
 #~ msgstr ""
 
 #, c-format
-#~ msgid "Missing SOFO%s line in %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Both SAL and SOFO lines in %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Flag is not a number in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Illegal flag in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "%s value differs from what is used in another .aff file"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Reading dictionary file %s ..."
-#~ msgstr "鎵弿瀛楀吀: %s"
-
-#, c-format
-#~ msgid "E760: No word count in %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "line %6d, word %6d - %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Duplicate word in %s line %d: %s"
-#~ msgstr "姣忎竴琛岄兘鎵句笉鍒版ā寮: %s"
-
-#, c-format
-#~ msgid "First duplicate word in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "%d duplicate word(s) in %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Ignored %d word(s) with non-ASCII characters in %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Reading word file %s ..."
-#~ msgstr "浠庢爣鍑嗚緭鍏ヨ..."
+msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝閿欒鐨 COMPOUNDWORDMAX 鍊: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝閿欒鐨 COMPOUNDMIN 鍊: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝閿欒鐨 COMPOUNDSYLMAX 鍊: %s"
+
+#, c-format
+msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝閿欒鐨 CHECKCOMPOUNDPATTERN 鍊: %s"
+
+#, c-format
+msgid "Different combining flag in continued affix block in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝鍦ㄨ繛缁殑闄勫姞鍧椾腑鍑虹幇涓嶅悓鐨勭粍鍚堟爣蹇: %s"
+
+#, c-format
+msgid "Duplicate affix in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝閲嶅鐨勯檮鍔犻」: %s"
+
+#, c-format
+msgid ""
+"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
+"line %d: %s"
+msgstr ""
+"%s 绗 %d 琛岋紝闄勫姞椤硅 BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST 浣"
+"鐢: %s"
+
+#, c-format
+msgid "Expected Y or N in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝姝ゅ闇瑕 Y 鎴 N: %s"
+
+#, c-format
+msgid "Broken condition in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝閿欒鐨勬潯浠: %s"
+
+#, c-format
+msgid "Expected REP(SAL) count in %s line %d"
+msgstr "%s 绗 %d 琛岋紝姝ゅ闇瑕 REP(SAL) 璁℃暟"
+
+#, c-format
+msgid "Expected MAP count in %s line %d"
+msgstr "%s 绗 %d 琛岋紝姝ゅ闇瑕 MAP 璁℃暟"
+
+#, c-format
+msgid "Duplicate character in MAP in %s line %d"
+msgstr "%s 绗 %d 琛岋紝MAP 涓瓨鍦ㄩ噸澶嶇殑瀛楃"
+
+#, c-format
+msgid "Unrecognized or duplicate item in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝鏃犳硶璇嗗埆鎴栭噸澶嶇殑椤: %s"
+
+#, c-format
+msgid "Missing FOL/LOW/UPP line in %s"
+msgstr "%s 涓己灏 FOL/LOW/UPP 琛"
+
+msgid "COMPOUNDSYLMAX used without SYLLABLE"
+msgstr "鍦ㄦ病鏈 SYLLABLE 鐨勬儏鍐典笅浣跨敤浜 COMPOUNDSYLMAX"
+
+msgid "Too many postponed prefixes"
+msgstr "澶寤惰繜鍓嶇紑"
+
+msgid "Too many compound flags"
+msgstr "澶缁勫悎鏍囧織"
+
+msgid "Too many posponed prefixes and/or compound flags"
+msgstr "澶寤惰繜鍓嶇紑鍜/鎴栫粍鍚堟爣蹇"
+
+#, c-format
+msgid "Missing SOFO%s line in %s"
+msgstr "%s 涓己灏 SOFO%s 琛"
+
+#, c-format
+msgid "Both SAL and SOFO lines in %s"
+msgstr "%s 鍚屾椂鍑虹幇 SQL 鍜 SOFO 琛"
+
+#, c-format
+msgid "Flag is not a number in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝鏍囧織涓嶆槸鏁板瓧: %s"
+
+#, c-format
+msgid "Illegal flag in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝鏃犳晥鐨勬爣蹇: %s"
+
+#, c-format
+msgid "%s value differs from what is used in another .aff file"
+msgstr "%s 鐨勫间笌鍙︿竴涓 .aff 鏂囦欢涓娇鐢ㄧ殑鍊间笉鐩稿悓"
+
+#, c-format
+msgid "Reading dictionary file %s ..."
+msgstr "璇诲彇瀛楀吀鏂囦欢 %s 鈥︹"
+
+#, c-format
+msgid "E760: No word count in %s"
+msgstr "E760: %s 涓病鏈夊崟璇嶈鏁"
+
+#, c-format
+msgid "line %6d, word %6d - %s"
+msgstr "绗 %6d 琛岋紝绗 %6d 涓崟璇 - %s"
+
+#, c-format
+msgid "Duplicate word in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝閲嶅鐨勫崟璇: %s"
+
+#, c-format
+msgid "First duplicate word in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝棣栨閲嶅鐨勫崟璇: %s"
+
+#, c-format
+msgid "%d duplicate word(s) in %s"
+msgstr "瀛樺湪 %d 涓噸澶嶇殑鍗曡瘝锛屽湪 %s 涓"
+
+#, c-format
+msgid "Ignored %d word(s) with non-ASCII characters in %s"
+msgstr "蹇界暐浜嗗惈鏈夐潪 ASCII 瀛楃鐨 %d 涓崟璇嶏紝鍦 %s 涓"
+
+#, c-format
+msgid "Reading word file %s ..."
+msgstr "璇诲彇鍗曡瘝鏂囦欢 %s 鈥︹"
 
 #, c-format
 #~ msgid "Duplicate /encoding= line ignored in %s line %d: %s"
 #~ msgstr ""
 
 #, c-format
-#~ msgid "/encoding= line after word ignored in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Duplicate /regions= line ignored in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Too many regions in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "/ line ignored in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Invalid region nr in %s line %d: %s"
-#~ msgstr "涓嶆纭殑鏈嶅姟鍣 id : %s"
-
-#, c-format
-#~ msgid "Unrecognized flags in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Ignored %d words with non-ASCII characters"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
-#~ msgstr ""
-
-#~ msgid "Reading back spell file..."
-#~ msgstr ""
+msgid "/encoding= line after word ignored in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝鍗曡瘝鍚庣殑 /encoding= 琛屽凡琚拷鐣: %s"
+
+#, c-format
+msgid "Duplicate /regions= line ignored in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝閲嶅鐨 /regions= 琛屽凡琚拷鐣: %s"
+
+#, c-format
+msgid "Too many regions in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝澶鍖哄煙: %s"
+
+#, c-format
+msgid "/ line ignored in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝/ 琛屽凡琚拷鐣: %s"
+
+#, c-format
+msgid "Invalid region nr in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝鏃犳晥鐨勫尯鍩熷彿: %s"
+
+#, c-format
+msgid "Unrecognized flags in %s line %d: %s"
+msgstr "%s 绗 %d 琛岋紝涓嶅彲璇嗗埆鐨勬爣蹇: %s"
+
+#, c-format
+msgid "Ignored %d words with non-ASCII characters"
+msgstr "蹇界暐浜嗗惈鏈夐潪 ASCII 瀛楃鐨 %d 涓崟璇"
+
+#, c-format
+msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
+msgstr "鍘嬬缉浜 %d/%d 涓妭鐐癸紱鍓╀綑 %d (%d%%)"
+
+msgid "Reading back spell file..."
+msgstr "璇诲彇鎷煎啓鏂囦欢鈥︹"
 
 #.
 #. * Go through the trie of good words, soundfold each word and add it to
 #. * the soundfold trie.
 #.
-#~ msgid "Performing soundfolding..."
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Number of words after soundfolding: %ld"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Total number of words: %d"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Writing suggestion file %s ..."
-#~ msgstr "鍐欏叆 viminfo 鏂囦欢 \"%s\" 涓"
-
-#, c-format
-#~ msgid "Estimated runtime memory use: %d bytes"
-#~ msgstr ""
-
-#~ msgid "E751: Output file name must not have region name"
-#~ msgstr ""
-
-#~ msgid "E754: Only up to 8 regions supported"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "E755: Invalid region in %s"
-#~ msgstr "E15: 涓嶆纭殑琛ㄨ揪寮: %s"
-
-#~ msgid "Warning: both compounding and NOBREAK specified"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Writing spell file %s ..."
-#~ msgstr "鍐欏叆 viminfo 鏂囦欢 \"%s\" 涓"
-
-#, fuzzy
-#~ msgid "Done!"
-#~ msgstr "鍚戜笅"
-
-#, c-format
-#~ msgid "E765: 'spellfile' does not have %ld entries"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Word removed from %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Word added to %s"
-#~ msgstr ""
-
-#~ msgid "E763: Word characters differ between spell files"
-#~ msgstr ""
-
-#~ msgid "Sorry, no suggestions"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Sorry, only %ld suggestions"
-#~ msgstr ""
+msgid "Performing soundfolding..."
+msgstr "姝e湪 soundfolding鈥︹"
+
+#, c-format
+msgid "Number of words after soundfolding: %ld"
+msgstr "soundfolding 鍚庣殑鍗曡瘝鏁: %ld"
+
+#, c-format
+msgid "Total number of words: %d"
+msgstr "鍗曡瘝鎬绘暟: %d"
+
+#, c-format
+msgid "Writing suggestion file %s ..."
+msgstr "鍐欏叆寤鸿鏂囦欢 %s 鈥︹"
+
+#, c-format
+msgid "Estimated runtime memory use: %d bytes"
+msgstr "浼拌杩愯鏃跺唴瀛樼敤閲: %d 瀛楄妭"
+
+msgid "E751: Output file name must not have region name"
+msgstr "E751: 杈撳嚭鏂囦欢鍚嶄笉鑳藉惈鏈夊尯鍩熷悕"
+
+msgid "E754: Only up to 8 regions supported"
+msgstr "E754: 鏈澶氬彧鏀寔 8 涓尯鍩"
+
+#, c-format
+msgid "E755: Invalid region in %s"
+msgstr "E755: %s 鍑虹幇鏃犳晥鐨勮寖鍥"
+
+msgid "Warning: both compounding and NOBREAK specified"
+msgstr "璀﹀憡: 鍚屾椂鎸囧畾浜 compounding 鍜 NOBREAK"
+
+#, c-format
+msgid "Writing spell file %s ..."
+msgstr "鍐欏叆鎷煎啓鏂囦欢 %s 鈥︹"
+
+msgid "Done!"
+msgstr "瀹屾垚锛"
+
+#, c-format
+msgid "E765: 'spellfile' does not have %ld entries"
+msgstr "E765: 'spellfile' 娌℃湁 %ld 椤"
+
+#, c-format
+msgid "Word removed from %s"
+msgstr "浠 %s 涓垹闄や簡鍗曡瘝"
+
+#, c-format
+msgid "Word added to %s"
+msgstr "鍚 %s 涓坊鍔犱簡鍗曡瘝"
+
+msgid "E763: Word characters differ between spell files"
+msgstr "E763: 鎷煎啓鏂囦欢涔嬮棿鐨勫瓧绗︿笉鐩稿悓"
+
+msgid "Sorry, no suggestions"
+msgstr "鎶辨瓑锛屾病鏈夊缓璁"
+
+#, c-format
+msgid "Sorry, only %ld suggestions"
+msgstr "鎶辨瓑锛屽彧鏈 %ld 鏉″缓璁"
 
 #. avoid more prompt
-#, fuzzy, c-format
-#~ msgid "Change \"%.*s\" to:"
-#~ msgstr "灏嗘敼鍙樹繚瀛樺埌 \"%.*s\"?"
-
-#, c-format
-#~ msgid " < \"%.*s\""
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "E752: No previous spell replacement"
-#~ msgstr "E35: 娌℃湁鍓嶄竴涓煡鎵惧懡浠"
-
-#, fuzzy, c-format
-#~ msgid "E753: Not found: %s"
-#~ msgstr "E334: [鑿滃崟] 鎵句笉鍒 %s"
-
-#, fuzzy, c-format
-#~ msgid "E778: This does not look like a .sug file: %s"
-#~ msgstr "E307: %s 鐪嬭捣鏉ヤ笉鍍忔槸 Vim 浜ゆ崲鏂囦欢"
+#, c-format
+msgid "Change \"%.*s\" to:"
+msgstr "灏 \"%.*s\" 鏀逛负锛"
+
+#, c-format
+msgid " < \"%.*s\""
+msgstr " < \"%.*s\""
+
+msgid "E752: No previous spell replacement"
+msgstr "E752: 涔嬪墠娌℃湁鎷煎啓鏇挎崲"
+
+#, c-format
+msgid "E753: Not found: %s"
+msgstr "E753: 鎵句笉鍒: %s"
+
+#, c-format
+msgid "E778: This does not look like a .sug file: %s"
+msgstr "E778: 鐪嬭捣鏉ヤ笉鍍忔槸 .sug 鏂囦欢: %s"
 
 #, c-format
 #~ msgid "E779: Old .sug file, needs to be updated: %s"
@@ -5056,8 +5068,8 @@ msgid "E397: Filename required"
 msgstr "E397: 闇瑕佹枃浠跺悕绉"
 
 #, c-format
-msgid "E789: Missing ']': %s"
-msgstr "E789: 缂哄皯 ']': %s"
+msgid "E747: Missing ']': %s"
+msgstr "E747: 缂哄皯 ']': %s"
 
 #, c-format
 msgid "E398: Missing '=': %s"
@@ -5109,8 +5121,8 @@ msgstr "E409: 涓嶆纭殑缁勫悕: %s"
 msgid "E410: Invalid :syntax subcommand: %s"
 msgstr "E410: 涓嶆纭殑 :syntax 瀛愬懡浠: %s"
 
-#~ msgid "E679: recursive loop loading syncolor.vim"
-#~ msgstr ""
+msgid "E679: recursive loop loading syncolor.vim"
+msgstr "E679: 鍔犺浇 syncolor.vim 鏃跺嚭鐜板祵濂楀惊鐜"
 
 #, c-format
 msgid "E411: highlight group not found: %s"
@@ -5164,12 +5176,11 @@ msgstr "E423: 鏃犳晥鐨勫弬鏁: %s"
 msgid "E424: Too many different highlighting attributes in use"
 msgstr "E424: 浣跨敤浜嗗お澶氫笉鍚岀殑楂樹寒搴﹀睘鎬"
 
-#~ msgid "E669: Unprintable character in group name"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "W18: Invalid character in group name"
-#~ msgstr "E182: 鍛戒护鍚嶇О涓嶆纭"
+msgid "E669: Unprintable character in group name"
+msgstr "E669: 缁勫悕涓瓨鍦ㄤ笉鍙樉绀哄瓧绗"
+
+msgid "W18: Invalid character in group name"
+msgstr "W18: 缁勫悕涓惈鏈夋棤鏁堝瓧绗"
 
 msgid "E555: at bottom of tag stack"
 msgstr "E555: 宸插湪 tag 鍫嗘爤搴曢儴"
@@ -5648,6 +5659,9 @@ msgstr "璀﹀憡: 妫娴嬪埌 Windows 95/98/ME"
 msgid "type  :help windows95<Enter>  for info on this"
 msgstr "杈撳叆  :help windows95<Enter>  鏌ョ湅鐩稿叧璇存槑    "
 
+msgid "Already only one window"
+msgstr "宸茬粡鍙墿涓涓獥鍙d簡"
+
 msgid "E441: There is no preview window"
 msgstr "E441: 娌℃湁棰勮绐楀彛"
 
@@ -5660,9 +5674,6 @@ msgstr "E443: 鏈夊叾瀹冨垎鍓茬獥鍙f椂涓嶈兘鏃嬭浆"
 msgid "E444: Cannot close last window"
 msgstr "E444: 涓嶈兘鍏抽棴鏈鍚庝竴涓獥鍙"
 
-msgid "Already only one window"
-msgstr "宸茬粡鍙墿涓涓獥鍙d簡"
-
 msgid "E445: Other window contains changes"
 msgstr "E445: 鍏跺畠绐楀彛鏈夋敼鍙樼殑鍐呭"
 
@@ -6050,6 +6061,9 @@ msgstr "宸叉煡鎵惧埌鏂囦欢寮澶达紝鍐嶄粠缁撳熬缁х画鏌ユ壘"
 msgid "search hit BOTTOM, continuing at TOP"
 msgstr "宸叉煡鎵惧埌鏂囦欢缁撳熬锛屽啀浠庡紑澶寸户缁煡鎵"
 
+#~ msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
+#~ msgstr "%s 绗 %d 琛岋紝浣跨敤 PFXPOSTPONE 鏃堕檮鍔犳爣蹇楄蹇界暐: %s"
+
 #~ msgid "[No file]"
 #~ msgstr "[鏈懡鍚峕"
 
--- a/src/po/zh_CN.cp936.po
+++ b/src/po/zh_CN.cp936.po
@@ -4,6 +4,10 @@
 # Do ":help credits" in Vim to see a list of people who contributed.
 #
 # FIRST AUTHOR  Wang Jun <junw@turbolinux.com.cn>
+# 
+# TRANSLATORS
+#   Edyfox <edyfox@gmail.com>
+#   Yuheng Xie <elephant@linux.net.cn>
 #
 # Generated from zh_CN.po, DO NOT EDIT.
 #
@@ -11,8 +15,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim(Simplified Chinese)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-28 21:47+0800\n"
-"PO-Revision-Date: 2006-04-18 18:00+0800\n"
+"POT-Creation-Date: 2006-04-21 15:16+0800\n"
+"PO-Revision-Date: 2006-04-21 14:00+0800\n"
 "Last-Translator: Yuheng Xie <elephant@linux.net.cn>\n"
 "Language-Team: Simplified Chinese <i18n-translation@lists.linux.net.cn>\n"
 "MIME-Version: 1.0\n"
@@ -209,6 +213,9 @@ msgstr "E102: 找不到缓冲区 \"%s\""
 msgid "E103: Buffer \"%s\" is not in diff mode"
 msgstr "E103: 缓冲区 \"%s\" 不在 diff 模式"
 
+msgid "E787: Buffer changed unexpectedly"
+msgstr "E787: 意外地改变了缓冲区"
+
 msgid "E104: Escape not allowed in digraph"
 msgstr "E104: 复合字符(digraph)中不能使用 Escape"
 
@@ -222,8 +229,8 @@ msgid " Keyword completion (^N^P)"
 msgstr " 关键字补全 (^N^P)"
 
 #. ctrl_x_mode == 0, ^P/^N compl.
-msgid " ^X mode (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
-msgstr " ^X 模式 (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
+msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
+msgstr " ^X 模式 (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 
 msgid " Whole line completion (^L^N^P)"
 msgstr " 整行补全 (^L^N^P)"
@@ -256,8 +263,8 @@ msgstr " 用户自定义补全 (^U^N^P)"
 msgid " Omni completion (^O^N^P)"
 msgstr " 全能补全 (^O^N^P)"
 
-msgid " Spelling suggestion (^S^N^P)"
-msgstr " 拼写建议 (^S^N^P)"
+msgid " Spelling suggestion (s^N^P)"
+msgstr " 拼写建议 (s^N^P)"
 
 msgid " Keyword Local completion (^N^P)"
 msgstr " 关键字局部补全 (^N^P)"
@@ -489,9 +496,8 @@ msgstr "E722: Dictionary 中缺少逗号: %s"
 msgid "E723: Missing end of Dictionary '}': %s"
 msgstr "E723: Dictionary 缺少结束符 '}': %s"
 
-#, fuzzy
-#~ msgid "E724: variable nested too deep for displaying"
-#~ msgstr "E724: 变量嵌套过深"
+msgid "E724: variable nested too deep for displaying"
+msgstr "E724: 变量嵌套过深无法显示"
 
 msgid "E699: Too many arguments"
 msgstr "E699: 参数过多"
@@ -529,8 +535,8 @@ msgstr ""
 msgid "called inputrestore() more often than inputsave()"
 msgstr "inputrestore() 的调用次数多于 inputsave()"
 
-msgid "E745: Range not allowed"
-msgstr "E745: 不允许的范围"
+msgid "E786: Range not allowed"
+msgstr "E786: 不允许的范围"
 
 msgid "E701: Invalid type for len()"
 msgstr "E701: len() 的类型无效"
@@ -560,9 +566,8 @@ msgstr "E655: 符号连接过多(循环?)"
 msgid "E258: Unable to send to client"
 msgstr "E258: 无法发送到客户端"
 
-#, fuzzy
-#~ msgid "E702: Sort compare function failed"
-#~ msgstr "E702: Sort 比较函数失败"
+msgid "E702: Sort compare function failed"
+msgstr "E702: Sort 比较函数失败"
 
 msgid "(Invalid)"
 msgstr "(无效)"
@@ -611,9 +616,8 @@ msgstr "未知"
 msgid "E742: Cannot change value of %s"
 msgstr "E742: 无法改变 %s 的值"
 
-#, fuzzy
-#~ msgid "E698: variable nested too deep for making a copy"
-#~ msgstr "E698: 变量嵌套过深"
+msgid "E698: variable nested too deep for making a copy"
+msgstr "E698: 变量嵌套过深无法复制"
 
 #, c-format
 msgid "E124: Missing '(': %s"
@@ -682,6 +686,268 @@ msgstr ""
 "\n"
 "\t最近修改于 "
 
+#, c-format
+msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
+msgstr "<%s>%s%s  %d,  十六进制 %02x,  八进制 %03o"
+
+#, c-format
+msgid "> %d, Hex %04x, Octal %o"
+msgstr "> %d, 十六进制 %04x, 八进制 %o"
+
+#, c-format
+msgid "> %d, Hex %08x, Octal %o"
+msgstr "> %d, 十六进制 %08x, 八进制 %o"
+
+msgid "E134: Move lines into themselves"
+msgstr "E134: 把行移动到自已中"
+
+msgid "1 line moved"
+msgstr "移动了 1 行"
+
+#, c-format
+msgid "%ld lines moved"
+msgstr "移动了 %ld 行"
+
+#, c-format
+msgid "%ld lines filtered"
+msgstr "过滤了 %ld 行"
+
+msgid "E135: *Filter* Autocommands must not change current buffer"
+msgstr "E135: *Filter* 自动命令不可以改变当前缓冲区"
+
+msgid "[No write since last change]\n"
+msgstr "[已修改但尚未保存]\n"
+
+# bad to translate
+#, c-format
+msgid "%sviminfo: %s in line: "
+msgstr "%sviminfo: %s 位于行: "
+
+msgid "E136: viminfo: Too many errors, skipping rest of file"
+msgstr "E136: viminfo: 错误过多,忽略文件的剩余部分"
+
+#, c-format
+msgid "Reading viminfo file \"%s\"%s%s%s"
+msgstr "读取 viminfo 文件 \"%s\"%s%s%s"
+
+msgid " info"
+msgstr " 信息"
+
+msgid " marks"
+msgstr " 标记"
+
+msgid " FAILED"
+msgstr " 失败"
+
+#, c-format
+msgid "E137: Viminfo file is not writable: %s"
+msgstr "E137: Viminfo 文件不可写入: %s"
+
+#, c-format
+msgid "E138: Can't write viminfo file %s!"
+msgstr "E138: 无法写入 viminfo 文件 %s!"
+
+#, c-format
+msgid "Writing viminfo file \"%s\""
+msgstr "写入 viminfo 文件 \"%s\""
+
+# do not translate to avoid writing Chinese in files
+#. Write the info:
+#, fuzzy, c-format
+#~ msgid "# This viminfo file was generated by Vim %s.\n"
+#~ msgstr "# 这个 viminfo 文件是由 Vim %s 生成的。\n"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+msgid ""
+"# You may edit it if you're careful!\n"
+"\n"
+msgstr ""
+"# 如果要自行修改请特别小心!\n"
+"\n"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+#~ msgid "# Value of 'encoding' when this file was written\n"
+#~ msgstr "# 'encoding' 在此文件建立时的值\n"
+
+msgid "Illegal starting char"
+msgstr "无效的启动字符"
+
+msgid "Save As"
+msgstr "另存为"
+
+msgid "Write partial file?"
+msgstr "要写入部分文件吗?"
+
+msgid "E140: Use ! to write partial buffer"
+msgstr "E140: 请使用 ! 来写入部分缓冲区"
+
+#, c-format
+msgid "Overwrite existing file \"%s\"?"
+msgstr "覆盖已存在的文件 \"%s\" 吗?"
+
+#, c-format
+msgid "Swap file \"%s\" exists, overwrite anyway?"
+msgstr "交换文件 \"%s\" 已存在,确实要覆盖吗?"
+
+#, c-format
+msgid "E768: Swap file exists: %s (:silent! overrides)"
+msgstr "E768: 交换文件已存在: %s (:silent! 强制执行)"
+
+#, c-format
+msgid "E141: No file name for buffer %ld"
+msgstr "E141: 缓冲区 %ld 没有文件名"
+
+msgid "E142: File not written: Writing is disabled by 'write' option"
+msgstr "E142: 文件未写入: 写入被 'write' 选项禁用"
+
+#, c-format
+msgid ""
+"'readonly' option is set for \"%s\".\n"
+"Do you wish to write anyway?"
+msgstr ""
+"\"%s\" 已设定 'readonly' 选项。\n"
+"确实要覆盖吗?"
+
+msgid "Edit File"
+msgstr "编辑文件"
+
+#, c-format
+msgid "E143: Autocommands unexpectedly deleted new buffer %s"
+msgstr "E143: 自动命令意外地删除了新缓冲区 %s"
+
+msgid "E144: non-numeric argument to :z"
+msgstr "E144: :z 不接受非数字的参数"
+
+msgid "E145: Shell commands not allowed in rvim"
+msgstr "E145: rvim 中禁止使用 shell 命令"
+
+msgid "E146: Regular expressions can't be delimited by letters"
+msgstr "E146: 正则表达式不能用字母作分界"
+
+#, c-format
+msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
+msgstr "替换为 %s (y/n/a/q/l/^E/^Y)?"
+
+msgid "(Interrupted) "
+msgstr "(已中断) "
+
+msgid "1 match"
+msgstr "1 个匹配,"
+
+msgid "1 substitution"
+msgstr "1 次替换,"
+
+#, c-format
+msgid "%ld matches"
+msgstr "%ld 个匹配,"
+
+#, c-format
+msgid "%ld substitutions"
+msgstr "%ld 次替换,"
+
+msgid " on 1 line"
+msgstr "共 1 行"
+
+#, c-format
+msgid " on %ld lines"
+msgstr "共 %ld 行"
+
+msgid "E147: Cannot do :global recursive"
+msgstr "E147: :global 不能递归执行"
+
+msgid "E148: Regular expression missing from global"
+msgstr "E148: global 缺少正则表达式"
+
+#, c-format
+msgid "Pattern found in every line: %s"
+msgstr "每行都匹配表达式: %s"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+msgid ""
+"\n"
+"# Last Substitute String:\n"
+"$"
+msgstr ""
+"\n"
+"# 最近的替换字符串:\n"
+"$"
+
+msgid "E478: Don't panic!"
+msgstr "E478: 不要慌!"
+
+#, c-format
+msgid "E661: Sorry, no '%s' help for %s"
+msgstr "E661: 抱歉,没有 '%s' 的 %s 的说明"
+
+#, c-format
+msgid "E149: Sorry, no help for %s"
+msgstr "E149: 抱歉,没有 %s 的说明"
+
+#, c-format
+msgid "Sorry, help file \"%s\" not found"
+msgstr "抱歉,找不到帮助文件 \"%s\""
+
+#, c-format
+msgid "E150: Not a directory: %s"
+msgstr "E150: 不是目录: %s"
+
+#, c-format
+msgid "E152: Cannot open %s for writing"
+msgstr "E152: 无法打开并写入 %s"
+
+#, c-format
+msgid "E153: Unable to open %s for reading"
+msgstr "E153: 无法打开并读取 %s"
+
+#, c-format
+msgid "E670: Mix of help file encodings within a language: %s"
+msgstr "E670: 在一种语言中混合了多种帮助文件编码: %s"
+
+#, c-format
+msgid "E154: Duplicate tag \"%s\" in file %s/%s"
+msgstr "E154: Tag \"%s\" 在文件 %s/%s 中重复出现"
+
+#, c-format
+msgid "E160: Unknown sign command: %s"
+msgstr "E160: 未知的 sign 命令: %s"
+
+msgid "E156: Missing sign name"
+msgstr "E156: 缺少 sign 名称"
+
+msgid "E612: Too many signs defined"
+msgstr "E612: Signs 定义过多"
+
+#, c-format
+msgid "E239: Invalid sign text: %s"
+msgstr "E239: 无效的 sign 文字: %s"
+
+#, c-format
+msgid "E155: Unknown sign: %s"
+msgstr "E155: 未知的 sign: %s"
+
+msgid "E159: Missing sign number"
+msgstr "E159: 缺少 sign 号"
+
+#, c-format
+msgid "E158: Invalid buffer name: %s"
+msgstr "E158: 无效的缓冲区名: %s"
+
+#, c-format
+msgid "E157: Invalid sign ID: %ld"
+msgstr "E157: 无效的 sign ID: %ld"
+
+msgid " (NOT FOUND)"
+msgstr " (找不到)"
+
+msgid " (not supported)"
+msgstr " (不支持)"
+
+msgid "[Deleted]"
+msgstr "[已删除]"
+
 msgid "Entering Debug mode.  Type \"cont\" to continue."
 msgstr "进入调试模式。输入 \"cont\" 继续运行。"
 
@@ -711,9 +977,6 @@ msgstr "%3d  %s %s  第 %ld 行"
 msgid "E750: First use :profile start <fname>"
 msgstr "E750: 请先使用 :profile start <fname>"
 
-msgid "Save As"
-msgstr "另存为"
-
 #, c-format
 msgid "Save changes to \"%s\"?"
 msgstr "将改变保存到 \"%s\" 吗?"
@@ -812,265 +1075,6 @@ msgstr "当前的 %s语言: \"%s\""
 msgid "E197: Cannot set language to \"%s\""
 msgstr "E197: 不能设定语言为 \"%s\""
 
-#, c-format
-msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
-msgstr "<%s>%s%s  %d,  十六进制 %02x,  八进制 %03o"
-
-#, c-format
-msgid "> %d, Hex %04x, Octal %o"
-msgstr "> %d, 十六进制 %04x, 八进制 %o"
-
-#, c-format
-msgid "> %d, Hex %08x, Octal %o"
-msgstr "> %d, 十六进制 %08x, 八进制 %o"
-
-msgid "E134: Move lines into themselves"
-msgstr "E134: 把行移动到自已中"
-
-msgid "1 line moved"
-msgstr "移动了 1 行"
-
-#, c-format
-msgid "%ld lines moved"
-msgstr "移动了 %ld 行"
-
-#, c-format
-msgid "%ld lines filtered"
-msgstr "过滤了 %ld 行"
-
-msgid "E135: *Filter* Autocommands must not change current buffer"
-msgstr "E135: *Filter* 自动命令不可以改变当前缓冲区"
-
-msgid "[No write since last change]\n"
-msgstr "[已修改但尚未保存]\n"
-
-#, c-format
-# bad to translate
-msgid "%sviminfo: %s in line: "
-msgstr "%sviminfo: %s 位于行: "
-
-msgid "E136: viminfo: Too many errors, skipping rest of file"
-msgstr "E136: viminfo: 错误过多,忽略文件的剩余部分"
-
-#, c-format
-msgid "Reading viminfo file \"%s\"%s%s%s"
-msgstr "读取 viminfo 文件 \"%s\"%s%s%s"
-
-msgid " info"
-msgstr " 信息"
-
-msgid " marks"
-msgstr " 标记"
-
-msgid " FAILED"
-msgstr " 失败"
-
-#, c-format
-msgid "E137: Viminfo file is not writable: %s"
-msgstr "E137: Viminfo 文件不可写入: %s"
-
-#, c-format
-msgid "E138: Can't write viminfo file %s!"
-msgstr "E138: 无法写入 viminfo 文件 %s!"
-
-#, c-format
-msgid "Writing viminfo file \"%s\""
-msgstr "写入 viminfo 文件 \"%s\""
-
-#. Write the info:
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid "# This viminfo file was generated by Vim %s.\n"
-msgstr "# 这个 viminfo 文件是由 vim %s 生成的。\n"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid ""
-"# You may edit it if you're careful!\n"
-"\n"
-msgstr ""
-"# 如果要自行修改请特别小心!\n"
-"\n"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid "# Value of 'encoding' when this file was written\n"
-msgstr "# 'encoding' 在此文件建立时的值\n"
-
-msgid "Illegal starting char"
-msgstr "无效的启动字符"
-
-msgid "Write partial file?"
-msgstr "要写入部分文件吗?"
-
-msgid "E140: Use ! to write partial buffer"
-msgstr "E140: 请使用 ! 来写入部分缓冲区"
-
-#, c-format
-msgid "Overwrite existing file \"%s\"?"
-msgstr "覆盖已存在的文件 \"%s\" 吗?"
-
-#, c-format
-msgid "Swap file \"%s\" exists, overwrite anyway?"
-msgstr "交换文件 \"%s\" 已存在,确实要覆盖吗?"
-
-#, c-format
-msgid "E768: Swap file exists: %s (:silent! overrides)"
-msgstr "E768: 交换文件已存在: %s (:silent! 强制执行)"
-
-#, c-format
-msgid "E141: No file name for buffer %ld"
-msgstr "E141: 缓冲区 %ld 没有文件名"
-
-msgid "E142: File not written: Writing is disabled by 'write' option"
-msgstr "E142: 文件未写入: 写入被 'write' 选项禁用"
-
-#, c-format
-msgid ""
-"'readonly' option is set for \"%s\".\n"
-"Do you wish to write anyway?"
-msgstr ""
-"\"%s\" 已设定 'readonly' 选项。\n"
-"确实要覆盖吗?"
-
-msgid "Edit File"
-msgstr "编辑文件"
-
-#, c-format
-msgid "E143: Autocommands unexpectedly deleted new buffer %s"
-msgstr "E143: 自动命令意外地删除了新缓冲区 %s"
-
-msgid "E144: non-numeric argument to :z"
-msgstr "E144: :z 不接受非数字的参数"
-
-msgid "E145: Shell commands not allowed in rvim"
-msgstr "E145: rvim 中禁止使用 shell 命令"
-
-msgid "E146: Regular expressions can't be delimited by letters"
-msgstr "E146: 正则表达式不能用字母作分界"
-
-#, c-format
-msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
-msgstr "替换为 %s (y/n/a/q/l/^E/^Y)?"
-
-msgid "(Interrupted) "
-msgstr "(已中断) "
-
-msgid "1 match"
-msgstr "1 个匹配,"
-
-msgid "1 substitution"
-msgstr "1 次替换,"
-
-#, c-format
-msgid "%ld matches"
-msgstr "%ld 个匹配,"
-
-#, c-format
-msgid "%ld substitutions"
-msgstr "%ld 次替换,"
-
-msgid " on 1 line"
-msgstr "共 1 行"
-
-#, c-format
-msgid " on %ld lines"
-msgstr "共 %ld 行"
-
-msgid "E147: Cannot do :global recursive"
-msgstr "E147: :global 不能递归执行"
-
-msgid "E148: Regular expression missing from global"
-msgstr "E148: global 缺少正则表达式"
-
-#, c-format
-msgid "Pattern found in every line: %s"
-msgstr "每行都匹配表达式: %s"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid ""
-"\n"
-"# Last Substitute String:\n"
-"$"
-msgstr ""
-"\n"
-"# 最近的替换字符串:\n"
-"$"
-
-msgid "E478: Don't panic!"
-msgstr "E478: 不要慌!"
-
-#, c-format
-msgid "E661: Sorry, no '%s' help for %s"
-msgstr "E661: 抱歉,没有 '%s' 的 %s 的说明"
-
-#, c-format
-msgid "E149: Sorry, no help for %s"
-msgstr "E149: 抱歉,没有 %s 的说明"
-
-#, c-format
-msgid "Sorry, help file \"%s\" not found"
-msgstr "抱歉,找不到帮助文件 \"%s\""
-
-#, c-format
-msgid "E150: Not a directory: %s"
-msgstr "E150: 不是目录: %s"
-
-#, c-format
-msgid "E152: Cannot open %s for writing"
-msgstr "E152: 无法打开并写入 %s"
-
-#, c-format
-msgid "E153: Unable to open %s for reading"
-msgstr "E153: 无法打开并读取 %s"
-
-#, c-format
-msgid "E670: Mix of help file encodings within a language: %s"
-msgstr "E670: 在一种语言中混合了多种帮助文件编码: %s"
-
-#, c-format
-msgid "E154: Duplicate tag \"%s\" in file %s/%s"
-msgstr "E154: Tag \"%s\" 在文件 %s/%s 中重复出现"
-
-#, c-format
-msgid "E160: Unknown sign command: %s"
-msgstr "E160: 未知的 sign 命令: %s"
-
-msgid "E156: Missing sign name"
-msgstr "E156: 缺少 sign 名称"
-
-msgid "E612: Too many signs defined"
-msgstr "E612: Signs 定义过多"
-
-#, c-format
-msgid "E239: Invalid sign text: %s"
-msgstr "E239: 无效的 sign 文字: %s"
-
-#, c-format
-msgid "E155: Unknown sign: %s"
-msgstr "E155: 未知的 sign: %s"
-
-msgid "E159: Missing sign number"
-msgstr "E159: 缺少 sign 号"
-
-#, c-format
-msgid "E158: Invalid buffer name: %s"
-msgstr "E158: 无效的缓冲区名: %s"
-
-#, c-format
-msgid "E157: Invalid sign ID: %ld"
-msgstr "E157: 无效的 sign ID: %ld"
-
-msgid " (NOT FOUND)"
-msgstr " (找不到)"
-
-msgid " (not supported)"
-msgstr " (不支持)"
-
-msgid "[Deleted]"
-msgstr "[已删除]"
-
 msgid "Entering Ex mode.  Type \"visual\" to go to Normal mode."
 msgstr "进入 Ex 模式。输入 \"visual\" 回到正常模式。"
 
@@ -1179,7 +1183,7 @@ msgstr "E467: Custom 补全需要一个函数参数"
 
 #, c-format
 msgid "E185: Cannot find color scheme %s"
-msgstr "E185: 找不到颜色主题 %s"
+msgstr "E185: 找不到配色方案 %s"
 
 msgid "Greetings, Vim user!"
 msgstr "您好,Vim 用户!"
@@ -1391,6 +1395,9 @@ msgstr "E602: :endtry 缺少对应的 :try"
 msgid "E193: :endfunction not inside a function"
 msgstr "E193: :endfunction 不在函数内"
 
+msgid "E788: Not allowed to edit another buffer now"
+msgstr "E788: 目前不允许编辑别的缓冲区"
+
 msgid "tagname"
 msgstr "tag 名"
 
@@ -1400,8 +1407,8 @@ msgstr " 类型 文件\n"
 msgid "'history' option is zero"
 msgstr "选项 'history' 为零"
 
+# do not translate to avoid writing Chinese in files
 #, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
 msgid ""
 "\n"
 "# %s History (newest to oldest):\n"
@@ -1409,17 +1416,25 @@ msgstr ""
 "\n"
 "# %s 历史记录 (从新到旧):\n"
 
-msgid "Command Line"
-msgstr "命令行"
-
-msgid "Search String"
-msgstr "查找字符串"
-
-msgid "Expression"
-msgstr "表达式"
-
-msgid "Input Line"
-msgstr "输入行"
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Command Line"
+#~ msgstr "命令行"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Search String"
+#~ msgstr "查找字符串"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Expression"
+#~ msgstr "表达式"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Input Line"
+#~ msgstr "输入行"
 
 msgid "E198: cmd_pchar beyond the command length"
 msgstr "E198: cmd_pchar 超过命令长度"
@@ -1550,9 +1565,8 @@ msgstr "E509: 无法创建备份文件 (请加 ! 强制执行)"
 msgid "E510: Can't make backup file (add ! to override)"
 msgstr "E510: 无法生成备份文件 (请加 ! 强制执行)"
 
-#, fuzzy
-#~ msgid "E460: The resource fork would be lost (add ! to override)"
-#~ msgstr "E460: Resource fork 会消失 (请加 ! 强制执行)"
+msgid "E460: The resource fork would be lost (add ! to override)"
+msgstr "E460: Resource fork 会丢失 (请加 ! 强制执行)"
 
 msgid "E214: Can't find temp file for writing"
 msgstr "E214: 找不到用于写入的临时文件"
@@ -1836,6 +1850,29 @@ msgstr "找不到映射"
 msgid "E228: makemap: Illegal mode"
 msgstr "E228: makemap: 无效的模式"
 
+msgid "E229: Cannot start the GUI"
+msgstr "E229: 无法启动图形界面"
+
+#, c-format
+msgid "E230: Cannot read from \"%s\""
+msgstr "E230: 无法读取文件 \"%s\""
+
+msgid "E665: Cannot start GUI, no valid font found"
+msgstr "E665: 无法启动图形界面,找不到有效的字体"
+
+msgid "E231: 'guifontwide' invalid"
+msgstr "E231: 无效的 'guifontwide'"
+
+msgid "E599: Value of 'imactivatekey' is invalid"
+msgstr "E599: 'imactivatekey' 的值无效"
+
+#, c-format
+msgid "E254: Cannot allocate color %s"
+msgstr "E254: 无法分配颜色 %s"
+
+msgid "No match at cursor, finding next"
+msgstr "在光标处没有匹配,查找下一个"
+
 msgid "<cannot open> "
 msgstr "<无法打开>"
 
@@ -1858,38 +1895,15 @@ msgstr "确定"
 msgid "Cancel"
 msgstr "取消"
 
+msgid "Scrollbar Widget: Could not get geometry of thumb pixmap."
+msgstr "滚动条部件: 无法获取滑块图像的几何大小"
+
 msgid "Vim dialog"
 msgstr "Vim 对话框"
 
-msgid "Scrollbar Widget: Could not get geometry of thumb pixmap."
-msgstr "滚动条部件: 无法获取滑块图像的几何大小"
-
 msgid "E232: Cannot create BalloonEval with both message and callback"
 msgstr "E232: 不能同时使用消息和回调函数来创建 BalloonEval"
 
-msgid "E229: Cannot start the GUI"
-msgstr "E229: 无法启动图形界面"
-
-#, c-format
-msgid "E230: Cannot read from \"%s\""
-msgstr "E230: 不能读取文件 \"%s\""
-
-msgid "E665: Cannot start GUI, no valid font found"
-msgstr "E665: 无法启动图形界面,找不到有效的字体"
-
-msgid "E231: 'guifontwide' invalid"
-msgstr "E231: 无效的 'guifontwide'"
-
-msgid "E599: Value of 'imactivatekey' is invalid"
-msgstr "E599: 'imactivatekey' 的值无效"
-
-#, c-format
-msgid "E254: Cannot allocate color %s"
-msgstr "E254: 无法分配颜色 %s"
-
-msgid "No match at cursor, finding next"
-msgstr "在光标处没有匹配,查找下一个"
-
 msgid "Vim dialog..."
 msgstr "Vim 对话框..."
 
@@ -2027,6 +2041,12 @@ msgstr "E243: 不支持的参数: \"-%s\";请使用 OLE 版本。"
 msgid "E672: Unable to open window inside MDI application"
 msgstr "E672: 无法在 MDI 应用程序中打开窗口"
 
+msgid "Close tab"
+msgstr "关闭标签"
+
+msgid "Open tab..."
+msgstr "打开标签..."
+
 msgid "Find string (use '\\\\' to find  a '\\')"
 msgstr "查找字符串 (使用 '\\\\' 来查找 '\\')"
 
@@ -2084,40 +2104,36 @@ msgstr ""
 "字体1的宽度: %ld\n"
 "\n"
 
-#, fuzzy
-#~ msgid "Invalid font specification"
-#~ msgstr "不正确的字体集(Fontset)"
-
-#~ msgid "&Dismiss"
-#~ msgstr ""
-
-#~ msgid "no specific match"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "Vim - Font Selector"
-#~ msgstr "字体选择"
-
-#~ msgid "Name:"
-#~ msgstr ""
+msgid "Invalid font specification"
+msgstr "指定了无效的字体"
+
+msgid "&Dismiss"
+msgstr "取消(&D)"
+
+msgid "no specific match"
+msgstr "找不到匹配的项"
+
+msgid "Vim - Font Selector"
+msgstr "Vim - 字体选择器"
+
+msgid "Name:"
+msgstr "名称:"
 
 #. create toggle button
 #~ msgid "Show size in Points"
 #~ msgstr ""
 
-#, fuzzy
-#~ msgid "Encoding:"
-#~ msgstr "记录中"
-
-#, fuzzy
-#~ msgid "Font:"
-#~ msgstr "字体1: %s\n"
-
-#~ msgid "Style:"
-#~ msgstr ""
-
-#~ msgid "Size:"
-#~ msgstr ""
+msgid "Encoding:"
+msgstr "编码:"
+
+msgid "Font:"
+msgstr "字体:"
+
+msgid "Style:"
+msgstr "风格:"
+
+msgid "Size:"
+msgstr "尺寸:"
 
 msgid "E256: Hangul automata ERROR"
 msgstr "E256: Hangul automata 错误"
@@ -3021,8 +3037,8 @@ msgstr ""
 msgid "-display <display>\tRun vim on <display> (also: --display)"
 msgstr "-display <display>\t在 <display> 上运行 vim (也可用 --display)"
 
-#~ msgid "--role <role>\tSet a unique role to identify the main window"
-#~ msgstr ""
+msgid "--role <role>\tSet a unique role to identify the main window"
+msgstr "--role <role>\t设置用于区分主窗口的窗口角色名"
 
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
 msgstr "--socketid <xid>\t在另一个 GTK 部件中打开 Vim"
@@ -3030,8 +3046,8 @@ msgstr "--socketid <xid>\t在另一个 GTK 部件中打开 Vim"
 msgid "-P <parent title>\tOpen Vim inside parent application"
 msgstr "-P <parent title>\t在父应用程序中打开 Vim"
 
-#~ msgid "No display"
-#~ msgstr ""
+msgid "No display"
+msgstr "没有 display"
 
 #. Failed to send, abort.
 msgid ": Send failed.\n"
@@ -3045,9 +3061,8 @@ msgstr ": 发送失败。尝试本地执行\n"
 msgid "%d of %d edited"
 msgstr "%d 中 %d 已编辑"
 
-#, fuzzy
-#~ msgid "No display: Send expression failed.\n"
-#~ msgstr "发送表达式失败。\n"
+msgid "No display: Send expression failed.\n"
+msgstr "没有 display: 发送表达式失败。\n"
 
 msgid ": Send expression failed.\n"
 msgstr ": 发送表达式失败。\n"
@@ -3241,49 +3256,49 @@ msgstr "E308: 警告: 原始文件可能已被修改"
 msgid "E309: Unable to read block 1 from %s"
 msgstr "E309: 无法从 %s 读取块 1"
 
+# do not translate to avoid writing Chinese in files
 #, fuzzy
-# do not translate to avoid writing Chinese in files
-msgid "???MANY LINES MISSING"
-msgstr "???缺少了太多行"
-
-#, fuzzy
+#~ msgid "???MANY LINES MISSING"
+#~ msgstr "???缺少了太多行"
+
 # do not translate to avoid writing Chinese in files
-msgid "???LINE COUNT WRONG"
-msgstr "???行数错误"
-
 #, fuzzy
+#~ msgid "???LINE COUNT WRONG"
+#~ msgstr "???行数错误"
+
 # do not translate to avoid writing Chinese in files
-msgid "???EMPTY BLOCK"
-msgstr "???空的块"
-
 #, fuzzy
+#~ msgid "???EMPTY BLOCK"
+#~ msgstr "???空的块"
+
 # do not translate to avoid writing Chinese in files
-msgid "???LINES MISSING"
-msgstr "???缺少了一些行"
+#, fuzzy
+#~ msgid "???LINES MISSING"
+#~ msgstr "???缺少了一些行"
 
 #, c-format
 msgid "E310: Block 1 ID wrong (%s not a .swp file?)"
 msgstr "E310: 块 1 ID 错误 (%s 不是交换文件?)"
 
+# do not translate to avoid writing Chinese in files
 #, fuzzy
-# do not translate to avoid writing Chinese in files
-msgid "???BLOCK MISSING"
-msgstr "???缺少块"
-
-#, fuzzy
+#~ msgid "???BLOCK MISSING"
+#~ msgstr "???缺少块"
+
 # do not translate to avoid writing Chinese in files
-msgid "??? from here until ???END lines may be messed up"
-msgstr "??? 从这里到 ???END 的行可能已混乱"
-
 #, fuzzy
+#~ msgid "??? from here until ???END lines may be messed up"
+#~ msgstr "??? 从这里到 ???END 的行可能已混乱"
+
 # do not translate to avoid writing Chinese in files
-msgid "??? from here until ???END lines may have been inserted/deleted"
-msgstr "??? 从这里到 ???END 的行可能已被插入/删除过"
-
 #, fuzzy
+#~ msgid "??? from here until ???END lines may have been inserted/deleted"
+#~ msgstr "??? 从这里到 ???END 的行可能已被插入/删除过"
+
 # do not translate to avoid writing Chinese in files
-msgid "???END"
-msgstr "???END"
+#, fuzzy
+#~ msgid "???END"
+#~ msgstr "???END"
 
 msgid "E311: Recovery Interrupted"
 msgstr "E311: 恢复已被中断"
@@ -3810,18 +3825,18 @@ msgid "E347: No more file \"%s\" found i
 msgstr "E347: 在路径中找不到更多的文件 \"%s\""
 
 #. Get here when the server can't be found.
-#~ msgid "Cannot connect to Netbeans #2"
-#~ msgstr ""
-
-#~ msgid "Cannot connect to Netbeans"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
-#~ msgstr ""
-
-#~ msgid "read from Netbeans socket"
-#~ msgstr ""
+msgid "Cannot connect to Netbeans #2"
+msgstr "无法连接到 Netbeans #2"
+
+msgid "Cannot connect to Netbeans"
+msgstr "无法连接到 Netbeans"
+
+#, c-format
+msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
+msgstr "E668: NetBeans 连接信息文件中错误的访问模式: \"%s\""
+
+msgid "read from Netbeans socket"
+msgstr "从 Netbeans 套接字读取"
 
 #, c-format
 msgid "E658: NetBeans connection lost for buffer %ld"
@@ -3950,26 +3965,27 @@ msgstr "E574: 未知的寄存器类型 %d"
 msgid "%ld Cols; "
 msgstr "%ld 列; "
 
-#, fuzzy, c-format
-#~ msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
-#~ msgstr "选择了 %s%ld/%ld 行; %ld/%ld 字(Word); %ld/%ld 字符(Bytes)"
-
-#, fuzzy, c-format
+#, c-format
+msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
+msgstr "选择了 %s%ld/%ld 行; %ld/%ld 个词; %ld/%ld 个字节"
+
+#, c-format
 msgid ""
 "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld "
 "Bytes"
-msgstr "选择了 %s%ld/%ld 行; %ld/%ld 字(Word); %ld/%ld 字符(Chars); %ld/%ld"
-
-#, fuzzy, c-format
-#~ msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
-#~ msgstr "列 %s/%s; 行 %ld/%ld; 字(Word) %ld/%ld; 字符(Byte) %ld/%ld"
-
-#, fuzzy, c-format
+msgstr "选择了 %s%ld/%ld 行; %ld/%ld 个词; %ld/%ld 个字符; %ld/%ld 个字节"
+
+#, c-format
+msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
+msgstr "第 %s/%s 列; 第 %ld/%ld 行; 第 %ld/%ld 个词; 第 %ld/%ld 个字节"
+
+#, c-format
 msgid ""
 "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of "
 "%ld"
 msgstr ""
-"列 %s/%s; 行 %ld/%ld; 字(Word) %ld/%ld; 字符(Char) %ld/%ld; 字符(Byte) %ld/%ld"
+"第 %s/%s 列; 第 %ld/%ld 行; 第 %ld/%ld 个词; 第 %ld/%ld 个字符; 第 %ld/%ld 个"
+"字节"
 
 #, c-format
 #~ msgid "(+%ld for BOM)"
@@ -4177,17 +4193,14 @@ msgstr "ANCHOR_BUF_SIZE 太小"
 msgid "I/O ERROR"
 msgstr "I/O 错误"
 
-#~ msgid "...(truncated)"
-#~ msgstr ""
-
-#~ msgid "Message"
-#~ msgstr ""
+msgid "Message"
+msgstr "消息"
 
 msgid "'columns' is not 80, cannot execute external commands"
 msgstr "'columns' 不是 80, 不能执行外部命令"
 
 msgid "E237: Printer selection failed"
-msgstr "E237: 不能选择此打印机"
+msgstr "E237: 选择打印机失败"
 
 #, c-format
 msgid "to %s on %s"
@@ -4203,7 +4216,7 @@ msgstr "E238: 打印错误: %s"
 
 #, c-format
 msgid "Printing '%s'"
-msgstr "已打印: '%s'"
+msgstr "打印 '%s'"
 
 #, c-format
 msgid "E244: Illegal charset name \"%s\" in font name \"%s\""
@@ -4214,22 +4227,22 @@ msgid "E245: Illegal char '%c' in font n
 msgstr "E245: 不正确的字符 '%c' 出现在字体名称 \"%s\" 内"
 
 msgid "E366: Invalid 'osfiletype' option - using Text"
-msgstr "E366: 不正确的 'filetype' 选项 - 使用纯文字模式"
+msgstr "E366: 不正确的 'osfiletype' 选项 - 使用纯文字模式"
 
 msgid "Vim: Double signal, exiting\n"
-msgstr "Vim: 双重信号, 退出中\n"
+msgstr "Vim: 双重信号,退出中\n"
 
 #, c-format
 msgid "Vim: Caught deadly signal %s\n"
-msgstr "Vim: CVim: 拦截到信号(signal) %s\n"
+msgstr "Vim: 拦截到致命信号(deadly signal) %s\n"
 
 #, c-format
 msgid "Vim: Caught deadly signal\n"
-msgstr "Vim: 拦截到致命的信号(deadly signale)\n"
+msgstr "Vim: 拦截到致命信号(deadly signal)\n"
 
 #, c-format
 msgid "Opening the X display took %ld msec"
-msgstr "打开 X Window 用时 %ld 秒"
+msgstr "打开 X display 用时 %ld 秒"
 
 msgid ""
 "\n"
@@ -4239,24 +4252,24 @@ msgstr ""
 "Vim: X 错误\n"
 
 msgid "Testing the X display failed"
-msgstr "测试 X Window 失败"
+msgstr "测试 X display 失败"
 
 msgid "Opening the X display timed out"
-msgstr "打开 X Window 超时"
+msgstr "打开 X display 超时"
 
 msgid ""
 "\n"
 "Cannot execute shell "
 msgstr ""
 "\n"
-"不能执行 shell"
+"无法执行 shell"
 
 msgid ""
 "\n"
 "Cannot execute shell sh\n"
 msgstr ""
 "\n"
-"不能执行 shell sh\n"
+"无法执行 shell sh\n"
 
 msgid ""
 "\n"
@@ -4270,14 +4283,14 @@ msgid ""
 "Cannot create pipes\n"
 msgstr ""
 "\n"
-"不能建立管道\n"
+"无法建立管道\n"
 
 msgid ""
 "\n"
 "Cannot fork\n"
 msgstr ""
 "\n"
-"不能 fork\n"
+"无法 fork\n"
 
 msgid ""
 "\n"
@@ -4286,46 +4299,45 @@ msgstr ""
 "\n"
 "命令已结束\n"
 
-#, fuzzy
-#~ msgid "XSMP lost ICE connection"
-#~ msgstr "显示连接"
-
-#, c-format
-#~ msgid "dlerror = \"%s\""
-#~ msgstr ""
+msgid "XSMP lost ICE connection"
+msgstr "XSMP 丢失了到 ICE 的连接"
+
+# do not translate
+#, c-format
+msgid "dlerror = \"%s\""
+msgstr "dlerror = \"%s\""
 
 msgid "Opening the X display failed"
-msgstr "打开 X Window 失败"
-
-#~ msgid "XSMP handling save-yourself request"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "XSMP opening connection"
-#~ msgstr "没有 cscope 连接"
-
-#~ msgid "XSMP ICE connection watch failed"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "XSMP SmcOpenConnection failed: %s"
-#~ msgstr ""
+msgstr "打开 X display 失败"
+
+msgid "XSMP handling save-yourself request"
+msgstr "XSMP 处理 save-yourself 请求"
+
+msgid "XSMP opening connection"
+msgstr "XSMP 打开连接"
+
+msgid "XSMP ICE connection watch failed"
+msgstr "XSMP ICE 连接监视失败"
+
+#, c-format
+msgid "XSMP SmcOpenConnection failed: %s"
+msgstr "XSMP SmcOpenConnection 调用失败: %s"
 
 msgid "At line"
 msgstr "在行号 "
 
 msgid "Could not load vim32.dll!"
-msgstr "不能加载 vim32.dll!"
+msgstr "无法加载 vim32.dll!"
 
 msgid "VIM Error"
 msgstr "VIM 错误"
 
 msgid "Could not fix up function pointers to the DLL!"
-msgstr "不能修正函数指针到 DLL!"
+msgstr "无法修正到 DLL 的函数指针!"
 
 #, c-format
 msgid "shell returned %d"
-msgstr "Shell 返回值 %d"
+msgstr "Shell 返回 %d"
 
 #, c-format
 msgid "Vim: Caught %s event\n"
@@ -4348,8 +4360,8 @@ msgid ""
 "External commands will not pause after completion.\n"
 "See  :help win32-vimrun  for more information."
 msgstr ""
-"在你的 $PATH 中找不到 VIMRUN.EXE.\n"
-"外部命令执行完毕后将不会暂停.\n"
+"在你的 $PATH 中找不到 VIMRUN.EXE。\n"
+"外部命令执行完毕后将不会暂停。\n"
 "进一步说明请见 :help win32-vimrun"
 
 msgid "Vim Warning"
@@ -4407,8 +4419,8 @@ msgstr "错误列表 %d / %d;共 %d 个错误"
 msgid "E382: Cannot write, 'buftype' option is set"
 msgstr "E382: 无法写入,已设定选项 'buftype'"
 
-#~ msgid "E683: File name missing or invalid pattern"
-#~ msgstr ""
+msgid "E683: File name missing or invalid pattern"
+msgstr "E683: 缺少文件名或模式无效"
 
 #, c-format
 msgid "Cannot open file \"%s\""
@@ -4603,9 +4615,9 @@ msgstr "  找不到"
 msgid "Scanning included file: %s"
 msgstr "查找包含文件: %s"
 
-#, fuzzy, c-format
-#~ msgid "Searching included file %s"
-#~ msgstr "查找包含文件: %s"
+#, c-format
+msgid "Searching included file %s"
+msgstr "查找包含的文件 %s"
 
 msgid "E387: Match is on current line"
 msgstr "E387: 当前行匹配"
@@ -4622,339 +4634,339 @@ msgstr "E388: 找不到定义"
 msgid "E389: Couldn't find pattern"
 msgstr "E389: 找不到 pattern"
 
-#, fuzzy
-#~ msgid "E759: Format error in spell file"
-#~ msgstr "E297: 交换文件写入错误"
-
-#, fuzzy
-#~ msgid "E758: Truncated spell file"
-#~ msgstr "E237: 不能选择此打印机"
-
-#, fuzzy, c-format
-#~ msgid "Trailing text in %s line %d: %s"
-#~ msgstr "\"%s%s\" 中断点: 第 %ld 行"
-
-#, c-format
-#~ msgid "Affix name too long in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "E761: Format error in affix file FOL, LOW or UPP"
-#~ msgstr "E431: Tag 文件 \"%s\" 格式错误"
-
-#~ msgid "E762: Character in FOL, LOW or UPP is out of range"
-#~ msgstr ""
-
-#~ msgid "Compressing word tree..."
-#~ msgstr ""
-
-#~ msgid "E756: Spell checking is not enabled"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Reading spell file \"%s\""
-#~ msgstr "使用交换文件 \"%s\""
-
-#, fuzzy
-#~ msgid "E757: This does not look like a spell file"
-#~ msgstr "E307: %s 看起来不像是 Vim 交换文件"
-
-#, fuzzy
-#~ msgid "E771: Old spell file, needs to be updated"
-#~ msgstr "E173: 还有 %ld 个文件未编辑"
-
-#~ msgid "E772: Spell file is for newer version of Vim"
+msgid "E759: Format error in spell file"
+msgstr "E759: 拼写文件格式错误"
+
+msgid "E758: Truncated spell file"
+msgstr "E758: 已截断的拼写文件"
+
+#, c-format
+msgid "Trailing text in %s line %d: %s"
+msgstr "%s 第 %d 行,多余的后续字符: %s"
+
+#, c-format
+msgid "Affix name too long in %s line %d: %s"
+msgstr "%s 第 %d 行,附加项名字太长: %s"
+
+msgid "E761: Format error in affix file FOL, LOW or UPP"
+msgstr "E761: 附加文件 FOL、LOW 或 UPP 中格式错误"
+
+msgid "E762: Character in FOL, LOW or UPP is out of range"
+msgstr "E762: FOL、LOW 或 UPP 中字符超出范围"
+
+msgid "Compressing word tree..."
+msgstr "压缩单词树……"
+
+msgid "E756: Spell checking is not enabled"
+msgstr "E756: 拼写检查未启用"
+
+#, c-format
+msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
+msgstr "警告: 找不到单词列表 \"%s.%s.spl\" or \"%s.ascii.spl\""
+
+#, c-format
+msgid "Reading spell file \"%s\""
+msgstr "读取拼写文件 \"%s\""
+
+msgid "E757: This does not look like a spell file"
+msgstr "E757: 这看起来不像是拼写文件"
+
+msgid "E771: Old spell file, needs to be updated"
+msgstr "E771: 旧版本的拼写文件,需要更新"
+
+msgid "E772: Spell file is for newer version of Vim"
+msgstr "E772: 为更高版本的 Vim 所用的拼写文件"
+
+msgid "E770: Unsupported section in spell file"
+msgstr "E770: 拼写文件中存在不支持的节"
+
+#, c-format
+msgid "Warning: region %s not supported"
+msgstr "警告: 区域 %s 不支持"
+
+#, c-format
+msgid "Reading affix file %s ..."
+msgstr "读取附加文件 %s ……"
+
+#, c-format
+msgid "Conversion failure for word in %s line %d: %s"
+msgstr "单词 %s 转换失败,第 %d 行: %s"
+
+#, c-format
+msgid "Conversion in %s not supported: from %s to %s"
+msgstr "不支持 %s 中的转换: 从 %s 到 %s"
+
+#, c-format
+msgid "Conversion in %s not supported"
+msgstr "不支持 %s 中的转换"
+
+#, c-format
+msgid "Invalid value for FLAG in %s line %d: %s"
+msgstr "%s 第 %d 行,FLAG 的值无效: %s"
+
+#, c-format
+msgid "FLAG after using flags in %s line %d: %s"
+msgstr "%s 第 %d 行,在使用标志后出现 FLAG: %s"
+
+#, c-format
+#~ msgid ""
+#~ "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line "
+#~ "%d"
 #~ msgstr ""
 
-#, fuzzy
-#~ msgid "E770: Unsupported section in spell file"
-#~ msgstr "E297: 交换文件写入错误"
-
-#, fuzzy, c-format
-#~ msgid "Warning: region %s not supported"
-#~ msgstr "不支持该选项"
-
-#, fuzzy, c-format
-#~ msgid "Reading affix file %s ..."
-#~ msgstr "查找 tag 文件 \"%s\""
-
-#, c-format
-#~ msgid "Conversion failure for word in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Conversion in %s not supported: from %s to %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Conversion in %s not supported"
-#~ msgstr "不支持该选项"
-
-#, fuzzy, c-format
-#~ msgid "Invalid value for FLAG in %s line %d: %s"
-#~ msgstr "不正确的服务器 id : %s"
-
-#, c-format
-#~ msgid "FLAG after using flags in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Different combining flag in continued affix block in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Duplicate affix in %s line %d: %s"
-#~ msgstr "E154: 标签(tag) \"%s\" 在文件 %s 里重复出现多次"
-
 #, c-format
 #~ msgid ""
-#~ "Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
-#~ "line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Expected Y or N in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Broken condition in %s line %d: %s"
-#~ msgstr "\"%s%s\" 中断点: 第 %ld 行"
-
-#, c-format
-#~ msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Expected REP(SAL) count in %s line %d"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Expected MAP count in %s line %d"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Duplicate character in MAP in %s line %d"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Unrecognized or duplicate item in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Missing FOL/LOW/UPP line in %s"
-#~ msgstr ""
-
-#~ msgid "COMPOUNDSYLMAX used without SYLLABLE"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "Too many postponed prefixes"
-#~ msgstr "太多编辑参数"
-
-#, fuzzy
-#~ msgid "Too many compound flags"
-#~ msgstr "太多编辑参数"
-
-#~ msgid "Too many posponed prefixes and/or compound flags"
+#~ "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line "
+#~ "%d"
 #~ msgstr ""
 
 #, c-format
-#~ msgid "Missing SOFO%s line in %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Both SAL and SOFO lines in %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Flag is not a number in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Illegal flag in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "%s value differs from what is used in another .aff file"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Reading dictionary file %s ..."
-#~ msgstr "扫描字典: %s"
-
-#, c-format
-#~ msgid "E760: No word count in %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "line %6d, word %6d - %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Duplicate word in %s line %d: %s"
-#~ msgstr "每一行都找不到模式: %s"
-
-#, c-format
-#~ msgid "First duplicate word in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "%d duplicate word(s) in %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Ignored %d word(s) with non-ASCII characters in %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Reading word file %s ..."
-#~ msgstr "从标准输入读..."
+msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
+msgstr "%s 第 %d 行,错误的 COMPOUNDWORDMAX 值: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
+msgstr "%s 第 %d 行,错误的 COMPOUNDMIN 值: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
+msgstr "%s 第 %d 行,错误的 COMPOUNDSYLMAX 值: %s"
+
+#, c-format
+msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
+msgstr "%s 第 %d 行,错误的 CHECKCOMPOUNDPATTERN 值: %s"
+
+#, c-format
+msgid "Different combining flag in continued affix block in %s line %d: %s"
+msgstr "%s 第 %d 行,在连续的附加块中出现不同的组合标志: %s"
+
+#, c-format
+msgid "Duplicate affix in %s line %d: %s"
+msgstr "%s 第 %d 行,重复的附加项: %s"
+
+#, c-format
+msgid ""
+"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
+"line %d: %s"
+msgstr ""
+"%s 第 %d 行,附加项被 BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST 使"
+"用: %s"
+
+#, c-format
+msgid "Expected Y or N in %s line %d: %s"
+msgstr "%s 第 %d 行,此处需要 Y 或 N: %s"
+
+#, c-format
+msgid "Broken condition in %s line %d: %s"
+msgstr "%s 第 %d 行,错误的条件: %s"
+
+#, c-format
+msgid "Expected REP(SAL) count in %s line %d"
+msgstr "%s 第 %d 行,此处需要 REP(SAL) 计数"
+
+#, c-format
+msgid "Expected MAP count in %s line %d"
+msgstr "%s 第 %d 行,此处需要 MAP 计数"
+
+#, c-format
+msgid "Duplicate character in MAP in %s line %d"
+msgstr "%s 第 %d 行,MAP 中存在重复的字符"
+
+#, c-format
+msgid "Unrecognized or duplicate item in %s line %d: %s"
+msgstr "%s 第 %d 行,无法识别或重复的项: %s"
+
+#, c-format
+msgid "Missing FOL/LOW/UPP line in %s"
+msgstr "%s 中缺少 FOL/LOW/UPP 行"
+
+msgid "COMPOUNDSYLMAX used without SYLLABLE"
+msgstr "在没有 SYLLABLE 的情况下使用了 COMPOUNDSYLMAX"
+
+msgid "Too many postponed prefixes"
+msgstr "太多延迟前缀"
+
+msgid "Too many compound flags"
+msgstr "太多组合标志"
+
+msgid "Too many posponed prefixes and/or compound flags"
+msgstr "太多延迟前缀和/或组合标志"
+
+#, c-format
+msgid "Missing SOFO%s line in %s"
+msgstr "%s 中缺少 SOFO%s 行"
+
+#, c-format
+msgid "Both SAL and SOFO lines in %s"
+msgstr "%s 同时出现 SQL 和 SOFO 行"
+
+#, c-format
+msgid "Flag is not a number in %s line %d: %s"
+msgstr "%s 第 %d 行,标志不是数字: %s"
+
+#, c-format
+msgid "Illegal flag in %s line %d: %s"
+msgstr "%s 第 %d 行,无效的标志: %s"
+
+#, c-format
+msgid "%s value differs from what is used in another .aff file"
+msgstr "%s 的值与另一个 .aff 文件中使用的值不相同"
+
+#, c-format
+msgid "Reading dictionary file %s ..."
+msgstr "读取字典文件 %s ……"
+
+#, c-format
+msgid "E760: No word count in %s"
+msgstr "E760: %s 中没有单词计数"
+
+#, c-format
+msgid "line %6d, word %6d - %s"
+msgstr "第 %6d 行,第 %6d 个单词 - %s"
+
+#, c-format
+msgid "Duplicate word in %s line %d: %s"
+msgstr "%s 第 %d 行,重复的单词: %s"
+
+#, c-format
+msgid "First duplicate word in %s line %d: %s"
+msgstr "%s 第 %d 行,首次重复的单词: %s"
+
+#, c-format
+msgid "%d duplicate word(s) in %s"
+msgstr "存在 %d 个重复的单词,在 %s 中"
+
+#, c-format
+msgid "Ignored %d word(s) with non-ASCII characters in %s"
+msgstr "忽略了含有非 ASCII 字符的 %d 个单词,在 %s 中"
+
+#, c-format
+msgid "Reading word file %s ..."
+msgstr "读取单词文件 %s ……"
 
 #, c-format
 #~ msgid "Duplicate /encoding= line ignored in %s line %d: %s"
 #~ msgstr ""
 
 #, c-format
-#~ msgid "/encoding= line after word ignored in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Duplicate /regions= line ignored in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Too many regions in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "/ line ignored in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Invalid region nr in %s line %d: %s"
-#~ msgstr "不正确的服务器 id : %s"
-
-#, c-format
-#~ msgid "Unrecognized flags in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Ignored %d words with non-ASCII characters"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
-#~ msgstr ""
-
-#~ msgid "Reading back spell file..."
-#~ msgstr ""
+msgid "/encoding= line after word ignored in %s line %d: %s"
+msgstr "%s 第 %d 行,单词后的 /encoding= 行已被忽略: %s"
+
+#, c-format
+msgid "Duplicate /regions= line ignored in %s line %d: %s"
+msgstr "%s 第 %d 行,重复的 /regions= 行已被忽略: %s"
+
+#, c-format
+msgid "Too many regions in %s line %d: %s"
+msgstr "%s 第 %d 行,太多区域: %s"
+
+#, c-format
+msgid "/ line ignored in %s line %d: %s"
+msgstr "%s 第 %d 行,/ 行已被忽略: %s"
+
+#, c-format
+msgid "Invalid region nr in %s line %d: %s"
+msgstr "%s 第 %d 行,无效的区域号: %s"
+
+#, c-format
+msgid "Unrecognized flags in %s line %d: %s"
+msgstr "%s 第 %d 行,不可识别的标志: %s"
+
+#, c-format
+msgid "Ignored %d words with non-ASCII characters"
+msgstr "忽略了含有非 ASCII 字符的 %d 个单词"
+
+#, c-format
+msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
+msgstr "压缩了 %d/%d 个节点;剩余 %d (%d%%)"
+
+msgid "Reading back spell file..."
+msgstr "读取拼写文件……"
 
 #.
 #. * Go through the trie of good words, soundfold each word and add it to
 #. * the soundfold trie.
 #.
-#~ msgid "Performing soundfolding..."
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Number of words after soundfolding: %ld"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Total number of words: %d"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Writing suggestion file %s ..."
-#~ msgstr "写入 viminfo 文件 \"%s\" 中"
-
-#, c-format
-#~ msgid "Estimated runtime memory use: %d bytes"
-#~ msgstr ""
-
-#~ msgid "E751: Output file name must not have region name"
-#~ msgstr ""
-
-#~ msgid "E754: Only up to 8 regions supported"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "E755: Invalid region in %s"
-#~ msgstr "E15: 不正确的表达式: %s"
-
-#~ msgid "Warning: both compounding and NOBREAK specified"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Writing spell file %s ..."
-#~ msgstr "写入 viminfo 文件 \"%s\" 中"
-
-#, fuzzy
-#~ msgid "Done!"
-#~ msgstr "向下"
-
-#, c-format
-#~ msgid "E765: 'spellfile' does not have %ld entries"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Word removed from %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Word added to %s"
-#~ msgstr ""
-
-#~ msgid "E763: Word characters differ between spell files"
-#~ msgstr ""
-
-#~ msgid "Sorry, no suggestions"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Sorry, only %ld suggestions"
-#~ msgstr ""
+msgid "Performing soundfolding..."
+msgstr "正在 soundfolding……"
+
+#, c-format
+msgid "Number of words after soundfolding: %ld"
+msgstr "soundfolding 后的单词数: %ld"
+
+#, c-format
+msgid "Total number of words: %d"
+msgstr "单词总数: %d"
+
+#, c-format
+msgid "Writing suggestion file %s ..."
+msgstr "写入建议文件 %s ……"
+
+#, c-format
+msgid "Estimated runtime memory use: %d bytes"
+msgstr "估计运行时内存用量: %d 字节"
+
+msgid "E751: Output file name must not have region name"
+msgstr "E751: 输出文件名不能含有区域名"
+
+msgid "E754: Only up to 8 regions supported"
+msgstr "E754: 最多只支持 8 个区域"
+
+#, c-format
+msgid "E755: Invalid region in %s"
+msgstr "E755: %s 出现无效的范围"
+
+msgid "Warning: both compounding and NOBREAK specified"
+msgstr "警告: 同时指定了 compounding 和 NOBREAK"
+
+#, c-format
+msgid "Writing spell file %s ..."
+msgstr "写入拼写文件 %s ……"
+
+msgid "Done!"
+msgstr "完成!"
+
+#, c-format
+msgid "E765: 'spellfile' does not have %ld entries"
+msgstr "E765: 'spellfile' 没有 %ld 项"
+
+#, c-format
+msgid "Word removed from %s"
+msgstr "从 %s 中删除了单词"
+
+#, c-format
+msgid "Word added to %s"
+msgstr "向 %s 中添加了单词"
+
+msgid "E763: Word characters differ between spell files"
+msgstr "E763: 拼写文件之间的字符不相同"
+
+msgid "Sorry, no suggestions"
+msgstr "抱歉,没有建议"
+
+#, c-format
+msgid "Sorry, only %ld suggestions"
+msgstr "抱歉,只有 %ld 条建议"
 
 #. avoid more prompt
-#, fuzzy, c-format
-#~ msgid "Change \"%.*s\" to:"
-#~ msgstr "将改变保存到 \"%.*s\"?"
-
-#, c-format
-#~ msgid " < \"%.*s\""
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "E752: No previous spell replacement"
-#~ msgstr "E35: 没有前一个查找命令"
-
-#, fuzzy, c-format
-#~ msgid "E753: Not found: %s"
-#~ msgstr "E334: [菜单] 找不到 %s"
-
-#, fuzzy, c-format
-#~ msgid "E778: This does not look like a .sug file: %s"
-#~ msgstr "E307: %s 看起来不像是 Vim 交换文件"
+#, c-format
+msgid "Change \"%.*s\" to:"
+msgstr "将 \"%.*s\" 改为:"
+
+#, c-format
+msgid " < \"%.*s\""
+msgstr " < \"%.*s\""
+
+msgid "E752: No previous spell replacement"
+msgstr "E752: 之前没有拼写替换"
+
+#, c-format
+msgid "E753: Not found: %s"
+msgstr "E753: 找不到: %s"
+
+#, c-format
+msgid "E778: This does not look like a .sug file: %s"
+msgstr "E778: 看起来不像是 .sug 文件: %s"
 
 #, c-format
 #~ msgid "E779: Old .sug file, needs to be updated: %s"
@@ -5056,8 +5068,8 @@ msgid "E397: Filename required"
 msgstr "E397: 需要文件名称"
 
 #, c-format
-msgid "E789: Missing ']': %s"
-msgstr "E789: 缺少 ']': %s"
+msgid "E747: Missing ']': %s"
+msgstr "E747: 缺少 ']': %s"
 
 #, c-format
 msgid "E398: Missing '=': %s"
@@ -5109,8 +5121,8 @@ msgstr "E409: 不正确的组名: %s"
 msgid "E410: Invalid :syntax subcommand: %s"
 msgstr "E410: 不正确的 :syntax 子命令: %s"
 
-#~ msgid "E679: recursive loop loading syncolor.vim"
-#~ msgstr ""
+msgid "E679: recursive loop loading syncolor.vim"
+msgstr "E679: 加载 syncolor.vim 时出现嵌套循环"
 
 #, c-format
 msgid "E411: highlight group not found: %s"
@@ -5164,12 +5176,11 @@ msgstr "E423: 无效的参数: %s"
 msgid "E424: Too many different highlighting attributes in use"
 msgstr "E424: 使用了太多不同的高亮度属性"
 
-#~ msgid "E669: Unprintable character in group name"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "W18: Invalid character in group name"
-#~ msgstr "E182: 命令名称不正确"
+msgid "E669: Unprintable character in group name"
+msgstr "E669: 组名中存在不可显示字符"
+
+msgid "W18: Invalid character in group name"
+msgstr "W18: 组名中含有无效字符"
 
 msgid "E555: at bottom of tag stack"
 msgstr "E555: 已在 tag 堆栈底部"
@@ -5648,6 +5659,9 @@ msgstr "警告: 检测到 Windows 95/98/ME"
 msgid "type  :help windows95<Enter>  for info on this"
 msgstr "输入  :help windows95<Enter>  查看相关说明    "
 
+msgid "Already only one window"
+msgstr "已经只剩一个窗口了"
+
 msgid "E441: There is no preview window"
 msgstr "E441: 没有预览窗口"
 
@@ -5660,9 +5674,6 @@ msgstr "E443: 有其它分割窗口时不能旋转"
 msgid "E444: Cannot close last window"
 msgstr "E444: 不能关闭最后一个窗口"
 
-msgid "Already only one window"
-msgstr "已经只剩一个窗口了"
-
 msgid "E445: Other window contains changes"
 msgstr "E445: 其它窗口有改变的内容"
 
@@ -6050,6 +6061,9 @@ msgstr "已查找到文件开头,再从结尾继续查找"
 msgid "search hit BOTTOM, continuing at TOP"
 msgstr "已查找到文件结尾,再从开头继续查找"
 
+#~ msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
+#~ msgstr "%s 第 %d 行,使用 PFXPOSTPONE 时附加标志被忽略: %s"
+
 #~ msgid "[No file]"
 #~ msgstr "[未命名]"
 
--- a/src/po/zh_CN.po
+++ b/src/po/zh_CN.po
@@ -4,6 +4,10 @@
 # Do ":help credits" in Vim to see a list of people who contributed.
 #
 # FIRST AUTHOR  Wang Jun <junw@turbolinux.com.cn>
+# 
+# TRANSLATORS
+#   Edyfox <edyfox@gmail.com>
+#   Yuheng Xie <elephant@linux.net.cn>
 #
 # Original translations.
 #
@@ -11,8 +15,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: Vim(Simplified Chinese)\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-03-28 21:47+0800\n"
-"PO-Revision-Date: 2006-04-18 18:00+0800\n"
+"POT-Creation-Date: 2006-04-21 15:16+0800\n"
+"PO-Revision-Date: 2006-04-21 14:00+0800\n"
 "Last-Translator: Yuheng Xie <elephant@linux.net.cn>\n"
 "Language-Team: Simplified Chinese <i18n-translation@lists.linux.net.cn>\n"
 "MIME-Version: 1.0\n"
@@ -209,6 +213,9 @@ msgstr "E102: 找不到缓冲区 \"%s\""
 msgid "E103: Buffer \"%s\" is not in diff mode"
 msgstr "E103: 缓冲区 \"%s\" 不在 diff 模式"
 
+msgid "E787: Buffer changed unexpectedly"
+msgstr "E787: 意外地改变了缓冲区"
+
 msgid "E104: Escape not allowed in digraph"
 msgstr "E104: 复合字符(digraph)中不能使用 Escape"
 
@@ -222,8 +229,8 @@ msgid " Keyword completion (^N^P)"
 msgstr " 关键字补全 (^N^P)"
 
 #. ctrl_x_mode == 0, ^P/^N compl.
-msgid " ^X mode (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
-msgstr " ^X 模式 (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
+msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
+msgstr " ^X 模式 (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
 
 msgid " Whole line completion (^L^N^P)"
 msgstr " 整行补全 (^L^N^P)"
@@ -256,8 +263,8 @@ msgstr " 用户自定义补全 (^U^N^P)"
 msgid " Omni completion (^O^N^P)"
 msgstr " 全能补全 (^O^N^P)"
 
-msgid " Spelling suggestion (^S^N^P)"
-msgstr " 拼写建议 (^S^N^P)"
+msgid " Spelling suggestion (s^N^P)"
+msgstr " 拼写建议 (s^N^P)"
 
 msgid " Keyword Local completion (^N^P)"
 msgstr " 关键字局部补全 (^N^P)"
@@ -489,9 +496,8 @@ msgstr "E722: Dictionary 中缺少逗号: %s"
 msgid "E723: Missing end of Dictionary '}': %s"
 msgstr "E723: Dictionary 缺少结束符 '}': %s"
 
-#, fuzzy
-#~ msgid "E724: variable nested too deep for displaying"
-#~ msgstr "E724: 变量嵌套过深"
+msgid "E724: variable nested too deep for displaying"
+msgstr "E724: 变量嵌套过深无法显示"
 
 msgid "E699: Too many arguments"
 msgstr "E699: 参数过多"
@@ -529,8 +535,8 @@ msgstr ""
 msgid "called inputrestore() more often than inputsave()"
 msgstr "inputrestore() 的调用次数多于 inputsave()"
 
-msgid "E745: Range not allowed"
-msgstr "E745: 不允许的范围"
+msgid "E786: Range not allowed"
+msgstr "E786: 不允许的范围"
 
 msgid "E701: Invalid type for len()"
 msgstr "E701: len() 的类型无效"
@@ -560,9 +566,8 @@ msgstr "E655: 符号连接过多(循环?)"
 msgid "E258: Unable to send to client"
 msgstr "E258: 无法发送到客户端"
 
-#, fuzzy
-#~ msgid "E702: Sort compare function failed"
-#~ msgstr "E702: Sort 比较函数失败"
+msgid "E702: Sort compare function failed"
+msgstr "E702: Sort 比较函数失败"
 
 msgid "(Invalid)"
 msgstr "(无效)"
@@ -611,9 +616,8 @@ msgstr "未知"
 msgid "E742: Cannot change value of %s"
 msgstr "E742: 无法改变 %s 的值"
 
-#, fuzzy
-#~ msgid "E698: variable nested too deep for making a copy"
-#~ msgstr "E698: 变量嵌套过深"
+msgid "E698: variable nested too deep for making a copy"
+msgstr "E698: 变量嵌套过深无法复制"
 
 #, c-format
 msgid "E124: Missing '(': %s"
@@ -682,6 +686,268 @@ msgstr ""
 "\n"
 "\t最近修改于 "
 
+#, c-format
+msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
+msgstr "<%s>%s%s  %d,  十六进制 %02x,  八进制 %03o"
+
+#, c-format
+msgid "> %d, Hex %04x, Octal %o"
+msgstr "> %d, 十六进制 %04x, 八进制 %o"
+
+#, c-format
+msgid "> %d, Hex %08x, Octal %o"
+msgstr "> %d, 十六进制 %08x, 八进制 %o"
+
+msgid "E134: Move lines into themselves"
+msgstr "E134: 把行移动到自已中"
+
+msgid "1 line moved"
+msgstr "移动了 1 行"
+
+#, c-format
+msgid "%ld lines moved"
+msgstr "移动了 %ld 行"
+
+#, c-format
+msgid "%ld lines filtered"
+msgstr "过滤了 %ld 行"
+
+msgid "E135: *Filter* Autocommands must not change current buffer"
+msgstr "E135: *Filter* 自动命令不可以改变当前缓冲区"
+
+msgid "[No write since last change]\n"
+msgstr "[已修改但尚未保存]\n"
+
+# bad to translate
+#, c-format
+msgid "%sviminfo: %s in line: "
+msgstr "%sviminfo: %s 位于行: "
+
+msgid "E136: viminfo: Too many errors, skipping rest of file"
+msgstr "E136: viminfo: 错误过多,忽略文件的剩余部分"
+
+#, c-format
+msgid "Reading viminfo file \"%s\"%s%s%s"
+msgstr "读取 viminfo 文件 \"%s\"%s%s%s"
+
+msgid " info"
+msgstr " 信息"
+
+msgid " marks"
+msgstr " 标记"
+
+msgid " FAILED"
+msgstr " 失败"
+
+#, c-format
+msgid "E137: Viminfo file is not writable: %s"
+msgstr "E137: Viminfo 文件不可写入: %s"
+
+#, c-format
+msgid "E138: Can't write viminfo file %s!"
+msgstr "E138: 无法写入 viminfo 文件 %s!"
+
+#, c-format
+msgid "Writing viminfo file \"%s\""
+msgstr "写入 viminfo 文件 \"%s\""
+
+# do not translate to avoid writing Chinese in files
+#. Write the info:
+#, fuzzy, c-format
+#~ msgid "# This viminfo file was generated by Vim %s.\n"
+#~ msgstr "# 这个 viminfo 文件是由 Vim %s 生成的。\n"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+msgid ""
+"# You may edit it if you're careful!\n"
+"\n"
+msgstr ""
+"# 如果要自行修改请特别小心!\n"
+"\n"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+#~ msgid "# Value of 'encoding' when this file was written\n"
+#~ msgstr "# 'encoding' 在此文件建立时的值\n"
+
+msgid "Illegal starting char"
+msgstr "无效的启动字符"
+
+msgid "Save As"
+msgstr "另存为"
+
+msgid "Write partial file?"
+msgstr "要写入部分文件吗?"
+
+msgid "E140: Use ! to write partial buffer"
+msgstr "E140: 请使用 ! 来写入部分缓冲区"
+
+#, c-format
+msgid "Overwrite existing file \"%s\"?"
+msgstr "覆盖已存在的文件 \"%s\" 吗?"
+
+#, c-format
+msgid "Swap file \"%s\" exists, overwrite anyway?"
+msgstr "交换文件 \"%s\" 已存在,确实要覆盖吗?"
+
+#, c-format
+msgid "E768: Swap file exists: %s (:silent! overrides)"
+msgstr "E768: 交换文件已存在: %s (:silent! 强制执行)"
+
+#, c-format
+msgid "E141: No file name for buffer %ld"
+msgstr "E141: 缓冲区 %ld 没有文件名"
+
+msgid "E142: File not written: Writing is disabled by 'write' option"
+msgstr "E142: 文件未写入: 写入被 'write' 选项禁用"
+
+#, c-format
+msgid ""
+"'readonly' option is set for \"%s\".\n"
+"Do you wish to write anyway?"
+msgstr ""
+"\"%s\" 已设定 'readonly' 选项。\n"
+"确实要覆盖吗?"
+
+msgid "Edit File"
+msgstr "编辑文件"
+
+#, c-format
+msgid "E143: Autocommands unexpectedly deleted new buffer %s"
+msgstr "E143: 自动命令意外地删除了新缓冲区 %s"
+
+msgid "E144: non-numeric argument to :z"
+msgstr "E144: :z 不接受非数字的参数"
+
+msgid "E145: Shell commands not allowed in rvim"
+msgstr "E145: rvim 中禁止使用 shell 命令"
+
+msgid "E146: Regular expressions can't be delimited by letters"
+msgstr "E146: 正则表达式不能用字母作分界"
+
+#, c-format
+msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
+msgstr "替换为 %s (y/n/a/q/l/^E/^Y)?"
+
+msgid "(Interrupted) "
+msgstr "(已中断) "
+
+msgid "1 match"
+msgstr "1 个匹配,"
+
+msgid "1 substitution"
+msgstr "1 次替换,"
+
+#, c-format
+msgid "%ld matches"
+msgstr "%ld 个匹配,"
+
+#, c-format
+msgid "%ld substitutions"
+msgstr "%ld 次替换,"
+
+msgid " on 1 line"
+msgstr "共 1 行"
+
+#, c-format
+msgid " on %ld lines"
+msgstr "共 %ld 行"
+
+msgid "E147: Cannot do :global recursive"
+msgstr "E147: :global 不能递归执行"
+
+msgid "E148: Regular expression missing from global"
+msgstr "E148: global 缺少正则表达式"
+
+#, c-format
+msgid "Pattern found in every line: %s"
+msgstr "每行都匹配表达式: %s"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy, c-format
+msgid ""
+"\n"
+"# Last Substitute String:\n"
+"$"
+msgstr ""
+"\n"
+"# 最近的替换字符串:\n"
+"$"
+
+msgid "E478: Don't panic!"
+msgstr "E478: 不要慌!"
+
+#, c-format
+msgid "E661: Sorry, no '%s' help for %s"
+msgstr "E661: 抱歉,没有 '%s' 的 %s 的说明"
+
+#, c-format
+msgid "E149: Sorry, no help for %s"
+msgstr "E149: 抱歉,没有 %s 的说明"
+
+#, c-format
+msgid "Sorry, help file \"%s\" not found"
+msgstr "抱歉,找不到帮助文件 \"%s\""
+
+#, c-format
+msgid "E150: Not a directory: %s"
+msgstr "E150: 不是目录: %s"
+
+#, c-format
+msgid "E152: Cannot open %s for writing"
+msgstr "E152: 无法打开并写入 %s"
+
+#, c-format
+msgid "E153: Unable to open %s for reading"
+msgstr "E153: 无法打开并读取 %s"
+
+#, c-format
+msgid "E670: Mix of help file encodings within a language: %s"
+msgstr "E670: 在一种语言中混合了多种帮助文件编码: %s"
+
+#, c-format
+msgid "E154: Duplicate tag \"%s\" in file %s/%s"
+msgstr "E154: Tag \"%s\" 在文件 %s/%s 中重复出现"
+
+#, c-format
+msgid "E160: Unknown sign command: %s"
+msgstr "E160: 未知的 sign 命令: %s"
+
+msgid "E156: Missing sign name"
+msgstr "E156: 缺少 sign 名称"
+
+msgid "E612: Too many signs defined"
+msgstr "E612: Signs 定义过多"
+
+#, c-format
+msgid "E239: Invalid sign text: %s"
+msgstr "E239: 无效的 sign 文字: %s"
+
+#, c-format
+msgid "E155: Unknown sign: %s"
+msgstr "E155: 未知的 sign: %s"
+
+msgid "E159: Missing sign number"
+msgstr "E159: 缺少 sign 号"
+
+#, c-format
+msgid "E158: Invalid buffer name: %s"
+msgstr "E158: 无效的缓冲区名: %s"
+
+#, c-format
+msgid "E157: Invalid sign ID: %ld"
+msgstr "E157: 无效的 sign ID: %ld"
+
+msgid " (NOT FOUND)"
+msgstr " (找不到)"
+
+msgid " (not supported)"
+msgstr " (不支持)"
+
+msgid "[Deleted]"
+msgstr "[已删除]"
+
 msgid "Entering Debug mode.  Type \"cont\" to continue."
 msgstr "进入调试模式。输入 \"cont\" 继续运行。"
 
@@ -711,9 +977,6 @@ msgstr "%3d  %s %s  第 %ld 行"
 msgid "E750: First use :profile start <fname>"
 msgstr "E750: 请先使用 :profile start <fname>"
 
-msgid "Save As"
-msgstr "另存为"
-
 #, c-format
 msgid "Save changes to \"%s\"?"
 msgstr "将改变保存到 \"%s\" 吗?"
@@ -812,265 +1075,6 @@ msgstr "当前的 %s语言: \"%s\""
 msgid "E197: Cannot set language to \"%s\""
 msgstr "E197: 不能设定语言为 \"%s\""
 
-#, c-format
-msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
-msgstr "<%s>%s%s  %d,  十六进制 %02x,  八进制 %03o"
-
-#, c-format
-msgid "> %d, Hex %04x, Octal %o"
-msgstr "> %d, 十六进制 %04x, 八进制 %o"
-
-#, c-format
-msgid "> %d, Hex %08x, Octal %o"
-msgstr "> %d, 十六进制 %08x, 八进制 %o"
-
-msgid "E134: Move lines into themselves"
-msgstr "E134: 把行移动到自已中"
-
-msgid "1 line moved"
-msgstr "移动了 1 行"
-
-#, c-format
-msgid "%ld lines moved"
-msgstr "移动了 %ld 行"
-
-#, c-format
-msgid "%ld lines filtered"
-msgstr "过滤了 %ld 行"
-
-msgid "E135: *Filter* Autocommands must not change current buffer"
-msgstr "E135: *Filter* 自动命令不可以改变当前缓冲区"
-
-msgid "[No write since last change]\n"
-msgstr "[已修改但尚未保存]\n"
-
-#, c-format
-# bad to translate
-msgid "%sviminfo: %s in line: "
-msgstr "%sviminfo: %s 位于行: "
-
-msgid "E136: viminfo: Too many errors, skipping rest of file"
-msgstr "E136: viminfo: 错误过多,忽略文件的剩余部分"
-
-#, c-format
-msgid "Reading viminfo file \"%s\"%s%s%s"
-msgstr "读取 viminfo 文件 \"%s\"%s%s%s"
-
-msgid " info"
-msgstr " 信息"
-
-msgid " marks"
-msgstr " 标记"
-
-msgid " FAILED"
-msgstr " 失败"
-
-#, c-format
-msgid "E137: Viminfo file is not writable: %s"
-msgstr "E137: Viminfo 文件不可写入: %s"
-
-#, c-format
-msgid "E138: Can't write viminfo file %s!"
-msgstr "E138: 无法写入 viminfo 文件 %s!"
-
-#, c-format
-msgid "Writing viminfo file \"%s\""
-msgstr "写入 viminfo 文件 \"%s\""
-
-#. Write the info:
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid "# This viminfo file was generated by Vim %s.\n"
-msgstr "# 这个 viminfo 文件是由 vim %s 生成的。\n"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid ""
-"# You may edit it if you're careful!\n"
-"\n"
-msgstr ""
-"# 如果要自行修改请特别小心!\n"
-"\n"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid "# Value of 'encoding' when this file was written\n"
-msgstr "# 'encoding' 在此文件建立时的值\n"
-
-msgid "Illegal starting char"
-msgstr "无效的启动字符"
-
-msgid "Write partial file?"
-msgstr "要写入部分文件吗?"
-
-msgid "E140: Use ! to write partial buffer"
-msgstr "E140: 请使用 ! 来写入部分缓冲区"
-
-#, c-format
-msgid "Overwrite existing file \"%s\"?"
-msgstr "覆盖已存在的文件 \"%s\" 吗?"
-
-#, c-format
-msgid "Swap file \"%s\" exists, overwrite anyway?"
-msgstr "交换文件 \"%s\" 已存在,确实要覆盖吗?"
-
-#, c-format
-msgid "E768: Swap file exists: %s (:silent! overrides)"
-msgstr "E768: 交换文件已存在: %s (:silent! 强制执行)"
-
-#, c-format
-msgid "E141: No file name for buffer %ld"
-msgstr "E141: 缓冲区 %ld 没有文件名"
-
-msgid "E142: File not written: Writing is disabled by 'write' option"
-msgstr "E142: 文件未写入: 写入被 'write' 选项禁用"
-
-#, c-format
-msgid ""
-"'readonly' option is set for \"%s\".\n"
-"Do you wish to write anyway?"
-msgstr ""
-"\"%s\" 已设定 'readonly' 选项。\n"
-"确实要覆盖吗?"
-
-msgid "Edit File"
-msgstr "编辑文件"
-
-#, c-format
-msgid "E143: Autocommands unexpectedly deleted new buffer %s"
-msgstr "E143: 自动命令意外地删除了新缓冲区 %s"
-
-msgid "E144: non-numeric argument to :z"
-msgstr "E144: :z 不接受非数字的参数"
-
-msgid "E145: Shell commands not allowed in rvim"
-msgstr "E145: rvim 中禁止使用 shell 命令"
-
-msgid "E146: Regular expressions can't be delimited by letters"
-msgstr "E146: 正则表达式不能用字母作分界"
-
-#, c-format
-msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
-msgstr "替换为 %s (y/n/a/q/l/^E/^Y)?"
-
-msgid "(Interrupted) "
-msgstr "(已中断) "
-
-msgid "1 match"
-msgstr "1 个匹配,"
-
-msgid "1 substitution"
-msgstr "1 次替换,"
-
-#, c-format
-msgid "%ld matches"
-msgstr "%ld 个匹配,"
-
-#, c-format
-msgid "%ld substitutions"
-msgstr "%ld 次替换,"
-
-msgid " on 1 line"
-msgstr "共 1 行"
-
-#, c-format
-msgid " on %ld lines"
-msgstr "共 %ld 行"
-
-msgid "E147: Cannot do :global recursive"
-msgstr "E147: :global 不能递归执行"
-
-msgid "E148: Regular expression missing from global"
-msgstr "E148: global 缺少正则表达式"
-
-#, c-format
-msgid "Pattern found in every line: %s"
-msgstr "每行都匹配表达式: %s"
-
-#, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
-msgid ""
-"\n"
-"# Last Substitute String:\n"
-"$"
-msgstr ""
-"\n"
-"# 最近的替换字符串:\n"
-"$"
-
-msgid "E478: Don't panic!"
-msgstr "E478: 不要慌!"
-
-#, c-format
-msgid "E661: Sorry, no '%s' help for %s"
-msgstr "E661: 抱歉,没有 '%s' 的 %s 的说明"
-
-#, c-format
-msgid "E149: Sorry, no help for %s"
-msgstr "E149: 抱歉,没有 %s 的说明"
-
-#, c-format
-msgid "Sorry, help file \"%s\" not found"
-msgstr "抱歉,找不到帮助文件 \"%s\""
-
-#, c-format
-msgid "E150: Not a directory: %s"
-msgstr "E150: 不是目录: %s"
-
-#, c-format
-msgid "E152: Cannot open %s for writing"
-msgstr "E152: 无法打开并写入 %s"
-
-#, c-format
-msgid "E153: Unable to open %s for reading"
-msgstr "E153: 无法打开并读取 %s"
-
-#, c-format
-msgid "E670: Mix of help file encodings within a language: %s"
-msgstr "E670: 在一种语言中混合了多种帮助文件编码: %s"
-
-#, c-format
-msgid "E154: Duplicate tag \"%s\" in file %s/%s"
-msgstr "E154: Tag \"%s\" 在文件 %s/%s 中重复出现"
-
-#, c-format
-msgid "E160: Unknown sign command: %s"
-msgstr "E160: 未知的 sign 命令: %s"
-
-msgid "E156: Missing sign name"
-msgstr "E156: 缺少 sign 名称"
-
-msgid "E612: Too many signs defined"
-msgstr "E612: Signs 定义过多"
-
-#, c-format
-msgid "E239: Invalid sign text: %s"
-msgstr "E239: 无效的 sign 文字: %s"
-
-#, c-format
-msgid "E155: Unknown sign: %s"
-msgstr "E155: 未知的 sign: %s"
-
-msgid "E159: Missing sign number"
-msgstr "E159: 缺少 sign 号"
-
-#, c-format
-msgid "E158: Invalid buffer name: %s"
-msgstr "E158: 无效的缓冲区名: %s"
-
-#, c-format
-msgid "E157: Invalid sign ID: %ld"
-msgstr "E157: 无效的 sign ID: %ld"
-
-msgid " (NOT FOUND)"
-msgstr " (找不到)"
-
-msgid " (not supported)"
-msgstr " (不支持)"
-
-msgid "[Deleted]"
-msgstr "[已删除]"
-
 msgid "Entering Ex mode.  Type \"visual\" to go to Normal mode."
 msgstr "进入 Ex 模式。输入 \"visual\" 回到正常模式。"
 
@@ -1179,7 +1183,7 @@ msgstr "E467: Custom 补全需要一个函数参数"
 
 #, c-format
 msgid "E185: Cannot find color scheme %s"
-msgstr "E185: 找不到颜色主题 %s"
+msgstr "E185: 找不到配色方案 %s"
 
 msgid "Greetings, Vim user!"
 msgstr "您好,Vim 用户!"
@@ -1391,6 +1395,9 @@ msgstr "E602: :endtry 缺少对应的 :try"
 msgid "E193: :endfunction not inside a function"
 msgstr "E193: :endfunction 不在函数内"
 
+msgid "E788: Not allowed to edit another buffer now"
+msgstr "E788: 目前不允许编辑别的缓冲区"
+
 msgid "tagname"
 msgstr "tag 名"
 
@@ -1400,8 +1407,8 @@ msgstr " 类型 文件\n"
 msgid "'history' option is zero"
 msgstr "选项 'history' 为零"
 
+# do not translate to avoid writing Chinese in files
 #, fuzzy, c-format
-# do not translate to avoid writing Chinese in files
 msgid ""
 "\n"
 "# %s History (newest to oldest):\n"
@@ -1409,17 +1416,25 @@ msgstr ""
 "\n"
 "# %s 历史记录 (从新到旧):\n"
 
-msgid "Command Line"
-msgstr "命令行"
-
-msgid "Search String"
-msgstr "查找字符串"
-
-msgid "Expression"
-msgstr "表达式"
-
-msgid "Input Line"
-msgstr "输入行"
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Command Line"
+#~ msgstr "命令行"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Search String"
+#~ msgstr "查找字符串"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Expression"
+#~ msgstr "表达式"
+
+# do not translate to avoid writing Chinese in files
+#, fuzzy
+#~ msgid "Input Line"
+#~ msgstr "输入行"
 
 msgid "E198: cmd_pchar beyond the command length"
 msgstr "E198: cmd_pchar 超过命令长度"
@@ -1550,9 +1565,8 @@ msgstr "E509: 无法创建备份文件 (请加 ! 强制执行)"
 msgid "E510: Can't make backup file (add ! to override)"
 msgstr "E510: 无法生成备份文件 (请加 ! 强制执行)"
 
-#, fuzzy
-#~ msgid "E460: The resource fork would be lost (add ! to override)"
-#~ msgstr "E460: Resource fork 会消失 (请加 ! 强制执行)"
+msgid "E460: The resource fork would be lost (add ! to override)"
+msgstr "E460: Resource fork 会丢失 (请加 ! 强制执行)"
 
 msgid "E214: Can't find temp file for writing"
 msgstr "E214: 找不到用于写入的临时文件"
@@ -1836,6 +1850,29 @@ msgstr "找不到映射"
 msgid "E228: makemap: Illegal mode"
 msgstr "E228: makemap: 无效的模式"
 
+msgid "E229: Cannot start the GUI"
+msgstr "E229: 无法启动图形界面"
+
+#, c-format
+msgid "E230: Cannot read from \"%s\""
+msgstr "E230: 无法读取文件 \"%s\""
+
+msgid "E665: Cannot start GUI, no valid font found"
+msgstr "E665: 无法启动图形界面,找不到有效的字体"
+
+msgid "E231: 'guifontwide' invalid"
+msgstr "E231: 无效的 'guifontwide'"
+
+msgid "E599: Value of 'imactivatekey' is invalid"
+msgstr "E599: 'imactivatekey' 的值无效"
+
+#, c-format
+msgid "E254: Cannot allocate color %s"
+msgstr "E254: 无法分配颜色 %s"
+
+msgid "No match at cursor, finding next"
+msgstr "在光标处没有匹配,查找下一个"
+
 msgid "<cannot open> "
 msgstr "<无法打开>"
 
@@ -1858,38 +1895,15 @@ msgstr "确定"
 msgid "Cancel"
 msgstr "取消"
 
+msgid "Scrollbar Widget: Could not get geometry of thumb pixmap."
+msgstr "滚动条部件: 无法获取滑块图像的几何大小"
+
 msgid "Vim dialog"
 msgstr "Vim 对话框"
 
-msgid "Scrollbar Widget: Could not get geometry of thumb pixmap."
-msgstr "滚动条部件: 无法获取滑块图像的几何大小"
-
 msgid "E232: Cannot create BalloonEval with both message and callback"
 msgstr "E232: 不能同时使用消息和回调函数来创建 BalloonEval"
 
-msgid "E229: Cannot start the GUI"
-msgstr "E229: 无法启动图形界面"
-
-#, c-format
-msgid "E230: Cannot read from \"%s\""
-msgstr "E230: 不能读取文件 \"%s\""
-
-msgid "E665: Cannot start GUI, no valid font found"
-msgstr "E665: 无法启动图形界面,找不到有效的字体"
-
-msgid "E231: 'guifontwide' invalid"
-msgstr "E231: 无效的 'guifontwide'"
-
-msgid "E599: Value of 'imactivatekey' is invalid"
-msgstr "E599: 'imactivatekey' 的值无效"
-
-#, c-format
-msgid "E254: Cannot allocate color %s"
-msgstr "E254: 无法分配颜色 %s"
-
-msgid "No match at cursor, finding next"
-msgstr "在光标处没有匹配,查找下一个"
-
 msgid "Vim dialog..."
 msgstr "Vim 对话框..."
 
@@ -2027,6 +2041,12 @@ msgstr "E243: 不支持的参数: \"-%s\";请使用 OLE 版本。"
 msgid "E672: Unable to open window inside MDI application"
 msgstr "E672: 无法在 MDI 应用程序中打开窗口"
 
+msgid "Close tab"
+msgstr "关闭标签"
+
+msgid "Open tab..."
+msgstr "打开标签..."
+
 msgid "Find string (use '\\\\' to find  a '\\')"
 msgstr "查找字符串 (使用 '\\\\' 来查找 '\\')"
 
@@ -2084,40 +2104,36 @@ msgstr ""
 "字体1的宽度: %ld\n"
 "\n"
 
-#, fuzzy
-#~ msgid "Invalid font specification"
-#~ msgstr "不正确的字体集(Fontset)"
-
-#~ msgid "&Dismiss"
-#~ msgstr ""
-
-#~ msgid "no specific match"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "Vim - Font Selector"
-#~ msgstr "字体选择"
-
-#~ msgid "Name:"
-#~ msgstr ""
+msgid "Invalid font specification"
+msgstr "指定了无效的字体"
+
+msgid "&Dismiss"
+msgstr "取消(&D)"
+
+msgid "no specific match"
+msgstr "找不到匹配的项"
+
+msgid "Vim - Font Selector"
+msgstr "Vim - 字体选择器"
+
+msgid "Name:"
+msgstr "名称:"
 
 #. create toggle button
 #~ msgid "Show size in Points"
 #~ msgstr ""
 
-#, fuzzy
-#~ msgid "Encoding:"
-#~ msgstr "记录中"
-
-#, fuzzy
-#~ msgid "Font:"
-#~ msgstr "字体1: %s\n"
-
-#~ msgid "Style:"
-#~ msgstr ""
-
-#~ msgid "Size:"
-#~ msgstr ""
+msgid "Encoding:"
+msgstr "编码:"
+
+msgid "Font:"
+msgstr "字体:"
+
+msgid "Style:"
+msgstr "风格:"
+
+msgid "Size:"
+msgstr "尺寸:"
 
 msgid "E256: Hangul automata ERROR"
 msgstr "E256: Hangul automata 错误"
@@ -3021,8 +3037,8 @@ msgstr ""
 msgid "-display <display>\tRun vim on <display> (also: --display)"
 msgstr "-display <display>\t在 <display> 上运行 vim (也可用 --display)"
 
-#~ msgid "--role <role>\tSet a unique role to identify the main window"
-#~ msgstr ""
+msgid "--role <role>\tSet a unique role to identify the main window"
+msgstr "--role <role>\t设置用于区分主窗口的窗口角色名"
 
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
 msgstr "--socketid <xid>\t在另一个 GTK 部件中打开 Vim"
@@ -3030,8 +3046,8 @@ msgstr "--socketid <xid>\t在另一个 GTK 部件中打开 Vim"
 msgid "-P <parent title>\tOpen Vim inside parent application"
 msgstr "-P <parent title>\t在父应用程序中打开 Vim"
 
-#~ msgid "No display"
-#~ msgstr ""
+msgid "No display"
+msgstr "没有 display"
 
 #. Failed to send, abort.
 msgid ": Send failed.\n"
@@ -3045,9 +3061,8 @@ msgstr ": 发送失败。尝试本地执行\n"
 msgid "%d of %d edited"
 msgstr "%d 中 %d 已编辑"
 
-#, fuzzy
-#~ msgid "No display: Send expression failed.\n"
-#~ msgstr "发送表达式失败。\n"
+msgid "No display: Send expression failed.\n"
+msgstr "没有 display: 发送表达式失败。\n"
 
 msgid ": Send expression failed.\n"
 msgstr ": 发送表达式失败。\n"
@@ -3241,49 +3256,49 @@ msgstr "E308: 警告: 原始文件可能已被修改"
 msgid "E309: Unable to read block 1 from %s"
 msgstr "E309: 无法从 %s 读取块 1"
 
+# do not translate to avoid writing Chinese in files
 #, fuzzy
-# do not translate to avoid writing Chinese in files
-msgid "???MANY LINES MISSING"
-msgstr "???缺少了太多行"
-
-#, fuzzy
+#~ msgid "???MANY LINES MISSING"
+#~ msgstr "???缺少了太多行"
+
 # do not translate to avoid writing Chinese in files
-msgid "???LINE COUNT WRONG"
-msgstr "???行数错误"
-
 #, fuzzy
+#~ msgid "???LINE COUNT WRONG"
+#~ msgstr "???行数错误"
+
 # do not translate to avoid writing Chinese in files
-msgid "???EMPTY BLOCK"
-msgstr "???空的块"
-
 #, fuzzy
+#~ msgid "???EMPTY BLOCK"
+#~ msgstr "???空的块"
+
 # do not translate to avoid writing Chinese in files
-msgid "???LINES MISSING"
-msgstr "???缺少了一些行"
+#, fuzzy
+#~ msgid "???LINES MISSING"
+#~ msgstr "???缺少了一些行"
 
 #, c-format
 msgid "E310: Block 1 ID wrong (%s not a .swp file?)"
 msgstr "E310: 块 1 ID 错误 (%s 不是交换文件?)"
 
+# do not translate to avoid writing Chinese in files
 #, fuzzy
-# do not translate to avoid writing Chinese in files
-msgid "???BLOCK MISSING"
-msgstr "???缺少块"
-
-#, fuzzy
+#~ msgid "???BLOCK MISSING"
+#~ msgstr "???缺少块"
+
 # do not translate to avoid writing Chinese in files
-msgid "??? from here until ???END lines may be messed up"
-msgstr "??? 从这里到 ???END 的行可能已混乱"
-
 #, fuzzy
+#~ msgid "??? from here until ???END lines may be messed up"
+#~ msgstr "??? 从这里到 ???END 的行可能已混乱"
+
 # do not translate to avoid writing Chinese in files
-msgid "??? from here until ???END lines may have been inserted/deleted"
-msgstr "??? 从这里到 ???END 的行可能已被插入/删除过"
-
 #, fuzzy
+#~ msgid "??? from here until ???END lines may have been inserted/deleted"
+#~ msgstr "??? 从这里到 ???END 的行可能已被插入/删除过"
+
 # do not translate to avoid writing Chinese in files
-msgid "???END"
-msgstr "???END"
+#, fuzzy
+#~ msgid "???END"
+#~ msgstr "???END"
 
 msgid "E311: Recovery Interrupted"
 msgstr "E311: 恢复已被中断"
@@ -3810,18 +3825,18 @@ msgid "E347: No more file \"%s\" found i
 msgstr "E347: 在路径中找不到更多的文件 \"%s\""
 
 #. Get here when the server can't be found.
-#~ msgid "Cannot connect to Netbeans #2"
-#~ msgstr ""
-
-#~ msgid "Cannot connect to Netbeans"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
-#~ msgstr ""
-
-#~ msgid "read from Netbeans socket"
-#~ msgstr ""
+msgid "Cannot connect to Netbeans #2"
+msgstr "无法连接到 Netbeans #2"
+
+msgid "Cannot connect to Netbeans"
+msgstr "无法连接到 Netbeans"
+
+#, c-format
+msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
+msgstr "E668: NetBeans 连接信息文件中错误的访问模式: \"%s\""
+
+msgid "read from Netbeans socket"
+msgstr "从 Netbeans 套接字读取"
 
 #, c-format
 msgid "E658: NetBeans connection lost for buffer %ld"
@@ -3950,26 +3965,27 @@ msgstr "E574: 未知的寄存器类型 %d"
 msgid "%ld Cols; "
 msgstr "%ld 列; "
 
-#, fuzzy, c-format
-#~ msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
-#~ msgstr "选择了 %s%ld/%ld 行; %ld/%ld 字(Word); %ld/%ld 字符(Bytes)"
-
-#, fuzzy, c-format
+#, c-format
+msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
+msgstr "选择了 %s%ld/%ld 行; %ld/%ld 个词; %ld/%ld 个字节"
+
+#, c-format
 msgid ""
 "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld "
 "Bytes"
-msgstr "选择了 %s%ld/%ld 行; %ld/%ld 字(Word); %ld/%ld 字符(Chars); %ld/%ld"
-
-#, fuzzy, c-format
-#~ msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
-#~ msgstr "列 %s/%s; 行 %ld/%ld; 字(Word) %ld/%ld; 字符(Byte) %ld/%ld"
-
-#, fuzzy, c-format
+msgstr "选择了 %s%ld/%ld 行; %ld/%ld 个词; %ld/%ld 个字符; %ld/%ld 个字节"
+
+#, c-format
+msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
+msgstr "第 %s/%s 列; 第 %ld/%ld 行; 第 %ld/%ld 个词; 第 %ld/%ld 个字节"
+
+#, c-format
 msgid ""
 "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of "
 "%ld"
 msgstr ""
-"列 %s/%s; 行 %ld/%ld; 字(Word) %ld/%ld; 字符(Char) %ld/%ld; 字符(Byte) %ld/%ld"
+"第 %s/%s 列; 第 %ld/%ld 行; 第 %ld/%ld 个词; 第 %ld/%ld 个字符; 第 %ld/%ld 个"
+"字节"
 
 #, c-format
 #~ msgid "(+%ld for BOM)"
@@ -4177,17 +4193,14 @@ msgstr "ANCHOR_BUF_SIZE 太小"
 msgid "I/O ERROR"
 msgstr "I/O 错误"
 
-#~ msgid "...(truncated)"
-#~ msgstr ""
-
-#~ msgid "Message"
-#~ msgstr ""
+msgid "Message"
+msgstr "消息"
 
 msgid "'columns' is not 80, cannot execute external commands"
 msgstr "'columns' 不是 80, 不能执行外部命令"
 
 msgid "E237: Printer selection failed"
-msgstr "E237: 不能选择此打印机"
+msgstr "E237: 选择打印机失败"
 
 #, c-format
 msgid "to %s on %s"
@@ -4203,7 +4216,7 @@ msgstr "E238: 打印错误: %s"
 
 #, c-format
 msgid "Printing '%s'"
-msgstr "已打印: '%s'"
+msgstr "打印 '%s'"
 
 #, c-format
 msgid "E244: Illegal charset name \"%s\" in font name \"%s\""
@@ -4214,22 +4227,22 @@ msgid "E245: Illegal char '%c' in font n
 msgstr "E245: 不正确的字符 '%c' 出现在字体名称 \"%s\" 内"
 
 msgid "E366: Invalid 'osfiletype' option - using Text"
-msgstr "E366: 不正确的 'filetype' 选项 - 使用纯文字模式"
+msgstr "E366: 不正确的 'osfiletype' 选项 - 使用纯文字模式"
 
 msgid "Vim: Double signal, exiting\n"
-msgstr "Vim: 双重信号, 退出中\n"
+msgstr "Vim: 双重信号,退出中\n"
 
 #, c-format
 msgid "Vim: Caught deadly signal %s\n"
-msgstr "Vim: CVim: 拦截到信号(signal) %s\n"
+msgstr "Vim: 拦截到致命信号(deadly signal) %s\n"
 
 #, c-format
 msgid "Vim: Caught deadly signal\n"
-msgstr "Vim: 拦截到致命的信号(deadly signale)\n"
+msgstr "Vim: 拦截到致命信号(deadly signal)\n"
 
 #, c-format
 msgid "Opening the X display took %ld msec"
-msgstr "打开 X Window 用时 %ld 秒"
+msgstr "打开 X display 用时 %ld 秒"
 
 msgid ""
 "\n"
@@ -4239,24 +4252,24 @@ msgstr ""
 "Vim: X 错误\n"
 
 msgid "Testing the X display failed"
-msgstr "测试 X Window 失败"
+msgstr "测试 X display 失败"
 
 msgid "Opening the X display timed out"
-msgstr "打开 X Window 超时"
+msgstr "打开 X display 超时"
 
 msgid ""
 "\n"
 "Cannot execute shell "
 msgstr ""
 "\n"
-"不能执行 shell"
+"无法执行 shell"
 
 msgid ""
 "\n"
 "Cannot execute shell sh\n"
 msgstr ""
 "\n"
-"不能执行 shell sh\n"
+"无法执行 shell sh\n"
 
 msgid ""
 "\n"
@@ -4270,14 +4283,14 @@ msgid ""
 "Cannot create pipes\n"
 msgstr ""
 "\n"
-"不能建立管道\n"
+"无法建立管道\n"
 
 msgid ""
 "\n"
 "Cannot fork\n"
 msgstr ""
 "\n"
-"不能 fork\n"
+"无法 fork\n"
 
 msgid ""
 "\n"
@@ -4286,46 +4299,45 @@ msgstr ""
 "\n"
 "命令已结束\n"
 
-#, fuzzy
-#~ msgid "XSMP lost ICE connection"
-#~ msgstr "显示连接"
-
-#, c-format
-#~ msgid "dlerror = \"%s\""
-#~ msgstr ""
+msgid "XSMP lost ICE connection"
+msgstr "XSMP 丢失了到 ICE 的连接"
+
+# do not translate
+#, c-format
+msgid "dlerror = \"%s\""
+msgstr "dlerror = \"%s\""
 
 msgid "Opening the X display failed"
-msgstr "打开 X Window 失败"
-
-#~ msgid "XSMP handling save-yourself request"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "XSMP opening connection"
-#~ msgstr "没有 cscope 连接"
-
-#~ msgid "XSMP ICE connection watch failed"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "XSMP SmcOpenConnection failed: %s"
-#~ msgstr ""
+msgstr "打开 X display 失败"
+
+msgid "XSMP handling save-yourself request"
+msgstr "XSMP 处理 save-yourself 请求"
+
+msgid "XSMP opening connection"
+msgstr "XSMP 打开连接"
+
+msgid "XSMP ICE connection watch failed"
+msgstr "XSMP ICE 连接监视失败"
+
+#, c-format
+msgid "XSMP SmcOpenConnection failed: %s"
+msgstr "XSMP SmcOpenConnection 调用失败: %s"
 
 msgid "At line"
 msgstr "在行号 "
 
 msgid "Could not load vim32.dll!"
-msgstr "不能加载 vim32.dll!"
+msgstr "无法加载 vim32.dll!"
 
 msgid "VIM Error"
 msgstr "VIM 错误"
 
 msgid "Could not fix up function pointers to the DLL!"
-msgstr "不能修正函数指针到 DLL!"
+msgstr "无法修正到 DLL 的函数指针!"
 
 #, c-format
 msgid "shell returned %d"
-msgstr "Shell 返回值 %d"
+msgstr "Shell 返回 %d"
 
 #, c-format
 msgid "Vim: Caught %s event\n"
@@ -4348,8 +4360,8 @@ msgid ""
 "External commands will not pause after completion.\n"
 "See  :help win32-vimrun  for more information."
 msgstr ""
-"在你的 $PATH 中找不到 VIMRUN.EXE.\n"
-"外部命令执行完毕后将不会暂停.\n"
+"在你的 $PATH 中找不到 VIMRUN.EXE。\n"
+"外部命令执行完毕后将不会暂停。\n"
 "进一步说明请见 :help win32-vimrun"
 
 msgid "Vim Warning"
@@ -4407,8 +4419,8 @@ msgstr "错误列表 %d / %d;共 %d 个错误"
 msgid "E382: Cannot write, 'buftype' option is set"
 msgstr "E382: 无法写入,已设定选项 'buftype'"
 
-#~ msgid "E683: File name missing or invalid pattern"
-#~ msgstr ""
+msgid "E683: File name missing or invalid pattern"
+msgstr "E683: 缺少文件名或模式无效"
 
 #, c-format
 msgid "Cannot open file \"%s\""
@@ -4603,9 +4615,9 @@ msgstr "  找不到"
 msgid "Scanning included file: %s"
 msgstr "查找包含文件: %s"
 
-#, fuzzy, c-format
-#~ msgid "Searching included file %s"
-#~ msgstr "查找包含文件: %s"
+#, c-format
+msgid "Searching included file %s"
+msgstr "查找包含的文件 %s"
 
 msgid "E387: Match is on current line"
 msgstr "E387: 当前行匹配"
@@ -4622,339 +4634,339 @@ msgstr "E388: 找不到定义"
 msgid "E389: Couldn't find pattern"
 msgstr "E389: 找不到 pattern"
 
-#, fuzzy
-#~ msgid "E759: Format error in spell file"
-#~ msgstr "E297: 交换文件写入错误"
-
-#, fuzzy
-#~ msgid "E758: Truncated spell file"
-#~ msgstr "E237: 不能选择此打印机"
-
-#, fuzzy, c-format
-#~ msgid "Trailing text in %s line %d: %s"
-#~ msgstr "\"%s%s\" 中断点: 第 %ld 行"
-
-#, c-format
-#~ msgid "Affix name too long in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "E761: Format error in affix file FOL, LOW or UPP"
-#~ msgstr "E431: Tag 文件 \"%s\" 格式错误"
-
-#~ msgid "E762: Character in FOL, LOW or UPP is out of range"
-#~ msgstr ""
-
-#~ msgid "Compressing word tree..."
-#~ msgstr ""
-
-#~ msgid "E756: Spell checking is not enabled"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Reading spell file \"%s\""
-#~ msgstr "使用交换文件 \"%s\""
-
-#, fuzzy
-#~ msgid "E757: This does not look like a spell file"
-#~ msgstr "E307: %s 看起来不像是 Vim 交换文件"
-
-#, fuzzy
-#~ msgid "E771: Old spell file, needs to be updated"
-#~ msgstr "E173: 还有 %ld 个文件未编辑"
-
-#~ msgid "E772: Spell file is for newer version of Vim"
+msgid "E759: Format error in spell file"
+msgstr "E759: 拼写文件格式错误"
+
+msgid "E758: Truncated spell file"
+msgstr "E758: 已截断的拼写文件"
+
+#, c-format
+msgid "Trailing text in %s line %d: %s"
+msgstr "%s 第 %d 行,多余的后续字符: %s"
+
+#, c-format
+msgid "Affix name too long in %s line %d: %s"
+msgstr "%s 第 %d 行,附加项名字太长: %s"
+
+msgid "E761: Format error in affix file FOL, LOW or UPP"
+msgstr "E761: 附加文件 FOL、LOW 或 UPP 中格式错误"
+
+msgid "E762: Character in FOL, LOW or UPP is out of range"
+msgstr "E762: FOL、LOW 或 UPP 中字符超出范围"
+
+msgid "Compressing word tree..."
+msgstr "压缩单词树……"
+
+msgid "E756: Spell checking is not enabled"
+msgstr "E756: 拼写检查未启用"
+
+#, c-format
+msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
+msgstr "警告: 找不到单词列表 \"%s.%s.spl\" or \"%s.ascii.spl\""
+
+#, c-format
+msgid "Reading spell file \"%s\""
+msgstr "读取拼写文件 \"%s\""
+
+msgid "E757: This does not look like a spell file"
+msgstr "E757: 这看起来不像是拼写文件"
+
+msgid "E771: Old spell file, needs to be updated"
+msgstr "E771: 旧版本的拼写文件,需要更新"
+
+msgid "E772: Spell file is for newer version of Vim"
+msgstr "E772: 为更高版本的 Vim 所用的拼写文件"
+
+msgid "E770: Unsupported section in spell file"
+msgstr "E770: 拼写文件中存在不支持的节"
+
+#, c-format
+msgid "Warning: region %s not supported"
+msgstr "警告: 区域 %s 不支持"
+
+#, c-format
+msgid "Reading affix file %s ..."
+msgstr "读取附加文件 %s ……"
+
+#, c-format
+msgid "Conversion failure for word in %s line %d: %s"
+msgstr "单词 %s 转换失败,第 %d 行: %s"
+
+#, c-format
+msgid "Conversion in %s not supported: from %s to %s"
+msgstr "不支持 %s 中的转换: 从 %s 到 %s"
+
+#, c-format
+msgid "Conversion in %s not supported"
+msgstr "不支持 %s 中的转换"
+
+#, c-format
+msgid "Invalid value for FLAG in %s line %d: %s"
+msgstr "%s 第 %d 行,FLAG 的值无效: %s"
+
+#, c-format
+msgid "FLAG after using flags in %s line %d: %s"
+msgstr "%s 第 %d 行,在使用标志后出现 FLAG: %s"
+
+#, c-format
+#~ msgid ""
+#~ "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line "
+#~ "%d"
 #~ msgstr ""
 
-#, fuzzy
-#~ msgid "E770: Unsupported section in spell file"
-#~ msgstr "E297: 交换文件写入错误"
-
-#, fuzzy, c-format
-#~ msgid "Warning: region %s not supported"
-#~ msgstr "不支持该选项"
-
-#, fuzzy, c-format
-#~ msgid "Reading affix file %s ..."
-#~ msgstr "查找 tag 文件 \"%s\""
-
-#, c-format
-#~ msgid "Conversion failure for word in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Conversion in %s not supported: from %s to %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Conversion in %s not supported"
-#~ msgstr "不支持该选项"
-
-#, fuzzy, c-format
-#~ msgid "Invalid value for FLAG in %s line %d: %s"
-#~ msgstr "不正确的服务器 id : %s"
-
-#, c-format
-#~ msgid "FLAG after using flags in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Different combining flag in continued affix block in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Duplicate affix in %s line %d: %s"
-#~ msgstr "E154: 标签(tag) \"%s\" 在文件 %s 里重复出现多次"
-
 #, c-format
 #~ msgid ""
-#~ "Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
-#~ "line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Expected Y or N in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Broken condition in %s line %d: %s"
-#~ msgstr "\"%s%s\" 中断点: 第 %ld 行"
-
-#, c-format
-#~ msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Expected REP(SAL) count in %s line %d"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Expected MAP count in %s line %d"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Duplicate character in MAP in %s line %d"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Unrecognized or duplicate item in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Missing FOL/LOW/UPP line in %s"
-#~ msgstr ""
-
-#~ msgid "COMPOUNDSYLMAX used without SYLLABLE"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "Too many postponed prefixes"
-#~ msgstr "太多编辑参数"
-
-#, fuzzy
-#~ msgid "Too many compound flags"
-#~ msgstr "太多编辑参数"
-
-#~ msgid "Too many posponed prefixes and/or compound flags"
+#~ "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line "
+#~ "%d"
 #~ msgstr ""
 
 #, c-format
-#~ msgid "Missing SOFO%s line in %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Both SAL and SOFO lines in %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Flag is not a number in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Illegal flag in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "%s value differs from what is used in another .aff file"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Reading dictionary file %s ..."
-#~ msgstr "扫描字典: %s"
-
-#, c-format
-#~ msgid "E760: No word count in %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "line %6d, word %6d - %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Duplicate word in %s line %d: %s"
-#~ msgstr "每一行都找不到模式: %s"
-
-#, c-format
-#~ msgid "First duplicate word in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "%d duplicate word(s) in %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Ignored %d word(s) with non-ASCII characters in %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Reading word file %s ..."
-#~ msgstr "从标准输入读..."
+msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
+msgstr "%s 第 %d 行,错误的 COMPOUNDWORDMAX 值: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
+msgstr "%s 第 %d 行,错误的 COMPOUNDMIN 值: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
+msgstr "%s 第 %d 行,错误的 COMPOUNDSYLMAX 值: %s"
+
+#, c-format
+msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
+msgstr "%s 第 %d 行,错误的 CHECKCOMPOUNDPATTERN 值: %s"
+
+#, c-format
+msgid "Different combining flag in continued affix block in %s line %d: %s"
+msgstr "%s 第 %d 行,在连续的附加块中出现不同的组合标志: %s"
+
+#, c-format
+msgid "Duplicate affix in %s line %d: %s"
+msgstr "%s 第 %d 行,重复的附加项: %s"
+
+#, c-format
+msgid ""
+"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
+"line %d: %s"
+msgstr ""
+"%s 第 %d 行,附加项被 BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST 使"
+"用: %s"
+
+#, c-format
+msgid "Expected Y or N in %s line %d: %s"
+msgstr "%s 第 %d 行,此处需要 Y 或 N: %s"
+
+#, c-format
+msgid "Broken condition in %s line %d: %s"
+msgstr "%s 第 %d 行,错误的条件: %s"
+
+#, c-format
+msgid "Expected REP(SAL) count in %s line %d"
+msgstr "%s 第 %d 行,此处需要 REP(SAL) 计数"
+
+#, c-format
+msgid "Expected MAP count in %s line %d"
+msgstr "%s 第 %d 行,此处需要 MAP 计数"
+
+#, c-format
+msgid "Duplicate character in MAP in %s line %d"
+msgstr "%s 第 %d 行,MAP 中存在重复的字符"
+
+#, c-format
+msgid "Unrecognized or duplicate item in %s line %d: %s"
+msgstr "%s 第 %d 行,无法识别或重复的项: %s"
+
+#, c-format
+msgid "Missing FOL/LOW/UPP line in %s"
+msgstr "%s 中缺少 FOL/LOW/UPP 行"
+
+msgid "COMPOUNDSYLMAX used without SYLLABLE"
+msgstr "在没有 SYLLABLE 的情况下使用了 COMPOUNDSYLMAX"
+
+msgid "Too many postponed prefixes"
+msgstr "太多延迟前缀"
+
+msgid "Too many compound flags"
+msgstr "太多组合标志"
+
+msgid "Too many posponed prefixes and/or compound flags"
+msgstr "太多延迟前缀和/或组合标志"
+
+#, c-format
+msgid "Missing SOFO%s line in %s"
+msgstr "%s 中缺少 SOFO%s 行"
+
+#, c-format
+msgid "Both SAL and SOFO lines in %s"
+msgstr "%s 同时出现 SQL 和 SOFO 行"
+
+#, c-format
+msgid "Flag is not a number in %s line %d: %s"
+msgstr "%s 第 %d 行,标志不是数字: %s"
+
+#, c-format
+msgid "Illegal flag in %s line %d: %s"
+msgstr "%s 第 %d 行,无效的标志: %s"
+
+#, c-format
+msgid "%s value differs from what is used in another .aff file"
+msgstr "%s 的值与另一个 .aff 文件中使用的值不相同"
+
+#, c-format
+msgid "Reading dictionary file %s ..."
+msgstr "读取字典文件 %s ……"
+
+#, c-format
+msgid "E760: No word count in %s"
+msgstr "E760: %s 中没有单词计数"
+
+#, c-format
+msgid "line %6d, word %6d - %s"
+msgstr "第 %6d 行,第 %6d 个单词 - %s"
+
+#, c-format
+msgid "Duplicate word in %s line %d: %s"
+msgstr "%s 第 %d 行,重复的单词: %s"
+
+#, c-format
+msgid "First duplicate word in %s line %d: %s"
+msgstr "%s 第 %d 行,首次重复的单词: %s"
+
+#, c-format
+msgid "%d duplicate word(s) in %s"
+msgstr "存在 %d 个重复的单词,在 %s 中"
+
+#, c-format
+msgid "Ignored %d word(s) with non-ASCII characters in %s"
+msgstr "忽略了含有非 ASCII 字符的 %d 个单词,在 %s 中"
+
+#, c-format
+msgid "Reading word file %s ..."
+msgstr "读取单词文件 %s ……"
 
 #, c-format
 #~ msgid "Duplicate /encoding= line ignored in %s line %d: %s"
 #~ msgstr ""
 
 #, c-format
-#~ msgid "/encoding= line after word ignored in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Duplicate /regions= line ignored in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Too many regions in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "/ line ignored in %s line %d: %s"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Invalid region nr in %s line %d: %s"
-#~ msgstr "不正确的服务器 id : %s"
-
-#, c-format
-#~ msgid "Unrecognized flags in %s line %d: %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Ignored %d words with non-ASCII characters"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
-#~ msgstr ""
-
-#~ msgid "Reading back spell file..."
-#~ msgstr ""
+msgid "/encoding= line after word ignored in %s line %d: %s"
+msgstr "%s 第 %d 行,单词后的 /encoding= 行已被忽略: %s"
+
+#, c-format
+msgid "Duplicate /regions= line ignored in %s line %d: %s"
+msgstr "%s 第 %d 行,重复的 /regions= 行已被忽略: %s"
+
+#, c-format
+msgid "Too many regions in %s line %d: %s"
+msgstr "%s 第 %d 行,太多区域: %s"
+
+#, c-format
+msgid "/ line ignored in %s line %d: %s"
+msgstr "%s 第 %d 行,/ 行已被忽略: %s"
+
+#, c-format
+msgid "Invalid region nr in %s line %d: %s"
+msgstr "%s 第 %d 行,无效的区域号: %s"
+
+#, c-format
+msgid "Unrecognized flags in %s line %d: %s"
+msgstr "%s 第 %d 行,不可识别的标志: %s"
+
+#, c-format
+msgid "Ignored %d words with non-ASCII characters"
+msgstr "忽略了含有非 ASCII 字符的 %d 个单词"
+
+#, c-format
+msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
+msgstr "压缩了 %d/%d 个节点;剩余 %d (%d%%)"
+
+msgid "Reading back spell file..."
+msgstr "读取拼写文件……"
 
 #.
 #. * Go through the trie of good words, soundfold each word and add it to
 #. * the soundfold trie.
 #.
-#~ msgid "Performing soundfolding..."
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Number of words after soundfolding: %ld"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Total number of words: %d"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Writing suggestion file %s ..."
-#~ msgstr "写入 viminfo 文件 \"%s\" 中"
-
-#, c-format
-#~ msgid "Estimated runtime memory use: %d bytes"
-#~ msgstr ""
-
-#~ msgid "E751: Output file name must not have region name"
-#~ msgstr ""
-
-#~ msgid "E754: Only up to 8 regions supported"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "E755: Invalid region in %s"
-#~ msgstr "E15: 不正确的表达式: %s"
-
-#~ msgid "Warning: both compounding and NOBREAK specified"
-#~ msgstr ""
-
-#, fuzzy, c-format
-#~ msgid "Writing spell file %s ..."
-#~ msgstr "写入 viminfo 文件 \"%s\" 中"
-
-#, fuzzy
-#~ msgid "Done!"
-#~ msgstr "向下"
-
-#, c-format
-#~ msgid "E765: 'spellfile' does not have %ld entries"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Word removed from %s"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Word added to %s"
-#~ msgstr ""
-
-#~ msgid "E763: Word characters differ between spell files"
-#~ msgstr ""
-
-#~ msgid "Sorry, no suggestions"
-#~ msgstr ""
-
-#, c-format
-#~ msgid "Sorry, only %ld suggestions"
-#~ msgstr ""
+msgid "Performing soundfolding..."
+msgstr "正在 soundfolding……"
+
+#, c-format
+msgid "Number of words after soundfolding: %ld"
+msgstr "soundfolding 后的单词数: %ld"
+
+#, c-format
+msgid "Total number of words: %d"
+msgstr "单词总数: %d"
+
+#, c-format
+msgid "Writing suggestion file %s ..."
+msgstr "写入建议文件 %s ……"
+
+#, c-format
+msgid "Estimated runtime memory use: %d bytes"
+msgstr "估计运行时内存用量: %d 字节"
+
+msgid "E751: Output file name must not have region name"
+msgstr "E751: 输出文件名不能含有区域名"
+
+msgid "E754: Only up to 8 regions supported"
+msgstr "E754: 最多只支持 8 个区域"
+
+#, c-format
+msgid "E755: Invalid region in %s"
+msgstr "E755: %s 出现无效的范围"
+
+msgid "Warning: both compounding and NOBREAK specified"
+msgstr "警告: 同时指定了 compounding 和 NOBREAK"
+
+#, c-format
+msgid "Writing spell file %s ..."
+msgstr "写入拼写文件 %s ……"
+
+msgid "Done!"
+msgstr "完成!"
+
+#, c-format
+msgid "E765: 'spellfile' does not have %ld entries"
+msgstr "E765: 'spellfile' 没有 %ld 项"
+
+#, c-format
+msgid "Word removed from %s"
+msgstr "从 %s 中删除了单词"
+
+#, c-format
+msgid "Word added to %s"
+msgstr "向 %s 中添加了单词"
+
+msgid "E763: Word characters differ between spell files"
+msgstr "E763: 拼写文件之间的字符不相同"
+
+msgid "Sorry, no suggestions"
+msgstr "抱歉,没有建议"
+
+#, c-format
+msgid "Sorry, only %ld suggestions"
+msgstr "抱歉,只有 %ld 条建议"
 
 #. avoid more prompt
-#, fuzzy, c-format
-#~ msgid "Change \"%.*s\" to:"
-#~ msgstr "将改变保存到 \"%.*s\"?"
-
-#, c-format
-#~ msgid " < \"%.*s\""
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "E752: No previous spell replacement"
-#~ msgstr "E35: 没有前一个查找命令"
-
-#, fuzzy, c-format
-#~ msgid "E753: Not found: %s"
-#~ msgstr "E334: [菜单] 找不到 %s"
-
-#, fuzzy, c-format
-#~ msgid "E778: This does not look like a .sug file: %s"
-#~ msgstr "E307: %s 看起来不像是 Vim 交换文件"
+#, c-format
+msgid "Change \"%.*s\" to:"
+msgstr "将 \"%.*s\" 改为:"
+
+#, c-format
+msgid " < \"%.*s\""
+msgstr " < \"%.*s\""
+
+msgid "E752: No previous spell replacement"
+msgstr "E752: 之前没有拼写替换"
+
+#, c-format
+msgid "E753: Not found: %s"
+msgstr "E753: 找不到: %s"
+
+#, c-format
+msgid "E778: This does not look like a .sug file: %s"
+msgstr "E778: 看起来不像是 .sug 文件: %s"
 
 #, c-format
 #~ msgid "E779: Old .sug file, needs to be updated: %s"
@@ -5056,8 +5068,8 @@ msgid "E397: Filename required"
 msgstr "E397: 需要文件名称"
 
 #, c-format
-msgid "E789: Missing ']': %s"
-msgstr "E789: 缺少 ']': %s"
+msgid "E747: Missing ']': %s"
+msgstr "E747: 缺少 ']': %s"
 
 #, c-format
 msgid "E398: Missing '=': %s"
@@ -5109,8 +5121,8 @@ msgstr "E409: 不正确的组名: %s"
 msgid "E410: Invalid :syntax subcommand: %s"
 msgstr "E410: 不正确的 :syntax 子命令: %s"
 
-#~ msgid "E679: recursive loop loading syncolor.vim"
-#~ msgstr ""
+msgid "E679: recursive loop loading syncolor.vim"
+msgstr "E679: 加载 syncolor.vim 时出现嵌套循环"
 
 #, c-format
 msgid "E411: highlight group not found: %s"
@@ -5164,12 +5176,11 @@ msgstr "E423: 无效的参数: %s"
 msgid "E424: Too many different highlighting attributes in use"
 msgstr "E424: 使用了太多不同的高亮度属性"
 
-#~ msgid "E669: Unprintable character in group name"
-#~ msgstr ""
-
-#, fuzzy
-#~ msgid "W18: Invalid character in group name"
-#~ msgstr "E182: 命令名称不正确"
+msgid "E669: Unprintable character in group name"
+msgstr "E669: 组名中存在不可显示字符"
+
+msgid "W18: Invalid character in group name"
+msgstr "W18: 组名中含有无效字符"
 
 msgid "E555: at bottom of tag stack"
 msgstr "E555: 已在 tag 堆栈底部"
@@ -5648,6 +5659,9 @@ msgstr "警告: 检测到 Windows 95/98/ME"
 msgid "type  :help windows95<Enter>  for info on this"
 msgstr "输入  :help windows95<Enter>  查看相关说明    "
 
+msgid "Already only one window"
+msgstr "已经只剩一个窗口了"
+
 msgid "E441: There is no preview window"
 msgstr "E441: 没有预览窗口"
 
@@ -5660,9 +5674,6 @@ msgstr "E443: 有其它分割窗口时不能旋转"
 msgid "E444: Cannot close last window"
 msgstr "E444: 不能关闭最后一个窗口"
 
-msgid "Already only one window"
-msgstr "已经只剩一个窗口了"
-
 msgid "E445: Other window contains changes"
 msgstr "E445: 其它窗口有改变的内容"
 
@@ -6050,6 +6061,9 @@ msgstr "已查找到文件开头,再从结尾继续查找"
 msgid "search hit BOTTOM, continuing at TOP"
 msgstr "已查找到文件结尾,再从开头继续查找"
 
+#~ msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
+#~ msgstr "%s 第 %d 行,使用 PFXPOSTPONE 时附加标志被忽略: %s"
+
 #~ msgid "[No file]"
 #~ msgstr "[未命名]"
 
--- a/src/proto/gui.pro
+++ b/src/proto/gui.pro
@@ -1,65 +1,65 @@
 /* gui.c */
-extern void gui_start __ARGS((void));
-extern void gui_prepare __ARGS((int *argc, char **argv));
-extern int gui_init_check __ARGS((void));
-extern void gui_init __ARGS((void));
-extern void gui_exit __ARGS((int rc));
-extern void gui_shell_closed __ARGS((void));
-extern int gui_init_font __ARGS((char_u *font_list, int fontset));
-extern int gui_get_wide_font __ARGS((void));
-extern void gui_set_cursor __ARGS((int row, int col));
-extern void gui_update_cursor __ARGS((int force, int clear_selection));
-extern void gui_position_menu __ARGS((void));
-extern int gui_get_base_width __ARGS((void));
-extern int gui_get_base_height __ARGS((void));
-extern void gui_resize_shell __ARGS((int pixel_width, int pixel_height));
-extern void gui_may_resize_shell __ARGS((void));
-extern int gui_get_shellsize __ARGS((void));
-extern void gui_set_shellsize __ARGS((int mustset, int fit_to_display, int direction));
-extern void gui_new_shellsize __ARGS((void));
-extern void gui_reset_scroll_region __ARGS((void));
-extern void gui_start_highlight __ARGS((int mask));
-extern void gui_stop_highlight __ARGS((int mask));
-extern void gui_clear_block __ARGS((int row1, int col1, int row2, int col2));
-extern void gui_update_cursor_later __ARGS((void));
-extern void gui_write __ARGS((char_u *s, int len));
-extern void gui_dont_update_cursor __ARGS((void));
-extern void gui_can_update_cursor __ARGS((void));
-extern int gui_outstr_nowrap __ARGS((char_u *s, int len, int flags, guicolor_T fg, guicolor_T bg, int back));
-extern void gui_undraw_cursor __ARGS((void));
-extern void gui_redraw __ARGS((int x, int y, int w, int h));
-extern int gui_redraw_block __ARGS((int row1, int col1, int row2, int col2, int flags));
-extern int gui_wait_for_chars __ARGS((long wtime));
-extern void gui_send_mouse_event __ARGS((int button, int x, int y, int repeated_click, int_u modifiers));
-extern int gui_xy2colrow __ARGS((int x, int y, int *colp));
-extern void gui_menu_cb __ARGS((vimmenu_T *menu));
-extern void gui_init_which_components __ARGS((char_u *oldval));
-extern int gui_use_tabline __ARGS((void));
-extern void gui_update_tabline __ARGS((void));
-extern void get_tabline_label __ARGS((tabpage_T *tp));
-extern int send_tabline_event __ARGS((int nr));
-extern void send_tabline_menu_event __ARGS((int tabidx, int event));
-extern void gui_remove_scrollbars __ARGS((void));
-extern void gui_create_scrollbar __ARGS((scrollbar_T *sb, int type, win_T *wp));
-extern scrollbar_T *gui_find_scrollbar __ARGS((long ident));
-extern void gui_drag_scrollbar __ARGS((scrollbar_T *sb, long value, int still_dragging));
-extern void gui_update_scrollbars __ARGS((int force));
-extern int gui_do_scroll __ARGS((void));
-extern int gui_do_horiz_scroll __ARGS((void));
-extern void gui_check_colors __ARGS((void));
-extern guicolor_T gui_get_color __ARGS((char_u *name));
-extern int gui_get_lightness __ARGS((guicolor_T pixel));
-extern void gui_new_scrollbar_colors __ARGS((void));
-extern void gui_focus_change __ARGS((int in_focus));
-extern void gui_mouse_moved __ARGS((int x, int y));
-extern void gui_mouse_correct __ARGS((void));
-extern void ex_gui __ARGS((exarg_T *eap));
-extern int gui_find_bitmap __ARGS((char_u *name, char_u *buffer, char *ext));
-extern void gui_find_iconfile __ARGS((char_u *name, char_u *buffer, char *ext));
-extern void display_errors __ARGS((void));
-extern int no_console_input __ARGS((void));
-extern void gui_update_screen __ARGS((void));
-extern char_u *get_find_dialog_text __ARGS((char_u *arg, int *wwordp, int *mcasep));
-extern int gui_do_findrepl __ARGS((int flags, char_u *find_text, char_u *repl_text, int down));
-extern void gui_handle_drop __ARGS((int x, int y, int_u modifiers, char_u **fnames, int count));
+void gui_start __ARGS((void));
+void gui_prepare __ARGS((int *argc, char **argv));
+int gui_init_check __ARGS((void));
+void gui_init __ARGS((void));
+void gui_exit __ARGS((int rc));
+void gui_shell_closed __ARGS((void));
+int gui_init_font __ARGS((char_u *font_list, int fontset));
+int gui_get_wide_font __ARGS((void));
+void gui_set_cursor __ARGS((int row, int col));
+void gui_update_cursor __ARGS((int force, int clear_selection));
+void gui_position_menu __ARGS((void));
+int gui_get_base_width __ARGS((void));
+int gui_get_base_height __ARGS((void));
+void gui_resize_shell __ARGS((int pixel_width, int pixel_height));
+void gui_may_resize_shell __ARGS((void));
+int gui_get_shellsize __ARGS((void));
+void gui_set_shellsize __ARGS((int mustset, int fit_to_display, int direction));
+void gui_new_shellsize __ARGS((void));
+void gui_reset_scroll_region __ARGS((void));
+void gui_start_highlight __ARGS((int mask));
+void gui_stop_highlight __ARGS((int mask));
+void gui_clear_block __ARGS((int row1, int col1, int row2, int col2));
+void gui_update_cursor_later __ARGS((void));
+void gui_write __ARGS((char_u *s, int len));
+void gui_dont_update_cursor __ARGS((void));
+void gui_can_update_cursor __ARGS((void));
+int gui_outstr_nowrap __ARGS((char_u *s, int len, int flags, guicolor_T fg, guicolor_T bg, int back));
+void gui_undraw_cursor __ARGS((void));
+void gui_redraw __ARGS((int x, int y, int w, int h));
+int gui_redraw_block __ARGS((int row1, int col1, int row2, int col2, int flags));
+int gui_wait_for_chars __ARGS((long wtime));
+void gui_send_mouse_event __ARGS((int button, int x, int y, int repeated_click, int_u modifiers));
+int gui_xy2colrow __ARGS((int x, int y, int *colp));
+void gui_menu_cb __ARGS((vimmenu_T *menu));
+void gui_init_which_components __ARGS((char_u *oldval));
+int gui_use_tabline __ARGS((void));
+void gui_update_tabline __ARGS((void));
+void get_tabline_label __ARGS((tabpage_T *tp, int tooltip));
+int send_tabline_event __ARGS((int nr));
+void send_tabline_menu_event __ARGS((int tabidx, int event));
+void gui_remove_scrollbars __ARGS((void));
+void gui_create_scrollbar __ARGS((scrollbar_T *sb, int type, win_T *wp));
+scrollbar_T *gui_find_scrollbar __ARGS((long ident));
+void gui_drag_scrollbar __ARGS((scrollbar_T *sb, long value, int still_dragging));
+void gui_update_scrollbars __ARGS((int force));
+int gui_do_scroll __ARGS((void));
+int gui_do_horiz_scroll __ARGS((void));
+void gui_check_colors __ARGS((void));
+guicolor_T gui_get_color __ARGS((char_u *name));
+int gui_get_lightness __ARGS((guicolor_T pixel));
+void gui_new_scrollbar_colors __ARGS((void));
+void gui_focus_change __ARGS((int in_focus));
+void gui_mouse_moved __ARGS((int x, int y));
+void gui_mouse_correct __ARGS((void));
+void ex_gui __ARGS((exarg_T *eap));
+int gui_find_bitmap __ARGS((char_u *name, char_u *buffer, char *ext));
+void gui_find_iconfile __ARGS((char_u *name, char_u *buffer, char *ext));
+void display_errors __ARGS((void));
+int no_console_input __ARGS((void));
+void gui_update_screen __ARGS((void));
+char_u *get_find_dialog_text __ARGS((char_u *arg, int *wwordp, int *mcasep));
+int gui_do_findrepl __ARGS((int flags, char_u *find_text, char_u *repl_text, int down));
+void gui_handle_drop __ARGS((int x, int y, int_u modifiers, char_u **fnames, int count));
 /* vim: set ft=c : */
--- a/src/undo.c
+++ b/src/undo.c
@@ -1405,10 +1405,15 @@ u_add_time(buf, buflen, tt)
 ex_undojoin(eap)
     exarg_T *eap;
 {
+    if (curbuf->b_u_newhead == NULL)
+	return;		    /* nothing changed before */
+    if (curbuf->b_u_curhead != NULL)
+    {
+	EMSG(_("E790: undojoin is not allowed after undo"));
+	return;
+    }
     if (!curbuf->b_u_synced)
 	return;		    /* already unsynced */
-    if (curbuf->b_u_newhead == NULL)
-	return;		    /* nothing changed before */
     if (p_ul < 0)
 	return;		    /* no entries, nothing to do */
     else
--- a/src/version.h
+++ b/src/version.h
@@ -35,6 +35,6 @@
  */
 #define VIM_VERSION_NODOT	"vim70e"
 #define VIM_VERSION_SHORT	"7.0e"
-#define VIM_VERSION_MEDIUM	"7.0e04 BETA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0e04 BETA (2006 Apr 20)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0e04 BETA (2006 Apr 20, compiled "
+#define VIM_VERSION_MEDIUM	"7.0e05 BETA"
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0e05 BETA (2006 Apr 21)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0e05 BETA (2006 Apr 21, compiled "
--- a/src/window.c
+++ b/src/window.c
@@ -621,7 +621,9 @@ wingotofile:
 
 #ifdef FEAT_SEARCHPATH
 		    case 'f':	    /* CTRL-W gf: "gf" in a new tab page */
+		    case 'F':	    /* CTRL-W gF: "gF" in a new tab page */
 			cmdmod.tab = TRUE;
+			nchar = xchar;
 			goto wingotofile;
 #endif
 		    default: