]> granicus.if.org Git - vim/commitdiff
updated for version 7.2a
authorBram Moolenaar <Bram@vim.org>
Tue, 24 Jun 2008 21:56:24 +0000 (21:56 +0000)
committerBram Moolenaar <Bram@vim.org>
Tue, 24 Jun 2008 21:56:24 +0000 (21:56 +0000)
142 files changed:
runtime/autoload/netrw.vim
runtime/autoload/netrwSettings.vim
runtime/autoload/xml/html40s.vim
runtime/autoload/xml/html40t.vim
runtime/autoload/xml/xhtml11.vim
runtime/autoload/zip.vim
runtime/compiler/eruby.vim
runtime/compiler/gcc.vim
runtime/doc/autocmd.txt
runtime/doc/change.txt
runtime/doc/debug.txt
runtime/doc/diff.txt
runtime/doc/eval.txt
runtime/doc/fold.txt
runtime/doc/gui_x11.txt
runtime/doc/help.txt
runtime/doc/if_cscop.txt
runtime/doc/if_ruby.txt
runtime/doc/if_sniff.txt
runtime/doc/if_tcl.txt
runtime/doc/mbyte.txt
runtime/doc/motion.txt
runtime/doc/options.txt
runtime/doc/os_390.txt
runtime/doc/os_mac.txt
runtime/doc/os_msdos.txt
runtime/doc/pi_netrw.txt
runtime/doc/pi_paren.txt
runtime/doc/quotes.txt
runtime/doc/recover.txt
runtime/doc/rileft.txt
runtime/doc/russian.txt
runtime/doc/sign.txt
runtime/doc/tags
runtime/doc/term.txt
runtime/doc/tips.txt
runtime/doc/undo.txt
runtime/doc/usr_10.txt
runtime/doc/usr_21.txt
runtime/doc/usr_24.txt
runtime/doc/usr_25.txt
runtime/doc/usr_26.txt
runtime/doc/usr_29.txt
runtime/doc/usr_31.txt
runtime/doc/usr_32.txt
runtime/doc/usr_toc.txt
runtime/doc/version6.txt
runtime/doc/vimtutor.man
runtime/ftplugin/c.vim
runtime/ftplugin/changelog.vim
runtime/ftplugin/hostconf.vim [new file with mode: 0644]
runtime/ftplugin/lua.vim
runtime/ftplugin/pdf.vim [new file with mode: 0644]
runtime/ftplugin/perl.vim
runtime/ftplugin/reva.vim [new file with mode: 0644]
runtime/ftplugin/ruby.vim
runtime/indent/cmake.vim
runtime/indent/dtrace.vim [new file with mode: 0644]
runtime/indent/ruby.vim
runtime/keymap/croatian_utf-8.vim [new file with mode: 0644]
runtime/lang/menu_eo.utf-8.vim [new file with mode: 0644]
runtime/lang/menu_eo_xx.utf-8.vim [new file with mode: 0644]
runtime/lang/menu_fi.utf-8.vim [new file with mode: 0644]
runtime/lang/menu_finnish_finland.1252.vim [new file with mode: 0644]
runtime/macros/matchit.txt
runtime/syntax/2html.vim
runtime/syntax/colortest.vim
runtime/syntax/def.vim
runtime/syntax/dtrace.vim [new file with mode: 0644]
runtime/syntax/erlang.vim
runtime/syntax/eruby.vim
runtime/syntax/esterel.vim
runtime/syntax/fvwm.vim
runtime/syntax/indent.vim
runtime/syntax/java.vim
runtime/syntax/man.vim
runtime/syntax/mplayerconf.vim
runtime/syntax/muttrc.vim
runtime/syntax/po.vim
runtime/syntax/readline.vim
runtime/syntax/rhelp.vim
runtime/syntax/sqlanywhere.vim
runtime/syntax/sudoers.vim
runtime/syntax/tpp.vim
runtime/syntax/verilogams.vim
runtime/syntax/xbl.vim [new file with mode: 0644]
runtime/syntax/xpm.vim
runtime/tutor/README.el.cp737.txt [new file with mode: 0644]
runtime/tutor/README.el.txt [new file with mode: 0644]
runtime/tutor/README.txt.info
runtime/tutor/README_amibin.txt [new file with mode: 0644]
runtime/tutor/README_extra.txt [new file with mode: 0644]
runtime/tutor/README_ole.txt [new file with mode: 0644]
runtime/tutor/runtime/doc.info [new file with mode: 0755]
runtime/tutor/runtime/ftplugin.vim [new file with mode: 0644]
runtime/tutor/runtime/ftplugof.vim [new file with mode: 0644]
runtime/tutor/runtime/hi16-action-make.png [new file with mode: 0644]
runtime/tutor/runtime/menu.vim [new file with mode: 0644]
runtime/tutor/runtime/rgb.txt [new file with mode: 0644]
runtime/tutor/runtime/tutor.info [new file with mode: 0755]
runtime/tutor/runtime/vim16x16.gif [new file with mode: 0644]
runtime/tutor/runtime/vim32x32.gif [new file with mode: 0644]
runtime/tutor/tutor.no.utf-8 [new file with mode: 0644]
runtime/tutor/tutor.vim
src/INSTALLx.txt [new file with mode: 0644]
src/Make_os2.mak
src/auto/configure
src/charset.c
src/config.h.in
src/configure.in
src/ex_getln.c
src/gui_gtk.c
src/gui_mac.c
src/gui_w32.c
src/gui_xmdlg.c
src/if_cscope.c
src/misc2.c
src/nbdebug.c
src/os_mac_conv.c
src/os_msdos.c
src/os_msdos.h
src/os_mswin.c
src/po/Make_ming.mak
src/po/Make_mvc.mak
src/po/eo.po [new file with mode: 0644]
src/po/es.po
src/po/pl.cp1250.po
src/po/sk.cp1250.po
src/po/uk.cp1251.po
src/proto/netbeans.pro
src/quickfix.c
src/regexp.c
src/screen.c
src/termlib.c
src/testdir/Make_amiga.mak
src/testdir/Make_dos.mak
src/testdir/test65.ok
src/ui.c
src/version.c
src/version.h
src/workshop.c
src/wsdebug.c

index b4753c27fb7aaa9cbc552450234cd1c1573c4a20..6064a6570dcb0fcb5993408bdc1218580dbc6d2e 100644 (file)
@@ -1,22 +1,19 @@
 " netrw.vim: Handles file transfer and remote directory listing across
 "            AUTOLOAD SECTION
-" Date:                May 05, 2007
-" Version:     109
+" Date:                Jun 12, 2008
+" Version:     125
 " Maintainer:  Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
 " GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
-" Copyright:    Copyright (C) 1999-2007 Charles E. Campbell, Jr. {{{1
+" Copyright:    Copyright (C) 1999-2008 Charles E. Campbell, Jr. {{{1
 "               Permission is hereby granted to use and distribute this code,
 "               with or without modifications, provided that this copyright
 "               notice is copied with it. Like anything else that's free,
 "               netrw.vim, netrwPlugin.vim, and netrwSettings.vim are provided
-"               *as is* and comes with no warranty of any kind, either
+"               *as is* and come with no warranty of any kind, either
 "               expressed or implied. By using this plugin, you agree that
 "               in no event will the copyright holder be liable for any damages
 "               resulting from the use of this software.
-"               of this software.
-" COMBAK: worked with tmpfile s:GetTempname() in NetRead() NetWrite()
-"         !!NEEDS DEBUGGING && TESTING!!!
-"redraw!|call inputsave()|call input("Press <cr> to continue")|call inputrestore()
+"redraw!|call DechoSep()|call inputsave()|call input("Press <cr> to continue")|call inputrestore()
 "
 "  But be doers of the Word, and not only hearers, deluding your own selves {{{1
 "  (James 1:22 RSV)
@@ -30,11 +27,20 @@ if !exists("s:NOTE")
  let s:WARNING = 1
  let s:ERROR   = 2
 endif
-let g:loaded_netrw = "v109"
+let g:loaded_netrw = "v125"
+
+" sanity checks
 if v:version < 700
  call netrw#ErrorMsg(s:WARNING,"you need vim version 7.0 or later for version ".g:loaded_netrw." of netrw",1)
  finish
 endif
+if !exists("*shellescape")
+ call netrw#ErrorMsg(s:ERROR,"you need to upgade your vim so that it has shellescape()",64)
+endif
+if !exists("*fnameescape")
+ call netrw#ErrorMsg(s:ERROR,"you need to upgade your vim so that it has fnameescape()",65)
+endif
+
 let s:keepcpo= &cpo
 setlocal cpo&vim
 "DechoTabOn
@@ -115,6 +121,18 @@ endif
 
 " ---------------------------------------------------------------------
 " Default values for netrw's global variables {{{2
+" Cygwin Detection ------- {{{3
+if !exists("g:netrw_cygwin")
+ if has("win32") || has("win95") || has("win64") || has("win16")
+  if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
+   let g:netrw_cygwin= 1
+  else
+   let g:netrw_cygwin= 0
+  endif
+ else
+  let g:netrw_cygwin= 0
+ endif
+endif
 " Default values - a-c ---------- {{{3
 if !exists("g:netrw_alto")
  let g:netrw_alto= &sb
@@ -128,26 +146,25 @@ endif
 if !exists("g:netrw_chgwin")
  let g:netrw_chgwin    = -1
 endif
-if !exists("g:netrw_cygwin")
- if has("win32") || has("win95") || has("win64") || has("win16")
-  if &shell =~ '\%(\<bash\>\|\<zsh\>\)\%(\.exe\)\=$'
-   let g:netrw_cygwin= 1
-  else
-   let g:netrw_cygwin= 0
-  endif
- else
-  let g:netrw_cygwin= 0
- endif
-else
- let g:netrw_cygwin= 0
+if !exists("g:netrw_compress")
+ let g:netrw_compress= "gzip"
 endif
-" Default values - d-f ---------- {{{3
+if !exists("g:netrw_ctags")
+ let g:netrw_ctags= "ctags"
+endif
+" Default values - d-g ---------- {{{3
 if !exists("g:NETRW_DIRHIST_CNT")
  let g:NETRW_DIRHIST_CNT= 0
 endif
+if !exists("g:netrw_decompress")
+ let g:netrw_decompress= { ".gz" : "gunzip" , ".bz2" : "bunzip2" , ".zip" : "unzip" , ".tar" : "tar -xf"}
+endif
 if !exists("g:netrw_dirhistmax")
  let g:netrw_dirhistmax= 10
 endif
+if !exists("g:netrw_fastbrowse")
+ let g:netrw_fastbrowse= 1
+endif
 if !exists("g:netrw_ftp_browse_reject")
  let g:netrw_ftp_browse_reject='^total\s\+\d\+$\|^Trying\s\+\d\+.*$\|^KERBEROS_V\d rejected\|^Security extensions not\|No such file\|: connect to address [0-9a-fA-F:]*: No route to host$'
 endif
@@ -198,9 +215,35 @@ if !exists("g:netrw_list_hide")
  let g:netrw_list_hide= ""
 endif
 " Default values - lh-lz ---------- {{{3
+if !exists("g:netrw_localcopycmd")
+ if has("win32") || has("win95") || has("win64") || has("win16")
+  if g:netrw_cygwin
+   let g:netrw_localcopycmd= "cp"
+  else
+   let g:netrw_localcopycmd= "copy"
+  endif
+ elseif has("unix") || has("macunix")
+  let g:netrw_localcopycmd= "cp"
+ else
+  let g:netrw_localcopycmd= ""
+ endif
+endif
 if !exists("g:netrw_local_mkdir")
  let g:netrw_local_mkdir= "mkdir"
 endif
+if !exists("g:netrw_localmovecmd")
+ if has("win32") || has("win95") || has("win64") || has("win16")
+  if g:netrw_cygwin
+   let g:netrw_localmovecmd= "mv"
+  else
+   let g:netrw_localmovecmd= "move"
+  endif
+ elseif has("unix") || has("macunix")
+  let g:netrw_localmovecmd= "mv"
+ else
+  let g:netrw_localmovecmd= ""
+ endif
+endif
 if !exists("g:netrw_local_rmdir")
  let g:netrw_local_rmdir= "rmdir"
 endif
@@ -215,6 +258,9 @@ if g:netrw_liststyle == s:LONGLIST && g:netrw_scp_cmd !~ '^pscp'
  let g:netrw_list_cmd= g:netrw_list_cmd." -l"
 endif
 " Default values - m-r ---------- {{{3
+if !exists("g:netrw_markfileesc")
+ let g:netrw_markfileesc= '*./[\~'
+endif
 if !exists("g:netrw_maxfilenamelen")
  let g:netrw_maxfilenamelen= 32
 endif
@@ -224,6 +270,19 @@ endif
 if !exists("g:netrw_mkdir_cmd")
  let g:netrw_mkdir_cmd= g:netrw_ssh_cmd." USEPORT HOSTNAME mkdir"
 endif
+if !exists("g:netrw_mousemaps")
+ if exists("&mouse") && &mouse =~ '[anh]'
+  let g:netrw_mousemaps= 1
+ else
+  let g:netrw_mousemaps= 0
+ endif
+endif
+if !exists("g:netrw_retmap")
+ let g:netrw_retmap= 0
+endif
+if !exists("g:netrw_preview")
+ let g:netrw_preview= 0
+endif
 if !exists("g:netrw_scpport")
  let g:netrw_scpport= "-P"
 endif
@@ -243,27 +302,11 @@ if !exists("g:netrw_rmf_cmd")
  let g:netrw_rmf_cmd    = g:netrw_ssh_cmd." USEPORT HOSTNAME rm -f"
 endif
 " Default values - s ---------- {{{3
+ " set up shell quoting character
 if exists("g:netrw_silent") && g:netrw_silent != 0
- let g:netrw_silentxfer= "silent "
+ let s:netrw_silentxfer= "silent "
 else
- let g:netrw_silentxfer= ""
-endif
-if !exists("g:netrw_fastbrowse")
- let g:netrw_fastbrowse= 1
-endif
-if !exists("g:netrw_shq")
- if exists("&shq") && &shq != ""
-  let g:netrw_shq= &shq
- elseif has("win32") || has("win95") || has("win64") || has("win16")
-  if g:netrw_cygwin
-   let g:netrw_shq= "'"
-  else
-   let g:netrw_shq= '"'
-  endif
- else
-  let g:netrw_shq= "'"
- endif
-" call Decho("g:netrw_shq<".g:netrw_shq.">")
+ let s:netrw_silentxfer= ""
 endif
 if !exists("g:netrw_sort_by")
  " alternatives: date size
@@ -274,7 +317,10 @@ if !exists("g:netrw_sort_direction")
  let g:netrw_sort_direction= "normal"
 endif
 if !exists("g:netrw_sort_sequence")
- let g:netrw_sort_sequence= '[\/]$,\.h$,\.c$,\.cpp$,\.[a-np-z]$,*,\.info$,\.swp$,\.o$\.obj$,\.bak$'
+ let g:netrw_sort_sequence= '[\/]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$'
+endif
+if !exists("g:netrw_special_syntax")
+ let g:netrw_special_syntax= 0
 endif
 if !exists("g:netrw_ssh_browse_reject")
   let g:netrw_ssh_browse_reject='^total\s\+\d\+$'
@@ -290,6 +336,9 @@ endif
 if !exists("g:netrw_timefmt")
  let g:netrw_timefmt= "%c"
 endif
+if !exists("g:netrw_xstrlen")
+ let g:netrw_xstrlen= 1
+endif
 if !exists("g:NetrwTopLvlMenu")
  let g:NetrwTopLvlMenu= "Netrw."
 endif
@@ -304,17 +353,14 @@ if !exists("g:netrw_winsize")
 endif
 " ---------------------------------------------------------------------
 " Default values for netrw's script variables: {{{2
-if !exists("s:netrw_cd_escape")
-  let s:netrw_cd_escape="[]#*$%'\" ?`!&();<>\\"
-endif
 if !exists("g:netrw_fname_escape")
- let g:netrw_fname_escape= ' ?&;'
+ let g:netrw_fname_escape= ' ?&;%'
 endif
-if !exists("g:netrw_tmpfile_escape")
let g:netrw_tmpfile_escape= ' ?&;'
+if !exists("g:netrw_glob_escape")
 let g:netrw_glob_escape= '[]*?`{~$'
 endif
-if !exists("s:netrw_glob_escape")
 let s:netrw_glob_escape= '[]*?`{~$'
+if !exists("g:netrw_tmpfile_escape")
let g:netrw_tmpfile_escape= ' &;'
 endif
 
 " BufEnter event ignored by decho when following variable is true
@@ -327,184 +373,201 @@ endif
 " ==============================
 
 " ------------------------------------------------------------------------
-" NetSavePosn: saves position of cursor on screen {{{2
-fun! netrw#NetSavePosn()
-"  call Dfunc("netrw#NetSavePosn()")
-  " Save current line and column
-  let w:netrw_winnr= winnr()
-  let w:netrw_line = line(".")
-  let w:netrw_col  = virtcol(".")
-
-  " Save top-of-screen line
-  norm! H0
-  let w:netrw_hline= line(".")
-
-  call netrw#NetRestorePosn()
-"  call Dret("netrw#NetSavePosn : winnr=".w:netrw_winnr." line=".w:netrw_line." col=".w:netrw_col." hline=".w:netrw_hline)
-endfun
-
-" ------------------------------------------------------------------------
-" NetRestorePosn: restores the cursor and file position as saved by NetSavePosn() {{{2
-fun! netrw#NetRestorePosn()
-"  call Dfunc("netrw#NetRestorePosn() winnr=".(exists("w:netrw_winnr")? w:netrw_winnr : -1)." line=".(exists("w:netrw_line")? w:netrw_line : -1)." col=".(exists("w:netrw_col")? w:netrw_col : -1)." hline=".(exists("w:netrw_hline")? w:netrw_hline : -1))
-  let eikeep= &ei
-  set ei=all
-  if expand("%") == "NetrwMessage"
-   exe s:winBeforeErr."wincmd w"
-  endif
-
-  " restore window
-  if exists("w:netrw_winnr")
-"   call Decho("restore window: exe silent! ".w:netrw_winnr."wincmd w")
-   exe "silent! ".w:netrw_winnr."wincmd w"
-  endif
-  if v:shell_error == 0
-   " as suggested by Bram M: redraw on no error
-   " allows protocol error messages to remain visible
-   redraw!
-  endif
-
-  " restore top-of-screen line
-  if exists("w:netrw_hline")
-"   call Decho("restore topofscreen: exe norm! ".w:netrw_hline."G0z")
-   exe "norm! ".w:netrw_hline."G0z\<CR>"
-  endif
-
-  " restore position
-  if exists("w:netrw_line") && exists("w:netrw_col")
-"   call Decho("restore posn: exe norm! ".w:netrw_line."G0".w:netrw_col."|")
-   exe "norm! ".w:netrw_line."G0".w:netrw_col."\<bar>"
-  endif
-
-  let &ei= eikeep
-"  call Dret("netrw#NetRestorePosn")
-endfun
-
-" ===============================
-" NetOptionSave: save options and set to "standard" form {{{2
-"DechoTabOn
-fun! s:NetOptionSave()
-"  call Dfunc("s:NetOptionSave() win#".winnr()." buf#".bufnr("."))
-  if !exists("w:netrw_optionsave")
-   let w:netrw_optionsave= 1
+" s:NetrwOptionSave: save options and set to "standard" form {{{2
+"  06/08/07 : removed call to NetrwSafeOptions(), either placed
+"             immediately after NetrwOptionSave() calls in NetRead
+"             and NetWrite, or after the s:NetrwEnew() call in
+"             NetrwBrowse.
+"             vt: normally its "w:" or "s:" (a variable type)
+fun! s:NetrwOptionSave(vt)
+"  call Dfunc("s:NetrwOptionSave(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%")).">")
+
+"  call Decho(a:vt."netrw_optionsave".(exists("{a:vt}netrw_optionsave")? ("=".{a:vt}netrw_optionsave) : " doesn't exist"))
+  if !exists("{a:vt}netrw_optionsave")
+   let {a:vt}netrw_optionsave= 1
   else
-"   call Dret("s:NetOptionSave : netoptionsave=".w:netrw_optionsave)
+"   call Dret("s:NetrwOptionSave : options already saved")
    return
   endif
+"  call Decho("fo=".&fo.(exists("&acd")? " acd=".&acd : " acd doesn't exist"))
 
   " Save current settings and current directory
   let s:yykeep          = @@
   if exists("&l:acd")
-   let w:netrw_acdkeep  = &l:acd
-  endif
-  let w:netrw_aikeep    = &l:ai
-  let w:netrw_awkeep    = &l:aw
-  let w:netrw_cikeep    = &l:ci
-  let w:netrw_cinkeep   = &l:cin
-  let w:netrw_cinokeep  = &l:cino
-  let w:netrw_comkeep   = &l:com
-  let w:netrw_cpokeep   = &l:cpo
+   let {a:vt}netrw_acdkeep  = &l:acd
+  endif
+  let {a:vt}netrw_aikeep    = &l:ai
+  let {a:vt}netrw_awkeep    = &l:aw
+  let {a:vt}netrw_cikeep    = &l:ci
+  let {a:vt}netrw_cinkeep   = &l:cin
+  let {a:vt}netrw_cinokeep  = &l:cino
+  let {a:vt}netrw_comkeep   = &l:com
+  let {a:vt}netrw_cpokeep   = &l:cpo
   if g:netrw_keepdir
-   let w:netrw_dirkeep  = getcwd()
-  endif
-  let w:netrw_fokeep    = &l:fo           " formatoptions
-  let w:netrw_gdkeep    = &l:gd           " gdefault
-  let w:netrw_hidkeep   = &l:hidden
-  let w:netrw_magickeep = &l:magic
-  let w:netrw_repkeep   = &l:report
-  let w:netrw_spellkeep = &l:spell
-  let w:netrw_twkeep    = &l:tw           " textwidth
-  let w:netrw_wigkeep   = &l:wig          " wildignore
+   let {a:vt}netrw_dirkeep  = getcwd()
+  endif
+  let {a:vt}netrw_fokeep    = &l:fo           " formatoptions
+  let {a:vt}netrw_gdkeep    = &l:gd           " gdefault
+  let {a:vt}netrw_hidkeep   = &l:hidden
+  let {a:vt}netrw_magickeep = &l:magic
+  let {a:vt}netrw_repkeep   = &l:report
+  let {a:vt}netrw_spellkeep = &l:spell
+  let {a:vt}netrw_twkeep    = &l:tw           " textwidth
+  let {a:vt}netrw_wigkeep   = &l:wig          " wildignore
   if has("win32") && !has("win95")
-   let w:netrw_swfkeep= &l:swf            " swapfile
+   let {a:vt}netrw_swfkeep= &l:swf            " swapfile
   endif
-  call s:NetrwSafeOptions()
-  if &go =~ 'a' | silent! let w:netrw_regstar = @* | endif
-  silent! let w:netrw_regslash= @/
+  if &go =~ 'a' | silent! let {a:vt}netrw_regstar = @* | endif
+  silent! let {a:vt}netrw_regslash= @/
 
-"  call Dret("s:NetOptionSave")
-"  call Dret("s:NetOptionSave : win#".winnr()." buf#".bufnr("."))
+"  call Dret("s:NetrwOptionSave : win#".winnr()." buf#".bufnr("%"))
 endfun
 
 " ------------------------------------------------------------------------
-" NetOptionRestore: restore options {{{2
-fun! s:NetOptionRestore()
-"  call Dfunc("s:NetOptionRestore() win#".winnr()." buf#".bufnr("."))
-  if !exists("w:netrw_optionsave")
-"   call Dret("s:NetOptionRestore : w:netrw_optionsave doesn't exist")
+" s:NetrwOptionRestore: restore options {{{2
+fun! s:NetrwOptionRestore(vt)
+"  call Dfunc("s:NetrwOptionRestore(vt<".a:vt.">) win#".winnr()." buf#".bufnr("%"))
+  if !exists("{a:vt}netrw_optionsave")
+"   call Decho("ro=".&ro." ma=".&ma." mod=".&mod." wrap=".&wrap)
+"   call Dret("s:NetrwOptionRestore : ".a:vt."netrw_optionsave doesn't exist")
    return
   endif
-  unlet w:netrw_optionsave
+  unlet {a:vt}netrw_optionsave
 
   if exists("&acd")
-   if exists("w:netrw_acdkeep") |let &l:acd    = w:netrw_acdkeep     |unlet w:netrw_acdkeep  |endif
-  endif
-  if exists("w:netrw_aikeep")   |let &l:ai     = w:netrw_aikeep      |unlet w:netrw_aikeep   |endif
-  if exists("w:netrw_awkeep")   |let &l:aw     = w:netrw_awkeep      |unlet w:netrw_awkeep   |endif
-  if exists("w:netrw_cikeep")   |let &l:ci     = w:netrw_cikeep      |unlet w:netrw_cikeep   |endif
-  if exists("w:netrw_cinkeep")  |let &l:cin    = w:netrw_cinkeep     |unlet w:netrw_cinkeep  |endif
-  if exists("w:netrw_cinokeep") |let &l:cino   = w:netrw_cinokeep    |unlet w:netrw_cinokeep |endif
-  if exists("w:netrw_comkeep")  |let &l:com    = w:netrw_comkeep     |unlet w:netrw_comkeep  |endif
-  if exists("w:netrw_cpokeep")  |let &l:cpo    = w:netrw_cpokeep     |unlet w:netrw_cpokeep  |endif
-  if exists("w:netrw_dirkeep")  |exe "lcd ".w:netrw_dirkeep          |unlet w:netrw_dirkeep  |endif
-  if exists("w:netrw_fokeep")   |let &l:fo     = w:netrw_fokeep      |unlet w:netrw_fokeep   |endif
-  if exists("w:netrw_gdkeep")   |let &l:gd     = w:netrw_gdkeep      |unlet w:netrw_gdkeep   |endif
-  if exists("w:netrw_hidkeep")  |let &l:hidden = w:netrw_hidkeep     |unlet w:netrw_hidkeep  |endif
-  if exists("w:netrw_magic")    |let &l:magic  = w:netrw_magic       |unlet w:netrw_magic    |endif
-  if exists("w:netrw_repkeep")  |let &l:report = w:netrw_repkeep     |unlet w:netrw_repkeep  |endif
-  if exists("w:netrw_spellkeep")|let &l:spell  = w:netrw_spellkeep   |unlet w:netrw_spellkeep|endif
-  if exists("w:netrw_twkeep")   |let &l:tw     = w:netrw_twkeep      |unlet w:netrw_twkeep   |endif
-  if exists("w:netrw_wigkeep")  |let &l:wig    = w:netrw_wigkeep     |unlet w:netrw_wigkeep  |endif
-  if exists("s:yykeep")         |let  @@       = s:yykeep            |unlet s:yykeep         |endif
-  if exists("w:netrw_swfkeep")
+   if exists("{a:vt}netrw_acdkeep")
+"    call Decho("g:netrw_keepdir=".g:netrw_keepdir.": getcwd<".getcwd()."> acd=".&acd)
+    let curdir = getcwd()
+    let &l:acd = {a:vt}netrw_acdkeep
+    unlet {a:vt}netrw_acdkeep
+    if &l:acd
+"     call Decho("exe keepjumps lcd ".fnameescape(curdir))  " NOTE: was g:netrw_fname_escape for some reason
+     try
+      if !exists("&l:acd") && !&l:acd
+       exe 'keepjumps lcd '.fnameescape(curdir)
+      endif
+     catch /^Vim\%((\a\+)\)\=:E472/
+      call netrw#ErrorMsg(s:ERROR,"unable to change directory to <".curdir."> (permissions?)",61)
+     endtry
+    endif
+   endif
+  endif
+  if exists("{a:vt}netrw_aikeep")   |let &l:ai     = {a:vt}netrw_aikeep      |unlet {a:vt}netrw_aikeep   |endif
+  if exists("{a:vt}netrw_awkeep")   |let &l:aw     = {a:vt}netrw_awkeep      |unlet {a:vt}netrw_awkeep   |endif
+  if exists("{a:vt}netrw_cikeep")   |let &l:ci     = {a:vt}netrw_cikeep      |unlet {a:vt}netrw_cikeep   |endif
+  if exists("{a:vt}netrw_cinkeep")  |let &l:cin    = {a:vt}netrw_cinkeep     |unlet {a:vt}netrw_cinkeep  |endif
+  if exists("{a:vt}netrw_cinokeep") |let &l:cino   = {a:vt}netrw_cinokeep    |unlet {a:vt}netrw_cinokeep |endif
+  if exists("{a:vt}netrw_comkeep")  |let &l:com    = {a:vt}netrw_comkeep     |unlet {a:vt}netrw_comkeep  |endif
+  if exists("{a:vt}netrw_cpokeep")  |let &l:cpo    = {a:vt}netrw_cpokeep     |unlet {a:vt}netrw_cpokeep  |endif
+  if exists("{a:vt}netrw_dirkeep") && isdirectory({a:vt}netrw_dirkeep) && g:netrw_keepdir
+   let dirkeep = substitute({a:vt}netrw_dirkeep,'\\','/','g')
+   if exists("{a:vt}netrw_dirkeep")  |exe "keepjumps lcd ".fnameescape(dirkeep)|unlet {a:vt}netrw_dirkeep  |endif
+  endif
+  if exists("{a:vt}netrw_fokeep")   |let &l:fo     = {a:vt}netrw_fokeep      |unlet {a:vt}netrw_fokeep   |endif
+  if exists("{a:vt}netrw_gdkeep")   |let &l:gd     = {a:vt}netrw_gdkeep      |unlet {a:vt}netrw_gdkeep   |endif
+  if exists("{a:vt}netrw_hidkeep")  |let &l:hidden = {a:vt}netrw_hidkeep     |unlet {a:vt}netrw_hidkeep  |endif
+  if exists("{a:vt}netrw_magic")    |let &l:magic  = {a:vt}netrw_magic       |unlet {a:vt}netrw_magic    |endif
+  if exists("{a:vt}netrw_repkeep")  |let &l:report = {a:vt}netrw_repkeep     |unlet {a:vt}netrw_repkeep  |endif
+  if exists("{a:vt}netrw_spellkeep")|let &l:spell  = {a:vt}netrw_spellkeep   |unlet {a:vt}netrw_spellkeep|endif
+  if exists("{a:vt}netrw_twkeep")   |let &l:tw     = {a:vt}netrw_twkeep      |unlet {a:vt}netrw_twkeep   |endif
+  if exists("{a:vt}netrw_wigkeep")  |let &l:wig    = {a:vt}netrw_wigkeep     |unlet {a:vt}netrw_wigkeep  |endif
+  if exists("s:yykeep")             |let  @@       = s:yykeep                |unlet s:yykeep             |endif
+  if exists("{a:vt}netrw_swfkeep")
    if &directory == ""
     " user hasn't specified a swapfile directory;
     " netrw will temporarily set the swapfile directory
     " to the current directory as returned by getcwd().
     let &l:directory   = getcwd()
-    silent! let &l:swf = w:netrw_swfkeep
+    silent! let &l:swf = {a:vt}netrw_swfkeep
     setlocal directory=
-    unlet w:netrw_swfkeep
-   elseif &l:swf != w:netrw_swfkeep
-    " following line causes a Press ENTER in windows -- can't seem to work around it!!! (COMBAK)
-    silent! let &l:swf= w:netrw_swfkeep
-    unlet w:netrw_swfkeep
+    unlet {a:vt}netrw_swfkeep
+   elseif &l:swf != {a:vt}netrw_swfkeep
+    " following line causes a Press ENTER in windows -- can't seem to work around it!!!
+    silent! let &l:swf= {a:vt}netrw_swfkeep
+    unlet {a:vt}netrw_swfkeep
    endif
   endif
-  if exists("w:netrw_regstar") |silent! let @*= w:netrw_regstar |unlet w:netrw_regstar |endif
-  if exists("w:netrw_regslash")|silent! let @/= w:netrw_regslash|unlet w:netrw_regslash|endif
+  if exists("{a:vt}netrw_regstar") |silent! let @*= {a:vt}netrw_regstar |unlet {a:vt}netrw_regstar |endif
+  if exists("{a:vt}netrw_regslash")|silent! let @/= {a:vt}netrw_regslash|unlet {a:vt}netrw_regslash|endif
 
-"  call Dret("s:NetOptionRestore : win#".winnr()." buf#".bufnr("."))
+"  call Decho("g:netrw_keepdir=".g:netrw_keepdir.": getcwd<".getcwd()."> acd=".&acd)
+"  call Decho("fo=".&fo.(exists("&acd")? " acd=".&acd : " acd doesn't exist"))
+"  call Decho("ro=".&ro." ma=".&ma." mod=".&mod." wrap=".&wrap)
+"  call Dret("s:NetrwOptionRestore : win#".winnr()." buf#".bufnr("%"))
 endfun
 
 " ---------------------------------------------------------------------
-" NetrwSafeOptions: sets options to help netrw do its job {{{2
+" s:NetrwSafeOptions: sets options to help netrw do its job {{{2
 fun! s:NetrwSafeOptions()
-"  call Dfunc("s:NetrwSafeOptions()")
+"  call Dfunc("s:NetrwSafeOptions() win#".winnr()." buf#".bufnr("%")."<".bufname(bufnr("%")).">")
+"  call Decho("window's ft=".&ft)
   setlocal cino=
   setlocal com=
   setlocal cpo-=aA
-  if exists("&acd")
-   setlocal noacd nocin noai noci magic nospell nohid wig= noaw
-   setlocal fo=nroql2
-  else
-   setlocal nocin noai noci magic nospell nohid wig= noaw
-   setlocal fo=nroql2
-  endif
+  if exists("&acd") | setlocal noacd | endif
+  setlocal nocin noai noci magic nospell nohid wig= noaw
+  setlocal fo=nroql2
   setlocal tw=0
   setlocal report=10000
   if g:netrw_use_noswf && has("win32") && !has("win95")
    setlocal noswf
   endif
+"  call Decho("fo=".&fo.(exists("&acd")? " acd=".&acd : " acd doesn't exist"))
 "  call Dret("s:NetrwSafeOptions")
 endfun
 
+" ---------------------------------------------------------------------
+" netrw#NetrwClean: remove netrw {{{2
+" supports :NetrwClean  -- remove netrw from first directory on runtimepath
+"          :NetrwClean! -- remove netrw from all directories on runtimepath
+fun! netrw#NetrwClean(sys)
+"  call Dfunc("netrw#NetrwClean(sys=".a:sys.")")
+
+  if a:sys
+   let choice= confirm("Remove personal and system copies of netrw?","&Yes\n&No")
+  else
+   let choice= confirm("Remove personal copy of netrw?","&Yes\n&No")
+  endif
+"  call Decho("choice=".choice)
+  let diddel= 0
+  let diddir= ""
+
+  if choice == 1
+   for dir in split(&rtp,',')
+    if filereadable(dir."/plugin/netrwPlugin.vim")
+"     call Decho("removing netrw-related files from ".dir)
+     if s:System("delete",dir."/plugin/netrwPlugin.vim")        |call netrw#ErrorMsg(1,"unable to remove ".dir."/plugin/netrwPlugin.vim",55)        |endif
+     if s:System("delete",dir."/autoload/netrwFileHandlers.vim")|call netrw#ErrorMsg(1,"unable to remove ".dir."/autoload/netrwFileHandlers.vim",55)|endif
+     if s:System("delete",dir."/autoload/netrwSettings.vim")    |call netrw#ErrorMsg(1,"unable to remove ".dir."/autoload/netrwSettings.vim",55)    |endif
+     if s:System("delete",dir."/autoload/netrw.vim")            |call netrw#ErrorMsg(1,"unable to remove ".dir."/autoload/netrw.vim",55)            |endif
+     if s:System("delete",dir."/syntax/netrw.vim")              |call netrw#ErrorMsg(1,"unable to remove ".dir."/syntax/netrw.vim",55)              |endif
+     if s:System("delete",dir."/syntax/netrwlist.vim")          |call netrw#ErrorMsg(1,"unable to remove ".dir."/syntax/netrwlist.vim",55)          |endif
+     let diddir= dir
+     let diddel= diddel + 1
+     if !a:sys|break|endif
+    endif
+   endfor
+  endif
+
+   echohl WarningMsg
+  if diddel == 0
+   echomsg "netrw is either not installed or not removable"
+  elseif diddel == 1
+   echomsg "removed one copy of netrw from <".diddir.">"
+  else
+   echomsg "removed ".diddel." copies of netrw"
+  endif
+   echohl None
+
+"  call Dret("netrw#NetrwClean")
+endfun
+
 " ------------------------------------------------------------------------
 "  Netrw Transfer Functions: {{{1
 " ===============================
 
 " ------------------------------------------------------------------------
-" NetRead: responsible for reading a file over the net {{{2
+" netrw#NetRead: responsible for reading a file over the net {{{2
 "   mode: =0 read remote file and insert before current line
 "         =1 read remote file and insert after current line
 "         =2 replace with remote file
@@ -513,7 +576,8 @@ fun! netrw#NetRead(mode,...)
 "  call Dfunc("netrw#NetRead(mode=".a:mode.",...) a:0=".a:0." ".g:loaded_netrw)
 
   " save options {{{3
-  call s:NetOptionSave()
+  call s:NetrwOptionSave("w:")
+  call s:NetrwSafeOptions()
 
   " interpret mode into a readcmd {{{3
   if     a:mode == 0 " read remote file before current line
@@ -599,14 +663,14 @@ fun! netrw#NetRead(mode,...)
    let ichoice= ichoice + 1
 
    " Determine method of read (ftp, rcp, etc) {{{3
-   call s:NetMethod(choice)
+   call s:NetrwMethod(choice)
    let tmpfile= s:GetTempfile(b:netrw_fname) " apply correct suffix
 
-   " Check if NetBrowse() should be handling this request
-"   call Decho("checking if NetBrowse() should handle choice<".choice."> with netrw_list_cmd<".g:netrw_list_cmd.">")
+   " Check if NetrwBrowse() should be handling this request
+"   call Decho("checking if NetrwBrowse() should handle choice<".choice."> with netrw_list_cmd<".g:netrw_list_cmd.">")
    if choice =~ "^.*[\/]$" && b:netrw_method != 5 && choice !~ '^http://'
 "    call Decho("yes, choice matches '^.*[\/]$'")
-    keepjumps call s:NetBrowse(0,choice)
+    keepjumps call s:NetrwBrowse(0,choice)
 "    call Dret("netrw#NetRead :3 getcwd<".getcwd().">")
     return
    endif
@@ -640,9 +704,9 @@ fun! netrw#NetRead(mode,...)
      let uid_machine = g:netrw_machine
     endif
    endif
-"   call Decho("executing: !".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".uid_machine.":".escape(b:netrw_fname,' ?&;')." ".tmpfile)
-   exe g:netrw_silentxfer."!".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".uid_machine.":".escape(b:netrw_fname,' ?&;')." ".tmpfile
-   let result           = s:NetGetFile(readcmd, tmpfile, b:netrw_method)
+"   call Decho("executing: !".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".shellescape(uid_machine.":".escape(b:netrw_fname,' ?&;')." ".tmpfile)
+   exe s:netrw_silentxfer."!".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".shellescape(uid_machine.":".escape(b:netrw_fname,' ?&;')." ".tmpfile)
+   let result           = s:NetrwGetFile(readcmd, tmpfile, b:netrw_method)
    let b:netrw_lastfile = choice
 
    ".........................................
@@ -650,22 +714,22 @@ fun! netrw#NetRead(mode,...)
    elseif b:netrw_method  == 2         " read with ftp + <.netrc>
 "     call Decho("read via ftp+.netrc (method #2)")
      let netrw_fname= b:netrw_fname
-     new
+     call s:SaveBufVars()|new|call s:RestoreBufVars()
      setlocal ff=unix
      exe "put ='".g:netrw_ftpmode."'"
-"     call Decho("filter input: ".getline("."))
+"     call Decho("filter input: ".getline('.'))
      if exists("g:netrw_ftpextracmd")
       exe "put ='".g:netrw_ftpextracmd."'"
-"      call Decho("filter input: ".getline("."))
+"      call Decho("filter input: ".getline('.'))
      endif
      exe "put ='".'get \"'.netrw_fname.'\" '.tmpfile."'"
-"     call Decho("filter input: ".getline("."))
+"     call Decho("filter input: ".getline('.'))
      if exists("g:netrw_port") && g:netrw_port != ""
 "      call Decho("executing: %!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port)
-      exe g:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port
+      exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port
      else
 "      call Decho("executing: %!".g:netrw_ftp_cmd." -i ".g:netrw_machine)
-      exe g:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine
+      exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine
      endif
      " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
      if getline(1) !~ "^$" && !exists("g:netrw_quiet") && getline(1) !~ '^Trying '
@@ -674,8 +738,8 @@ fun! netrw#NetRead(mode,...)
       call netrw#ErrorMsg(s:ERROR,getline(1),4)
       let &debug= debugkeep
      endif
-     bd!
-     let result           = s:NetGetFile(readcmd, tmpfile, b:netrw_method)
+     call s:SaveBufVars()|bd!|call s:RestoreBufVars()
+     let result           = s:NetrwGetFile(readcmd, tmpfile, b:netrw_method)
      let b:netrw_lastfile = choice
 
    ".........................................
@@ -684,36 +748,36 @@ fun! netrw#NetRead(mode,...)
     " Construct execution string (four lines) which will be passed through filter
 "    call Decho("read via ftp+mipf (method #3)")
     let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape)
-    new
+    call s:SaveBufVars()|new|call s:RestoreBufVars()
     setlocal ff=unix
     if exists("g:netrw_port") && g:netrw_port != ""
      put ='open '.g:netrw_machine.' '.g:netrw_port
-"     call Decho("filter input: ".getline("."))
+"     call Decho("filter input: ".getline('.'))
     else
      put ='open '.g:netrw_machine
-"     call Decho("filter input: ".getline("."))
+"     call Decho("filter input: ".getline('.'))
     endif
 
     if exists("g:netrw_ftp") && g:netrw_ftp == 1
      put =g:netrw_uid
-"     call Decho("filter input: ".getline("."))
-     put ='\"'.g:netrw_passwd.'\"'
-"     call Decho("filter input: ".getline("."))
+"     call Decho("filter input: ".getline('.'))
+     put ='\"'.s:netrw_passwd.'\"'
+"     call Decho("filter input: ".getline('.'))
     else
-     put ='user \"'.g:netrw_uid.'\" \"'.g:netrw_passwd.'\"'
-"     call Decho("filter input: ".getline("."))
+     put ='user \"'.g:netrw_uid.'\" \"'.s:netrw_passwd.'\"'
+"     call Decho("filter input: ".getline('.'))
     endif
 
     if exists("g:netrw_ftpmode") && g:netrw_ftpmode != ""
      put =g:netrw_ftpmode
-"     call Decho("filter input: ".getline("."))
+"     call Decho("filter input: ".getline('.'))
     endif
     if exists("g:netrw_ftpextracmd")
      exe "put ='".g:netrw_ftpextracmd."'"
-"     call Decho("filter input: ".getline("."))
+"     call Decho("filter input: ".getline('.'))
     endif
     put ='get \"'.netrw_fname.'\" '.tmpfile
-"    call Decho("filter input: ".getline("."))
+"    call Decho("filter input: ".getline('.'))
 
     " perform ftp:
     " -i       : turns off interactive prompting from ftp
@@ -721,7 +785,7 @@ fun! netrw#NetRead(mode,...)
     " -n  win32: quit being obnoxious about password
     norm! 1Gdd
 "    call Decho("executing: %!".g:netrw_ftp_cmd." -i -n")
-    exe g:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i -n"
+    exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i -n"
     " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
     if getline(1) !~ "^$"
 "     call Decho("error<".getline(1).">")
@@ -729,8 +793,8 @@ fun! netrw#NetRead(mode,...)
       call netrw#ErrorMsg(s:ERROR,getline(1),5)
      endif
     endif
-    bd!
-    let result           = s:NetGetFile(readcmd, tmpfile, b:netrw_method)
+    call s:SaveBufVars()|bd!|call s:RestoreBufVars()
+    let result           = s:NetrwGetFile(readcmd, tmpfile, b:netrw_method)
     let b:netrw_lastfile = choice
 
    ".........................................
@@ -742,9 +806,9 @@ fun! netrw#NetRead(mode,...)
     else
      let useport= ""
     endif
-"    call  Decho("executing: !".g:netrw_scp_cmd.useport." '".g:netrw_machine.":".escape(b:netrw_fname,g:netrw_fname_escape)."' ".tmpfile)
-    exe g:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".g:netrw_shq.g:netrw_machine.":".escape(b:netrw_fname,g:netrw_fname_escape).g:netrw_shq." ".tmpfile
-    let result           = s:NetGetFile(readcmd, tmpfile, b:netrw_method)
+"    call Decho("exe s:netrw_silentxfer.!".g:netrw_scp_cmd.useport." ".shellescape(g:netrw_machine.":".escape(b:netrw_fname,g:netrw_fname_escape))." ".tmpfile)
+    exe s:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".shellescape(g:netrw_machine.":".escape(b:netrw_fname,g:netrw_fname_escape))." ".tmpfile
+    let result           = s:NetrwGetFile(readcmd, tmpfile, b:netrw_method)
     let b:netrw_lastfile = choice
 
    ".........................................
@@ -759,22 +823,24 @@ fun! netrw#NetRead(mode,...)
      return
     endif
 
+    let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape)
     if match(b:netrw_fname,"#") == -1
      " simple wget
-     let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape)
-"     call Decho("executing: !".g:netrw_http_cmd." ".tmpfile." http://".g:netrw_machine.netrw_fname)
-     exe g:netrw_silentxfer."!".g:netrw_http_cmd." ".tmpfile." http://".g:netrw_machine.netrw_fname
-     let result = s:NetGetFile(readcmd, tmpfile, b:netrw_method)
+"     call Decho('using simple wget (# not in b:netrw_fname<'.b:netrw_fname.">)")
+"     call Decho("exe ".s:netrw_silentxfer."!".g:netrw_http_cmd." ".shellescape(tmpfile)." ".shellescape("http://".g:netrw_machine.netrw_fname))
+     exe s:netrw_silentxfer."!".g:netrw_http_cmd." ".shellescape(tmpfile)." ".shellescape("http://".g:netrw_machine.netrw_fname)
+     let result = s:NetrwGetFile(readcmd, tmpfile, b:netrw_method)
 
     else
      " wget plus a jump to an in-page marker (ie. http://abc/def.html#aMarker)
+"     call Decho(("wget/curl plus jump (# in b:netrw_fname<".b:netrw_fname.">)")
      let netrw_html= substitute(netrw_fname,"#.*$","","")
      let netrw_tag = substitute(netrw_fname,"^.*#","","")
 "     call Decho("netrw_html<".netrw_html.">")
 "     call Decho("netrw_tag <".netrw_tag.">")
-"     call Decho("executing: !".g:netrw_http_cmd." ".tmpfile." http://".g:netrw_machine.netrw_html)
-     exe g:netrw_silentxfer."!".g:netrw_http_cmd." ".tmpfile." http://".g:netrw_machine.netrw_html
-     let result = s:NetGetFile(readcmd, tmpfile, b:netrw_method)
+"     call Decho("exe ".s:netrw_silentxfer."!".g:netrw_http_cmd." ".shellescape(tmpfile)." ".shellescape("http://".g:netrw_machine.netrw_html))
+     exe s:netrw_silentxfer."!".g:netrw_http_cmd." ".shellescape(tmpfile)." ".shellescape("http://".g:netrw_machine.netrw_html)
+     let result = s:NetrwGetFile(readcmd, tmpfile, b:netrw_method)
 "     call Decho('<\s*a\s*name=\s*"'.netrw_tag.'"/')
      exe 'norm! 1G/<\s*a\s*name=\s*"'.netrw_tag.'"/'."\<CR>"
     endif
@@ -795,16 +861,16 @@ fun! netrw#NetRead(mode,...)
     else
      put ='open '.g:netrw_machine
     endif
-    put ='user '.g:netrw_uid.' '.g:netrw_passwd
+    put ='user '.g:netrw_uid.' '.s:netrw_passwd
     put ='get '.netrw_fname.' '.tmpfile
     put ='quit'
 
     " perform cadaver operation:
     norm! 1Gdd
 "    call Decho("executing: %!".g:netrw_dav_cmd)
-    exe g:netrw_silentxfer."%!".g:netrw_dav_cmd
+    exe s:netrw_silentxfer."%!".g:netrw_dav_cmd
     bd!
-    let result           = s:NetGetFile(readcmd, tmpfile, b:netrw_method)
+    let result           = s:NetrwGetFile(readcmd, tmpfile, b:netrw_method)
     let b:netrw_lastfile = choice
 
    ".........................................
@@ -812,9 +878,9 @@ fun! netrw#NetRead(mode,...)
    elseif     b:netrw_method  == 7
 "    call Decho("read via rsync (method #7)")
     let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape)
-"    call Decho("executing: !".g:netrw_rsync_cmd." ".g:netrw_machine.":".netrw_fname." ".tmpfile)
-    exe g:netrw_silentxfer."!".g:netrw_rsync_cmd." ".g:netrw_machine.":".netrw_fname." ".tmpfile
-    let result         = s:NetGetFile(readcmd,tmpfile, b:netrw_method)
+"    call Decho("exe ".s:netrw_silentxfer."!".g:netrw_rsync_cmd." ".shellescape(g:netrw_machine.":".netrw_fname)." ".tmpfile)
+    exe s:netrw_silentxfer."!".g:netrw_rsync_cmd." ".shellescape(g:netrw_machine.":".netrw_fname)." ".tmpfile
+    let result          = s:NetrwGetFile(readcmd,tmpfile, b:netrw_method)
     let b:netrw_lastfile = choice
 
    ".........................................
@@ -836,15 +902,15 @@ fun! netrw#NetRead(mode,...)
     endif
 "    call Decho("read via fetch for ".netrw_option)
 
-    if exists("g:netrw_uid") && g:netrw_uid != "" && exists("g:netrw_passwd") && g:netrw_passwd != ""
-"     call Decho("executing: !".g:netrw_fetch_cmd." ".tmpfile." ".netrw_option."://".g:netrw_uid.':'.g:netrw_passwd.'@'.g:netrw_machine."/".netrw_fname)
-     exe g:netrw_silentxfer."!".g:netrw_fetch_cmd." ".tmpfile." ".netrw_option."://".g:netrw_uid.':'.g:netrw_passwd.'@'.g:netrw_machine."/".netrw_fname
+    if exists("g:netrw_uid") && g:netrw_uid != "" && exists("s:netrw_passwd") && s:netrw_passwd != ""
+"     call Decho("exe ".s:netrw_silentxfer."!".g:netrw_fetch_cmd." ".tmpfile." ".shellescape(netrw_option."://".g:netrw_uid.':'.s:netrw_passwd.'@'.g:netrw_machine."/".netrw_fname))
+     exe s:netrw_silentxfer."!".g:netrw_fetch_cmd." ".tmpfile." ".shellescape(netrw_option."://".g:netrw_uid.':'.s:netrw_passwd.'@'.g:netrw_machine."/".netrw_fname)
     else
-"     call Decho("executing: !".g:netrw_fetch_cmd." ".tmpfile." ".netrw_option."://".g:netrw_machine."/".netrw_fname)
-     exe g:netrw_silentxfer."!".g:netrw_fetch_cmd." ".tmpfile." ".netrw_option."://".g:netrw_machine."/".netrw_fname
+"     call Decho("exe ".s:netrw_silentxfer."!".g:netrw_fetch_cmd." ".tmpfile." ".shellescape(netrw_option."://".g:netrw_machine."/".netrw_fname))
+     exe s:netrw_silentxfer."!".g:netrw_fetch_cmd." ".tmpfile." ".shellescape(netrw_option."://".g:netrw_machine."/".netrw_fname)
     endif
 
-    let result         = s:NetGetFile(readcmd,tmpfile, b:netrw_method)
+    let result         = s:NetrwGetFile(readcmd,tmpfile, b:netrw_method)
     let b:netrw_lastfile = choice
     setlocal ro
 
@@ -853,9 +919,9 @@ fun! netrw#NetRead(mode,...)
    elseif     b:netrw_method  == 9
 "    call Decho("read via sftp (method #9)")
     let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape)
-"    call Decho("executing: !".g:netrw_sftp_cmd." ".g:netrw_machine.":".netrw_fname." ".tmpfile)
-    exe g:netrw_silentxfer."!".g:netrw_sftp_cmd." ".g:netrw_machine.":".netrw_fname." ".tmpfile
-    let result         = s:NetGetFile(readcmd, tmpfile, b:netrw_method)
+"    call Decho("exe ".s:netrw_silentxfer."!".g:netrw_sftp_cmd." ".shellescape(g:netrw_machine.":".netrw_fname)." ".tmpfile)
+    exe s:netrw_silentxfer."!".g:netrw_sftp_cmd." ".shellescape(g:netrw_machine.":".netrw_fname)." ".tmpfile
+    let result         = s:NetrwGetFile(readcmd, tmpfile, b:netrw_method)
     let b:netrw_lastfile = choice
 
    ".........................................
@@ -873,21 +939,22 @@ fun! netrw#NetRead(mode,...)
   endif
   if s:FileReadable(tmpfile) && tmpfile !~ '.tar.bz2$' && tmpfile !~ '.tar.gz$' && tmpfile !~ '.zip' && tmpfile !~ '.tar' && readcmd != 't'
 "   call Decho("cleanup by deleting tmpfile<".tmpfile.">")
-   call s:System("delete",tmpfile)
+   call s:System("delete",fnameescape(tmpfile))
   endif
-  call s:NetOptionRestore()
+  call s:NetrwOptionRestore("w:")
 
 "  call Dret("netrw#NetRead :5 getcwd<".getcwd().">")
 endfun
 
 " ------------------------------------------------------------------------
-" NetWrite: responsible for writing a file over the net {{{2
+" netrw#NetWrite: responsible for writing a file over the net {{{2
 fun! netrw#NetWrite(...) range
 "  call Dfunc("netrw#NetWrite(a:0=".a:0.") ".g:loaded_netrw)
 
   " option handling
   let mod= 0
-  call s:NetOptionSave()
+  call s:NetrwOptionSave("w:")
+  call s:NetrwSafeOptions()
 
   " Get Temporary Filename {{{3
   let tmpfile= s:GetTempfile("")
@@ -985,13 +1052,14 @@ fun! netrw#NetWrite(...) range
 "   call Decho("choice<" . choice . "> ichoice=".ichoice)
 
    " Determine method of write (ftp, rcp, etc) {{{4
-   call s:NetMethod(choice)
+   call s:NetrwMethod(choice)
 
    " =============
    " Perform Protocol-Based Write {{{4
    " ============================
    if exists("g:netrw_silent") && g:netrw_silent == 0 && &ch >= 1
     echo "(netrw) Processing your write request..."
+"    call Decho("(netrw) Processing your write request...")
    endif
 
    ".........................................
@@ -1012,8 +1080,8 @@ fun! netrw#NetWrite(...) range
      endif
     endif
     let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape)
-"    call Decho("executing: !".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".g:netrw_shq.tmpfile.g:netrw_shq." ".uid_machine.":".netrw_fname)
-    exe g:netrw_silentxfer."!".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".g:netrw_shq.tmpfile.g:netrw_shq." ".uid_machine.":".netrw_fname
+"    call Decho("executing: !".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".shellescape(tmpfile)." ".shellescape(uid_machine.":".netrw_fname))
+    exe s:netrw_silentxfer."!".g:netrw_rcp_cmd." ".s:netrw_rcpmode." ".shellescape(tmpfile)." ".shellescape(uid_machine.":".netrw_fname)
     let b:netrw_lastfile = choice
 
    ".........................................
@@ -1022,21 +1090,23 @@ fun! netrw#NetWrite(...) range
 "    call Decho("write via ftp+.netrc (method #2)")
     let netrw_fname= b:netrw_fname
     new
+"    call Decho("filter input window#".winnr())
     setlocal ff=unix
     exe "put ='".g:netrw_ftpmode."'"
-"    call Decho(" filter input: ".getline("."))
+"    call Decho("filter input: ".getline('.'))
     if exists("g:netrw_ftpextracmd")
      exe "put ='".g:netrw_ftpextracmd."'"
-"     call Decho("filter input: ".getline("."))
+"     call Decho("filter input: ".getline('.'))
     endif
     exe "put ='".'put \"'.tmpfile.'\" \"'.netrw_fname.'\"'."'"
-"    call Decho(" filter input: ".getline("."))
+"    call Decho("filter input: ".getline('.'))
     if exists("g:netrw_port") && g:netrw_port != ""
 "     call Decho("executing: %!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port)
-     exe g:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port
+     exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port
     else
+"     call Decho("filter input window#".winnr())
 "     call Decho("executing: %!".g:netrw_ftp_cmd." -i ".g:netrw_machine)
-     exe g:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine
+     exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine
     endif
     " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
     if getline(1) !~ "^$"
@@ -1058,22 +1128,22 @@ fun! netrw#NetWrite(...) range
     setlocal ff=unix
     if exists("g:netrw_port") && g:netrw_port != ""
      put ='open '.g:netrw_machine.' '.g:netrw_port
-"     call Decho("filter input: ".getline("."))
+"     call Decho("filter input: ".getline('.'))
     else
      put ='open '.g:netrw_machine
-"     call Decho("filter input: ".getline("."))
+"     call Decho("filter input: ".getline('.'))
     endif
     if exists("g:netrw_ftp") && g:netrw_ftp == 1
      put =g:netrw_uid
-"     call Decho("filter input: ".getline("."))
-     put ='\"'.g:netrw_passwd.'\"'
-"     call Decho("filter input: ".getline("."))
+"     call Decho("filter input: ".getline('.'))
+     put ='\"'.s:netrw_passwd.'\"'
+"     call Decho("filter input: ".getline('.'))
     else
-     put ='user \"'.g:netrw_uid.'\" \"'.g:netrw_passwd.'\"'
-"     call Decho("filter input: ".getline("."))
+     put ='user \"'.g:netrw_uid.'\" \"'.s:netrw_passwd.'\"'
+"     call Decho("filter input: ".getline('.'))
     endif
     put ='put \"'.tmpfile.'\" \"'.netrw_fname.'\"'
-"    call Decho("filter input: ".getline("."))
+"    call Decho("filter input: ".getline('.'))
     " save choice/id/password for future use
     let b:netrw_lastfile = choice
 
@@ -1083,7 +1153,7 @@ fun! netrw#NetWrite(...) range
     " -n  win32: quit being obnoxious about password
     norm! 1Gdd
 "    call Decho("executing: %!".g:netrw_ftp_cmd." -i -n")
-    exe g:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i -n"
+    exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i -n"
     " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
     if getline(1) !~ "^$"
      if  !exists("g:netrw_quiet")
@@ -1103,8 +1173,8 @@ fun! netrw#NetWrite(...) range
     else
      let useport= ""
     endif
-"    call Decho("exe ".g:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".g:netrw_shq.tmpfile.g:netrw_shq." ".g:netrw_shq.g:netrw_machine.":".netrw_fname.g:netrw_shq)
-    exe g:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".g:netrw_shq.tmpfile.g:netrw_shq." ".g:netrw_shq.g:netrw_machine.":".netrw_fname.g:netrw_shq
+"    call Decho("exe ".s:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".shellescape(tmpfile)." ".shellescape(g:netrw_machine.":".netrw_fname))
+    exe s:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".shellescape(tmpfile)." ".shellescape(g:netrw_machine.":".netrw_fname)
     let b:netrw_lastfile = choice
 
    ".........................................
@@ -1129,13 +1199,15 @@ fun! netrw#NetWrite(...) range
     else
      put ='open '.g:netrw_machine
     endif
-    put ='user '.g:netrw_uid.' '.g:netrw_passwd
+    if exists("g:netrw_uid") && exists("s:netrw_passwd")
+     put ='user '.g:netrw_uid.' '.s:netrw_passwd
+    endif
     put ='put '.tmpfile.' '.netrw_fname
 
     " perform cadaver operation:
     norm! 1Gdd
 "    call Decho("executing: %!".g:netrw_dav_cmd)
-    exe g:netrw_silentxfer."%!".g:netrw_dav_cmd
+    exe s:netrw_silentxfer."%!".g:netrw_dav_cmd
     bd!
     let b:netrw_lastfile = choice
 
@@ -1145,7 +1217,7 @@ fun! netrw#NetWrite(...) range
 "    call Decho("write via rsync (method #7)")
     let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape)
 "    call Decho("executing: !".g:netrw_rsync_cmd." ".tmpfile." ".g:netrw_machine.":".netrw_fname)
-    exe g:netrw_silentxfer."!".g:netrw_rsync_cmd." ".tmpfile." ".g:netrw_machine.":".netrw_fname
+    exe s:netrw_silentxfer."!".g:netrw_rsync_cmd." ".tmpfile." ".g:netrw_machine.":".netrw_fname
     let b:netrw_lastfile = choice
 
    ".........................................
@@ -1161,10 +1233,10 @@ fun! netrw#NetWrite(...) range
     new
     setlocal ff=unix
     put ='put \"'.escape(tmpfile,'\').'\" '.netrw_fname
-"    call Decho("filter input: ".getline("."))
+"    call Decho("filter input: ".getline('.'))
     norm! 1Gdd
 "    call Decho("executing: %!".g:netrw_sftp_cmd.' '.uid_machine)
-    exe g:netrw_silentxfer."%!".g:netrw_sftp_cmd.' '.uid_machine
+    exe s:netrw_silentxfer."%!".g:netrw_sftp_cmd.' '.uid_machine
     bd!
     let b:netrw_lastfile= choice
 
@@ -1181,7 +1253,7 @@ fun! netrw#NetWrite(...) range
 "   call Decho("tmpfile<".tmpfile."> readable, will now delete it")
    call s:System("delete",tmpfile)
   endif
-  call s:NetOptionRestore()
+  call s:NetrwOptionRestore("w:")
 
   if a:firstline == 1 && a:lastline == line("$")
    " restore modifiability; usually equivalent to set nomod
@@ -1192,7 +1264,7 @@ fun! netrw#NetWrite(...) range
 endfun
 
 " ---------------------------------------------------------------------
-" NetSource: source a remotely hosted vim script {{{2
+" netrw#NetSource: source a remotely hosted vim script {{{2
 " uses NetRead to get a copy of the file into a temporarily file,
 "              then sources that file,
 "              then removes that file.
@@ -1230,17 +1302,18 @@ fun! netrw#NetSource(...)
 endfun
 
 " ===========================================
-" NetGetFile: Function to read temporary file "tfile" with command "readcmd". {{{2
+" s:NetrwGetFile: Function to read temporary file "tfile" with command "readcmd". {{{2
 "    readcmd == %r : replace buffer with newly read file
 "            == 0r : read file at top of buffer
 "            == r  : read file after current line
 "            == t  : leave file in temporary form (ie. don't read into buffer)
-fun! s:NetGetFile(readcmd, tfile, method)
-"  call Dfunc("NetGetFile(readcmd<".a:readcmd.">,tfile<".a:tfile."> method<".a:method.">)")
+fun! s:NetrwGetFile(readcmd, tfile, method)
+"  call Dfunc("NetrwGetFile(readcmd<".a:readcmd.">,tfile<".a:tfile."> method<".a:method.">)")
 
   " readcmd=='t': simply do nothing
   if a:readcmd == 't'
-"   call Dret("NetGetFile : skip read of <".a:tfile.">")
+"   call Decho("ro=".&ro." ma=".&ma." mod=".&mod." wrap=".&wrap)
+"   call Dret("NetrwGetFile : skip read of <".a:tfile.">")
    return
   endif
 
@@ -1263,8 +1336,8 @@ fun! s:NetGetFile(readcmd, tfile, method)
    else
     let tfile= a:tfile
    endif
-"   call Decho("keepalt exe file ".tfile)
-   keepalt exe "silent! keepalt file ".tfile
+"   "   call Decho("exe silent! keepalt file ".tfile)
+   exe "silent! keepalt file ".tfile
 
    " edit temporary file (ie. read the temporary file in)
    if     rfile =~ '\.zip$'
@@ -1285,8 +1358,13 @@ fun! s:NetGetFile(readcmd, tfile, method)
    endif
 
    " rename buffer back to remote filename
+"   call Decho("exe silent! keepalt file ".escape(rfile,' '))
    exe "silent! keepalt file ".escape(rfile,' ')
-   filetype detect
+   if a:method == 5
+    set ft=html
+   else
+    filetype detect
+   endif
 "   call Dredir("renamed buffer back to remote filename<".rfile."> : expand(%)<".expand("%").">","ls!")
    let line1 = 1
    let line2 = line("$")
@@ -1303,9 +1381,10 @@ fun! s:NetGetFile(readcmd, tfile, method)
 
   else
    " not readable
+"   call Decho("ro=".&ro." ma=".&ma." mod=".&mod." wrap=".&wrap)
 "   call Decho("tfile<".a:tfile."> not readable")
    call netrw#ErrorMsg(s:WARNING,"file <".a:tfile."> not readable",9)
-"   call Dret("NetGetFile : tfile<".a:tfile."> not readable")
+"   call Dret("NetrwGetFile : tfile<".a:tfile."> not readable")
    return
   endif
 
@@ -1317,20 +1396,22 @@ fun! s:NetGetFile(readcmd, tfile, method)
 "   call Decho("NetReadFixup() not called, doesn't exist  (line1=".line1." line2=".line2.")")
   endif
 
-  " update the Buffers menu
-  if has("gui") && has("gui_running")
-   silent! emenu Buffers.Refresh\ menu
+  if has("gui") && has("menu") && has("gui_running") && &go =~ 'm'
+   " update the Buffers menu
+   call s:UpdateBuffersMenu()
   endif
 
 "  call Decho("readcmd<".a:readcmd."> cmdarg<".v:cmdarg."> tfile<".a:tfile."> readable=".s:FileReadable(a:tfile))
 
  " make sure file is being displayed
-  redraw!
-"  call Dret("NetGetFile")
+"  redraw!
+
+"  call Decho("ro=".&ro." ma=".&ma." mod=".&mod." wrap=".&wrap)
+"  call Dret("NetrwGetFile")
 endfun
 
 " ------------------------------------------------------------------------
-" NetMethod:  determine method of transfer {{{2
+" s:NetrwMethod:  determine method of transfer {{{2
 "  method == 1: rcp
 "           2: ftp + <.netrc>
 "           3: ftp + machine, id, password, and [path]filename
@@ -1340,8 +1421,8 @@ endfun
 "           7: rsync
 "           8: fetch
 "           9: sftp
-fun! s:NetMethod(choice)  " globals: method machine id passwd fname
-"   call Dfunc("NetMethod(a:choice<".a:choice.">)")
+fun! s:NetrwMethod(choice)  " globals: method machine id passwd fname
+"   call Dfunc("NetrwMethod(a:choice<".a:choice.">)")
 
   " initialization
   let b:netrw_method  = 0
@@ -1352,13 +1433,13 @@ fun! s:NetMethod(choice)  " globals: method machine id passwd fname
 
   " Patterns:
   " mipf     : a:machine a:id password filename             Use ftp
-  " mf     : a:machine filename                     Use ftp + <.netrc> or g:netrw_uid g:netrw_passwd
-  " ftpurm   : ftp://[user@]host[[#:]port]/filename  Use ftp + <.netrc> or g:netrw_uid g:netrw_passwd
+  " mf     : a:machine filename                     Use ftp + <.netrc> or g:netrw_uid s:netrw_passwd
+  " ftpurm   : ftp://[user@]host[[#:]port]/filename  Use ftp + <.netrc> or g:netrw_uid s:netrw_passwd
   " rcpurm   : rcp://[user@]host/filename           Use rcp
   " rcphf    : [user@]host:filename                 Use rcp
   " scpurm   : scp://[user@]host[[#:]port]/filename  Use scp
   " httpurm  : http://[user@]host/filename          Use wget
-  " davurm   : [s]dav://host[:port]/path             Use cadaver
+  " davurm   : dav[s]://host[:port]/path             Use cadaver
   " rsyncurm : rsync://host[:port]/path              Use rsync
   " fetchurm : fetch://[user@]host[:http]/filename   Use fetch (defaults to ftp, override for http)
   " sftpurm  : sftp://[user@]host/filename  Use scp
@@ -1369,7 +1450,7 @@ fun! s:NetMethod(choice)  " globals: method machine id passwd fname
   let rcphf    = '^\(\(\h\w*\)@\)\=\(\h\w*\):\([^@]\+\)$'
   let scpurm   = '^scp://\([^/#:]\+\)\%([#:]\(\d\+\)\)\=/\(.*\)$'
   let httpurm  = '^http://\([^/]\{-}\)\(/.*\)\=$'
-  let davurm   = '^s\=dav://\([^/]\+\)/\(.*/\)\([-_.~[:alnum:]]\+\)$'
+  let davurm   = '^davs\=://\([^/]\+\)/\(.*/\)\([-_.~[:alnum:]]\+\)$'
   let rsyncurm = '^rsync://\([^/]\{-}\)/\(.*\)\=$'
   let fetchurm = '^fetch://\(\([^/@]\{-}\)@\)\=\([^/#:]\{-}\)\(:http\)\=/\(.*\)$'
   let sftpurm  = '^sftp://\([^/]\{-}\)/\(.*\)\=$'
@@ -1430,7 +1511,7 @@ fun! s:NetMethod(choice)  " globals: method machine id passwd fname
    if userid != ""
     let g:netrw_uid= userid
    endif
-   if exists("g:netrw_uid") && exists("g:netrw_passwd")
+   if exists("g:netrw_uid") && exists("s:netrw_passwd")
     let b:netrw_method = 3
    else
     if s:FileReadable(expand("$HOME/.netrc")) && !g:netrw_ignorenetrc
@@ -1438,9 +1519,9 @@ fun! s:NetMethod(choice)  " globals: method machine id passwd fname
     else
      if !exists("g:netrw_uid") || g:netrw_uid == ""
       call NetUserPass()
-     elseif !exists("g:netrw_passwd") || g:netrw_passwd == ""
+     elseif !exists("s:netrw_passwd") || s:netrw_passwd == ""
       call NetUserPass(g:netrw_uid)
-    " else just use current g:netrw_uid and g:netrw_passwd
+    " else just use current g:netrw_uid and s:netrw_passwd
      endif
      let b:netrw_method= 3
     endif
@@ -1460,13 +1541,13 @@ fun! s:NetMethod(choice)  " globals: method machine id passwd fname
    let b:netrw_method  = 3
    let g:netrw_machine = substitute(a:choice,mipf,'\1',"")
    let g:netrw_uid     = substitute(a:choice,mipf,'\2',"")
-   let g:netrw_passwd  = substitute(a:choice,mipf,'\3',"")
+   let s:netrw_passwd  = substitute(a:choice,mipf,'\3',"")
    let b:netrw_fname   = substitute(a:choice,mipf,'\4',"")
 
   " Issue an ftp: "hostname [path/]filename"
   elseif match(a:choice,mf) == 0
 "   call Decho("(ftp) host file")
-   if exists("g:netrw_uid") && exists("g:netrw_passwd")
+   if exists("g:netrw_uid") && exists("s:netrw_passwd")
     let b:netrw_method  = 3
     let g:netrw_machine = substitute(a:choice,mf,'\1',"")
     let b:netrw_fname   = substitute(a:choice,mf,'\2',"")
@@ -1487,10 +1568,10 @@ fun! s:NetMethod(choice)  " globals: method machine id passwd fname
   " Issue an rcp: hostname:filename"  (this one should be last)
   elseif match(a:choice,rcphf) == 0
 "   call Decho("(rcp) [user@]host:file) rcphf<".rcphf.">")
-   let b:netrw_method = 1
-   let userid       = substitute(a:choice,rcphf,'\2',"")
-   let g:netrw_machine= substitute(a:choice,rcphf,'\3',"")
-   let b:netrw_fname  = substitute(a:choice,rcphf,'\4',"")
+   let b:netrw_method  = 1
+   let userid          = substitute(a:choice,rcphf,'\2',"")
+   let g:netrw_machine = substitute(a:choice,rcphf,'\3',"")
+   let b:netrw_fname   = substitute(a:choice,rcphf,'\4',"")
 "   call Decho('\1<'.substitute(a:choice,rcphf,'\1',"").">")
 "   call Decho('\2<'.substitute(a:choice,rcphf,'\2',"").">")
 "   call Decho('\3<'.substitute(a:choice,rcphf,'\3',"").">")
@@ -1518,11 +1599,11 @@ fun! s:NetMethod(choice)  " globals: method machine id passwd fname
 "  if exists("g:netrw_uid")            "Decho
 "   call Decho("g:netrw_uid    <".g:netrw_uid.">")
 "  endif                                       "Decho
-"  if exists("g:netrw_passwd")         "Decho
-"   call Decho("g:netrw_passwd <".g:netrw_passwd.">")
+"  if exists("s:netrw_passwd")         "Decho
+"   call Decho("s:netrw_passwd <".s:netrw_passwd.">")
 "  endif                                       "Decho
 "  call Decho("b:netrw_fname  <".b:netrw_fname.">")
-"  call Dret("NetMethod : b:netrw_method=".b:netrw_method)
+"  call Dret("NetrwMethod : b:netrw_method=".b:netrw_method)
 endfun
 
 " ------------------------------------------------------------------------
@@ -1565,10 +1646,10 @@ fun! NetUserPass(...)
  " get password
  if a:0 <= 1 " via prompt
 "  call Decho("a:0=".a:0." case <=1:")
-  let g:netrw_passwd= inputsecret("Enter Password: ")
+  let s:netrw_passwd= inputsecret("Enter Password: ")
  else " from command line
 "  call Decho("a:0=".a:0." case >1: a:2<".a:2.">")
-  let g:netrw_passwd=a:2
+  let s:netrw_passwd=a:2
  endif
 
 "  call Dret("NetUserPass")
@@ -1583,205 +1664,498 @@ endfun
 fun! s:BrowserMaps(islocal)
 "  call Dfunc("s:BrowserMaps(islocal=".a:islocal.") b:netrw_curdir<".b:netrw_curdir.">")
   if a:islocal
-   nnoremap <buffer> <silent> <cr>     :call netrw#LocalBrowseCheck(<SID>NetBrowseChgDir(1,<SID>NetGetWord()))<cr>
-   nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call netrw#LocalBrowseCheck(<SID>NetBrowseChgDir(1,<SID>NetGetWord()))<cr>
-   nnoremap <buffer> <silent> <c-l>    :call <SID>NetRefresh(1,<SID>NetBrowseChgDir(1,'./'))<cr>
-   nnoremap <buffer> <silent> -                :exe "norm! 0"<bar>call netrw#LocalBrowseCheck(<SID>NetBrowseChgDir(1,'../'))<cr>
-   nnoremap <buffer> <silent> a                :call <SID>NetHide(1)<cr>
-   nnoremap <buffer> <silent> mb       :<c-u>call <SID>NetBookmarkDir(0,b:netrw_curdir)<cr>
-   nnoremap <buffer> <silent> gb       :<c-u>call <SID>NetBookmarkDir(1,b:netrw_curdir)<cr>
-   nnoremap <buffer> <silent> c                :exe "cd ".b:netrw_curdir<cr>
+   nnoremap <buffer> <silent> <cr>     :call netrw#LocalBrowseCheck(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord()))<cr>
+   nnoremap <buffer> <silent> -                :exe "norm! 0"<bar>call netrw#LocalBrowseCheck(<SID>NetrwBrowseChgDir(1,'../'))<cr>
+   nnoremap <buffer> <silent> a                :call <SID>NetrwHide(1)<cr>
+   nnoremap <buffer> <silent> mb       :<c-u>call <SID>NetrwBookmarkDir(0,b:netrw_curdir)<cr>
+   nnoremap <buffer> <silent> mc       :<c-u>call <SID>NetrwMarkFileCopy(1)<cr>
+   nnoremap <buffer> <silent> md       :<c-u>call <SID>NetrwMarkFileDiff(1)<cr>
+   nnoremap <buffer> <silent> me       :<c-u>call <SID>NetrwMarkFileEdit(1)<cr>
+   nnoremap <buffer> <silent> mf       :<c-u>call <SID>NetrwMarkFile(1,<SID>NetrwGetWord())<cr>
+   nnoremap <buffer> <silent> mg       :<c-u>call <SID>NetrwMarkFileGrep(1)<cr>
+   nnoremap <buffer> <silent> mh       :<c-u>call <SID>NetrwMarkHideSfx(1)<cr>
+   nnoremap <buffer> <silent> mm       :<c-u>call <SID>NetrwMarkFileMove(1)<cr>
+   nnoremap <buffer> <silent> mp       :<c-u>call <SID>NetrwMarkFilePrint(1)<cr>
+   nnoremap <buffer> <silent> mr       :<c-u>call <SID>NetrwMarkFileRegexp(1)<cr>
+   nnoremap <buffer> <silent> ms       :<c-u>call <SID>NetrwMarkFileSource(1)<cr>
+   nnoremap <buffer> <silent> mT       :<c-u>call <SID>NetrwMarkFileTag(1)<cr>
+   nnoremap <buffer> <silent> mt       :<c-u>call <SID>NetrwMarkFileTgt(1)<cr>
+   nnoremap <buffer> <silent> mu       :<c-u>call <SID>NetrwUnMarkFile(1)<cr>
+   nnoremap <buffer> <silent> mx       :<c-u>call <SID>NetrwMarkFileExe(1)<cr>
+   nnoremap <buffer> <silent> mz       :<c-u>call <SID>NetrwMarkFileCompress(1)<cr>
+   nnoremap <buffer> <silent> gb       :<c-u>call <SID>NetrwBookmarkDir(1,b:netrw_curdir)<cr>
+   nnoremap <buffer> <silent> gh       :<c-u>call <SID>NetrwHidden(1)<cr>
+   nnoremap <buffer> <silent> c                :exe "keepjumps lcd ".fnameescape(b:netrw_curdir)<cr>
    nnoremap <buffer> <silent> C                :let g:netrw_chgwin= winnr()<cr>
-   nnoremap <buffer> <silent> d                :call <SID>NetMakeDir("")<cr>
-   nnoremap <buffer> <silent> <c-h>    :call <SID>NetHideEdit(1)<cr>
-   nnoremap <buffer> <silent> i                :call <SID>NetListStyle(1)<cr>
-   nnoremap <buffer> <silent> o                :call <SID>NetSplit(3)<cr>
-   nnoremap <buffer> <silent> O                :call <SID>LocalObtain()<cr>
-   nnoremap <buffer> <silent> p                :call <SID>NetPreview(<SID>NetBrowseChgDir(1,<SID>NetGetWord(),1))<cr>
-   nnoremap <buffer> <silent> P                :call <SID>NetPrevWinOpen(1)<cr>
-   nnoremap <buffer> <silent> q                :<c-u>call <SID>NetBookmarkDir(2,b:netrw_curdir)<cr>
-   nnoremap <buffer> <silent> r                :let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'<bar>exe "norm! 0"<bar>call <SID>NetRefresh(1,<SID>NetBrowseChgDir(1,'./'))<cr>
-   nnoremap <buffer> <silent> s                :call <SID>NetSortStyle(1)<cr>
+   nnoremap <buffer> <silent> d                :call <SID>NetrwMakeDir("")<cr>
+   nnoremap <buffer> <silent> i                :call <SID>NetrwListStyle(1)<cr>
+   nnoremap <buffer> <silent> o                :call <SID>NetrwSplit(3)<cr>
+   nnoremap <buffer> <silent> O                :call <SID>NetrwObtain(1)<cr>
+   nnoremap <buffer> <silent> p                :call <SID>NetrwPreview(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord(),1))<cr>
+   nnoremap <buffer> <silent> P                :call <SID>NetrwPrevWinOpen(1)<cr>
+   nnoremap <buffer> <silent> qb       :<c-u>call <SID>NetrwBookmarkDir(2,b:netrw_curdir)<cr>
+   nnoremap <buffer> <silent> mB       :<c-u>call <SID>NetrwBookmarkDir(6,b:netrw_curdir)<cr>
+   nnoremap <buffer> <silent> qf       :<c-u>call <SID>NetrwFileInfo(1,<SID>NetrwGetWord())<cr>
+   nnoremap <buffer> <silent> r                :let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'<bar>exe "norm! 0"<bar>call <SID>NetrwRefresh(1,<SID>NetrwBrowseChgDir(1,'./'))<cr>
+   nnoremap <buffer> <silent> s                :call <SID>NetrwSortStyle(1)<cr>
    nnoremap <buffer> <silent> S                :call <SID>NetSortSequence(1)<cr>
-   nnoremap <buffer> <silent> t                :call <SID>NetSplit(4)<cr>
-   nnoremap <buffer> <silent> u                :<c-u>call <SID>NetBookmarkDir(4,expand("%"))<cr>
-   nnoremap <buffer> <silent> U                :<c-u>call <SID>NetBookmarkDir(5,expand("%"))<cr>
-   nnoremap <buffer> <silent> v                :call <SID>NetSplit(5)<cr>
-   nnoremap <buffer> <silent> x                :call netrw#NetBrowseX(<SID>NetBrowseChgDir(1,<SID>NetGetWord(),0),0)"<cr>
+   nnoremap <buffer> <silent> t                :call <SID>NetrwSplit(4)<cr>
+   nnoremap <buffer> <silent> u                :<c-u>call <SID>NetrwBookmarkDir(4,expand("%"))<cr>
+   nnoremap <buffer> <silent> U                :<c-u>call <SID>NetrwBookmarkDir(5,expand("%"))<cr>
+   nnoremap <buffer> <silent> v                :call <SID>NetrwSplit(5)<cr>
+   nnoremap <buffer> <silent> x                :call netrw#NetrwBrowseX(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord(),0),0)"<cr>
+   if !hasmapto('<Plug>NetrwHideEdit')
+    nmap <buffer> <unique> <c-h> <Plug>NetrwHideEdit
+   endif
+   nnoremap <buffer> <silent> <Plug>NetrwHideEdit      :call <SID>NetrwHideEdit(1)<cr>
+   if !hasmapto('<Plug>NetrwRefresh')
+    nmap <buffer> <unique> <c-l> <Plug>NetrwRefresh
+   endif
+   nnoremap <buffer> <silent> <Plug>NetrwRefresh               :call <SID>NetrwRefresh(1,<SID>NetrwBrowseChgDir(1,'./'))<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> <rightmouse> <leftmouse>:call <SID>LocalBrowseRm("'.b:netrw_curdir.'")<cr>'
-   exe 'vnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>LocalBrowseRm("'.b:netrw_curdir.'")<cr>'
-   exe 'nnoremap <buffer> <silent> D           :call <SID>LocalBrowseRm("'.b:netrw_curdir.'")<cr>'
-   exe 'vnoremap <buffer> <silent> D           :call <SID>LocalBrowseRm("'.b:netrw_curdir.'")<cr>'
-   exe 'nnoremap <buffer> <silent> R           :call <SID>LocalBrowseRename("'.b:netrw_curdir.'")<cr>'
-   exe 'vnoremap <buffer> <silent> R           :call <SID>LocalBrowseRename("'.b:netrw_curdir.'")<cr>'
-   exe 'nnoremap <buffer> <silent> <Leader>m   :call <SID>NetMakeDir("")<cr>'
-   nnoremap <buffer> <F1>              :he netrw-dir<cr>
+   if g:netrw_mousemaps == 1
+    nnoremap <buffer> <silent> <leftmouse>   <leftmouse>:call <SID>NetrwLeftmouse(1)<cr>
+    nnoremap <buffer> <silent> <middlemouse> <leftmouse>:call <SID>NetrwPrevWinOpen(1)<cr>
+    nnoremap <buffer> <silent> <s-leftmouse> <leftmouse>:call <SID>NetrwMarkFile(1,<SID>NetrwGetWord())<cr>
+    exe 'nnoremap <buffer> <silent> <rightmouse>  <leftmouse>:call <SID>NetrwLocalRm("'.b:netrw_curdir.'")<cr>'
+    exe 'vnoremap <buffer> <silent> <rightmouse>  <leftmouse>:call <SID>NetrwLocalRm("'.b:netrw_curdir.'")<cr>'
+   endif
+   exe 'nnoremap <buffer> <silent> <del>       :call <SID>NetrwLocalRm("'.b:netrw_curdir.'")<cr>'
+   exe 'vnoremap <buffer> <silent> <del>       :call <SID>NetrwLocalRm("'.b:netrw_curdir.'")<cr>'
+   exe 'nnoremap <buffer> <silent> D           :call <SID>NetrwLocalRm("'.b:netrw_curdir.'")<cr>'
+   exe 'vnoremap <buffer> <silent> D           :call <SID>NetrwLocalRm("'.b:netrw_curdir.'")<cr>'
+   exe 'nnoremap <buffer> <silent> R           :call <SID>NetrwLocalRename("'.b:netrw_curdir.'")<cr>'
+   exe 'vnoremap <buffer> <silent> R           :call <SID>NetrwLocalRename("'.b:netrw_curdir.'")<cr>'
+   exe 'nnoremap <buffer> <silent> <Leader>m   :call <SID>NetrwMakeDir("")<cr>'
+   nnoremap <buffer> <F1>              :he netrw-quickhelp<cr>
 
   else " remote
    call s:RemotePathAnalysis(b:netrw_curdir)
-   nnoremap <buffer> <silent> <cr>     :call <SID>NetBrowse(0,<SID>NetBrowseChgDir(0,<SID>NetGetWord()))<cr>
-   nnoremap <buffer> <silent> <leftmouse> <leftmouse>:call <SID>NetBrowse(0,<SID>NetBrowseChgDir(0,<SID>NetGetWord()))<cr>
-   nnoremap <buffer> <silent> <c-l>    :call <SID>NetRefresh(0,<SID>NetBrowseChgDir(0,'./'))<cr>
-   nnoremap <buffer> <silent> -                :exe "norm! 0"<bar>call <SID>NetBrowse(0,<SID>NetBrowseChgDir(0,'../'))<cr>
-   nnoremap <buffer> <silent> a                :call <SID>NetHide(0)<cr>
-   nnoremap <buffer> <silent> mb       :<c-u>call <SID>NetBookmarkDir(0,b:netrw_curdir)<cr>
-   nnoremap <buffer> <silent> gb       :<c-u>call <SID>NetBookmarkDir(1,b:netrw_cur)<cr>
+   nnoremap <buffer> <silent> <cr>     :call <SID>NetrwBrowse(0,<SID>NetrwBrowseChgDir(0,<SID>NetrwGetWord()))<cr>
+   nnoremap <buffer> <silent> <c-l>    :call <SID>NetrwRefresh(0,<SID>NetrwBrowseChgDir(0,'./'))<cr>
+   nnoremap <buffer> <silent> -                :exe "norm! 0"<bar>call <SID>NetrwBrowse(0,<SID>NetrwBrowseChgDir(0,'../'))<cr>
+   nnoremap <buffer> <silent> a                :call <SID>NetrwHide(0)<cr>
+   nnoremap <buffer> <silent> mb       :<c-u>call <SID>NetrwBookmarkDir(0,b:netrw_curdir)<cr>
+   nnoremap <buffer> <silent> mc       :<c-u>call <SID>NetrwMarkFileCopy(0)<cr>
+   nnoremap <buffer> <silent> md       :<c-u>call <SID>NetrwMarkFileDiff(0)<cr>
+   nnoremap <buffer> <silent> me       :<c-u>call <SID>NetrwMarkFileEdit(0)<cr>
+   nnoremap <buffer> <silent> mf       :<c-u>call <SID>NetrwMarkFile(0,<SID>NetrwGetWord())<cr>
+   nnoremap <buffer> <silent> mg       :<c-u>call <SID>NetrwMarkFileGrep(0)<cr>
+   nnoremap <buffer> <silent> mh       :<c-u>call <SID>NetrwMarkHideSfx(0)<cr>
+   nnoremap <buffer> <silent> mm       :<c-u>call <SID>NetrwMarkFileMove(0)<cr>
+   nnoremap <buffer> <silent> mp       :<c-u>call <SID>NetrwMarkFilePrint(0)<cr>
+   nnoremap <buffer> <silent> mr       :<c-u>call <SID>NetrwMarkFileRegexp(0)<cr>
+   nnoremap <buffer> <silent> ms       :<c-u>call <SID>NetrwMarkFileSource(0)<cr>
+   nnoremap <buffer> <silent> mT       :<c-u>call <SID>NetrwMarkFileTag(0)<cr>
+   nnoremap <buffer> <silent> mt       :<c-u>call <SID>NetrwMarkFileTgt(0)<cr>
+   nnoremap <buffer> <silent> mu       :<c-u>call <SID>NetrwUnMarkFile(0)<cr>
+   nnoremap <buffer> <silent> mx       :<c-u>call <SID>NetrwMarkFileExe(0)<cr>
+   nnoremap <buffer> <silent> mz       :<c-u>call <SID>NetrwMarkFileCompress(0)<cr>
+   nnoremap <buffer> <silent> gb       :<c-u>call <SID>NetrwBookmarkDir(1,b:netrw_cur)<cr>
+   nnoremap <buffer> <silent> gh       :<c-u>call <SID>NetrwHidden(0)<cr>
    nnoremap <buffer> <silent> C                :let g:netrw_chgwin= winnr()<cr>
-   nnoremap <buffer> <silent> <c-h>    :call <SID>NetHideEdit(0)<cr>
-   nnoremap <buffer> <silent> i                :call <SID>NetListStyle(0)<cr>
-   nnoremap <buffer> <silent> o                :call <SID>NetSplit(0)<cr>
-   nnoremap <buffer> <silent> O                :call netrw#NetObtain(0)<cr>
-   vnoremap <buffer> <silent> O                :call netrw#NetObtain(1)<cr>
-   nnoremap <buffer> <silent> p                :call <SID>NetPreview(<SID>NetBrowseChgDir(1,<SID>NetGetWord(),1))<cr>
-   nnoremap <buffer> <silent> P                :call <SID>NetPrevWinOpen(0)<cr>
-   nnoremap <buffer> <silent> q                :<c-u>call <SID>NetBookmarkDir(2,b:netrw_curdir)<cr>
-   nnoremap <buffer> <silent> r                :let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'<bar>exe "norm! 0"<bar>call <SID>NetBrowse(0,<SID>NetBrowseChgDir(0,'./'))<cr>
-   nnoremap <buffer> <silent> s                :call <SID>NetSortStyle(0)<cr>
+   nnoremap <buffer> <silent> i                :call <SID>NetrwListStyle(0)<cr>
+   nnoremap <buffer> <silent> o                :call <SID>NetrwSplit(0)<cr>
+   nnoremap <buffer> <silent> O                :call <SID>NetrwObtain(0)<cr>
+   nnoremap <buffer> <silent> p                :call <SID>NetrwPreview(<SID>NetrwBrowseChgDir(1,<SID>NetrwGetWord(),1))<cr>
+   nnoremap <buffer> <silent> P                :call <SID>NetrwPrevWinOpen(0)<cr>
+   nnoremap <buffer> <silent> qb       :<c-u>call <SID>NetrwBookmarkDir(2,b:netrw_curdir)<cr>
+   nnoremap <buffer> <silent> mB       :<c-u>call <SID>NetrwBookmarkDir(6,b:netrw_curdir)<cr>
+   nnoremap <buffer> <silent> qf       :<c-u>call <SID>NetrwFileInfo(0,<SID>NetrwGetWord())<cr>
+   nnoremap <buffer> <silent> r                :let g:netrw_sort_direction= (g:netrw_sort_direction =~ 'n')? 'r' : 'n'<bar>exe "norm! 0"<bar>call <SID>NetrwBrowse(0,<SID>NetrwBrowseChgDir(0,'./'))<cr>
+   nnoremap <buffer> <silent> s                :call <SID>NetrwSortStyle(0)<cr>
    nnoremap <buffer> <silent> S                :call <SID>NetSortSequence(0)<cr>
-   nnoremap <buffer> <silent> t                :call <SID>NetSplit(1)<cr>
-   nnoremap <buffer> <silent> u                :<c-u>call <SID>NetBookmarkDir(4,b:netrw_curdir)<cr>
-   nnoremap <buffer> <silent> U                :<c-u>call <SID>NetBookmarkDir(5,b:netrw_curdir)<cr>
-   nnoremap <buffer> <silent> v                :call <SID>NetSplit(2)<cr>
-   nnoremap <buffer> <silent> x                :call netrw#NetBrowseX(<SID>NetBrowseChgDir(0,<SID>NetGetWord()),1)<cr>
-   exe 'nnoremap <buffer> <silent> <del>       :call <SID>NetBrowseRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
-   exe 'vnoremap <buffer> <silent> <del>       :call <SID>NetBrowseRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
-   exe 'nnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetBrowseRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
-   exe 'vnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetBrowseRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
-   exe 'nnoremap <buffer> <silent> d   :call <SID>NetMakeDir("'.s:user.s:machine.'")<cr>'
-   exe 'nnoremap <buffer> <silent> D   :call <SID>NetBrowseRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
-   exe 'vnoremap <buffer> <silent> D   :call <SID>NetBrowseRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
-   exe 'nnoremap <buffer> <silent> R   :call <SID>NetBrowseRename("'.s:user.s:machine.'","'.s:path.'")<cr>'
-   exe 'vnoremap <buffer> <silent> R   :call <SID>NetBrowseRename("'.s:user.s:machine.'","'.s:path.'")<cr>'
+   nnoremap <buffer> <silent> t                :call <SID>NetrwSplit(1)<cr>
+   nnoremap <buffer> <silent> u                :<c-u>call <SID>NetrwBookmarkDir(4,b:netrw_curdir)<cr>
+   nnoremap <buffer> <silent> U                :<c-u>call <SID>NetrwBookmarkDir(5,b:netrw_curdir)<cr>
+   nnoremap <buffer> <silent> v                :call <SID>NetrwSplit(2)<cr>
+   nnoremap <buffer> <silent> x                :call netrw#NetrwBrowseX(<SID>NetrwBrowseChgDir(0,<SID>NetrwGetWord()),1)<cr>
+   if !hasmapto('<Plug>NetrwHideEdit')
+    nmap <buffer> <c-h> <Plug>NetrwHideEdit
+   endif
+   nnoremap <buffer> <silent> <Plug>NetrwHideEdit      :call <SID>NetrwHideEdit(0)<cr>
+   if !hasmapto('<Plug>NetrwRefresh')
+    nmap <buffer> <c-l> <Plug>NetrwRefresh
+   endif
+   nnoremap <buffer> <silent> <Plug>NetrwRefresh               :call <SID>NetrwRefresh(0,<SID>NetrwBrowseChgDir(0,'./'))<cr>
+   if g:netrw_mousemaps == 1
+    nnoremap <buffer> <silent> <leftmouse>   <leftmouse>:call <SID>NetrwLeftmouse(0)<cr>
+    nnoremap <buffer> <silent> <middlemouse> <leftmouse>:call <SID>NetrwPrevWinOpen(0)<cr>
+    nnoremap <buffer> <silent> <s-leftmouse> <leftmouse>:call <SID>NetrwMarkFile(0,<SID>NetrwGetWord())<cr>
+    exe 'nnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwRemoteRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
+    exe 'vnoremap <buffer> <silent> <rightmouse> <leftmouse>:call <SID>NetrwRemoteRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
+   endif
+   exe 'nnoremap <buffer> <silent> <del>       :call <SID>NetrwRemoteRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
+   exe 'vnoremap <buffer> <silent> <del>       :call <SID>NetrwRemoteRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
+   exe 'nnoremap <buffer> <silent> d   :call <SID>NetrwMakeDir("'.s:user.s:machine.'")<cr>'
+   exe 'nnoremap <buffer> <silent> D   :call <SID>NetrwRemoteRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
+   exe 'vnoremap <buffer> <silent> D   :call <SID>NetrwRemoteRm("'.s:user.s:machine.'","'.s:path.'")<cr>'
+   exe 'nnoremap <buffer> <silent> R   :call <SID>NetrwRemoteRename("'.s:user.s:machine.'","'.s:path.'")<cr>'
+   exe 'vnoremap <buffer> <silent> R   :call <SID>NetrwRemoteRename("'.s:user.s:machine.'","'.s:path.'")<cr>'
    nnoremap <buffer> <F1>                      :he netrw-browse-cmds<cr>
   endif
+  call s:SetRexDir(a:islocal,b:netrw_curdir)
 "  call Dret("s:BrowserMaps")
 endfun
 
 " ---------------------------------------------------------------------
-" s:NetBrowse: This function uses the command in g:netrw_list_cmd to get a list {{{2
-"  of the contents of a remote directory.  It is assumed that the
-"  g:netrw_list_cmd has a string, USEPORT HOSTNAME, that needs to be substituted
-"  with the requested remote hostname first.
-fun! s:NetBrowse(islocal,dirname)
-  if !exists("w:netrw_liststyle")|let w:netrw_liststyle= g:netrw_liststyle|endif
-"  call Dfunc("NetBrowse(islocal=".a:islocal." dirname<".a:dirname.">) liststyle=".w:netrw_liststyle." ".g:loaded_netrw." buf#".bufnr("%")."<".bufname("%").">")
-"  call Dredir("ls!")
-
-  if exists("s:netrw_skipbrowse")
-   unlet s:netrw_skipbrowse
-"   call Dret("NetBrowse : s:netrw_skipbrowse=".s:netrw_skipbrowse)
-   return
-  endif
-
-  call s:NetOptionSave()
-
-  if a:islocal && exists("w:netrw_acdkeep") && w:netrw_acdkeep
-"   call Decho("handle w:netrw_acdkeep:")
-"   call Decho("cd ".escape(a:dirname,s:netrw_cd_escape)." (due to 'acd')")
-   exe 'cd '.escape(a:dirname,s:netrw_cd_escape)
-"   call Decho("getcwd<".getcwd().">")
-
-  elseif !a:islocal && a:dirname !~ '[\/]$' && a:dirname !~ '^"'
-   " looks like a regular file, attempt transfer
-"   call Decho("attempt transfer as regular file<".a:dirname.">")
-
-   " remove any filetype indicator from end of dirname, except for the {{{3
-   " "this is a directory" indicator (/).
-   " There shouldn't be one of those here, anyway.
-   let path= substitute(a:dirname,'[*=@|]\r\=$','','e')
-"   call Decho("new path<".path.">")
-   call s:RemotePathAnalysis(a:dirname)
-
-   " remote-read the requested file into current buffer {{{3
-   mark '
-   call s:NetrwEnew(a:dirname)
-   let b:netrw_curdir= a:dirname
-   call s:NetrwSafeOptions()
-   setlocal ma noro
-"   call Decho("exe silent! keepalt file ".s:method."://".s:user.s:machine."/".escape(s:path,s:netrw_cd_escape)." (bt=".&bt.")")
-   exe "silent! keepalt file ".s:method."://".s:user.s:machine."/".escape(s:path,s:netrw_cd_escape)
-   exe "silent keepalt doau BufReadPre ".s:fname
-   silent call netrw#NetRead(2,s:method."://".s:user.s:machine."/".s:path)
-   exe "silent keepalt doau BufReadPost ".s:fname
-
-   " save certain window-oriented variables into buffer-oriented variables {{{3
-   call s:SetBufWinVars()
-   call s:NetOptionRestore()
-   setlocal nomod nowrap
-
-"   call Dret("NetBrowse : file<".s:fname.">")
-   return
-  endif
-
-  " use buffer-oriented WinVars if buffer ones exist but window ones don't {{{3
-  call s:UseBufWinVars()
-
-  " set up some variables {{{3
-  let b:netrw_browser_active = 1
-  let dirname                = a:dirname
-  let s:last_sort_by         = g:netrw_sort_by
+" s:ExplorePatHls: converts an Explore pattern into a regular expression search pattern {{{2
+fun! s:ExplorePatHls(pattern)
+"  call Dfunc("s:ExplorePatHls(pattern<".a:pattern.">)")
+  let repat= substitute(a:pattern,'^**/\{1,2}','','')
+"  call Decho("repat<".repat.">")
+  let repat= escape(repat,'][.\')
+"  call Decho("repat<".repat.">")
+  let repat= '\<'.substitute(repat,'\*','\\(\\S\\+ \\)*\\S\\+','g').'\>'
+"  call Dret("s:ExplorePatHls repat<".repat.">")
+  return repat
+endfun
 
-  call s:NetMenu(1)                      " set up menu {{{3
-  if s:NetGetBuffer(a:islocal,dirname)   " set up buffer {{{3
-"   call Dret("NetBrowse : re-using buffer")
-   return
-  endif
+" ---------------------------------------------------------------------
+"  s:NetrwBookmarkDir: {{{2
+"    0: (user: <mb>)   bookmark current directory
+"    1: (user: <gb>)   change to the bookmarked directory
+"    2: (user: <qb>)   list bookmarks
+"    3: (browsing)     record current directory history
+"    4: (user: <u>)    go up   (previous) bookmark
+"    5: (user: <U>)    go down (next)     bookmark
+"    6: (user: <mB>)   delete bookmark
+fun! s:NetrwBookmarkDir(chg,curdir)
+"  call Dfunc("NetrwBookmarkDir(chg=".a:chg." curdir<".a:curdir.">) cnt=".v:count." bookmarkcnt=".g:NETRW_BOOKMARKMAX." histcnt=".g:NETRW_DIRHIST_CNT." bookmax=".g:NETRW_BOOKMARKMAX." histmax=".g:netrw_dirhistmax)
 
-  " set b:netrw_curdir to the new directory name {{{3
-"  call Decho("set b:netrw_curdir to the new directory name:")
-   let b:netrw_curdir= dirname
-  if b:netrw_curdir =~ '[/\\]$'
-   let b:netrw_curdir= substitute(b:netrw_curdir,'[/\\]$','','e')
-  endif
-  if b:netrw_curdir == ''
-   if has("amiga")
-    " On the Amiga, the empty string connotes the current directory
-    let b:netrw_curdir= getcwd()
+  if a:chg == 0
+   " bookmark the current directory
+"   call Decho("(user: <b>) bookmark the current directory")
+   if v:count > 0
+    " handle bookmark# specified via the count
+    let g:NETRW_BOOKMARKDIR_{v:count}= a:curdir
+    if !exists("g:NETRW_BOOKMARKMAX")
+     let g:NETRW_BOOKMARKMAX= v:count
+    elseif v:count > g:NETRW_BOOKMARKMAX
+     let g:NETRW_BOOKMARKMAX= v:count
+    endif
    else
-    " under unix, when the root directory is encountered, the result
-    " from the preceding substitute is an empty string.
-    let b:netrw_curdir= '/'
+    " handle no count specified
+    let g:NETRW_BOOKMARKMAX                       = g:NETRW_BOOKMARKMAX + 1
+    let g:NETRW_BOOKMARKDIR_{g:NETRW_BOOKMARKMAX} = a:curdir
    endif
-  endif
-  if !a:islocal && b:netrw_curdir !~ '/$'
-   let b:netrw_curdir= b:netrw_curdir.'/'
-  endif
-"  call Decho("b:netrw_curdir<".b:netrw_curdir.">")
-
-  " ------------
-  " (local only) {{{3
-  " ------------
-  if a:islocal
-"   call Decho("local only:")
-
-   " Set up ShellCmdPost handling.  Append current buffer to browselist
-   call s:LocalFastBrowser()
+   echo "bookmarked the current directory"
 
-  " handle g:netrw_keepdir: set vim's current directory to netrw's notion of the current directory {{{3
-   if !g:netrw_keepdir
-"    call Decho("handle keepdir: (g:netrw_keepdir=".g:netrw_keepdir.")")
-"    call Decho('exe cd '.escape(b:netrw_curdir,s:netrw_cd_escape))
-    try
-     exe 'cd '.escape(b:netrw_curdir,s:netrw_cd_escape)
-    catch /^Vim\%((\a\+)\)\=:E472/
-     call netrw#ErrorMsg(s:ERROR,"unable to change directory to <".b:netrw_curdir."> (permissions?)",33)
-     if exists("w:netrw_prvdir")
-      let b:netrw_curdir= w:netrw_prvdir
-     else
-      call s:NetOptionRestore()
-      let b:netrw_curdir= dirname
-"      call Dret("NetBrowse : reusing buffer#".(exists("bufnum")? bufnum : 'N/A')."<".dirname."> getcwd<".getcwd().">")
-      return
-     endif
-    endtry
+  elseif a:chg == 1
+   " change to the bookmarked directory
+"   call Decho("(user: <B>) change to the bookmarked directory")
+   if exists("g:NETRW_BOOKMARKDIR_{v:count}")
+    exe "e ".g:NETRW_BOOKMARKDIR_{v:count}
+   else
+    echomsg "Sorry, bookmark#".v:count." doesn't exist!"
+   endif
+
+  elseif a:chg == 2
+"   redraw!
+   let didwork= 0
+   " list user's bookmarks
+"   call Decho("(user: <q>) list user's bookmarks")
+   if exists("g:NETRW_BOOKMARKMAX")
+"    call Decho("list bookmarks [0,".g:NETRW_BOOKMARKMAX."]")
+    let cnt= 0
+    while cnt <= g:NETRW_BOOKMARKMAX
+     if exists("g:NETRW_BOOKMARKDIR_{cnt}")
+"      call Decho("Netrw Bookmark#".cnt.": ".g:NETRW_BOOKMARKDIR_{cnt})
+      echo "Netrw Bookmark#".cnt.": ".g:NETRW_BOOKMARKDIR_{cnt}
+      let didwork= 1
+     endif
+     let cnt= cnt + 1
+    endwhile
+   endif
+
+   " list directory history
+   let cnt     = g:NETRW_DIRHIST_CNT
+   let first   = 1
+   let histcnt = 0
+   while ( first || cnt != g:NETRW_DIRHIST_CNT )
+"    call Decho("first=".first." cnt=".cnt." dirhist_cnt=".g:NETRW_DIRHIST_CNT)
+    let histcnt= histcnt + 1
+    if exists("g:NETRW_DIRHIST_{cnt}")
+"     call Decho("Netrw  History#".histcnt.": ".g:NETRW_DIRHIST_{cnt})
+     echo "Netrw  History#".histcnt.": ".g:NETRW_DIRHIST_{cnt}
+     let didwork= 1
+    endif
+    let first = 0
+    let cnt   = ( cnt - 1 ) % g:netrw_dirhistmax
+    if cnt < 0
+     let cnt= cnt + g:netrw_dirhistmax
+    endif
+   endwhile
+   if didwork
+    call inputsave()|call input("Press <cr> to continue")|call inputrestore()
+   endif
+
+  elseif a:chg == 3
+   " saves most recently visited directories (when they differ)
+"   call Decho("(browsing) record curdir history")
+   if !exists("g:NETRW_DIRHIST_0") || g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT} != a:curdir
+    let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT + 1 ) % g:netrw_dirhistmax
+"    let g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}= substitute(a:curdir,'[/\\]$','','e')
+    let g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}= a:curdir
+"    call Decho("save dirhist#".g:NETRW_DIRHIST_CNT."<".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}.">")
+   endif
+
+  elseif a:chg == 4
+   " u: change to the previous directory stored on the history list
+"   call Decho("(user: <u>) chg to prev dir from history")
+   let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT - 1 ) % g:netrw_dirhistmax
+   if g:NETRW_DIRHIST_CNT < 0
+    let g:NETRW_DIRHIST_CNT= g:NETRW_DIRHIST_CNT + g:netrw_dirhistmax
+   endif
+   if exists("g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}")
+"    call Decho("changedir u#".g:NETRW_DIRHIST_CNT."<".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}.">")
+    if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("b:netrw_curdir")
+     setlocal ma noro
+"     call Decho("setlocal ma noro")
+     %d
+     setlocal nomod
+"     call Decho("setlocal nomod")
+    endif
+"    call Decho("exe e! ".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT})
+    exe "e! ".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}
+   else
+    let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT + 1 ) % g:netrw_dirhistmax
+    echo "Sorry, no predecessor directory exists yet"
+   endif
+
+  elseif a:chg == 5
+   " U: change to the subsequent directory stored on the history list
+"   call Decho("(user: <U>) chg to next dir from history")
+   let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT + 1 ) % g:netrw_dirhistmax
+   if exists("g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}")
+"    call Decho("changedir U#".g:NETRW_DIRHIST_CNT."<".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}.">")
+    if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("b:netrw_curdir")
+     setlocal ma noro
+"     call Decho("setlocal ma noro")
+     %d
+"     call Decho("removed all lines from buffer (%d)")
+     setlocal nomod
+"     call Decho("setlocal nomod")
+    endif
+"    call Decho("exe e! ".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT})
+    exe "e! ".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}
+   else
+    let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT - 1 ) % g:netrw_dirhistmax
+    if g:NETRW_DIRHIST_CNT < 0
+     let g:NETRW_DIRHIST_CNT= g:NETRW_DIRHIST_CNT + g:netrw_dirhistmax
+    endif
+    echo "Sorry, no successor directory exists yet"
+   endif
+
+  elseif a:chg == 6
+   if v:count > 0 && v:count == g:NETRW_BOOKMARKMAX
+    " delete the v:count'th bookmark
+"    call Decho("delete bookmark#".v:count."<".g:NETRW_BOOKMARKDIR_{g:NETRW_BOOKMARKMAX}.">")
+    unlet g:NETRW_BOOKMARKDIR_{g:NETRW_BOOKMARKMAX}
+    let g:NETRW_BOOKMARKMAX= g:NETRW_BOOKMARKMAX - 1
+
+   elseif v:count > 0
+"    call Decho("delete by shifting bookmark#".v:count."<".g:NETRW_BOOKMARKDIR_{v:count}.">")
+    let cnt= v:count
+    while cnt < g:NETRW_BOOKMARKMAX
+     let g:NETRW_BOOKMARKDIR_{cnt} = g:NETRW_BOOKMARKDIR_{(cnt+1)}
+     let cnt                       = cnt + 1
+    endwhile
+    unlet g:NETRW_BOOKMARKDIR_{g:NETRW_BOOKMARKMAX}
+    let g:NETRW_BOOKMARKMAX= g:NETRW_BOOKMARKMAX - 1
+
+   elseif exists("b:netrw_curdir")
+    " look for current directory amongst the bookmarks and remove that bookmark
+"    call Decho("search for bookmark<".b:netrw_curdir.">")
+    let cnt= 1
+    while cnt <= g:NETRW_BOOKMARKMAX
+"     call Decho("checking: g:NETRW_BOOKMARKDIR_".cnt."<".g:NETRW_BOOKMARKDIR_{cnt}.">")
+     if g:NETRW_BOOKMARKDIR_{cnt} == b:netrw_curdir
+      if cnt < g:NETRW_BOOKMARKMAX
+"       call Decho("delete bookmark#".cnt."<".b:netrw_curdir.">")
+       while cnt < g:NETRW_BOOKMARMAX
+        let g:NETRW_BOOKMARKDIR_{cnt} = g:NETRW_BOOKMARKDIR_{(cnt+1)}
+        let cnt                       = cnt + 1
+       endwhile
+      endif
+      unlet g:NETRW_BOOKMARKDIR_{g:NETRW_BOOKMARKMAX}
+      let g:NETRW_BOOKMARKMAX= g:NETRW_BOOKMARKMAX - 1
+     endif
+     let cnt= cnt + 1
+    endwhile
+   endif
+
+  endif
+  call s:NetrwBookmarkMenu()
+"  call Dret("NetrwBookmarkDir")
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwBrowse: This function uses the command in g:netrw_list_cmd to provide a {{{2
+"  list of the contents of a local or remote directory.  It is assumed that the
+"  g:netrw_list_cmd has a string, USEPORT HOSTNAME, that needs to be substituted
+"  with the requested remote hostname first.
+fun! s:NetrwBrowse(islocal,dirname)
+  if !exists("w:netrw_liststyle")|let w:netrw_liststyle= g:netrw_liststyle|endif
+"  call Dfunc("s:NetrwBrowse(islocal=".a:islocal." dirname<".a:dirname.">) liststyle=".w:netrw_liststyle." ".g:loaded_netrw." buf#".bufnr("%")."<".bufname("%").">")
+"  call Decho("tab#".tabpagenr()." win#".winnr())
+"  call Dredir("ls!")
+
+  if exists("s:netrw_skipbrowse")
+   unlet s:netrw_skipbrowse
+"   call Decho("ro=".&ro." ma=".&ma." mod=".&mod." wrap=".&wrap)
+"   call Dret("s:NetrwBrowse : s:netrw_skipbrowse=".s:netrw_skipbrowse)
+   return
+  endif
+  if !exists("*shellescape")
+   call netrw#ErrorMsg(s:ERROR,"netrw can't run -- your vim is missing shellescape()",69)
+"   call Dret("s:NetrwBrowse : missing shellescape()")
+   return
+  endif
+  if !exists("*fnameescape")
+   call netrw#ErrorMsg(s:ERROR,"netrw can't run -- your vim is missing fnameescape()",70)
+"   call Dret("s:NetrwBrowse : missing fnameescape()")
+   return
+  endif
+
+  call s:NetrwOptionSave("w:")
+  call s:NetrwSafeOptions()
+
+  " re-instate any marked files
+  if exists("s:netrwmarkfilelist_{bufnr('%')}")
+"   call Decho("clearing marked files")
+   exe "2match netrwMarkFile /".s:netrwmarkfilemtch_{bufnr("%")}."/"
+  endif
+
+  if a:islocal && exists("w:netrw_acdkeep") && w:netrw_acdkeep
+"   call Decho("handle w:netrw_acdkeep:")
+"   call Decho("keepjumps lcd ".fnameescape(a:dirname)." (due to w:netrw_acdkeep=".w:netrw_acdkeep." - acd=".&acd.")")
+   exe 'keepjumps lcd '.fnameescape(a:dirname)
+"   call Decho("getcwd<".getcwd().">")
+
+  elseif !a:islocal && a:dirname !~ '[\/]$' && a:dirname !~ '^"'
+   " looks like a regular file, attempt transfer
+"   call Decho("attempt transfer as regular file<".a:dirname.">")
+
+   " remove any filetype indicator from end of dirname, except for the {{{3
+   " "this is a directory" indicator (/).
+   " There shouldn't be one of those here, anyway.
+   let path= substitute(a:dirname,'[*=@|]\r\=$','','e')
+"   call Decho("new path<".path.">")
+   call s:RemotePathAnalysis(a:dirname)
+
+   " remote-read the requested file into current buffer {{{3
+   mark '
+   call s:NetrwEnew(a:dirname)
+   setlocal ma noro
+"   call Decho("setlocal ma noro")
+   let b:netrw_curdir= a:dirname
+"   call Decho("exe silent! keepalt file ".s:method."://".s:user.s:machine."/".fnameescape(s:path)." (bt=".&bt.")")
+   exe "silent! keepalt file ".s:method."://".s:user.s:machine."/".fnameescape(s:path)
+   exe "silent keepalt doau BufReadPre ".s:fname
+   silent call netrw#NetRead(2,s:method."://".s:user.s:machine."/".s:path)
+   if s:path !~ '.tar.bz2$' && s:path !~ '.tar.gz'
+    " netrw.vim and tar.vim have already handled decompression of the tarball; avoiding gzip.vim error
+    exe "silent keepalt doau BufReadPost ".s:fname
+   endif
+
+   " save certain window-oriented variables into buffer-oriented variables {{{3
+   call s:SetBufWinVars()
+   call s:NetrwOptionRestore("w:")
+   setlocal ma nomod
+
+"   call Decho("ro=".&ro." ma=".&ma." mod=".&mod." wrap=".&wrap)
+"   call Dret("s:NetrwBrowse : file<".s:fname.">")
+   return
+  endif
+
+  " use buffer-oriented WinVars if buffer ones exist but window ones don't {{{3
+  call s:UseBufWinVars()
+
+  " set up some variables {{{3
+  let b:netrw_browser_active = 1
+  let dirname                = a:dirname
+  let s:last_sort_by         = g:netrw_sort_by
+
+  " set up menu {{{3
+  call s:NetrwMenu(1)
+
+  " set up buffer {{{3
+  let reusing= s:NetrwGetBuffer(a:islocal,dirname)
+  " maintain markfile highlighting
+  if exists("s:netrwmarkfilemtch_{bufnr('%')}") && s:netrwmarkfilemtch_{bufnr("%")} != ""
+"   call Decho("bufnr(%)=".bufnr('%'))
+"   call Decho("exe 2match netrwMarkFile /".s:netrwmarkfilemtch_{bufnr("%")}."/")
+   exe "2match netrwMarkFile /".s:netrwmarkfilemtch_{bufnr("%")}."/"
+  else
+"   call Decho("2match none")
+   2match none
+  endif
+  if reusing
+   call s:NetrwOptionRestore("w:")
+   setlocal noma nomod nowrap
+"   call Decho("ro=".&ro." ma=".&ma." mod=".&mod." wrap=".&wrap)
+"   call Dret("s:NetrwBrowse : re-using buffer")
+   return
+  endif
+
+  " set b:netrw_curdir to the new directory name {{{3
+"  call Decho("set b:netrw_curdir to the new directory name:")
+   let b:netrw_curdir= dirname
+  if b:netrw_curdir =~ '[/\\]$'
+   let b:netrw_curdir= substitute(b:netrw_curdir,'[/\\]$','','e')
+  endif
+  if b:netrw_curdir == ''
+   if has("amiga")
+    " On the Amiga, the empty string connotes the current directory
+    let b:netrw_curdir= getcwd()
+   else
+    " under unix, when the root directory is encountered, the result
+    " from the preceding substitute is an empty string.
+    let b:netrw_curdir= '/'
+   endif
+  endif
+  if !a:islocal && b:netrw_curdir !~ '/$'
+   let b:netrw_curdir= b:netrw_curdir.'/'
+  endif
+"  call Decho("b:netrw_curdir<".b:netrw_curdir.">")
+
+  " ------------
+  " (local only) {{{3
+  " ------------
+  if a:islocal
+"   call Decho("local only:")
+
+   " Set up ShellCmdPost handling.  Append current buffer to browselist
+   call s:LocalFastBrowser()
+
+  " handle g:netrw_keepdir: set vim's current directory to netrw's notion of the current directory {{{3
+   if !g:netrw_keepdir
+"    call Decho("handle g:netrw_keepdir=".g:netrw_keepdir.": getcwd<".getcwd()."> acd=".&acd)
+"    call Decho("l:acd".(exists("&l:acd")? "=".&l:acd : " doesn't exist"))
+    if !exists("&l:acd") || !&l:acd
+"     call Decho('exe keepjumps lcd '.fnameescape(b:netrw_curdir))
+     try
+      exe 'keepjumps lcd '.fnameescape(b:netrw_curdir)
+     catch /^Vim\%((\a\+)\)\=:E472/
+      call netrw#ErrorMsg(s:ERROR,"unable to change directory to <".b:netrw_curdir."> (permissions?)",61)
+      if exists("w:netrw_prvdir")
+       let b:netrw_curdir= w:netrw_prvdir
+      else
+       call s:NetrwOptionRestore("w:")
+       setlocal noma nomod nowrap
+       let b:netrw_curdir= dirname
+"       call Decho("ro=".&ro." ma=".&ma." mod=".&mod." wrap=".&wrap)
+"       call Dret("s:NetrwBrowse : reusing buffer#".(exists("bufnum")? bufnum : 'N/A')."<".dirname."> getcwd<".getcwd().">")
+       return
+      endif
+     endtry
+    endif
    endif
 
   " --------------------------------
@@ -1792,9 +2166,9 @@ fun! s:NetBrowse(islocal,dirname)
 
    " analyze a:dirname and g:netrw_list_cmd {{{4
 "   call Decho("b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : "doesn't exist")."> a:dirname<".a:dirname.">")
-   if a:dirname == "NetrwTreeListing"
+   if a:dirname =~ "^NetrwTreeListing\>"
     let dirname= b:netrw_curdir
-"    call Decho("(dirname was NetrwTreeListing) dirname<".dirname.">")
+"    call Decho("(dirname was ".a:dirname.") dirname<".dirname.">")
    elseif exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("b:netrw_curdir")
     let dirname= substitute(b:netrw_curdir,'\\','/','g')
     if dirname !~ '/$'
@@ -1812,8 +2186,10 @@ fun! s:NetBrowse(islocal,dirname)
     if !exists("g:netrw_quiet")
      call netrw#ErrorMsg(s:ERROR,"netrw doesn't understand your dirname<".dirname.">",20)
     endif
-     call s:NetOptionRestore()
-"    call Dret("NetBrowse : badly formatted dirname<".dirname.">")
+    call s:NetrwOptionRestore("w:")
+    setlocal noma nomod nowrap
+"    call Decho("ro=".&ro." ma=".&ma." mod=".&mod." wrap=".&wrap)
+"    call Dret("s:NetrwBrowse : badly formatted dirname<".dirname.">")
     return
    endif
    let b:netrw_curdir= dirname
@@ -1823,47 +2199,116 @@ fun! s:NetBrowse(islocal,dirname)
   " -----------------------
   " Directory Listing: {{{3
   " -----------------------
-  setlocal noro ma
   call s:BrowserMaps(a:islocal)
   call s:PerformListing(a:islocal)
 
-"  call Dret("NetBrowse")
+"  call Decho("ro=".&ro." ma=".&ma." mod=".&mod." wrap=".&wrap)
+"  call Dret("s:NetrwBrowse : did PerformListing")
   return
 endfun
 
 " ---------------------------------------------------------------------
-" s:NetGetBuffer: {{{2
+" s:NetrwFileInfo: supports qf (query for file information) {{{2
+fun! s:NetrwFileInfo(islocal,fname)
+"  call Dfunc("s:NetrwFileInfo(islocal=".a:islocal." fname<".a:fname.">)")
+  if a:islocal
+   if (has("unix") || has("macunix")) && executable("/bin/ls")
+    if exists("b:netrw_curdir")
+"     call Decho('using ls with b:netrw_curdir<'.b:netrw_curdir.'>')
+     if b:netrw_curdir =~ '/$'
+      echo system("/bin/ls -lsad ".shellescape(b:netrw_curdir.a:fname))
+     else
+      echo system("/bin/ls -lsad ".shellescape(b:netrw_curdir."/".a:fname))
+     endif
+    else
+"     call Decho('using ls '.a:fname." using cwd<".getcwd().">")
+     echo system("/bin/ls -lsad ".shellescape(a:fname))
+    endif
+   else
+    " use vim functions to return information about file below cursor
+"    call Decho("using vim functions to query for file info")
+    if !isdirectory(a:fname) && !filereadable(a:fname) && a:fname =~ '[*@/]'
+     let fname= substitute(a:fname,".$","","")
+    else
+     let fname= a:fname
+    endif
+    let t  = getftime(fname)
+    let sz = getfsize(fname)
+    echo a:fname.":  ".sz."  ".strftime(g:netrw_timefmt,getftime(fname))
+"    call Decho(fname.":  ".sz."  ".strftime(g:netrw_timefmt,getftime(fname)))
+   endif
+  else
+   echo "sorry, \"qf\" not supported yet for remote files"
+  endif
+"  call Dret("s:NetrwFileInfo")
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwGetBuffer: {{{2
 "   returns 0=cleared buffer
 "           1=re-used buffer
-fun! s:NetGetBuffer(islocal,dirname)
-"  call Dfunc("s:NetGetBuffer(islocal=".a:islocal." dirname<".a:dirname.">)")
+fun! s:NetrwGetBuffer(islocal,dirname)
+"  call Dfunc("s:NetrwGetBuffer(islocal=".a:islocal." dirname<".a:dirname.">) liststyle=".g:netrw_liststyle)
+  let dirname= a:dirname
 
   " re-use buffer if possible {{{3
+"  call Decho("--re-use a buffer if possible--")
   if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST
    " find NetrwTreeList buffer if there is one
-   let dirname= "NetrwTreeListing"
-   let bufnum = bufnr('\<NetrwTreeListing\>')
-   if bufnum != -1
-"    call Dret("s:NetGetBuffer : bufnum#".bufnum."<NetrwTreeListing>")
+   if exists("w:netrw_treebufnr") && w:netrw_treebufnr > 0
+"    call Decho("  re-use w:netrw_treebufnr=".w:netrw_treebufnr)
+    let eikeep= &ei
+    set ei=all
+    exe "b ".w:netrw_treebufnr
+    let &ei= eikeep
+"    call Dret("s:NetrwGetBuffer : bufnum#".bufnum."<NetrwTreeListing>")
     return
    endif
+   let bufnum= -1
+"   call Decho("  liststyle=TREE but w:netrw_treebufnr doesn't exist")
 
   else
    " find buffer number of buffer named precisely the same as dirname {{{3
+"   call Decho("--find buffer numnber of buffer named precisely the same as dirname--")
 "   call Dredir("ls!")
-   let dirname= a:dirname
-"   call Decho("find buffer<".dirname.">'s number ")
-   let bufnum= bufnr(escape(dirname,'\'))
-"   call Decho("findbuf1: bufnum=bufnr('".escape(dirname,'\')."')=".bufnum." (initial)")
-   let ibuf= 1
-   if bufnum > 0 && bufname(bufnum) != dirname
+
+   " get dirname and associated buffer number
+   let bufnum  = bufnr(escape(dirname,'\'))
+"   call Decho("  find buffer<".dirname.">'s number ")
+"   call Decho("  bufnr(dirname<".escape(dirname,'\').">)=".bufnum)
+
+   if bufnum < 0 && dirname !~ '/$'
+    " trying appending a trailing /
+"    call Decho("  try appending a trailing / to dirname<".dirname.">")
+    let bufnum= bufnr(escape(dirname.'/','\'))
+    if bufnum > 0
+     let dirname= dirname.'/'
+    endif
+   endif
+
+   if bufnum < 0 && dirname =~ '/$'
+    " trying removing a trailing /
+"    call Decho("  try removing a trailing / from dirname<".dirname.">")
+    let bufnum= bufnr(escape(substitute(dirname,'/$','',''),'\'))
+    if bufnum > 0
+     let dirname= substitute(dirname,'/$','','')
+    endif
+   endif
+
+"   call Decho("  findbuf1: bufnum=bufnr('".dirname."')=".bufnum." bufname(".bufnum.")<".bufname(bufnum)."> (initial)")
+   " note: !~ was used just below, but that means using ../ to go back would match (ie. abc/def/  and abc/ matches)
+   if bufnum > 0 && bufname(bufnum) != dirname && bufname(bufnum) != '.'
+    " handle approximate matches
+"    call Decho("  handling approx match: bufnum#%d<".bufname(bufnum)."> approx= dirname<".dirname.">")
+    let ibuf    = 1
     let buflast = bufnr("$")
-"    call Decho("findbuf2: buflast=".buflast)
+"    call Decho("  findbuf2: buflast=".buflast)
     while ibuf <= buflast
-     let bname= bufname(ibuf)
-"     call Decho("findbuf3: dirname<".dirname."> bufname(".ibuf.")<".bname.">")
-     if bname != '' && bname !~ '/' && dirname =~ '/'.bname.'$' | break | endif
-     if bname =~ '^'.dirname.'\=$' | break | endif
+     let bname= substitute(bufname(ibuf),'\\','/','g')
+"     call Decho("  findbuf3: dirname<".dirname."> bufname(".ibuf.")<".bname.">")
+     if bname != '' && bname !~ '/' && dirname =~ '/'.bname.'/\=$' | break | endif
+     if bname   =~ '^'.dirname.'/\=$' | break | endif
+     if dirname =~ '^'.bname.'/$'     | break | endif
      let ibuf= ibuf + 1
     endwhile
     if ibuf > buflast
@@ -1871,54 +2316,71 @@ fun! s:NetGetBuffer(islocal,dirname)
     else
      let bufnum= ibuf
     endif
-"    call Decho("findbuf4: bufnum=".bufnum)
+"    call Decho("  findbuf4: bufnum=".bufnum." (ibuf=".ibuf." buflast=".buflast.")")
    endif
   endif
 
   " get enew buffer and name it -or- re-use buffer {{{3
+"  call Decho("--get enew buffer and name it OR re-use buffer-- (bufnum=".bufnum.")")
   mark '
   if bufnum < 0 || !bufexists(bufnum)
-"   call Decho("get enew buffer")
    call s:NetrwEnew(dirname)
-   call s:NetrwSafeOptions()
+"   call Decho("  got enew buffer#".bufnr("%")." (altbuf<".expand("#").">)")
    " name the buffer
    if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST
-"    call Decho('silent! keepalt file NetrwTreeListing')
-    silent! keepalt file NetrwTreeListing
+    " Got enew buffer; transform into a NetrwTreeListing
+"    call Decho("--transform enew buffer#".bufnr("%")." into a NetrwTreeListing --")
+    if !exists("s:netrw_treelistnum")
+     let s:netrw_treelistnum= 1
+    else
+     let s:netrw_treelistnum= s:netrw_treelistnum + 1
+    endif
+    let w:netrw_treebufnr= bufnr("%")
+"    call Decho("  exe silent! keepalt file NetrwTreeListing ".s:netrw_treelistnum)
+    exe 'silent! keepalt file NetrwTreeListing\ '.s:netrw_treelistnum
+    nnoremap <silent> <buffer> [       :silent call <SID>TreeListMove('[')<cr>
+    nnoremap <silent> <buffer> ]       :silent call <SID>TreeListMove(']')<cr>
+    nnoremap <silent> <buffer> [[       :silent call <SID>TreeListMove('[')<cr>
+    nnoremap <silent> <buffer> ]]       :silent call <SID>TreeListMove(']')<cr>
+"    call Decho("  tree listing#".s:netrw_treelistnum." bufnr=".w:netrw_treebufnr)
    else
-"    call Decho('exe silent! keepalt file '.escape(dirname,s:netrw_cd_escape))
 "    let v:errmsg= "" " Decho
-    let escdirname= escape(dirname,s:netrw_cd_escape)
+    let escdirname= fnameescape(dirname)
+"    call Decho("  errmsg<".v:errmsg."> bufnr(".escdirname.")=".bufnr(escdirname)."<".bufname(bufnr(escdirname)).">")
+"    call Decho('  exe silent! keepalt file '.escdirname)
     exe 'silent! keepalt file '.escdirname
-"    call Decho("errmsg<".v:errmsg."> bufnr(".escdirname.")=".bufnr(escdirname)."<".bufname(bufnr(escdirname)).">")
+"    call Decho("  errmsg<".v:errmsg."> bufnr(".escdirname.")=".bufnr(escdirname)."<".bufname(bufnr(escdirname)).">")
    endif
-"   call Decho("named enew buffer#".bufnr("%")."<".bufname("%").">")
+"   call Decho("  named enew buffer#".bufnr("%")."<".bufname("%").">")
 
   else " Re-use the buffer
-
-"   call Decho("re-use buffer:")
+"   call Decho("--re-use buffer#".bufnum.": --")
    let eikeep= &ei
    set ei=all
    if getline(2) =~ '^" Netrw Directory Listing'
-"    call Decho("re-use buffer#".bufnum."<".((bufnum > 0)? bufname(bufnum) : "")."> using:  keepalt b ".bufnum)
+"    call Decho("  re-use buffer#".bufnum."<".((bufnum > 0)? bufname(bufnum) : "")."> using:  keepalt b ".bufnum)
     exe "keepalt b ".bufnum
    else
-"    call Decho("reusing buffer#".bufnum."<".((bufnum > 0)? bufname(bufnum) : "")."> using:  b ".bufnum)
+"    call Decho("  reusing buffer#".bufnum."<".((bufnum > 0)? bufname(bufnum) : "")."> using:  b ".bufnum)
     exe "b ".bufnum
    endif
+   if bufname("%") == '.'
+    exe "silent! keepalt file ".escape(getcwd(),' ')
+   endif
    let &ei= eikeep
    if line("$") <= 1
     call s:NetrwListSettings(a:islocal)
-"    call Dret("s:NetGetBuffer 0 : re-using buffer#".bufnr("%").", but its empty, so refresh it")
+"    call Dret("s:NetrwGetBuffer 0 : re-using buffer#".bufnr("%").", but its empty, so refresh it")
     return 0
    elseif exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST
-"    call Decho("clear buffer<".expand("%")."> with :%d")
+"    call Decho("--re-use tree listing--")
+"    call Decho("  clear buffer<".expand("%")."> with :%d")
     silent %d
     call s:NetrwListSettings(a:islocal)
-"    call Dret("s:NetGetBuffer 0 : re-using buffer#".bufnr("%").", but treelist mode always needs a refresh")
+"    call Dret("s:NetrwGetBuffer 0 : re-using buffer#".bufnr("%").", but treelist mode always needs a refresh")
     return 0
    else
-"    call Dret("s:NetGetBuffer 1 : buf#".bufnr("%"))
+"    call Dret("s:NetrwGetBuffer 1 : buf#".bufnr("%"))
     return 1
    endif
   endif
@@ -1928,243 +2390,325 @@ fun! s:NetGetBuffer(islocal,dirname)
   "  slow   0         D      D      Deleting a buffer implies it will not be re-used (slow)
   "  med    1         D      H
   "  fast   2         H      H
+"  call Decho("--do netrw settings: make this buffer not-a-file, modifiable, not line-numbered, etc--")
   let fname= expand("%")
   call s:NetrwListSettings(a:islocal)
-  exe "file ".escape(fname,' ')
+  exe "keepalt file ".escape(fname,' ')
 
   " delete all lines from buffer {{{3
-"  call Decho("clear buffer<".expand("%")."> with :%d")
+"  call Decho("--delete all lines from buffer--")
+"  call Decho("  clear buffer<".expand("%")."> with :%d")
   keepalt silent! %d
 
-"  call Dret("s:NetGetBuffer 0 : buf#".bufnr("%"))
+"  call Dret("s:NetrwGetBuffer 0 : buf#".bufnr("%"))
   return 0
 endfun
 
 " ---------------------------------------------------------------------
-" s:NetrwListSettings: {{{2
-fun! s:NetrwListSettings(islocal)
-"  call Dfunc("s:NetrwListSettings(islocal=".a:islocal.")")
-  let fname= bufname("%")
-  setlocal bt=nofile nobl ma nonu nowrap noro
-  exe "file ".escape(fname,' ')
-  if g:netrw_use_noswf
-   setlocal noswf
+" s:NetrwGetcwd: get the current directory. {{{2
+"   Change backslashes to forward slashes, if any.
+"   If doesc is true, escape certain troublesome characters
+fun! s:NetrwGetcwd(doesc)
+"  call Dfunc("NetrwGetcwd(doesc=".a:doesc.")")
+  let curdir= substitute(getcwd(),'\\','/','ge')
+  if curdir !~ '[\/]$'
+   let curdir= curdir.'/'
   endif
-"  call Dredir("ls!")
-"  call Decho("exe setlocal ts=".g:netrw_maxfilenamelen)
-  exe "setlocal ts=".g:netrw_maxfilenamelen
-  if g:netrw_fastbrowse > a:islocal
-   setlocal bh=hide
-  else
-   setlocal bh=delete
+  if a:doesc
+   let curdir= fnameescape(curdir)
   endif
-"  call Dret("s:NetrwListSettings")
+"  call Dret("NetrwGetcwd <".curdir.">")
+  return curdir
 endfun
 
 " ---------------------------------------------------------------------
-" s:PerformListing: {{{2
-fun! s:PerformListing(islocal)
-"  call Dfunc("s:PerformListing(islocal=".a:islocal.") buf(%)=".bufnr("%")."<".bufname("%").">")
+"  s:NetrwGetWord: it gets the directory/file named under the cursor {{{2
+fun! s:NetrwGetWord()
+"  call Dfunc("s:NetrwGetWord() line#".line(".")." liststyle=".g:netrw_liststyle." virtcol=".virtcol("."))
+  call s:UseBufWinVars()
 
-"   if exists("g:netrw_silent") && g:netrw_silent == 0 && &ch >= 1     " Decho
-"    call Decho("(netrw) Processing your browsing request...")
-"   endif                                                              " Decho
+  " insure that w:netrw_liststyle is set up
+  if !exists("w:netrw_liststyle")
+   if exists("g:netrw_liststyle")
+    let w:netrw_liststyle= g:netrw_liststyle
+   else
+    let w:netrw_liststyle= s:THINLIST
+   endif
+"   call Decho("w:netrw_liststyle=".w:netrw_liststyle)
+  endif
 
-"   call Decho('w:netrw_liststyle='.(exists("w:netrw_liststyle")? w:netrw_liststyle : 'n/a'))
-   if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("w:netrw_treedict")
-    " force a refresh for tree listings
-"    call Decho("force refresh for treelisting: clear buffer<".expand("%")."> with :%d")
-    setlocal ma noro
-    keepjumps %d
+  if exists("w:netrw_bannercnt") && line(".") < w:netrw_bannercnt
+   " Active Banner support
+"   call Decho("active banner handling")
+   norm! 0
+   let dirname= "./"
+   let curline= getline('.')
+
+   if curline =~ '"\s*Sorted by\s'
+    norm s
+    let s:netrw_skipbrowse= 1
+    echo 'Pressing "s" also works'
+
+   elseif curline =~ '"\s*Sort sequence:'
+    let s:netrw_skipbrowse= 1
+    echo 'Press "S" to edit sorting sequence'
+
+   elseif curline =~ '"\s*Quick Help:'
+    norm ?
+    let s:netrw_skipbrowse= 1
+    echo 'Pressing "?" also works'
+
+   elseif curline =~ '"\s*\%(Hiding\|Showing\):'
+    norm a
+    let s:netrw_skipbrowse= 1
+    echo 'Pressing "a" also works'
+
+   elseif line("$") > w:netrw_bannercnt
+    exe 'silent keepjumps '.w:netrw_bannercnt
    endif
 
-  " save current directory on directory history list
-  call s:NetBookmarkDir(3,b:netrw_curdir)
+  elseif w:netrw_liststyle == s:THINLIST
+"   call Decho("thin column handling")
+   norm! 0
+   let dirname= getline('.')
 
-  " Set up the banner {{{3
-"  call Decho("set up banner")
-  keepjumps put ='\" ============================================================================'
-  keepjumps put ='\" Netrw Directory Listing                                        (netrw '.g:loaded_netrw.')'
-  keepjumps put ='\"   '.b:netrw_curdir
-  keepjumps 1d
-  let w:netrw_bannercnt= 3
-  exe w:netrw_bannercnt
+  elseif w:netrw_liststyle == s:LONGLIST
+"   call Decho("long column handling")
+   norm! 0
+   let dirname= substitute(getline('.'),'^\(\%(\S\+ \)*\S\+\).\{-}$','\1','e')
 
-  let sortby= g:netrw_sort_by
-  if g:netrw_sort_direction =~ "^r"
-   let sortby= sortby." reversed"
-  endif
+  elseif w:netrw_liststyle == s:TREELIST
+"   call Decho("treelist handling")
+   let dirname= substitute(getline('.'),'^\(| \)*','','e')
 
-  " Sorted by... {{{3
-"  call Decho("handle specified sorting: g:netrw_sort_by<".g:netrw_sort_by.">")
-  if g:netrw_sort_by =~ "^n"
-"   call Decho("directories will be sorted by name")
-   " sorted by name
-   keepjumps put ='\"   Sorted by      '.sortby
-   keepjumps put ='\"   Sort sequence: '.g:netrw_sort_sequence
-   let w:netrw_bannercnt= w:netrw_bannercnt + 2
   else
-"   call Decho("directories will be sorted by size or time")
-   " sorted by size or date
-   keepjumps put ='\"   Sorted by '.sortby
-   let w:netrw_bannercnt= w:netrw_bannercnt + 1
-  endif
-  exe w:netrw_bannercnt
+"   call Decho("obtain word from wide listing")
+   let dirname= getline('.')
 
-  " Hiding...  -or-  Showing... {{{3
-"  call Decho("handle hiding/showing (g:netrw_hide=".g:netrw_list_hide." g:netrw_list_hide<".g:netrw_list_hide.">)")
-  if g:netrw_list_hide != "" && g:netrw_hide
-   if g:netrw_hide == 1
-    keepjumps put ='\"   Hiding:        '.g:netrw_list_hide
-   else
-    keepjumps put ='\"   Showing:       '.g:netrw_list_hide
+   if !exists("b:netrw_cpf")
+    let b:netrw_cpf= 0
+    exe 'silent keepjumps '.w:netrw_bannercnt.',$g/^./if virtcol("$") > b:netrw_cpf|let b:netrw_cpf= virtcol("$")|endif'
+"   call Decho("computed cpf=".b:netrw_cpf)
    endif
-   let w:netrw_bannercnt= w:netrw_bannercnt + 1
+
+"   call Decho("buf#".bufnr("%")."<".bufname("%").">")
+   let filestart = (virtcol(".")/b:netrw_cpf)*b:netrw_cpf
+"   call Decho("filestart= ([virtcol=".virtcol(".")."]/[b:netrw_cpf=".b:netrw_cpf."])*b:netrw_cpf=".filestart."  bannercnt=".w:netrw_bannercnt)
+"   call Decho("1: dirname<".dirname.">")
+   if filestart == 0
+    norm! 0ma
+   else
+    call cursor(line("."),filestart+1)
+    norm! ma
+   endif
+   let rega= @a
+   call cursor(line("."),filestart+b:netrw_cpf+1)
+   norm! "ay`a
+   let dirname = @a
+   let @a      = rega
+"   call Decho("2: dirname<".dirname.">")
+   let dirname= substitute(dirname,'\s\+$','','e')
+"   call Decho("3: dirname<".dirname.">")
   endif
-  exe w:netrw_bannercnt
-  keepjumps put ='\"   Quick Help: <F1>:help  -:go up dir  D:delete  R:rename  s:sort-by  x:exec'
-  keepjumps put ='\" ============================================================================'
-  let w:netrw_bannercnt= w:netrw_bannercnt + 2
 
-  " bannercnt should index the line just after the banner
-  let w:netrw_bannercnt= w:netrw_bannercnt + 1
-  exe w:netrw_bannercnt
-"  call Decho("bannercnt=".w:netrw_bannercnt." (should index line just after banner) line($)=".line("$"))
+  " symlinks are indicated by a trailing "@".  Remove it before further processing.
+  let dirname= substitute(dirname,"@$","","")
 
-  " set up syntax highlighting {{{3
-"  call Decho("set up syntax highlighting")
-  if has("syntax")
-   setlocal ft=netrw
-   if !exists("g:syntax_on") || !g:syntax_on
-    setlocal ft=
-   endif
-  endif
+  " executables are indicated by a trailing "*".  Remove it before further processing.
+  let dirname= substitute(dirname,"\*$","","")
 
-  " get list of files
-  if a:islocal
-   call s:LocalListing()
-  else " remote
-   call s:RemoteListing()
-  endif
-"  call Decho("w:netrw_bannercnt=".w:netrw_bannercnt." (banner complete)")
+"  call Dret("s:NetrwGetWord <".dirname.">")
+  return dirname
+endfun
 
-  " manipulate the directory listing (hide, sort) {{{3
-  if line("$") >= w:netrw_bannercnt
-"   call Decho("manipulate directory listing (hide)")
-"   call Decho("g:netrw_hide=".g:netrw_hide." g:netrw_list_hide<".g:netrw_list_hide.">")
-   if g:netrw_hide && g:netrw_list_hide != ""
-    call s:NetListHide()
-   endif
-   if line("$") >= w:netrw_bannercnt
-"    call Decho("manipulate directory listing (sort) : g:netrw_sort_by<".g:netrw_sort_by.">")
+" ---------------------------------------------------------------------
+" s:NetrwListSettings: {{{2
+fun! s:NetrwListSettings(islocal)
+"  call Dfunc("s:NetrwListSettings(islocal=".a:islocal.")")
+  let fname= bufname("%")
+  setlocal bt=nofile nobl ma nonu nowrap noro
+"  call Decho("setlocal bt=nofile nobl ma nonu nowrap noro")
+  exe "keepalt file ".escape(fname,' ')
+  if g:netrw_use_noswf
+   setlocal noswf
+  endif
+"  call Dredir("ls!")
+"  call Decho("exe setlocal ts=".g:netrw_maxfilenamelen)
+  exe "setlocal ts=".g:netrw_maxfilenamelen
+  setlocal isk+=.,~,-
+  if g:netrw_fastbrowse > a:islocal
+   setlocal bh=hide
+  else
+   setlocal bh=delete
+  endif
+"  call Dret("s:NetrwListSettings")
+endfun
 
-    if g:netrw_sort_by =~ "^n"
-     " sort by name
-     call s:SetSort()
+" ---------------------------------------------------------------------
+"  s:NetrwListStyle: {{{2
+"  islocal=0: remote browsing
+"         =1: local browsing
+fun! s:NetrwListStyle(islocal)
+"  call Dfunc("NetrwListStyle(islocal=".a:islocal.") w:netrw_liststyle=".w:netrw_liststyle)
+  let fname             = s:NetrwGetWord()
+  if !exists("w:netrw_liststyle")|let w:netrw_liststyle= g:netrw_liststyle|endif
+  let w:netrw_liststyle = (w:netrw_liststyle + 1) % s:MAXLIST
+"  call Decho("fname<".fname.">")
+"  call Decho("chgd w:netrw_liststyle to ".w:netrw_liststyle)
+"  call Decho("b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : "doesn't exist").">")
 
-     if w:netrw_bannercnt < line("$")
-"      call Decho("g:netrw_sort_direction=".g:netrw_sort_direction." (bannercnt=".w:netrw_bannercnt.")")
-      if g:netrw_sort_direction =~ 'n'
-       " normal direction sorting
-       exe 'silent keepjumps '.w:netrw_bannercnt.',$sort'
-      else
-       " reverse direction sorting
-       exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!'
-      endif
-     endif
-     " remove priority pattern prefix
-"     call Decho("remove priority pattern prefix")
-     exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{3}\///e'
+  if w:netrw_liststyle == s:THINLIST
+   " use one column listing
+"   call Decho("use one column list")
+   let g:netrw_list_cmd = substitute(g:netrw_list_cmd,' -l','','ge')
 
-    elseif a:islocal
-     if w:netrw_bannercnt < line("$")
-"      call Decho("g:netrw_sort_direction=".g:netrw_sort_direction)
-      if g:netrw_sort_direction =~ 'n'
-"       call Decho('exe silent keepjumps '.w:netrw_bannercnt.',$sort')
-       exe 'silent keepjumps '.w:netrw_bannercnt.',$sort'
-      else
-"       call Decho('exe silent keepjumps '.w:netrw_bannercnt.',$sort!')
-       exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!'
-      endif
-     endif
-     exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{-}\///e'
-    endif
+  elseif w:netrw_liststyle == s:LONGLIST
+   " use long list
+"   call Decho("use long list")
+   let g:netrw_list_cmd = g:netrw_list_cmd." -l"
 
-   elseif g:netrw_sort_direction =~ 'r'
-"    call Decho('reverse the sorted listing')
-    exe 'silent keepjumps '.w:netrw_bannercnt.'g/^/m '.w:netrw_bannercnt
-   endif
-  endif
+  elseif w:netrw_liststyle == s:WIDELIST
+   " give wide list
+"   call Decho("use wide list")
+   let g:netrw_list_cmd = substitute(g:netrw_list_cmd,' -l','','ge')
 
-  " convert to wide/tree listing {{{3
-"  call Decho("modify display if wide/tree listing style")
-  call s:NetWideListing()
-  call s:NetTreeListing(b:netrw_curdir)
+  elseif w:netrw_liststyle == s:TREELIST
+"   call Decho("use tree list")
+   let g:netrw_list_cmd = substitute(g:netrw_list_cmd,' -l','','ge')
 
-  if exists("w:netrw_bannercnt") && line("$") > w:netrw_bannercnt
-   " place cursor on the top-left corner of the file listing
-"   call Decho("place cursor on top-left corner of file listing")
-   exe 'silent '.w:netrw_bannercnt
-   norm! 0
+  else
+   call netrw#ErrorMsg(s:WARNING,"bad value for g:netrw_liststyle (=".w:netrw_liststyle.")",46)
+   let g:netrw_liststyle = s:THINLIST
+   let w:netrw_liststyle = g:netrw_liststyle
+   let g:netrw_list_cmd  = substitute(g:netrw_list_cmd,' -l','','ge')
   endif
+  setlocal ma noro
+"  call Decho("setlocal ma noro")
 
-  " record previous current directory
-  let w:netrw_prvdir= b:netrw_curdir
-"  call Decho("record netrw_prvdir<".w:netrw_prvdir.">")
+  " clear buffer - this will cause NetrwBrowse/LocalBrowseCheck to do a refresh
+"  call Decho("clear buffer<".expand("%")."> with :%d")
+  %d
 
-  " save certain window-oriented variables into buffer-oriented variables {{{3
-  call s:SetBufWinVars()
-  call s:NetOptionRestore()
+  " refresh the listing
+  let svpos= netrw#NetrwSavePosn()
+  call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./'))
+  call netrw#NetrwRestorePosn(svpos)
 
-  " set display to netrw display settings
-"  call Decho("set display to netrw display settings (noma nomod etc)")
-  setlocal noma nomod nonu nobl nowrap ro
-  if exists("s:treecurpos")
-   call setpos('.',s:treecurpos)
-   unlet s:treecurpos
+  " keep cursor on the filename
+  silent keepjumps $
+  let result= search('\%(^\%(|\+\s\)\=\|\s\{2,}\)\zs'.escape(fname,'.\[]*$^').'\%(\s\{2,}\|$\)','bc')
+"  call Decho("search result=".result." w:netrw_bannercnt=".(exists("w:netrw_bannercnt")? w:netrw_bannercnt : 'N/A'))
+  if result <= 0 && exists("w:netrw_bannercnt")
+   exe "keepjumps ".w:netrw_bannercnt
   endif
 
-"  call Dret("s:PerformListing : curpos<".string(getpos(".")).">")
+"  call Dret("NetrwListStyle".(exists("w:netrw_liststyle")? ' : w:netrw_liststyle='.w:netrw_liststyle : ""))
 endfun
 
 " ---------------------------------------------------------------------
-"  s:NetBrowseChgDir: constructs a new directory based on the current {{{2
-"                     directory and a new directory name
-fun! s:NetBrowseChgDir(islocal,newdir,...)
-"  call Dfunc("s:NetBrowseChgDir(islocal=".a:islocal."> newdir<".a:newdir.">) a:0=".a:0." curpos<".string(getpos("."))."> b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : "").">")
-
-  if !exists("b:netrw_curdir")
-"   call Decho("(NetBrowseChgDir) b:netrw_curdir doesn't exist!")
-   echoerr "(NetBrowseChgDir) b:netrw_curdir doesn't exist!"
-"   call Dret("s:NetBrowseChgDir")
+" s:NetrwBookmarkMenu: Uses menu priorities {{{2
+"                      .2.[cnt] for bookmarks, and
+"                      .3.[cnt] for history
+"                      (see s:NetrwMenu())
+fun! s:NetrwBookmarkMenu()
+  if !exists("s:netrw_menucnt")
    return
   endif
+"  call Dfunc("NetrwBookmarkMenu() bookmarkcnt=".g:NETRW_BOOKMARKMAX." histcnt=".g:NETRW_DIRHIST_CNT." menucnt=".s:netrw_menucnt)
 
-  call netrw#NetSavePosn()
-  let nbcd_curpos = getpos('.')
-  let dirname     = substitute(b:netrw_curdir,'\\','/','ge')
-  let newdir      = a:newdir
-
-  " set up o/s-dependent directory recognition pattern
-  if has("amiga")
-   let dirpat= '[\/:]$'
-  else
-   let dirpat= '[\/]$'
-  endif
-"  call Decho("dirname<".dirname.">  dirpat<".dirpat.">")
+  " the following test assures that gvim is running, has menus available, and has menus enabled.
+  if has("gui") && has("menu") && has("gui_running") && &go =~ 'm' && g:netrw_menu
+   if exists("g:NetrwTopLvlMenu")
+"    call Decho("removing ".g:NetrwTopLvlMenu."Bookmarks menu item(s)")
+    exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Bookmarks'
+   endif
 
-  if dirname !~ dirpat
-   " apparently vim is "recognizing" that it is in a directory and
-   " is removing the trailing "/".  Bad idea, so I have to put it back.
-   let dirname= dirname.'/'
-"   call Decho("adjusting dirname<".dirname.">")
-  endif
+   " show bookmarked places
+   let cnt       = 1
+   while cnt <= g:NETRW_BOOKMARKMAX
+    if exists("g:NETRW_BOOKMARKDIR_{cnt}")
+     let bmdir= escape(g:NETRW_BOOKMARKDIR_{cnt},'. ')
+"     call Decho('silent! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmark.'.bmdir.'       :e '.bmdir)
+     exe 'silent! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmarks.'.bmdir.'      :e '.bmdir."\<cr>"
+    endif
+    let cnt= cnt + 1
+   endwhile
 
-  if newdir !~ dirpat
-   " handling a file
+   " show directory browsing history
+   let cnt     = g:NETRW_DIRHIST_CNT
+   let first   = 1
+   let histcnt = 0
+   while ( first || cnt != g:NETRW_DIRHIST_CNT )
+    let histcnt  = histcnt + 1
+    let priority = g:NETRW_DIRHIST_CNT + histcnt
+    if exists("g:NETRW_DIRHIST_{cnt}")
+     let bmdir= escape(g:NETRW_DIRHIST_{cnt},'. ')
+"     call Decho('silent! menu '.g:NetrwMenuPriority.".3.".priority." ".g:NetrwTopLvlMenu.'History.'.bmdir.'   :e '.bmdir)
+     exe 'silent! menu '.g:NetrwMenuPriority.".3.".priority." ".g:NetrwTopLvlMenu.'History.'.bmdir.'   :e '.bmdir."\<cr>"
+    endif
+    let first = 0
+    let cnt   = ( cnt - 1 ) % g:netrw_dirhistmax
+    if cnt < 0
+     let cnt= cnt + g:netrw_dirhistmax
+    endif
+   endwhile
+  endif
+"  call Dret("NetrwBookmarkMenu")
+endfun
+
+" ---------------------------------------------------------------------
+"  s:NetrwBrowseChgDir: constructs a new directory based on the current {{{2
+"                       directory and a new directory name.  Also, if the
+"                       "new directory name" is actually a file,
+"                       NetrwBrowseChgDir() edits the file.
+fun! s:NetrwBrowseChgDir(islocal,newdir,...)
+"  call Dfunc("s:NetrwBrowseChgDir(islocal=".a:islocal."> newdir<".a:newdir.">) a:0=".a:0." curpos<".string(getpos("."))."> b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : "").">")
+
+  if !exists("b:netrw_curdir")
+   " Don't try to change-directory: this can happen, for example, when netrw#ErrorMsg has been called
+   " and the current window is the NetrwMessage window.
+"   call Decho("(NetrwBrowseChgDir) b:netrw_curdir doesn't exist!")
+"   call Decho("getcwd<".getcwd().">")
+"   call Dredir("ls!")
+"   call Dret("s:NetrwBrowseChgDir")
+   return
+  endif
+
+  call s:NetrwOptionSave("s:")
+  call s:NetrwSafeOptions()
+  let nbcd_curpos                = netrw#NetrwSavePosn()
+  let s:nbcd_curpos_{bufnr('%')} = nbcd_curpos
+  let dirname                    = substitute(b:netrw_curdir,'\\','/','ge')
+  let newdir                     = a:newdir
+  let dolockout                  = 0
+
+  " set up o/s-dependent directory recognition pattern
+  if has("amiga")
+   let dirpat= '[\/:]$'
+  else
+   let dirpat= '[\/]$'
+  endif
+"  call Decho("dirname<".dirname.">  dirpat<".dirpat.">")
+
+  if dirname !~ dirpat
+   " apparently vim is "recognizing" that it is in a directory and
+   " is removing the trailing "/".  Bad idea, so I put it back.
+   let dirname= dirname.'/'
+"   call Decho("adjusting dirname<".dirname.">")
+  endif
+
+  if newdir !~ dirpat
+   " ------------
+   " edit a file:
+   " ------------
 "   call Decho('case "handling a file": newdir<'.newdir.'> !~ dirpat<'.dirpat.">")
    if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("w:netrw_treedict") && newdir !~ '^\(/\|\a:\)'
-    let dirname= s:NetTreeDir().newdir
+    let dirname= s:NetrwTreeDir()
+    if dirname =~ '/$'
+     let dirname= dirname.newdir
+    else
+     let dirname= s:NetrwTreeDir()."/".newdir
+    endif
 "    call Decho("tree listing")
    elseif newdir =~ '^\(/\|\a:\)'
     let dirname= newdir
@@ -2172,10 +2716,11 @@ fun! s:NetBrowseChgDir(islocal,newdir,...)
     let dirname= s:ComposePath(dirname,newdir)
    endif
 "   call Decho("handling a file: dirname<".dirname."> (a:0=".a:0.")")
-   " this lets NetBrowseX avoid the edit
+   " this lets NetrwBrowseX avoid the edit
    if a:0 < 1
-"    call Decho("dirname<".dirname."> netrw_cd_escape<".s:netrw_cd_escape."> browse_split=".g:netrw_browse_split)
-"    call Decho("about to edit<".escape(dirname,s:netrw_cd_escape).">  didsplit=".(exists("s:didsplit")? s:didsplit : "doesn't exist"))
+"    call Decho("dirname<".dirname."> netrw_cd_escape<".g:netrw_cd_escape."> browse_split=".g:netrw_browse_split)
+"    call Decho("set up windows for editing<".fnameescape(dirname).">  didsplit=".(exists("s:didsplit")? s:didsplit : "doesn't exist"))
+    call s:NetrwOptionRestore("s:")
     if !exists("s:didsplit")
      if     g:netrw_browse_split == 1
       new
@@ -2185,42 +2730,59 @@ fun! s:NetBrowseChgDir(islocal,newdir,...)
       wincmd |
      elseif g:netrw_browse_split == 3
       tabnew
+     elseif g:netrw_browse_split == 4
+      if s:NetrwPrevWinOpen(2) == 3
+"       call Dret("s:NetrwBrowseChgDir")
+       return
+      endif
      else
       " handling a file, didn't split, so remove menu
 "      call Decho("handling a file+didn't split, so remove menu")
-      call s:NetMenu(0)
+      call s:NetrwMenu(0)
       " optional change to window
-      if g:netrw_chgwin >= 1 
-       exe g:netrw_chgwin."wincmd w"
+      if g:netrw_chgwin >= 1
+       exe "keepjumps ".g:netrw_chgwin."wincmd w"
       endif
      endif
     endif
-    " edit the file
-    " its local only: LocalBrowseCheck() doesn't edit a file, but NetBrowse() will
+    " the point where netrw actually edits the (local) file
+    " if its local only: LocalBrowseCheck() doesn't edit a file, but NetrwBrowse() will
     if a:islocal
-"     call Decho("edit file: exe e! ".escape(dirname,s:netrw_cd_escape))
-     exe "e! ".escape(dirname,s:netrw_cd_escape)
+"     call Decho("edit local file: exe e! ".fnameescape(dirname))
+     exe "e! ".fnameescape(dirname)
+    else
+"     call Decho("remote file: NetrwBrowse will edit it")
     endif
-    setlocal ma nomod noro
+    let dolockout= 1
    endif
 
   elseif newdir =~ '^/'
+   " ---------------------------------
    " just go to the new directory spec
+   " ---------------------------------
 "   call Decho('case "just go to new directory spec": newdir<'.newdir.'>')
    let dirname= newdir
+   call s:SetRexDir(a:islocal,dirname)
+   call s:NetrwOptionRestore("s:")
 
   elseif newdir == './'
+   " --------------------------
    " refresh the directory list
+   " --------------------------
 "   call Decho('case "refresh directory listing": newdir == "./"')
+   call s:SetRexDir(a:islocal,dirname)
 
   elseif newdir == '../'
+   " -------------------
    " go up one directory
+   " -------------------
 "   call Decho('case "go up one directory": newdir == "../"')
 
    if w:netrw_liststyle == s:TREELIST && exists("w:netrw_treedict")
     " force a refresh
 "    call Decho("clear buffer<".expand("%")."> with :%d")
     setlocal noro ma
+"    call Decho("setlocal noro ma")
     keepjumps %d
    endif
 
@@ -2248,16 +2810,18 @@ fun! s:NetBrowseChgDir(islocal,newdir,...)
     endif
 "    call Decho("unix: dirname<".dirname."> (go up one dir)")
    endif
+   call s:SetRexDir(a:islocal,dirname)
 
-  elseif w:netrw_liststyle == s:TREELIST && exists("w:netrw_treedict")
+  elseif exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("w:netrw_treedict")
 "   call Decho('case liststyle is TREELIST and w:netrw_treedict exists')
-   " force a refresh (for TREELIST, wait for NetTreeDir() to force the refresh)
+   " force a refresh (for TREELIST, wait for NetrwTreeDir() to force the refresh)
    setlocal noro ma
+"   call Decho("setlocal noro ma")
    if !(exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("b:netrw_curdir"))
 "    call Decho("clear buffer<".expand("%")."> with :%d")
     keepjumps %d
    endif
-   let treedir      = s:NetTreeDir()
+   let treedir      = s:NetrwTreeDir()
    let s:treecurpos = nbcd_curpos
    let haskey= 0
 "   call Decho("w:netrw_treedict<".string(w:netrw_treedict).">")
@@ -2304,972 +2868,2597 @@ fun! s:NetBrowseChgDir(islocal,newdir,...)
     let dirname= substitute(treedir,'/*$','/','')
 "    call Decho("go down one dir: treedir<".treedir.">")
    endif
+   call s:SetRexDir(a:islocal,dirname)
 
   else
    " go down one directory
    let dirname= s:ComposePath(dirname,newdir)
 "   call Decho("go down one dir: dirname<".dirname."> newdir<".newdir.">")
+   call s:SetRexDir(a:islocal,dirname)
   endif
 
-"  call Dret("s:NetBrowseChgDir <".dirname."> : curpos<".string(getpos(".")).">")
+  call s:NetrwOptionRestore("s:")
+  if dolockout
+"   call Decho("doing modification lockout settings: ma nomod noro")
+   setlocal ma nomod noro
+"   call Decho("setlocal ma nomod noro")
+  endif
+
+"  call Dret("s:NetrwBrowseChgDir <".dirname."> : curpos<".string(getpos(".")).">")
   return dirname
 endfun
 
 " ---------------------------------------------------------------------
-" s:NetHide: this function is invoked by the "a" map for browsing {{{2
-"          and switches the hiding mode
-fun! s:NetHide(islocal)
-"  call Dfunc("NetHide(islocal=".a:islocal.")")
-   let g:netrw_hide=(g:netrw_hide+1)%3
-   exe "norm! 0"
-   if g:netrw_hide && g:netrw_list_hide == ""
-    call netrw#ErrorMsg(s:WARNING,"your hiding list is empty!",49)
-"    call Dret("NetHide")
-    return
-   endif
-   call netrw#NetSavePosn()
-   call s:NetRefresh(a:islocal,s:NetBrowseChgDir(a:islocal,'./'))
-"  call Dret("NetHide")
-endfun
+" s:NetrwBrowseX:  allows users to write custom functions to operate on {{{2
+"              files given their extension.  Passes 0=local, 1=remote
+fun! netrw#NetrwBrowseX(fname,remote)
+"  call Dfunc("NetrwBrowseX(fname<".a:fname."> remote=".a:remote.")")
 
-" ---------------------------------------------------------------------
+  " set up the filename
+  " (lower case the extension, make a local copy of a remote file)
+  let exten= substitute(a:fname,'.*\.\(.\{-}\)','\1','e')
+  if has("win32") || has("win95") || has("win64") || has("win16")
+   let exten= substitute(exten,'^.*$','\L&\E','')
+  endif
+  let fname= escape(a:fname,"%#")
+"  call Decho("fname<".fname."> after escape()")
 
-" ===========================================
-" s:NetPreview: {{{2
-fun! s:NetPreview(path) range
-"  call Dfunc("NetPreview(path<".a:path.">)")
-  if has("quickfix")
-   if !isdirectory(a:path)
-    exe "pedit ".escape(a:path,g:netrw_fname_escape)
-   elseif !exists("g:netrw_quiet")
-    call netrw#ErrorMsg(s:WARNING,"sorry, cannot preview a directory such as <".a:path.">",38)
+  " seems kde systems often have gnome-open due to dependencies, even though
+  " gnome-open's subsidiary display tools are largely absent.  Kde systems
+  " usually have "kdeinit" running, though...  (tnx Mikolaj Machowski)
+  if !exists("s:haskdeinit")
+   if has("unix")
+    let s:haskdeinit= s:System("system",'ps -e') =~ 'kdeinit'
+    if v:shell_error
+     let s:haskdeinit = 0
+    endif
+   else
+    let s:haskdeinit= 0
    endif
-  elseif !exists("g:netrw_quiet")
-   call netrw#ErrorMsg(s:WARNING,"sorry, to preview your vim needs the quickfix feature compiled in",39)
+"   call Decho("setting s:haskdeinit=".s:haskdeinit)
   endif
-"  call Dret("NetPreview")
-endfun
 
-" ---------------------------------------------------------------------
-" s:NetSortStyle: change sorting style (name - time - size) and refresh display {{{2
-fun! s:NetSortStyle(islocal)
-"  call Dfunc("s:NetSortStyle(islocal=".a:islocal.") netrw_sort_by<".g:netrw_sort_by.">")
-  call s:NetSaveWordPosn()
+  if a:remote == 1
+   " create a local copy
+   let fname= fnamemodify(tempname(),":r").".".exten
+"   call Decho("a:remote=".a:remote.": create a local copy of <".a:fname."> as <".fname.">")
+   exe "silent keepjumps bot 1new ".a:fname
+   setlocal bh=delete
+"   call Decho("read <".fname.">, now writing: exe w! ".fname)
+   exe "silent! w! ".fname
+   q
+  endif
+"  call Decho("exten<".exten."> "."netrwFileHandlers#NFH_".exten."():exists=".exists("*netrwFileHandlers#NFH_".exten))
 
-  let g:netrw_sort_by= (g:netrw_sort_by =~ 'n')? 'time' : (g:netrw_sort_by =~ 't')? 'size' : 'name'
-  norm! 0
-  call netrw#NetSavePosn()
-  call s:NetRefresh(a:islocal,s:NetBrowseChgDir(a:islocal,'./'))
+  " set up redirection
+  if &srr =~ "%s"
+   if (has("win32") || has("win95") || has("win64") || has("win16"))
+    let redir= substitute(&srr,"%s","nul","")
+   else
+    let redir= substitute(&srr,"%s","/dev/null","")
+   endif
+  elseif (has("win32") || has("win95") || has("win64") || has("win16"))
+   let redir= &srr . "nul"
+  else
+   let redir= &srr . "/dev/null"
+  endif
+"  call Decho("redir{".redir."} srr{".&srr."}")
 
-"  call Dret("s:NetSortStyle : netrw_sort_by<".g:netrw_sort_by.">")
-endfun
+  " extract any viewing options.  Assumes that they're set apart by quotes.
+  if exists("g:netrw_browsex_viewer")
+   if g:netrw_browsex_viewer =~ '\s'
+    let viewer  = substitute(g:netrw_browsex_viewer,'\s.*$','','')
+    let viewopt = substitute(g:netrw_browsex_viewer,'^\S\+\s*','','')." "
+    let oviewer = ''
+    let cnt     = 1
+    while !executable(viewer) && viewer != oviewer
+     let viewer  = substitute(g:netrw_browsex_viewer,'^\(\(^\S\+\s\+\)\{'.cnt.'}\S\+\)\(.*\)$','\1','')
+     let viewopt = substitute(g:netrw_browsex_viewer,'^\(\(^\S\+\s\+\)\{'.cnt.'}\S\+\)\(.*\)$','\3','')." "
+     let cnt     = cnt + 1
+     let oviewer = viewer
+"     call Decho("!exe: viewer<".viewer.">  viewopt<".viewopt.">")
+    endwhile
+   else
+    let viewer  = g:netrw_browsex_viewer
+    let viewopt = ""
+   endif
+"   call Decho("viewer<".viewer.">  viewopt<".viewopt.">")
+  endif
 
-" ---------------------------------------------------------------------
-"  Remote Directory Browsing Support:    {{{1
-" ===========================================
+  " execute the file handler
+  if exists("g:netrw_browsex_viewer") && g:netrw_browsex_viewer == '-'
+"   call Decho("g:netrw_browsex_viewer<".g:netrw_browsex_viewer.">")
+   let ret= netrwFileHandlers#Invoke(exten,fname)
 
-" ---------------------------------------------------------------------
-" s:RemoteListing: {{{2
-fun! s:RemoteListing()
-"  call Dfunc("s:RemoteListing() b:netrw_curdir<".b:netrw_curdir.">)")
+  elseif exists("g:netrw_browsex_viewer") && executable(viewer)
+"   call Decho("g:netrw_browsex_viewer<".g:netrw_browsex_viewer.">")
+"   call Decho("exe silent !".viewer." ".viewopt.shellescape(fname).redir)
+   exe "silent !".viewer." ".viewopt.shellescape(fname).redir
+   let ret= v:shell_error
 
-  call s:RemotePathAnalysis(b:netrw_curdir)
+  elseif has("win32") || has("win64")
+"   call Decho('exe silent !start rundll32 url.dll,FileProtocolHandler '.shellescape(fname))
+   exe 'silent !start rundll32 url.dll,FileProtocolHandler '.shellescape(fname)
+   call inputsave()|call input("Press <cr> to continue")|call inputrestore()
+   let ret= v:shell_error
 
-  " sanity check:
-  if exists("b:netrw_method") && b:netrw_method =~ '[235]'
-"   call Decho("b:netrw_method=".b:netrw_method)
-   if !executable("ftp")
-    if !exists("g:netrw_quiet")
-     call netrw#ErrorMsg(s:ERROR,"this system doesn't support remote directory listing via ftp",18)
-    endif
-    call s:NetOptionRestore()
-"    call Dret("s:RemoteListing")
-    return
-   endif
+  elseif has("unix") && executable("gnome-open") && !s:haskdeinit
+"   call Decho("exe silent !gnome-open ".shellescape(fname)." ".redir)
+   exe "silent !gnome-open ".shellescape(fname).redir
+   let ret= v:shell_error
 
-  elseif !exists("g:netrw_list_cmd") || g:netrw_list_cmd == ''
-   if !exists("g:netrw_quiet")
-    if g:netrw_list_cmd == ""
-     call netrw#ErrorMsg(s:ERROR,g:netrw_ssh_cmd." is not executable on your system",47)
-    else
-     call netrw#ErrorMsg(s:ERROR,"this system doesn't support remote directory listing via ".g:netrw_list_cmd,19)
-    endif
-   endif
+  elseif has("unix") && executable("kfmclient") && s:haskdeinit
+"   call Decho("exe silent !kfmclient exec ".shellescape(fname)." ".redir)
+   exe "silent !kfmclient exec ".shellescape(fname)." ".redir
+   let ret= v:shell_error
 
-   call s:NetOptionRestore()
-"   call Dret("s:RemoteListing")
-   return
-  endif  " (remote handling sanity check)
+  elseif has("macunix") && executable("open")
+"   call Decho("exe silent !open ".shellescape(fname)." ".redir)
+   exe "silent !open ".shellescape(fname)." ".redir
+   let ret= v:shell_error
 
-  if exists("b:netrw_method")
-"   call Decho("setting w:netrw_method<".b:netrw_method.">")
-   let w:netrw_method= b:netrw_method
+  else
+   " netrwFileHandlers#Invoke() always returns 0
+   let ret= netrwFileHandlers#Invoke(exten,fname)
   endif
 
-  if s:method == "ftp"
-   " use ftp to get remote file listing
-"   call Decho("use ftp to get remote file listing")
-   let s:method  = "ftp"
-   let listcmd = g:netrw_ftp_list_cmd
-   if g:netrw_sort_by =~ '^t'
-    let listcmd= g:netrw_ftp_timelist_cmd
-   elseif g:netrw_sort_by =~ '^s'
-    let listcmd= g:netrw_ftp_sizelist_cmd
-   endif
-"   call Decho("listcmd<".listcmd."> (using g:netrw_ftp_list_cmd)")
-   call s:NetBrowseFtpCmd(s:path,listcmd)
-"   exe "keepjumps ".w:netrw_bannercnt.',$g/^./call Decho("raw listing: ".getline("."))'
-
-   if w:netrw_liststyle == s:THINLIST || w:netrw_liststyle == s:WIDELIST || w:netrw_liststyle == s:TREELIST
-    " shorten the listing
-"    call Decho("generate short listing")
-    exe "keepjumps ".w:netrw_bannercnt
+  " if unsuccessful, attempt netrwFileHandlers#Invoke()
+  if ret
+   let ret= netrwFileHandlers#Invoke(exten,fname)
+  endif
 
-    " cleanup
-    if g:netrw_ftp_browse_reject != ""
-     exe "silent! g/".g:netrw_ftp_browse_reject."/keepjumps d"
-    endif
-    silent! keepjumps %s/\r$//e
+"  redraw!
 
-    " if there's no ../ listed, then put ./ and ../ in
-    let line1= line(".")
-    exe "keepjumps ".w:netrw_bannercnt
-    let line2= search('^\.\.\/\%(\s\|$\)','cnW')
-    if line2 == 0
-"     call Decho("netrw is putting ./ and ../ into listing")
-     keepjumps put='../'
-     keepjumps put='./'
-    endif
-    exe "keepjumps ".line1
-    keepjumps norm! 0
+  " cleanup: remove temporary file,
+  "          delete current buffer if success with handler,
+  "          return to prior buffer (directory listing)
+  "          Feb 12, 2008: had to de-activiate removal of
+  "          temporary file because it wasn't getting seen.
+"  if a:remote == 1 && fname != a:fname
+"   call Decho("deleting temporary file<".fname.">")
+"   call s:System("delete",fname)
+"  endif
 
-"    call Decho("line1=".line1." line2=".line2." line(.)=".line("."))
-    if search('^\d\{2}-\d\{2}-\d\{2}\s','n') " M$ ftp site cleanup
-"     call Decho("M$ ftp cleanup")
-     exe 'silent! keepjumps '.w:netrw_bannercnt.',$s/^\d\{2}-\d\{2}-\d\{2}\s\+\d\+:\d\+[AaPp][Mm]\s\+\%(<DIR>\|\d\+\)\s\+//'
-    else " normal ftp cleanup
-"     call Decho("normal ftp cleanup")
-     exe 'silent! keepjumps '.w:netrw_bannercnt.',$s/^\(\%(\S\+\s\+\)\{7}\S\+\)\s\+\(\S.*\)$/\2/e'
-     exe "silent! keepjumps ".w:netrw_bannercnt.',$g/ -> /s# -> .*/$#/#e'
-     exe "silent! keepjumps ".w:netrw_bannercnt.',$g/ -> /s# -> .*$#/#e'
-    endif
+  if a:remote == 1
+   setlocal bh=delete bt=nofile
+   if g:netrw_use_noswf
+    setlocal noswf
    endif
+   exe "norm! \<c-o>"
+"   redraw!
+  endif
 
-  else
-   " use ssh to get remote file listing {{{3
-"   call Decho("use ssh to get remote file listing: s:netrw_shq<".g:netrw_shq."> s:path<".s:path."> s:netrw_cd_escape<".s:netrw_cd_escape.">")
-   let listcmd= s:MakeSshCmd(g:netrw_list_cmd)
-"   call Decho("listcmd<".listcmd."> (using g:netrw_list_cmd)")
-   if g:netrw_scp_cmd =~ '^pscp'
-"    call Decho("1: exe silent r! ".listcmd.g:netrw_shq.s:path.g:netrw_shq)
-    exe "silent r! ".listcmd.g:netrw_shq.s:path.g:netrw_shq
-    " remove rubbish and adjust listing format of 'pscp' to 'ssh ls -FLa' like
-    g/^Listing directory/d
-    g/^d[-rwx][-rwx][-rwx]/s+$+/+e
-    silent g/^l[-rwx][-rwx][-rwx]/s+$+@+e
-    if g:netrw_liststyle != s:LONGLIST 
-     g/^[dlsp-][-rwx][-rwx][-rwx]/s/^.*\s\(\S\+\)$/\1/e
-    endif
-   else
-    if s:path == ""
-"     call Decho("2: exe silent r! ".listcmd)
-     exe "silent r! ".listcmd
-    else
-"     call Decho("3: exe silent r! ".listcmd." ".g:netrw_shq.s:path.g:netrw_shq)
-     exe "silent r! ".listcmd." ".g:netrw_shq.s:path.g:netrw_shq
-    endif
-   endif
+"  call Dret("NetrwBrowseX")
+endfun
 
-   " cleanup
-   if g:netrw_ftp_browse_reject != ""
-"    call Decho("(cleanup) exe silent! g/".g:netrw_ssh_browse_reject."/keepjumps d")
-    exe "silent! g/".g:netrw_ssh_browse_reject."/keepjumps d"
-   endif
+" ---------------------------------------------------------------------
+" netrw#Explore: launch the local browser in the directory of the current file {{{2
+"          dosplit==0: the window will be split iff the current file has
+"                      been modified
+"          dosplit==1: the window will be split before running the local
+"                      browser
+fun! netrw#Explore(indx,dosplit,style,...)
+"  call Dfunc("netrw#Explore(indx=".a:indx." dosplit=".a:dosplit." style=".a:style.",a:1<".a:1.">) &modified=".&modified." a:0=".a:0)
+  if !exists("b:netrw_curdir")
+   let b:netrw_curdir= getcwd()
+"   call Decho("set b:netrw_curdir<".b:netrw_curdir."> (used getcwd)")
   endif
+  let curfile= b:netrw_curdir
+"  call Decho("curfile<".curfile.">")
 
-  if w:netrw_liststyle == s:LONGLIST
-   " do a long listing; these substitutions need to be done prior to sorting {{{3
-"   call Decho("fix long listing:")
-
-   if s:method == "ftp"
-    " cleanup
-    exe "keepjumps ".w:netrw_bannercnt
-    while getline(".") =~ g:netrw_ftp_browse_reject
-     keepjumps d
-    endwhile
-    " if there's no ../ listed, then put ./ and ../ in
-    let line1= line(".")
-    keepjumps 1
-    silent keepjumps call search('^\.\.\/\%(\s\|$\)','W')
-    let line2= line(".")
-    if line2 == 0
-     exe 'keepjumps '.w:netrw_bannercnt."put='./'"
-     if b:netrw_curdir != '/'
-      exe 'keepjumps '.w:netrw_bannercnt."put='../'"
+  " save registers
+  silent! let keepregstar = @*
+  silent! let keepregplus = @+
+  silent! let keepregslash= @/
+
+  " if dosplit or file has been modified
+  if a:dosplit || &modified || a:style == 6
+"   call Decho("case: dosplit=".a:dosplit." modified=".&modified." a:style=".a:style)
+   call s:SaveWinVars()
+
+   if a:style == 0      " Explore, Sexplore
+"    call Decho("style=0: Explore or Sexplore")
+    exe g:netrw_winsize."wincmd s"
+
+   elseif a:style == 1  "Explore!, Sexplore!
+"    call Decho("style=1: Explore! or Sexplore!")
+    exe g:netrw_winsize."wincmd v"
+
+   elseif a:style == 2  " Hexplore
+"    call Decho("style=2: Hexplore")
+    exe "bel ".g:netrw_winsize."wincmd s"
+
+   elseif a:style == 3  " Hexplore!
+"    call Decho("style=3: Hexplore!")
+    exe "abo ".g:netrw_winsize."wincmd s"
+
+   elseif a:style == 4  " Vexplore
+"    call Decho("style=4: Vexplore")
+    exe "lefta ".g:netrw_winsize."wincmd v"
+
+   elseif a:style == 5  " Vexplore!
+"    call Decho("style=5: Vexplore!")
+    exe "rightb ".g:netrw_winsize."wincmd v"
+
+   elseif a:style == 6  " Texplore
+    call s:SaveBufVars()
+"    call Decho("style  = 6: Texplore")
+    tabnew
+    call s:RestoreBufVars()
+   endif
+   call s:RestoreWinVars()
+  endif
+  norm! 0
+
+  if a:0 > 0
+"   call Decho("case [a:0=".a:0."]>0: a:1<".a:1.">")
+   if a:1 =~ '^\~' && (has("unix") || (exists("g:netrw_cygwin") && g:netrw_cygwin))
+    let dirname= substitute(a:1,'\~',expand("$HOME"),'')
+"    call Decho("using dirname<".dirname.">  (case: ~ && unix||cygwin)")
+   elseif a:1 == '.'
+    let dirname= exists("b:netrw_curdir")? b:netrw_curdir : getcwd()
+    if dirname !~ '/$'
+     let dirname= dirname."/"
+    endif
+"    call Decho("using dirname<".dirname.">  (case: ".(exists("b:netrw_curdir")? "b:netrw_curdir" : "getcwd()").")")
+   elseif a:1 =~ '\$'
+    let dirname= expand(a:1)
+   else
+    let dirname= a:1
+"    call Decho("using dirname<".dirname.">")
+   endif
+  else
+   " clear explore
+"   call Decho("clearing explore variables")
+   2match none
+   if exists("s:explore_match")        |unlet s:explore_match        |endif
+   if exists("s:explore_indx")         |unlet s:explore_indx         |endif
+   if exists("s:dirstarstar")          |unlet s:dirstarstar          |endif
+   if exists("s:dirstarstar")          |unlet s:dirstarstar          |endif
+   if exists("w:netrw_explore_indx")   |unlet w:netrw_explore_indx   |endif
+   if exists("w:netrw_explore_listlen")|unlet w:netrw_explore_listlen|endif
+   if exists("w:netrw_explore_list")   |unlet w:netrw_explore_list   |endif
+   if exists("w:netrw_explore_bufnr")  |unlet w:netrw_explore_bufnr  |endif
+"   redraw!
+   echo " "
+   echo " "
+"   call Dret("netrw#Explore : cleared list")
+   return
+  endif
+
+  if dirname =~ '/\*\*/'
+   " handle .../**/.../filepat
+"   call Decho("case Explore .../**/.../filepat")
+   let prefixdir= substitute(dirname,'^\(.\{-}\)\*\*.*$','\1','')
+   if prefixdir =~ '^/' || (prefixdir =~ '^\a:/' && (has("win32") || has("win95") || has("win64") || has("win16")))
+    let b:netrw_curdir = prefixdir
+   else
+    let b:netrw_curdir= getcwd().'/'.prefixdir
+   endif
+   let dirname= substitute(dirname,'^.\{-}\(\*\*/.*\)$','\1','')
+   let starpat= 4;
+"   call Decho("pwd<".getcwd()."> dirname<".dirname.">")
+"   call Decho("case Explore ../**/../filepat (starpat=".starpat.")")
+
+  elseif dirname =~ '^\*//'
+   " starpat=1: Explore *//pattern   (current directory only search for files containing pattern)
+"   call Decho("case Explore *//pattern")
+   let pattern= substitute(dirname,'^\*//\(.*\)$','\1','')
+   let starpat= 1
+"   call Decho("Explore *//pat: (starpat=".starpat.") dirname<".dirname."> -> pattern<".pattern.">")
+   if &hls | let keepregslash= s:ExplorePatHls(pattern) | endif
+
+  elseif dirname =~ '^\*\*//'
+   " starpat=2: Explore **//pattern  (recursive descent search for files containing pattern)
+"   call Decho("case Explore **//pattern")
+   let pattern= substitute(dirname,'^\*\*//','','')
+   let starpat= 2
+"   call Decho("Explore **//pat: (starpat=".starpat.") dirname<".dirname."> -> pattern<".pattern.">")
+
+  elseif dirname =~ '^\*/'
+   " starpat=3: Explore */filepat   (search in current directory for filenames matching filepat)
+   let starpat= 3
+"   call Decho("case Explore */filepat (starpat=".starpat.")")
+
+  elseif dirname=~ '^\*\*/'
+   " starpat=4: Explore **/filepat  (recursive descent search for filenames matching filepat)
+   let starpat= 4
+"   call Decho("case Explore **/filepat (starpat=".starpat.")")
+  else
+   let starpat= 0
+  endif
+
+  if starpat == 0 && a:indx >= 0
+   " [Explore Hexplore Vexplore Sexplore] [dirname]
+"   call Decho("case dirname<".dirname."> a:indx=".a:indx.": Explore Hexplore Vexplore Sexplore")
+   if dirname == ""
+    let dirname= substitute(expand("%:p"),'^\(.*[/\\]\)[^/\\]*$','\1','e')
+   endif
+   if dirname =~ '^scp:' || dirname =~ '^ftp:'
+"    call Decho("calling NetrwBrowse(0,dirname<".dirname.">)")
+    call s:NetrwBrowse(0,dirname)
+   else
+    if dirname == ""|let dirname= getcwd()|endif
+"    call Decho("calling LocalBrowseCheck(dirname<".dirname.">)")
+    call netrw#LocalBrowseCheck(dirname)
+   endif
+
+"   call Decho("curfile<".curfile.">")
+   if has("win32") || has("win95") || has("win64") || has("win16")
+    call search('\<'.substitute(curfile,'^.*[/\\]','','e').'\>','cW')
+   else
+    call search('\<'.substitute(curfile,'^.*/','','e').'\>','cW')
+   endif
+
+  " starpat=1: Explore *//pattern  (current directory only search for files containing pattern)
+  " starpat=2: Explore **//pattern (recursive descent search for files containing pattern)
+  " starpat=3: Explore */filepat   (search in current directory for filenames matching filepat)
+  " starpat=4: Explore **/filepat  (recursive descent search for filenames matching filepat)
+  elseif a:indx <= 0
+   " Nexplore, Pexplore, Explore: handle starpat
+"   call Decho("case Nexplore, Pexplore, <s-down>, <s-up>: starpat=".starpat." a:indx=".a:indx)
+   if !mapcheck("<s-up>","n") && !mapcheck("<s-down>","n") && exists("b:netrw_curdir")
+"    call Decho("set up <s-up> and <s-down> maps")
+    let s:didstarstar= 1
+    nnoremap <buffer> <silent> <s-up>  :Pexplore<cr>
+    nnoremap <buffer> <silent> <s-down>        :Nexplore<cr>
+   endif
+
+   if has("path_extra")
+"    call Decho("starpat=".starpat.": has +path_extra")
+    if !exists("w:netrw_explore_indx")
+     let w:netrw_explore_indx= 0
+    endif
+    let indx = a:indx
+"    call Decho("starpat=".starpat.": set indx= [a:indx=".indx."]")
+"
+    if indx == -1
+     " Nexplore
+"     call Decho("case Nexplore with starpat=".starpat.": (indx=".indx.")")
+     if !exists("w:netrw_explore_list") " sanity check
+      call netrw#ErrorMsg(s:WARNING,"using Nexplore or <s-down> improperly; see help for netrw-starstar",40)
+      silent! let @* = keepregstar
+      silent! let @+ = keepregstar
+      silent! let @/ = keepregslash
+"      call Dret("netrw#Explore")
+      return
+     endif
+     let indx= w:netrw_explore_indx
+     if indx < 0                        | let indx= 0                           | endif
+     if indx >= w:netrw_explore_listlen | let indx= w:netrw_explore_listlen - 1 | endif
+     let curfile= w:netrw_explore_list[indx]
+"     call Decho("indx=".indx." curfile<".curfile.">")
+     while indx < w:netrw_explore_listlen && curfile == w:netrw_explore_list[indx]
+      let indx= indx + 1
+"      call Decho("indx=".indx." (Nexplore while loop)")
+     endwhile
+     if indx >= w:netrw_explore_listlen | let indx= w:netrw_explore_listlen - 1 | endif
+"     call Decho("Nexplore: indx= [w:netrw_explore_indx=".w:netrw_explore_indx."]=".indx)
+
+    elseif indx == -2
+     " Pexplore
+"     call Decho("case Pexplore with starpat=".starpat.": (indx=".indx.")")
+     if !exists("w:netrw_explore_list") " sanity check
+      call netrw#ErrorMsg(s:WARNING,"using Pexplore or <s-up> improperly; see help for netrw-starstar",41)
+      silent! let @* = keepregstar
+      silent! let @+ = keepregstar
+      silent! let @/ = keepregslash
+"      call Dret("netrw#Explore")
+      return
+     endif
+     let indx= w:netrw_explore_indx
+     if indx < 0                        | let indx= 0                           | endif
+     if indx >= w:netrw_explore_listlen | let indx= w:netrw_explore_listlen - 1 | endif
+     let curfile= w:netrw_explore_list[indx]
+"     call Decho("indx=".indx." curfile<".curfile.">")
+     while indx >= 0 && curfile == w:netrw_explore_list[indx]
+      let indx= indx - 1
+"      call Decho("indx=".indx." (Pexplore while loop)")
+     endwhile
+     if indx < 0                        | let indx= 0                           | endif
+"     call Decho("Pexplore: indx= [w:netrw_explore_indx=".w:netrw_explore_indx."]=".indx)
+
+    else
+     " Explore -- initialize
+     " build list of files to Explore with Nexplore/Pexplore
+"     call Decho("starpat=".starpat.": case Explore: initialize (indx=".indx.")")
+     let w:netrw_explore_indx= 0
+     if !exists("b:netrw_curdir")
+      let b:netrw_curdir= getcwd()
+     endif
+"     call Decho("starpat=".starpat.": b:netrw_curdir<".b:netrw_curdir.">")
+
+     " switch on starpat to build the w:netrw_explore_list of files
+     if starpat == 1
+      " starpat=1: Explore *//pattern  (current directory only search for files containing pattern)
+"      call Decho("starpat=".starpat.": build *//pattern list")
+      exe "vimgrep /".pattern."/gj ".b:netrw_curdir."/*"
+      let w:netrw_explore_list = map(getqflist(),'bufname(v:val.bufnr)')
+      if &hls | let keepregslash= s:ExplorePatHls(pattern) | endif
+
+     elseif starpat == 2
+      " starpat=2: Explore **//pattern (recursive descent search for files containing pattern)
+"      call Decho("starpat=".starpat.": build **//pattern list")
+      try
+       exe "silent vimgrep /".pattern."/gj "."**/*"
+      catch /^Vim\%((\a\+)\)\=:E480/
+       call netrw#ErrorMsg(s:WARNING,'no files matched pattern<'.pattern.'>',45)
+       if &hls | let keepregslash= s:ExplorePatHls(pattern) | endif
+       silent! let @* = keepregstar
+       silent! let @+ = keepregstar
+       silent! let @/ = keepregslash
+"       call Dret("netrw#Explore : no files matched pattern")
+       return
+      endtry
+      let s:netrw_curdir       = b:netrw_curdir
+      let w:netrw_explore_list = getqflist()
+      let w:netrw_explore_list = map(w:netrw_explore_list,'s:netrw_curdir."/".bufname(v:val.bufnr)')
+
+     elseif starpat == 3
+      " starpat=3: Explore */filepat   (search in current directory for filenames matching filepat)
+"      call Decho("starpat=".starpat.": build */filepat list")
+      let dirname             = substitute(dirname,'^\*/','','')
+      let w:netrw_explore_list= split(expand(b:netrw_curdir."/".dirname),'\n')
+      if &hls | let keepregslash= s:ExplorePatHls(dirname) | endif
+
+     elseif starpat == 4
+      " starpat=4: Explore **/filepat  (recursive descent search for filenames matching filepat)
+"      call Decho("starpat=".starpat.": build **/filepat list")
+      let w:netrw_explore_list= split(expand(b:netrw_curdir."/".dirname),'\n')
+      if &hls | let keepregslash= s:ExplorePatHls(dirname) | endif
+     endif " switch on starpat to build w:netrw_explore_list
+
+     let w:netrw_explore_listlen = len(w:netrw_explore_list)
+"     call Decho("w:netrw_explore_list<".string(w:netrw_explore_list).">")
+"     call Decho("w:netrw_explore_listlen=".w:netrw_explore_listlen)
+
+     if w:netrw_explore_listlen == 0 || (w:netrw_explore_listlen == 1 && w:netrw_explore_list[0] =~ '\*\*\/')
+      call netrw#ErrorMsg(s:WARNING,"no files matched",42)
+      silent! let @* = keepregstar
+      silent! let @+ = keepregstar
+      silent! let @/ = keepregslash
+"      call Dret("netrw#Explore : no files matched")
+      return
      endif
+    endif  " if indx ... endif
+
+    " NetrwStatusLine support - for exploring support
+    let w:netrw_explore_indx= indx
+"    call Decho("explorelist<".join(w:netrw_explore_list,',')."> len=".w:netrw_explore_listlen)
+
+    " wrap the indx around, but issue a note
+    if indx >= w:netrw_explore_listlen || indx < 0
+"     call Decho("wrap indx (indx=".indx." listlen=".w:netrw_explore_listlen.")")
+     let indx                = (indx < 0)? ( w:netrw_explore_listlen - 1 ) : 0
+     let w:netrw_explore_indx= indx
+     call netrw#ErrorMsg(s:NOTE,"no more files match Explore pattern",43)
+     sleep 1
     endif
-   exe "keepjumps ".line1
-   keepjumps norm! 0
+
+    exe "let dirfile= w:netrw_explore_list[".indx."]"
+"    call Decho("dirfile=w:netrw_explore_list[indx=".indx."]= <".dirfile.">")
+    let newdir= substitute(dirfile,'/[^/]*$','','e')
+"    call Decho("newdir<".newdir.">")
+
+"    call Decho("calling LocalBrowseCheck(newdir<".newdir.">)")
+    call netrw#LocalBrowseCheck(newdir)
+    if !exists("w:netrw_liststyle")
+     let w:netrw_liststyle= g:netrw_liststyle
+    endif
+    if w:netrw_liststyle == s:THINLIST || w:netrw_liststyle == s:LONGLIST
+     call search('^'.substitute(dirfile,"^.*/","","").'\>',"W")
+    else
+     call search('\<'.substitute(dirfile,"^.*/","","").'\>',"w")
+    endif
+    let w:netrw_explore_mtchcnt = indx + 1
+    let w:netrw_explore_bufnr   = bufnr("%")
+    let w:netrw_explore_line    = line(".")
+    call s:SetupNetrwStatusLine('%f %h%m%r%=%9*%{NetrwStatusLine()}')
+"    call Decho("explore: mtchcnt=".w:netrw_explore_mtchcnt." bufnr=".w:netrw_explore_bufnr." line#".w:netrw_explore_line)
+
+   else
+"    call Decho("your vim does not have +path_extra")
+    if !exists("g:netrw_quiet")
+     call netrw#ErrorMsg(s:WARNING,"your vim needs the +path_extra feature for Exploring with **!",44)
+    endif
+    silent! let @* = keepregstar
+    silent! let @+ = keepregstar
+    silent! let @/ = keepregslash
+"    call Dret("netrw#Explore : missing +path_extra")
+    return
+   endif
+
+  else
+"   call Decho("case Explore newdir<".dirname.">")
+   if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && dirname =~ '/'
+    silent! unlet w:netrw_treedict
+    silent! unlet w:netrw_treetop
+   endif
+   let newdir= dirname
+   if !exists("b:netrw_curdir")
+    call netrw#LocalBrowseCheck(getcwd())
+   else
+    call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(1,newdir))
+   endif
+  endif
+
+  " visual display of **/ **// */ Exploration files
+  if exists("w:netrw_explore_indx") && exists("b:netrw_curdir")
+   if !exists("s:explore_prvdir") || s:explore_prvdir != b:netrw_curdir
+    " only update match list if current directory isn't the same as before
+    let s:explore_prvdir = b:netrw_curdir
+    let s:explore_match  = ""
+    let dirlen           = strlen(b:netrw_curdir)
+    if b:netrw_curdir !~ '/$'
+     let dirlen= dirlen + 1
+    endif
+    let prvfname= ""
+    for fname in w:netrw_explore_list
+"     call Decho("fname<".fname.">")
+     if fname =~ '^'.b:netrw_curdir
+      if s:explore_match == ""
+       let s:explore_match= '\<'.escape(strpart(fname,dirlen),g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>'
+      else
+       let s:explore_match= s:explore_match.'\|\<'.escape(strpart(fname,dirlen),g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>'
+      endif
+     elseif fname !~ '^/' && fname != prvfname
+      if s:explore_match == ""
+       let s:explore_match= '\<'.escape(fname,g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>'
+      else
+       let s:explore_match= s:explore_match.'\|\<'.escape(fname,g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>'
+      endif
+     endif
+     let prvfname= fname
+    endfor
+"    call Decho("explore_match<".s:explore_match.">")
+    exe "2match netrwMarkFile /".s:explore_match."/"
+   endif
+   echo "<s-up>==Pexplore  <s-down>==Nexplore"
+  else
+   2match none
+   if exists("s:explore_match")  | unlet s:explore_match  | endif
+   if exists("s:explore_prvdir") | unlet s:explore_prvdir | endif
+   echo " "
+"   call Decho("cleared explore match list")
+  endif
+
+  silent! let @* = keepregstar
+  silent! let @+ = keepregstar
+  silent! let @/ = keepregslash
+"  call Dret("netrw#Explore : @/<".@/.">")
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwHide: this function is invoked by the "a" map for browsing {{{2
+"          and switches the hiding mode.  The actual hiding is done by
+"          s:NetrwListHide().
+"             g:netrw_hide= 0: show all
+"                           1: show not-hidden files
+"                           2: show hidden files only
+fun! s:NetrwHide(islocal)
+"  call Dfunc("NetrwHide(islocal=".a:islocal.") g:netrw_hide=".g:netrw_hide)
+  let svpos= netrw#NetrwSavePosn()
+
+  if exists("s:netrwmarkfilelist_{bufnr('%')}")
+"   call Decho(((g:netrw_hide == 1)? "unhide" : "hide")." files in markfilelist<".string(s:netrwmarkfilelist_{bufnr("%")}).">")
+"   call Decho("g:netrw_list_hide<".g:netrw_list_hide.">")
+
+   " hide the files in the markfile list
+   for fname in s:netrwmarkfilelist_{bufnr("%")}
+"    call Decho("match(g:netrw_list_hide<".g:netrw_list_hide.'> fname<\<'.fname.'\>>)='.match(g:netrw_list_hide,'\<'.fname.'\>')." isk=".&isk)
+    if match(g:netrw_list_hide,'\<'.fname.'\>') != -1
+     " remove fname from hiding list
+     let g:netrw_list_hide= substitute(g:netrw_list_hide,'..\<'.escape(fname,g:netrw_fname_escape).'\>..','','')
+     let g:netrw_list_hide= substitute(g:netrw_list_hide,',,',',','g')
+     let g:netrw_list_hide= substitute(g:netrw_list_hide,'^,\|,$','','')
+"     call Decho("unhide: g:netrw_list_hide<".g:netrw_list_hide.">")
+    else
+     " append fname to hiding list
+     if exists("g:netrw_list_hide") && g:netrw_list_hide != ""
+      let g:netrw_list_hide= g:netrw_list_hide.',\<'.escape(fname,g:netrw_fname_escape).'\>'
+     else
+      let g:netrw_list_hide= '\<'.escape(fname,g:netrw_fname_escape).'\>'
+     endif
+"     call Decho("hide: g:netrw_list_hide<".g:netrw_list_hide.">")
+    endif
+   endfor
+   unlet s:netrwmarkfilelist_{bufnr("%")}
+   unlet s:netrwmarkfilemtch_{bufnr("%")}
+   2match none
+   let g:netrw_hide= 1
+
+  else
+
+   " switch between show-all/show-not-hidden/show-hidden
+   let g:netrw_hide=(g:netrw_hide+1)%3
+   exe "norm! 0"
+   if g:netrw_hide && g:netrw_list_hide == ""
+    call netrw#ErrorMsg(s:WARNING,"your hiding list is empty!",49)
+"    call Dret("NetrwHide")
+    return
+   endif
+  endif
+
+  call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./'))
+  call netrw#NetrwRestorePosn(svpos)
+"  call Dret("NetrwHide")
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwHidden: invoked by "gh" {{{2
+fun! s:NetrwHidden(islocal)
+"  call Dfunc("s:NetrwHidden()")
+  "  save current position
+  let svpos= netrw#NetrwSavePosn()
+
+  if g:netrw_list_hide =~ '\(^\|,\)\\(^\\|\\s\\s\\)\\zs\\.\\S\\+'
+   " remove pattern from hiding list
+   let g:netrw_list_hide= substitute(g:netrw_list_hide,'\(^\|,\)\\(^\\|\\s\\s\\)\\zs\\.\\S\\+','','')
+  elseif strlen(g:netrw_list_hide) >= 1
+   let g:netrw_list_hide= g:netrw_list_hide . ',\(^\|\s\s\)\zs\.\S\+'
+  else
+   let g:netrw_list_hide= '\(^\|\s\s\)\zs\.\S\+'
+  endif
+
+  " refresh screen and return to saved position
+  call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./'))
+  call netrw#NetrwRestorePosn(svpos)
+"  call Dret("s:NetrwHidden")
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwLeftmouse: handles the <leftmouse> when in a netrw browsing window {{{2
+fun! s:NetrwLeftmouse(islocal)
+"  call Dfunc("s:NetrwLeftmouse(islocal=".a:islocal.")")
+  if a:islocal
+   if exists("b:netrw_curdir")
+    call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(1,s:NetrwGetWord()))
+   endif
+  else
+   if exists("b:netrw_curdir")
+    call s:NetrwBrowse(0,s:NetrwBrowseChgDir(0,s:NetrwGetWord()))
    endif
+  endif
+"  call Dret("s:NetrwLeftmouse")
+endfun
 
-   if search('^\d\{2}-\d\{2}-\d\{2}\s','n') " M$ ftp site cleanup
-"    call Decho("M$ ftp site listing cleanup")
-    exe 'silent! keepjumps '.w:netrw_bannercnt.',$s/^\(\d\{2}-\d\{2}-\d\{2}\s\+\d\+:\d\+[AaPp][Mm]\s\+\%(<DIR>\|\d\+\)\s\+\)\(\w.*\)$/\2\t\1/'
-   elseif exists("w:netrw_bannercnt") && w:netrw_bannercnt <= line("$")
-"    call Decho("normal ftp site listing cleanup: bannercnt=".w:netrw_bannercnt." line($)=".line("$"))
-    exe 'silent keepjumps '.w:netrw_bannercnt.',$s/ -> .*$//e'
-    exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\(\%(\S\+\s\+\)\{7}\S\+\)\s\+\(\S.*\)$/\2\t\1/e'
-    exe 'silent keepjumps '.w:netrw_bannercnt
+" ---------------------------------------------------------------------
+" s:NetrwListHide: uses [range]g~...~d to delete files that match comma {{{2
+" separated patterns given in g:netrw_list_hide
+fun! s:NetrwListHide()
+"  call Dfunc("NetrwListHide() hide=".g:netrw_hide." listhide<".g:netrw_list_hide.">")
+
+  " find a character not in the "hide" string to use as a separator for :g and :v commands
+  " How-it-works: take the hiding command, convert it into a range.  Duplicate
+  " characters don't matter.  Remove all such characters from the '/~...90'
+  " string.  Use the first character left as a separator character.
+  let listhide= g:netrw_list_hide
+  let sep     = strpart(substitute('/~@#$%^&*{};:,<.>?|1234567890','['.escape(listhide,'-]^\').']','','ge'),1,1)
+"  call Decho("sep=".sep)
+
+  while listhide != ""
+   if listhide =~ ','
+    let hide     = substitute(listhide,',.*$','','e')
+    let listhide = substitute(listhide,'^.\{-},\(.*\)$','\1','e')
+   else
+    let hide     = listhide
+    let listhide = ""
    endif
+
+   " Prune the list by hiding any files which match
+   if g:netrw_hide == 1
+"    call Decho("hiding<".hide."> listhide<".listhide.">")
+    exe 'silent keepjumps '.w:netrw_bannercnt.',$g'.sep.hide.sep.'d'
+   elseif g:netrw_hide == 2
+"    call Decho("showing<".hide."> listhide<".listhide.">")
+    exe 'silent keepjumps '.w:netrw_bannercnt.',$g'.sep.hide.sep.'s@^@ /-KEEP-/ @'
+   endif
+  endwhile
+  if g:netrw_hide == 2
+   exe 'silent keepjumps '.w:netrw_bannercnt.',$v@^ /-KEEP-/ @d'
+   exe 'silent keepjumps '.w:netrw_bannercnt.',$s@^\%( /-KEEP-/ \)\+@@e'
   endif
 
-"  if exists("w:netrw_bannercnt") && w:netrw_bannercnt <= line("$") " Decho
-"   exe "keepjumps ".w:netrw_bannercnt.',$g/^./call Decho("listing: ".getline("."))'
-"  endif " Decho
-"  call Dret("s:RemoteListing")
+"  call Dret("NetrwListHide")
 endfun
 
 " ---------------------------------------------------------------------
-"  NetGetWord: it gets the directory named under the cursor {{{2
-fun! s:NetGetWord()
-"  call Dfunc("NetGetWord() line#".line(".")." liststyle=".g:netrw_liststyle." virtcol=".virtcol("."))
-  call s:UseBufWinVars()
+" NetrwHideEdit: allows user to edit the file/directory hiding list
+fun! s:NetrwHideEdit(islocal)
+"  call Dfunc("NetrwHideEdit(islocal=".a:islocal.")")
 
-  " insure that w:netrw_liststyle is set up
-  if !exists("w:netrw_liststyle")
-   if exists("g:netrw_liststyle")
-    let w:netrw_liststyle= g:netrw_liststyle
+  " save current cursor position
+  let svpos= netrw#NetrwSavePosn()
+
+  " get new hiding list from user
+  call inputsave()
+  let newhide= input("Edit Hiding List: ",g:netrw_list_hide)
+  call inputrestore()
+  let g:netrw_list_hide= newhide
+"  call Decho("new g:netrw_list_hide<".g:netrw_list_hide.">")
+
+  " refresh the listing
+  silent call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,"./"))
+
+  " restore cursor position
+  call netrw#NetrwRestorePosn(svpos)
+
+"  call Dret("NetrwHideEdit")
+endfun
+
+" ---------------------------------------------------------------------
+" NetSortSequence: allows user to edit the sorting sequence
+fun! s:NetSortSequence(islocal)
+"  call Dfunc("NetSortSequence(islocal=".a:islocal.")")
+
+  let svpos= netrw#NetrwSavePosn()
+  call inputsave()
+  let newsortseq= input("Edit Sorting Sequence: ",g:netrw_sort_sequence)
+  call inputrestore()
+
+  " refresh the listing
+  let g:netrw_sort_sequence= newsortseq
+  call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./'))
+  call netrw#NetrwRestorePosn(svpos)
+
+"  call Dret("NetSortSequence")
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwMakeDir: this function makes a directory (both local and remote) {{{2
+fun! s:NetrwMakeDir(usrhost)
+"  call Dfunc("NetrwMakeDir(usrhost<".a:usrhost.">)")
+
+  " get name of new directory from user.  A bare <CR> will skip.
+  " if its currently a directory, also request will be skipped, but with
+  " a message.
+  call inputsave()
+  let newdirname= input("Please give directory name: ")
+  call inputrestore()
+"  call Decho("newdirname<".newdirname.">")
+
+  if newdirname == ""
+"   call Dret("NetrwMakeDir : user aborted with bare <cr>")
+   return
+  endif
+
+  if a:usrhost == ""
+"   call Decho("local mkdir")
+
+   " Local mkdir:
+   " sanity checks
+   let fullnewdir= b:netrw_curdir.'/'.newdirname
+"   call Decho("fullnewdir<".fullnewdir.">")
+   if isdirectory(fullnewdir)
+    if !exists("g:netrw_quiet")
+     call netrw#ErrorMsg(s:WARNING,"<".newdirname."> is already a directory!",24)
+    endif
+"    call Dret("NetrwMakeDir : directory<".newdirname."> exists previously")
+    return
+   endif
+   if s:FileReadable(fullnewdir)
+    if !exists("g:netrw_quiet")
+     call netrw#ErrorMsg(s:WARNING,"<".newdirname."> is already a file!",25)
+    endif
+"    call Dret("NetrwMakeDir : file<".newdirname."> exists previously")
+    return
+   endif
+
+   " requested new local directory is neither a pre-existing file or
+   " directory, so make it!
+   if exists("*mkdir")
+    call mkdir(fullnewdir,"p")
    else
-    let w:netrw_liststyle= s:THINLIST
+    let netrw_origdir= s:NetrwGetcwd(1)
+    exe 'keepjumps lcd '.fnameescape(b:netrw_curdir)
+"    call Decho("netrw_origdir<".netrw_origdir.">: lcd b:netrw_curdir<".fnameescape(b:netrw_curdir).">")
+"    call Decho("exe silent! !".g:netrw_local_mkdir.' '.shellescape(newdirname))
+    exe "silent! !".g:netrw_local_mkdir.' '.shellescape(newdirname)
+    if !g:netrw_keepdir
+     exe 'keepjumps lcd '.fnameescape(netrw_origdir)
+"     call Decho("netrw_keepdir=".g:netrw_keepdir.": keepjumps lcd ".fnameescape(netrw_origdir)." getcwd<".getcwd().">")
+    endif
    endif
-"   call Decho("w:netrw_liststyle=".w:netrw_liststyle)
-  endif
 
-  if exists("w:netrw_bannercnt") && line(".") < w:netrw_bannercnt
-   " Active Banner support
-"   call Decho("active banner handling")
-   norm! 0
-   let dirname= "./"
-   let curline= getline(".")
+   if v:shell_error == 0
+    " refresh listing
+"    call Decho("refresh listing")
+    let svpos= netrw#NetrwSavePosn()
+    call s:NetrwRefresh(1,s:NetrwBrowseChgDir(1,'./'))
+    call netrw#NetrwRestorePosn(svpos)
+   elseif !exists("g:netrw_quiet")
+    call netrw#ErrorMsg(s:ERROR,"unable to make directory<".newdirname.">",26)
+   endif
+"   redraw!
 
-   if curline =~ '"\s*Sorted by\s'
-    norm s
-    let s:netrw_skipbrowse= 1
-    echo 'Pressing "s" also works'
+  elseif !exists("b:netrw_method") || b:netrw_method == 4
+   " Remote mkdir:
+"   call Decho("remote mkdir")
+   let mkdircmd  = s:MakeSshCmd(g:netrw_mkdir_cmd)
+   let newdirname= substitute(b:netrw_curdir,'^\%(.\{-}/\)\{3}\(.*\)$','\1','').newdirname
+"   call Decho("exe silent! !".mkdircmd." ".shellescape(newdirname))
+   exe "silent! !".mkdircmd." ".shellescape(newdirname)
+   if v:shell_error == 0
+    " refresh listing
+    let svpos= netrw#NetrwSavePosn()
+    call s:NetrwRefresh(0,s:NetrwBrowseChgDir(0,'./'))
+    call netrw#NetrwRestorePosn(svpos)
+   elseif !exists("g:netrw_quiet")
+    call netrw#ErrorMsg(s:ERROR,"unable to make directory<".newdirname.">",27)
+   endif
+"   redraw!
 
-   elseif curline =~ '"\s*Sort sequence:'
-    let s:netrw_skipbrowse= 1
-    echo 'Press "S" to edit sorting sequence'
+  elseif b:netrw_method == 2
+   " COMBAK -- future work
+   call netrw#ErrorMsg(s:ERROR,"making directories via ftp not currently supported",68)
+  elseif b:netrw_method == 3
+   " COMBAK -- future work
+   call netrw#ErrorMsg(s:ERROR,"making directories via ftp not currently supported",68)
+  endif
 
-   elseif curline =~ '"\s*Quick Help:'
-    norm ?
-    let s:netrw_skipbrowse= 1
-    echo 'Pressing "?" also works'
+"  call Dret("NetrwMakeDir")
+endfun
 
-   elseif curline =~ '"\s*\%(Hiding\|Showing\):'
-    norm a
-    let s:netrw_skipbrowse= 1
-    echo 'Pressing "a" also works'
+" ---------------------------------------------------------------------
+" s:NetrwMarkFile: (invoked by mf) This function is used to both {{{2
+"                  mark and unmark files.  If a markfile list exists,
+"                  then the rename and delete functions will use it instead
+"                  of whatever may happen to be under the cursor at that
+"                  moment.  When the mouse and gui are available,
+"                  shift-leftmouse may also be used to mark files.
+fun! s:NetrwMarkFile(islocal,fname)
+"  call Dfunc("s:NetrwMarkFile(islocal=".a:islocal." fname<".a:fname.">)")
+  let curbufnr= bufnr("%")
+  let curdir  = b:netrw_curdir
+  if exists("s:netrwmarkfilelist_{curbufnr}")
+   " markfile list exists
+"   call Decho("starting s:netrwmarkfilelist_{curbufnr}<".string(s:netrwmarkfilelist_{curbufnr}).">")
+"   call Decho("starting s:netrwmarkfilemtch_{curbufnr}<".s:netrwmarkfilemtch_{curbufnr}.">")
+
+   if index(s:netrwmarkfilelist_{curbufnr},a:fname) == -1
+    " append filename to local-directory markfilelist
+"    call Decho("append filename<".a:fname."> to local markfilelist_".curbufnr."<".string(s:netrwmarkfilelist_{curbufnr}).">")
+    call add(s:netrwmarkfilelist_{curbufnr},a:fname)
+    let s:netrwmarkfilemtch_{curbufnr}= s:netrwmarkfilemtch_{curbufnr}.'\|\<'.escape(a:fname,g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>'
 
-   elseif line("$") > w:netrw_bannercnt
-    exe 'silent keepjumps '.w:netrw_bannercnt
+   else
+    " remove filename from local markfilelist
+"    call Decho("remove filename<".a:fname."> from local markfilelist_".curbufnr."<".string(s:netrwmarkfilelist_{curbufnr}).">")
+    call filter(s:netrwmarkfilelist_{curbufnr},'v:val != a:fname')
+    if s:netrwmarkfilelist_{curbufnr} == []
+     " local markfilelist is empty; remove it entirely
+"     call Decho("markfile list now empty, unlet s:netrwmarkfilelist_".curbufnr." and ...mtch_".curbufnr)
+     call s:NetrwUnmarkList(curbufnr,curdir)
+    else
+     " rebuild match list to display markings correctly
+"     call Decho("rebuild s:netrwmarkfilemtch_".curbufnr)
+     let s:netrwmarkfilemtch_{curbufnr}= ""
+     let first                           = 1
+     for fname in s:netrwmarkfilelist_{curbufnr}
+      if first
+       let s:netrwmarkfilemtch_{curbufnr}= s:netrwmarkfilemtch_{curbufnr}.'\<'.escape(fname,g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>'
+      else
+       let s:netrwmarkfilemtch_{curbufnr}= s:netrwmarkfilemtch_{curbufnr}.'\|\<'.escape(fname,g:netrw_markfileesc."'".g:netrw_markfileesc."'").'\>'
+      endif
+      let first= 0
+     endfor
+"     call Decho("ending s:netrwmarkfilelist_"curbufnr."<".string(s:netrwmarkfilelist_{curbufnr}).">")
+"     call Decho("ending s:netrwmarkfilemtch_"curbufnr."<".s:netrwmarkfilemtch_{curbufnr}.">")
+    endif
    endif
 
-  elseif w:netrw_liststyle == s:THINLIST
-"   call Decho("thin column handling")
-   norm! 0
-   let dirname= getline(".")
+  else
+   " initialize new markfilelist
 
-  elseif w:netrw_liststyle == s:LONGLIST
-"   call Decho("long column handling")
-   norm! 0
-   let dirname= substitute(getline("."),'^\(\%(\S\+ \)*\S\+\).\{-}$','\1','e')
+"   call Decho("add fname<".a:fname."> to new markfilelist_".curbufnr)
+   let s:netrwmarkfilelist_{curbufnr}= []
+   call add(s:netrwmarkfilelist_{curbufnr},a:fname)
+"   call Decho("ending s:netrwmarkfilelist_{curbufnr}<".string(s:netrwmarkfilelist_{curbufnr}).">")
 
-  elseif w:netrw_liststyle == s:TREELIST
-"   call Decho("treelist handling")
-   let dirname= substitute(getline("."),'^\(| \)*','','e')
+   " build initial markfile matching pattern
+   if a:fname =~ '/$'
+    let s:netrwmarkfilemtch_{curbufnr}= '\<'.escape(a:fname,g:netrw_markfileesc)
+   else
+    let s:netrwmarkfilemtch_{curbufnr}= '\<'.escape(a:fname,g:netrw_markfileesc).'\>'
+   endif
+"   call Decho("ending s:netrwmarkfilemtch_".curbufnr."<".s:netrwmarkfilemtch_{curbufnr}.">")
+  endif
 
+  " handle global markfilelist
+  if exists("s:netrwmarkfilelist")
+   let dname= s:ComposePath(b:netrw_curdir,a:fname)
+   if index(s:netrwmarkfilelist,dname) == -1
+    " append new filename to global markfilelist
+    call add(s:netrwmarkfilelist,s:ComposePath(b:netrw_curdir,a:fname))
+"    call Decho("append filename<".a:fname."> to global markfilelist<".string(s:netrwmarkfilelist).">")
+   else
+    " remove new filename from global markfilelist
+"    call Decho("filter(".string(s:netrwmarkfilelist).",'v:val != '.".dname.")")
+    call filter(s:netrwmarkfilelist,'v:val != "'.dname.'"')
+"    call Decho("ending s:netrwmarkfilelist  <".string(s:netrwmarkfilelist).">")
+    if s:netrwmarkfilelist == []
+     unlet s:netrwmarkfilelist
+    endif
+   endif
   else
-"   call Decho("obtain word from wide listing")
-   let dirname= getline(".")
+   " initialize new global-directory markfilelist
+   let s:netrwmarkfilelist= []
+   call add(s:netrwmarkfilelist,s:ComposePath(b:netrw_curdir,a:fname))
+"   call Decho("init s:netrwmarkfilelist<".string(s:netrwmarkfilelist).">")
+  endif
 
-   if !exists("b:netrw_cpf")
-    let b:netrw_cpf= 0
-    exe 'silent keepjumps '.w:netrw_bannercnt.',$g/^./if virtcol("$") > b:netrw_cpf|let b:netrw_cpf= virtcol("$")|endif'
-"    call Decho("computed cpf")
+  " set up 2match'ing to netrwmarkfilemtch list
+  if exists("s:netrwmarkfilemtch_{curbufnr}") && s:netrwmarkfilemtch_{curbufnr} != ""
+"   call Decho("exe 2match netrwMarkFile /".s:netrwmarkfilemtch_{curbufnr}."/")
+   exe "2match netrwMarkFile /".s:netrwmarkfilemtch_{curbufnr}."/"
+  else
+"   call Decho("2match none")
+   2match none
+  endif
+"  call Dret("s:NetrwMarkFile : netrwmarkfilelist_".curbufnr."<".(exists("s:netrwmarkfilelist_{curbufnr}")? string(s:netrwmarkfilelist_{curbufnr}) : " doesn't exist").">")
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwMarkFileCompress: (invoked by mz) This function is used to {{{2
+"                          compress/decompress files using the programs
+"                          in g:netrw_compress and g:netrw_uncompress,
+"                          using g:netrw_compress_suffix to know which to
+"                          do.  By default:
+"                            g:netrw_compress        = "gzip"
+"                            g:netrw_decompress      = { ".gz" : "gunzip" , ".bz2" : "bunzip2" , ".zip" : "unzip" , ".tar" : "tar -xf"}
+fun! s:NetrwMarkFileCompress(islocal)
+"  call Dfunc("s:NetrwMarkFileCompress(islocal=".a:islocal.")")
+  let svpos    = netrw#NetrwSavePosn()
+  let curdir   = b:netrw_curdir
+  let curbufnr = bufnr("%")
+
+  if exists("s:netrwmarkfilelist_{curbufnr}") && exists("g:netrw_compress") && exists("g:netrw_decompress")
+   for fname in s:netrwmarkfilelist_{curbufnr}
+    " for every filename in the marked list
+    for sfx in sort(keys(g:netrw_decompress))
+     if fname =~ '\'.sfx.'$'
+      " fname has a suffix indicating that its compressed; apply associated decompression routine
+      let exe= g:netrw_decompress[sfx]
+"      call Decho("fname<".fname."> is compressed so decompress with <".exe.">")
+      if a:islocal
+       if g:netrw_keepdir
+        let fname= s:ComposePath(curdir,fname)
+       endif
+      else
+       let fname= b:netrw_curdir.fname
+      endif
+      if executable(exe)
+       if a:islocal
+       call system(exe." ".fname)
+       else
+        call s:RemoteSystem(exe." ".fname)
+       endif
+      else
+       call netrw#ErrorMsg(s:WARNING,"unable to apply<".exe."> to file<".fname.">",50)
+      endif
+      break
+     endif
+    endfor
+    if exists("exe")
+     unlet exe
+    elseif a:islocal
+     " fname not a compressed file, so compress it
+     call system(g:netrw_compress." ".s:ComposePath(b:netrw_curdir,fname))
+    else
+     " fname not a compressed file, so compress it
+     call s:RemoteSystem(g:netrw_compress." ".fname)
+    endif
+   endfor
+   call s:NetrwUnmarkList(curbufnr,curdir)
+   call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./'))
+   call netrw#NetrwRestorePosn(svpos)
+  endif
+"  call Dret("s:NetrwMarkFileCompress")
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwMarkFileCopy: (invoked by mc) copy marked files to target {{{2
+"                      If no marked files, then set up directory as the
+"                      target.  Currently does not support copying entire
+"                      directories.  Uses the local-buffer marked file list.
+"                      Returns 1=success  (used by NetrwMarkFileMove())
+"                              0=failure
+fun! s:NetrwMarkFileCopy(islocal)
+"  call Dfunc("s:NetrwMarkFileCopy(islocal=".a:islocal.") target<".(exists("s:netrwmftgt")? s:netrwmftgt : '---').">")
+
+  " sanity checks
+  if !exists("s:netrwmarkfilelist_{bufnr('%')}") || empty(s:netrwmarkfilelist_{bufnr('%')})
+   call netrw#ErrorMsg(2,"there are no marked files in this window (:help netrw-mf)",66)
+"   call Dret("s:NetrwMarkFileCopy 0")
+   return 0
+  endif
+"  call Decho("sanity chk passed: s:netrwmarkfilelist_".bufnr('%')."<".string(s:netrwmarkfilelist_{bufnr('%')}))
+  if !exists("s:netrwmftgt")
+   call netrw#ErrorMsg(2,"your marked file target is empty! (:help netrw-mt)",67)
+"   call Dret("s:NetrwMarkFileCopy 0")
+   return 0
+  endif
+"  call Decho("sanity chk passed: s:netrwmftgt<".s:netrwmftgt.">")
+  let curdir   = b:netrw_curdir
+  let curbufnr = bufnr("%")
+
+  if      a:islocal &&  s:netrwmftgt_islocal
+   " Copy marked files, local directory to local directory
+"   call Decho("copy from local to local")
+   let args= join(map(copy(s:netrwmarkfilelist_{bufnr('%')}),"b:netrw_curdir.\"/\".shellescape(v:val)"))
+"   call Decho("system(".g:netrw_localcopycmd." ".args." ".shellescape(s:netrwmftgt).")")
+   call system(g:netrw_localcopycmd." ".args." ".shellescape(s:netrwmftgt))
+
+  elseif  a:islocal && !s:netrwmftgt_islocal
+   " Copy marked files, local directory to remote directory
+"   call Decho("copy from local to remote")
+   call s:NetrwUpload(s:netrwmarkfilelist_{bufnr('%')},s:netrwmftgt)
+
+  elseif !a:islocal &&  s:netrwmftgt_islocal
+"   call Decho("copy from remote to local")
+   call netrw#NetrwObtain(a:islocal,s:netrwmarkfilelist_{bufnr('%')},s:netrwmftgt)
+
+  elseif !a:islocal && !s:netrwmftgt_islocal
+"   call Decho("copy from remote to remote")
+   let curdir = getcwd()
+   let tmpdir = s:GetTempfile("")
+   if tmpdir !~ '/'
+    let tmpdir= curdir."/".tmpdir
+   endif
+   if exists("*mkdir")
+    call mkdir(tmpdir)
+   else
+    exe "silent! !".g:netrw_local_mkdir.' '.shellescape(tmpdir)
+   endif
+   if isdirectory(tmpdir)
+    exe "keepjumps lcd ".fnameescape(tmpdir)
+    call netrw#NetrwObtain(a:islocal,s:netrwmarkfilelist_{bufnr('%')},tmpdir)
+    let localfiles= map(copy(s:netrwmarkfilelist_{bufnr('%')}),'substitute(v:val,"^.*/","","")')
+    call s:NetrwUpload(localfiles,s:netrwmftgt)
+    if getcwd() == tmpdir
+     for fname in s:netrwmarkfilelist_{bufnr('%')}
+      call s:System("delete",fname)
+     endfor
+     exe "keepjumps lcd ".fnameescape(curdir)
+     exe "silent !".g:netrw_local_rmdir." ".fnameescape(tmpdir)
+    else
+     exe "keepjumps lcd ".fnameescape(curdir)
+    endif
    endif
+  endif
 
-"   call Decho("buf#".bufnr("%")."<".bufname("%").">")
-   let filestart = (virtcol(".")/b:netrw_cpf)*b:netrw_cpf
-"   call Decho("filestart= ([virtcol=".virtcol(".")."]/[b:netrw_cpf=".b:netrw_cpf."])*b:netrw_cpf=".filestart."  bannercnt=".w:netrw_bannercnt)
-"   call Decho("1: dirname<".dirname.">")
-   if filestart > 0|let dirname= substitute(dirname,'^.\{'.filestart.'}','','')|endif
-"   call Decho("2: dirname<".dirname.">")
-   let dirname   = substitute(dirname,'^\(.\{'.b:netrw_cpf.'}\).*$','\1','e')
-"   call Decho("3: dirname<".dirname.">")
-   let dirname   = substitute(dirname,'\s\+$','','e')
-"   call Decho("4: dirname<".dirname.">")
+  " -------
+  " cleanup
+  " -------
+"  call Decho("cleanup")
+
+  " remove markings from local buffer
+  call s:NetrwUnmarkList(curbufnr,curdir)
+
+  " refresh buffers
+  if !s:netrwmftgt_islocal
+   call s:NetrwRefreshDir(s:netrwmftgt_islocal,s:netrwmftgt)
+  endif
+  if a:islocal
+   call s:NetrwRefreshDir(a:islocal,b:netrw_curdir)
   endif
+  call s:LocalBrowseShellCmdRefresh()
+  
+"  call Dret("s:NetrwMarkFileCopy 1")
+  return 1
+endfun
 
-"  call Dret("NetGetWord <".dirname.">")
-  return dirname
+" ---------------------------------------------------------------------
+" s:NetrwMarkFileDiff: (invoked by md) This function is used to {{{2
+"                      invoke vim's diff mode on the marked files.
+"                      Either two or three files can be so handled.
+"                      Uses the global marked file list.
+fun! s:NetrwMarkFileDiff(islocal)
+"  call Dfunc("s:NetrwMarkFileDiff(islocal=".a:islocal.") b:netrw_curdir<".b:netrw_curdir.">")
+  let curbufnr= bufnr("%")
+  if exists("s:netrwmarkfilelist_{curbufnr}")
+
+   let cnt    = 0
+   let curdir = b:netrw_curdir
+   for fname in s:netrwmarkfilelist
+    let cnt= cnt + 1
+    if !a:islocal
+     let fname= curdir.fname
+    endif
+    if cnt == 1
+"     call Decho("diffthis: ".fname)
+     exe "e ".fname
+     diffthis
+    elseif cnt == 2 || cnt == 3
+     vsplit
+     wincmd l
+"     call Decho("diffthis: ".fname)
+     exe "e ".fname
+     diffthis
+    else
+     break
+    endif
+   endfor
+   call s:NetrwUnmarkList(curbufnr,curdir)
+  endif
+"  call Dret("s:NetrwMarkFileDiff")
 endfun
 
 " ---------------------------------------------------------------------
-" NetBrowseRm: remove/delete a remote file or directory {{{2
-fun! s:NetBrowseRm(usrhost,path) range
-"  call Dfunc("NetBrowseRm(usrhost<".a:usrhost."> path<".a:path.">) virtcol=".virtcol("."))
-"  call Decho("firstline=".a:firstline." lastline=".a:lastline)
+" s:NetrwMarkFileEdit: (invoked by me) put marked files on arg list and start editing them {{{2
+"                       Uses global markfilelist
+fun! s:NetrwMarkFileEdit(islocal)
+"  call Dfunc("s:NetrwMarkFileEdit(islocal=".a:islocal.")")
+
+  let curdir   = b:netrw_curdir
+  let curbufnr = bufnr("%")
+  if exists("s:netrwmarkfilelist_{curbufnr}")
+   call s:SetRexDir(a:islocal,curdir)
+   if a:islocal && g:netrw_keepdir
+    " use complete paths if its local and keepdir enabled
+    let flist= ""
+    for fname in s:netrwmarkfilelist
+"     let flist= flist." ".s:ComposePath(curdir,fname)
+     let flist= flist." ".fname
+    endfor
+   else
+"    let flist= substitute(escape(join(s:netrwmarkfilelist_{curbufnr},"\t"),' '),"\t",' ','g')
+    let flist= substitute(escape(join(s:netrwmarkfilelist,"\t"),' '),"\t",' ','g')
+   endif
+   " unmark markedfile list
+"   call s:NetrwUnmarkList(curbufnr,curdir)
+   call s:NetrwUnmarkAll()
+"   call Decho("exe silent args ".flist)
+   exe "silent args ".flist
+  endif
+  
+"  call Dret("s:NetrwMarkFileEdit")
+endfun
 
-  " preparation for removing multiple files/directories
-  let ctr= a:firstline
-  let all= 0
+" ---------------------------------------------------------------------
+" s:NetrwMarkFileExe: (invoked by mx) execute arbitrary command on marked files, one at a time {{{2
+"                     Uses the local marked-file list.
+fun! s:NetrwMarkFileExe(islocal)
+"  call Dfunc("s:NetrwMarkFileExe(islocal=".a:islocal.")")
+  let svpos    = netrw#NetrwSavePosn()
+  let curdir   = b:netrw_curdir
+  let curbufnr = bufnr("%")
+
+  if exists("s:netrwmarkfilelist_{curbufnr}")
+   " get the command
+   call inputsave()
+   let cmd= input("Enter command: ","","file")
+   call inputrestore()
+"   call Decho("cmd<".cmd.">")
 
-  " remove multiple files and directories
-  while ctr <= a:lastline
-   exe ctr
+   " apply command to marked files.  Substitute: filename -> %
+   " If no %, then append a space and the filename to the command
+   for fname in s:netrwmarkfilelist_{curbufnr}
+    if a:islocal
+     if g:netrw_keepdir
+      let fname= s:ComposePath(curdir,fname)
+     endif
+    else
+     let fname= b:netrw_curdir.fname
+    endif
+    if cmd =~ '%'
+     let xcmd= substitute(cmd,'%',fname,'g')
+    else
+     let xcmd= cmd.' '.fname
+    endif
+    if a:islocal
+"     call Decho("local: xcmd<".xcmd.">")
+     let ret= system(xcmd)
+    else
+"     call Decho("remote: xcmd<".xcmd.">")
+     let ret= s:RemoteSystem(xcmd)
+    endif
+    if v:shell_error < 0
+     call netrw#ErrorMsg(s:ERROR,"command<".xcmd."> failed, aborting",54)
+     break
+    else
+     echo ret
+    endif
+   endfor
 
-   let rmfile= s:NetGetWord()
-"   call Decho("rmfile<".rmfile.">")
+   " unmark marked file list
+   call s:NetrwUnmarkList(curbufnr,curdir)
 
-   if rmfile !~ '^"' && (rmfile =~ '@$' || rmfile !~ '[\/]$')
-    " attempt to remove file
-"    call Decho("attempt to remove file")
-    if !all
-     echohl Statement
-     call inputsave()
-     let ok= input("Confirm deletion of file<".rmfile."> ","[{y(es)},n(o),a(ll),q(uit)] ")
-     call inputrestore()
-     echohl NONE
-     if ok == ""
-      let ok="no"
-     endif
-     let ok= substitute(ok,'\[{y(es)},n(o),a(ll),q(uit)]\s*','','e')
-     if ok =~ 'a\%[ll]'
-      let all= 1
-     endif
-    endif
+   " refresh the listing
+   call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./'))
+   call netrw#NetrwRestorePosn(svpos)
+  else
+   call netrw#ErrorMsg(s:ERROR,"no files marked!",59)
+  endif
+  
+"  call Dret("s:NetrwMarkFileExe")
+endfun
 
-    if all || ok =~ 'y\%[es]' || ok == ""
-     if exists("w:netrw_method") && (w:netrw_method == 2 || w:netrw_method == 3)
-      silent! keepjumps .,$d
-      call s:NetBrowseFtpCmd(a:path,"delete ".rmfile)
+" ---------------------------------------------------------------------
+" s:NetrwMarkHideSfx: (invoked by mh) (un)hide files having same suffix
+"                  as the marked file(s) (toggles suffix presence)
+"                  Uses the local marked file list.
+fun! s:NetrwMarkHideSfx(islocal)
+"  call Dfunc("s:NetrwMarkHideSfx(islocal=".a:islocal.")")
+  let svpos    = netrw#NetrwSavePosn()
+  let curbufnr = bufnr("%")
+
+  " s:netrwmarkfilelist_{curbufnr}: the List of marked files
+  if exists("s:netrwmarkfilelist_{curbufnr}")
+
+   for fname in s:netrwmarkfilelist_{curbufnr}
+"     call Decho("s:NetrwMarkFileCopy: fname<".fname.">")
+     " construct suffix pattern
+     if fname =~ '\.'
+      let sfxpat= "^.*".substitute(fname,'^.*\(\.[^. ]\+\)$','\1','')
      else
-      let netrw_rm_cmd= s:MakeSshCmd(g:netrw_rm_cmd)
-"      call Decho("attempt to remove file: system(".netrw_rm_cmd.")")
-      let ret= s:System("system",netrw_rm_cmd)
-"      call Decho("returned=".ret." errcode=".v:shell_error)
+      let sfxpat= '^\%(\%(\.\)\@!.\)*$'
      endif
-    elseif ok =~ 'q\%[uit]'
-     break
-    endif
-
-   else
-    " attempt to remove directory
-"    call Decho("attempt to remove directory")
-    if !all
-     call inputsave()
-     let ok= input("Confirm deletion of directory<".rmfile."> ","[{y(es)},n(o),a(ll),q(uit)] ")
-     call inputrestore()
-     if ok == ""
-      let ok="no"
+     " determine if its in the hiding list or not
+     let inhidelist= 0
+     if g:netrw_list_hide != ""
+      let itemnum = 0
+      let hidelist= split(g:netrw_list_hide,',')
+      for hidepat in hidelist
+       if sfxpat == hidepat
+        let inhidelist= 1
+        break
+       endif
+       let itemnum= itemnum + 1
+      endfor
      endif
-     let ok= substitute(ok,'\[{y(es)},n(o),a(ll),q(uit)]\s*','','e')
-     if ok =~ 'a\%[ll]'
-      let all= 1
+"     call Decho("fname<".fname."> inhidelist=".inhidelist." sfxpat<".sfxpat.">")
+     if inhidelist
+      " remove sfxpat from list
+      call remove(hidelist,itemnum)
+      let g:netrw_list_hide= join(hidelist,",")
+     elseif g:netrw_list_hide != ""
+      " append sfxpat to non-empty list
+      let g:netrw_list_hide= g:netrw_list_hide.",".sfxpat
+     else
+      " set hiding list to sfxpat
+      let g:netrw_list_hide= sfxpat
      endif
-    endif
+    endfor
 
-    if all || ok =~ 'y\%[es]' || ok == ""
-     if exists("w:netrw_method") && (w:netrw_method == 2 || w:netrw_method == 3)
-      call s:NetBrowseFtpCmd(a:path,"rmdir ".rmfile)
-     else
-      let rmfile          = substitute(a:path.rmfile,'/$','','')
-      let netrw_rmdir_cmd = s:MakeSshCmd(g:netrw_rmdir_cmd).' '.rmfile
-"      call Decho("attempt to remove dir: system(".netrw_rmdir_cmd.")")
-      let ret= s:System("system",netrw_rmdir_cmd)
-"      call Decho("returned=".ret." errcode=".v:shell_error)
+   " refresh the listing
+   call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./'))
+   call netrw#NetrwRestorePosn(svpos)
+  else
+   call netrw#ErrorMsg(s:ERROR,"no files marked!",59)
+  endif
 
-      if v:shell_error != 0
-"       call Decho("v:shell_error not 0")
-       let netrw_rmf_cmd= s:MakeSshCmd(g:netrw_rmf_cmd).' '.substitute(rmfile,'[\/]$','','e')
-"       call Decho("2nd attempt to remove dir: system(".netrw_rmf_cmd.")")
-       let ret= s:System("system",netrw_rmf_cmd)
-"       call Decho("returned=".ret." errcode=".v:shell_error)
+"  call Dret("s:NetrwMarkHideSfx")
+endfun
 
-       if v:shell_error != 0 && !exists("g:netrw_quiet")
-               call netrw#ErrorMsg(s:ERROR,"unable to remove directory<".rmfile."> -- is it empty?",22)
-       endif
-      endif
-     endif
+" ---------------------------------------------------------------------
+" s:NetrwMarkFileGrep: (invoked by mg) This function applies vimgrep to marked files {{{2
+"                     Uses the global markfilelist
+fun! s:NetrwMarkFileGrep(islocal)
+"  call Dfunc("s:NetrwMarkFileGrep(islocal=".a:islocal.")")
+  let svpos    = netrw#NetrwSavePosn()
+  let curdir   = b:netrw_curdir
+  let curbufnr = bufnr("%")
+
+  if exists("s:netrwmarkfilelist")
+"  call Decho("s:netrwmarkfilelist".string(s:netrwmarkfilelist).">")
+   let netrwmarkfilelist= ""
+   for fname in s:netrwmarkfilelist
+"    call Decho("fname<".fname.">")
+    let fname             = escape(substitute(fname,"[\"']","","g")," ")
+    let netrwmarkfilelist = netrwmarkfilelist." ".fname
+   endfor
+   call s:NetrwUnmarkAll()
 
-    elseif ok =~ 'q\%[uit]'
-     break
+   " ask user for pattern
+   call inputsave()
+   let pat= input("Enter pattern: ","")
+   call inputrestore()
+   if pat !~ '^\s'
+    if pat !~ '^/'
+     let pat= '/'.pat.'/'
     endif
+    let pat= " ".pat
    endif
 
-   let ctr= ctr + 1
-  endwhile
+   " use vimgrep for both local and remote
+"   call Decho("exe vimgrep".pat." ".netrwmarkfilelist)
+   exe "vimgrep".pat." ".netrwmarkfilelist
 
-  " refresh the (remote) directory listing
-"  call Decho("refresh remote directory listing")
-  call netrw#NetSavePosn()
-  call s:NetRefresh(0,s:NetBrowseChgDir(0,'./'))
+   2match none
+   call netrw#NetrwRestorePosn(svpos)
+  endif
 
-"  call Dret("NetBrowseRm")
+"  call Dret("s:NetrwMarkFileGrep")
 endfun
 
 " ---------------------------------------------------------------------
-" NetBrowseRename: rename a remote file or directory {{{2
-fun! s:NetBrowseRename(usrhost,path) range
-"  call Dfunc("NetBrowseRename(usrhost<".a:usrhost."> path<".a:path.">)")
+" s:NetrwMarkFileMove: (invoked by mm) execute arbitrary command on marked files, one at a time {{{2
+"                      uses the global marked file list
+"                      s:netrwmfloc= 0: target directory is remote
+"                                  = 1: target directory is local
+fun! s:NetrwMarkFileMove(islocal)
+"  call Dfunc("s:NetrwMarkFileMove(islocal=".a:islocal.")")
+  let curdir   = b:netrw_curdir
+  let curbufnr = bufnr("%")
+
+  " sanity check
+  if !exists("s:netrwmarkfilelist_{bufnr('%')}") || empty(s:netrwmarkfilelist_{bufnr('%')})
+   call netrw#ErrorMsg(2,"there are no marked files in this window (:help netrw-mf)",66)
+"   call Dret("s:NetrwMarkFileMove")
+   return
+  endif
+"  call Decho("sanity chk passed: s:netrwmarkfilelist_".bufnr('%')."<".string(s:netrwmarkfilelist_{bufnr('%')}))
+  if !exists("s:netrwmftgt")
+   call netrw#ErrorMsg(2,"your marked file target is empty! (:help netrw-mt)",67)
+"   call Dret("s:NetrwMarkFileCopy 0")
+   return 0
+  endif
+"  call Decho("sanity chk passed: s:netrwmftgt<".s:netrwmftgt.">")
+
+  if      a:islocal &&  s:netrwmftgt_islocal
+   " move: local -> local
+"   call Decho("move from local to local")
+"   call Decho("(s:NetrwMarkFileMove) local to local move")
+   if executable(g:netrw_localmovecmd)
+    for fname in s:netrwmarkfilelist_{bufnr("%")}
+"     call Decho("system(".g:netrw_localmovecmd." ".shellescape(fname)." ".shellescape(s:netrwmftgt).")")
+     let ret= system(g:netrw_localmovecmd." ".shellescape(fname)." ".shellescape(s:netrwmftgt))
+     if v:shell_error < 0
+      call netrw#ErrorMsg(s:ERROR,"command<".g:netrw_localmovecmd."> failed, aborting",54)
+      break
+     endif
+    endfor
+   else
+    call netrw#ErrorMsg(s:ERROR,"command<".g:netrw_localmovecmd."> is not executable!",57)
+   endif
+
+  elseif  a:islocal && !s:netrwmftgt_islocal
+   " move: local -> remote
+"   call Decho("move from local to remote")
+"   call Decho("copy")
+   let mflist= s:netrwmarkfilelist_{bufnr("%")}
+   call s:NetrwMarkFileCopy(a:islocal)
+"   call Decho("remove")
+   for fname in mflist
+    let barefname = substitute(fname,'^\(.*/\)\(.\{-}\)$','\2','')
+    let ok        = s:NetrwLocalRmFile(b:netrw_curdir,barefname,1)
+   endfor
+   unlet mflist
+
+  elseif !a:islocal &&  s:netrwmftgt_islocal
+   " move: remote -> local
+"   call Decho("move from remote to local")
+"   call Decho("copy")
+   let mflist= s:netrwmarkfilelist_{bufnr("%")}
+   call s:NetrwMarkFileCopy(a:islocal)
+"   call Decho("remove")
+   for fname in mflist
+    let barefname = substitute(fname,'^\(.*/\)\(.\{-}\)$','\2','')
+    let ok        = s:NetrwRemoteRmFile(b:netrw_curdir,barefname,1)
+   endfor
+   unlet mflist
+
+  elseif !a:islocal && !s:netrwmftgt_islocal
+   " move: remote -> remote
+"   call Decho("move from remote to remote")
+"   call Decho("copy")
+   let mflist= s:netrwmarkfilelist_{bufnr("%")}
+   call s:NetrwMarkFileCopy(a:islocal)
+"   call Decho("remove")
+   for fname in mflist
+    let barefname = substitute(fname,'^\(.*/\)\(.\{-}\)$','\2','')
+    let ok        = s:NetrwRemoteRmFile(b:netrw_curdir,barefname,1)
+   endfor
+   unlet mflist
+  endif
 
-  " preparation for removing multiple files/directories
-  let ctr        = a:firstline
-  let rename_cmd = s:MakeSshCmd(g:netrw_rename_cmd)
+  " -------
+  " cleanup
+  " -------
+"  call Decho("cleanup")
 
-  " attempt to rename files/directories
-  while ctr <= a:lastline
-   exe "keepjumps ".ctr
+  " remove markings from local buffer
+  call s:NetrwUnmarkList(curbufnr,curdir)                   " remove markings from local buffer
 
-   norm! 0
-   let oldname= s:NetGetWord()
-"   call Decho("oldname<".oldname.">")
+  " refresh buffers
+  if !s:netrwmftgt_islocal
+   call s:NetrwRefreshDir(s:netrwmftgt_islocal,s:netrwmftgt)
+  endif
+  if a:islocal
+   call s:NetrwRefreshDir(a:islocal,b:netrw_curdir)
+  endif
+  call s:LocalBrowseShellCmdRefresh()
+  
+"  call Dret("s:NetrwMarkFileMove")
+endfun
 
-   call inputsave()
-   let newname= input("Moving ".oldname." to : ",oldname)
-   call inputrestore()
+" ---------------------------------------------------------------------
+" s:NetrwMarkFilePrint: (invoked by mp) This function prints marked files {{{2
+"                       using the hardcopy command.  Local marked-file list only.
+fun! s:NetrwMarkFilePrint(islocal)
+"  call Dfunc("s:NetrwMarkFilePrint(islocal=".a:islocal.")")
+  let curbufnr= bufnr("%")
+  if exists("s:netrwmarkfilelist_{curbufnr}")
+   let netrwmarkfilelist = s:netrwmarkfilelist_{curbufnr}
+   let curdir            = b:netrw_curdir
+   call s:NetrwUnmarkList(curbufnr,curdir)
+   for fname in netrwmarkfilelist
+    if a:islocal
+     if g:netrw_keepdir
+      let fname= s:ComposePath(curdir,fname)
+     endif
+    else
+     let fname= curdir.fname
+    endif
+    1split
+    " the autocmds will handle both local and remote files
+"    call Decho("exe silent e ".escape(fname,' '))
+    exe "silent e ".escape(fname,' ')
+"    call Decho("hardcopy")
+    hardcopy
+    q
+   endfor
+   2match none
+  endif
+"  call Dret("s:NetrwMarkFilePrint")
+endfun
 
-   if exists("w:netrw_method") && (w:netrw_method == 2 || w:netrw_method == 3)
-    call s:NetBrowseFtpCmd(a:path,"rename ".oldname." ".newname)
-   else
-    let oldname= a:path.oldname
-    let newname= a:path.newname
-"    call Decho("system(rename_cmd".' "'.escape(oldname," ").'" "'.escape(newname,s:netrw_cd_escape).'"')
-    let ret= s:System("system",rename_cmd.' "'.escape(oldname,s:netrw_cd_escape).'" "'.escape(newname,s:netrw_cd_escape).'"')
+" ---------------------------------------------------------------------
+" s:NetrwMarkFileRegexp: (invoked by mr) This function is used to mark {{{2
+"                        files when given a regexp (for which a prompt is
+"                        issued).
+fun! s:NetrwMarkFileRegexp(islocal)
+"  call Dfunc("s:NetrwMarkFileRegexp(islocal=".a:islocal.")")
+
+  " get the regular expression
+  call inputsave()
+  let regexp= input("Enter regexp: ","","file")
+  call inputrestore()
+
+  if a:islocal
+   " get the matching list of files using local glob()
+"   call Decho("handle local regexp")
+   let dirname  = escape(b:netrw_curdir,g:netrw_glob_escape)
+   let filelist = glob(s:ComposePath(dirname,regexp))
+   if filelist != ""
+    let filelist= filelist."\n"
    endif
 
-   let ctr= ctr + 1
+  " mark the list of files
+  while filelist != ""
+   if filelist =~ '\n'
+    let filename = substitute(filelist,'\n.*$','','e')
+    let filelist = substitute(filelist,'^.\{-}\n\(.*\)$','\1','e')
+   else
+    let filename = filelist
+    let filelist = ""
+   endif
+"   call Decho("filelist<".filelist.">")
+"   call Decho("filename<".filename.">")
+   call s:NetrwMarkFile(a:islocal,substitute(filename,'^.*/','',''))
   endwhile
 
-  " refresh the directory
-  let curline= line(".")
-  call s:NetBrowse(0,s:NetBrowseChgDir(0,'./'))
-  exe "keepjumps ".curline
-"  call Dret("NetBrowseRename")
+  else
+"   call Decho("handle remote regexp")
+
+   " convert displayed listing into a filelist
+   let eikeep = &ei
+   let areg   = @a
+   silent %y a
+   set ei=all ma
+"   call Decho("set ei=all ma")
+   1split
+   enew
+   silent norm! "ap
+   2
+   let bannercnt= search('^" =====','W')
+   exe "silent 1,".bannercnt."d"
+   set bt=nofile
+   if     g:netrw_liststyle == s:LONGLIST
+    silent %s/\s\{2,}\S.*$//e
+   elseif g:netrw_liststyle == s:WIDELIST
+    silent %s/\s\{2,}/\r/ge
+   elseif g:netrw_liststyle == s:TREELIST
+    silent %s/^| //e
+    silent! g/^ .*$/d
+   endif
+   " convert regexp into the more usual glob-style format
+   let regexp= substitute(regexp,'\*','.*','g')
+"   call Decho("regexp<".regexp.">")
+   exe "silent! v/".escape(regexp,'/')."/d"
+   let filelist= getline(1,line("$"))
+   q!
+   for filename in filelist
+    call s:NetrwMarkFile(a:islocal,substitute(filename,'^.*/','',''))
+   endfor
+   unlet filelist
+   let @a  = areg
+   let &ei = eikeep
+  endif
+
+"  call Dret("s:NetrwMarkFileRegexp")
 endfun
 
 " ---------------------------------------------------------------------
-" NetRefresh: {{{2
-fun! s:NetRefresh(islocal,dirname)
-"  call Dfunc("NetRefresh(islocal<".a:islocal.">,dirname=".a:dirname.") hide=".g:netrw_hide." sortdir=".g:netrw_sort_direction)
-  " at the current time (Mar 19, 2007) all calls to NetRefresh() call NetBrowseChgDir() first.
-  " NetBrowseChgDir() may clear the display; hence a NetSavePosn() may not work if its placed here.
-  " Also, NetBrowseChgDir() now does a NetSavePosn() itself.
-  setlocal ma noro
-"  call Decho("clear buffer<".expand("%")."> with :%d")
-  %d
-  if a:islocal
-   call netrw#LocalBrowseCheck(a:dirname)
-  else
-   call s:NetBrowse(a:islocal,a:dirname)
+" s:NetrwMarkFileSource: (invoked by ms) This function sources marked files {{{2
+"                        Uses the local marked file list.
+fun! s:NetrwMarkFileSource(islocal)
+"  call Dfunc("s:NetrwMarkFileSource(islocal=".a:islocal.")")
+  let curbufnr= bufnr("%")
+  if exists("s:netrwmarkfilelist_{curbufnr}")
+   let netrwmarkfilelist = s:netrwmarkfilelist_{bufnr("%")}
+   let curdir            = b:netrw_curdir
+   call s:NetrwUnmarkList(curbufnr,curdir)
+   for fname in netrwmarkfilelist
+    if a:islocal
+     if g:netrw_keepdir
+      let fname= s:ComposePath(curdir,fname)
+     endif
+    else
+     let fname= curdir.fname
+    endif
+    " the autocmds will handle sourcing both local and remote files
+"    call Decho("exe so ".escape(fname,' '))
+    exe "so ".escape(fname,' ')
+   endfor
+   2match none
   endif
-  call netrw#NetRestorePosn()
-  redraw!
-"  call Dret("NetRefresh")
+"  call Dret("s:NetrwMarkFileSource")
 endfun
 
 " ---------------------------------------------------------------------
-" NetSplit: mode {{{2
-"           =0 : net   and o
-"           =1 : net   and t
-"           =2 : net   and v
-"           =3 : local and o
-"           =4 : local and t
-"           =5 : local and v
-fun! s:NetSplit(mode)
-"  call Dfunc("NetSplit(mode=".a:mode.") alto=".g:netrw_alto." altv=".g:netrw_altv)
-
-  call s:SaveWinVars()
-
-  if a:mode == 0
-   " remote and o
-   exe (g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s"
-   let s:didsplit= 1
-   call s:RestoreWinVars()
-   call s:NetBrowse(0,s:NetBrowseChgDir(0,s:NetGetWord()))
-   unlet s:didsplit
+" s:NetrwMarkFileTag: (invoked by mT) This function applies g:netrw_ctags to marked files {{{2
+"                     Uses the global markfilelist
+fun! s:NetrwMarkFileTag(islocal)
+"  call Dfunc("s:NetrwMarkFileTag(islocal=".a:islocal.")")
+  let svpos    = netrw#NetrwSavePosn()
+  let curdir   = b:netrw_curdir
+  let curbufnr = bufnr("%")
+
+  if exists("s:netrwmarkfilelist")
+"   call Decho("s:netrwmarkfilelist".string(s:netrwmarkfilelist).">")
+   if a:islocal && g:netrw_keepdir
+    let netrwmarkfilelist= ""
+    for fname in s:netrwmarkfilelist
+"     let netrwmarkfilelist= netrwmarkfilelist." ".s:ComposePath(curdir,fname)
+     let netrwmarkfilelist= netrwmarkfilelist." ".fname
+    endfor
+   else
+    let netrwmarkfilelist= string(s:netrwmarkfilelist)
+    let netrwmarkfilelist= substitute(netrwmarkfilelist,'[[\],]','','g')
+   endif
+   call s:NetrwUnmarkAll()
 
-  elseif a:mode == 1
-   " remote and t
-   let cursorword  = s:NetGetWord()
-   tabnew
-   let s:didsplit= 1
-   call s:RestoreWinVars()
-   call s:NetBrowse(0,s:NetBrowseChgDir(0,cursorword))
-   unlet s:didsplit
+   if a:islocal
+    if executable(g:netrw_ctags)
+     call map(netrwmarkfilelist,"shellescape(v:val)")
+"     call Decho("call system(".g:netrw_ctags." ".netrwmarkfilelist.")")
+     call system(g:netrw_ctags." ".netrwmarkfilelist)
+    else
+     call netrw#ErrorMsg(s:ERROR,"g:netrw_ctags<".g:netrw_ctags."> is not executable!",51)
+    endif
+   else
+    let cmd= s:RemoteSystem(g:netrw_ctags." ".netrwmarkfilelist)
+    call netrw#NetrwObtain(a:islocal,"tags")
+    let curdir= b:netrw_curdir
+    1split
+    e tags
+    let path= substitute(curdir,'^\(.*\)/[^/]*$','\1/','')
+"    call Decho("curdir<".curdir."> path<".path.">")
+    exe '%s/\t\(\S\+\)\t/\t'.escape(path,'/').'\1\t/e'
+    wq!
+   endif
+   2match none
+   call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./'))
+   call netrw#NetrwRestorePosn(svpos)
+  endif
+
+"  call Dret("s:NetrwMarkFileTag")
+endfun
 
-  elseif a:mode == 2
-   " remote and v
-   exe (g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v"
-   let s:didsplit= 1
-   call s:RestoreWinVars()
-   call s:NetBrowse(0,s:NetBrowseChgDir(0,s:NetGetWord()))
-   unlet s:didsplit
+" ---------------------------------------------------------------------
+" s:NetrwMarkFileTgt:  (invoked by mt) This function sets up a marked file target {{{2
+"   Sets up two variables, 
+"     s:netrwmftgt : holds the target directory
+"     s:netrwmftgt_islocal : 0=target directory is remote
+"                    1=target directory is local
+fun! s:NetrwMarkFileTgt(islocal)
+"  call Dfunc("s:NetrwMarkFileTgt(islocal=".a:islocal.")")
+  let svpos  = netrw#NetrwSavePosn()
+  let curdir = b:netrw_curdir
+  let hadtgt = exists("s:netrwmftgt")
+  if !exists("w:netrw_bannercnt")
+   let w:netrw_bannercnt= b:netrw_bannercnt
+  endif
+
+  " set up target
+  if line(".") < w:netrw_bannercnt
+   " if cursor in banner region, use b:netrw_curdir for the target
+   let s:netrwmftgt= b:netrw_curdir
+"   call Decho("inbanner: s:netrwmftgt<".s:netrwmftgt.">")
 
-  elseif a:mode == 3
-   " local and o
-   exe (g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s"
-   let s:didsplit= 1
-   call s:RestoreWinVars()
-   call netrw#LocalBrowseCheck(s:NetBrowseChgDir(1,s:NetGetWord()))
-   unlet s:didsplit
+  else
+   " get word under cursor.
+   "  * If directory, use it for the target.
+   "  * If file, use b:netrw_curdir for the target
+   let curword= s:NetrwGetWord()
+   let tgtdir = s:ComposePath(curdir,curword)
+   if a:islocal && isdirectory(tgtdir)
+    let s:netrwmftgt = tgtdir
+"    call Decho("local isdir: s:netrwmftgt<".s:netrwmftgt.">")
+   elseif !a:islocal && tgtdir =~ '/$'
+    let s:netrwmftgt = tgtdir
+"    call Decho("remote isdir: s:netrwmftgt<".s:netrwmftgt.">")
+   else
+    let s:netrwmftgt = curdir
+"    call Decho("isfile: s:netrwmftgt<".s:netrwmftgt.">")
+   endif
+  endif
+  if a:islocal
+   " simplify the target (eg. /abc/def/../ghi -> /abc/ghi)
+   let s:netrwmftgt= simplify(s:netrwmftgt)
+"   call Decho("simplify: s:netrwmftgt<".s:netrwmftgt.">")
+  endif
+  if g:netrw_cygwin
+   let s:netrwmftgt= substitute(system("cygpath ".shellescape(s:netrwmftgt)),'\n$','','')
+   let s:netrwmftgt= substitute(s:netrwmftgt,'\n$','','')
+  endif
+  let s:netrwmftgt_islocal= a:islocal
 
-  elseif a:mode == 4
-   " local and t
-   let netrw_curdir= b:netrw_curdir
-   let cursorword  = s:NetGetWord()
-   tabnew
-   let b:netrw_curdir= netrw_curdir
-   let s:didsplit= 1
-   call s:RestoreWinVars()
-   call netrw#LocalBrowseCheck(s:NetBrowseChgDir(1,cursorword))
-   unlet s:didsplit
+  if g:netrw_fastbrowse > 0
+   call s:LocalBrowseShellCmdRefresh()
+  endif
+  call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./'))
+  call netrw#NetrwRestorePosn(svpos)
+  if !hadtgt
+   norm! j
+  endif
 
-  elseif a:mode == 5
-   " local and v
-   exe (g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v"
-   let s:didsplit= 1
-   call s:RestoreWinVars()
-   call netrw#LocalBrowseCheck(s:NetBrowseChgDir(1,s:NetGetWord()))
-   unlet s:didsplit
+"  call Dret("s:NetrwMarkFileTgt : netrwmftgt<".(exists("s:netrwmftgt")? s:netrwmftgt : "").">")
+endfun
 
-  else
-   call netrw#ErrorMsg(s:ERROR,"(NetSplit) unsupported mode=".a:mode,45)
+" ---------------------------------------------------------------------
+" s:NetrwUnmarkList: delete local marked file lists and remove their contents from the global marked-file list {{{2
+fun! s:NetrwUnmarkList(curbufnr,curdir)
+"  call Dfunc("s:NetrwUnmarkList(curbufnr=".a:curbufnr." curdir<".a:curdir.">)")
+
+  "  remove all files in local marked-file list from global list
+  if exists("s:netrwmarkfilelist_{a:curbufnr}")
+   for mfile in s:netrwmarkfilelist_{a:curbufnr}
+    let dfile = s:ComposePath(a:curdir,mfile)       " prepend directory to mfile
+    let idx   = index(s:netrwmarkfilelist,dfile)    " get index in list of dfile
+    call remove(s:netrwmarkfilelist,idx)            " remove from global list
+   endfor
+   if s:netrwmarkfilelist == []
+    unlet s:netrwmarkfilelist
+   endif
+   " getting rid of the local marked-file lists is easy
+   unlet s:netrwmarkfilelist_{a:curbufnr}
   endif
-
-"  call Dret("NetSplit")
+  if exists("s:netrwmarkfilemtch_{a:curbufnr}")
+   unlet s:netrwmarkfilemtch_{a:curbufnr}
+  endif
+  2match none
+"  call Dret("s:NetrwUnmarkList")
 endfun
 
 " ---------------------------------------------------------------------
-" NetBrowseX:  allows users to write custom functions to operate on {{{2
-"              files given their extension.  Passes 0=local, 1=remote
-fun! netrw#NetBrowseX(fname,remote)
-"  call Dfunc("NetBrowseX(fname<".a:fname."> remote=".a:remote.")")
+" s:NetrwUnmarkAll: remove the global marked file list and all local ones {{{2
+fun! s:NetrwUnmarkAll()
+"  call Dfunc("s:NetrwUnmarkAll()")
+  if exists("s:netrwmarkfilelist")
+   unlet s:netrwmarkfilelist
+  endif
+  silent call s:NetrwUnmarkAll2()
+  2match none
+"  call Dret("s:NetrwUnmarkAll")
+endfun
 
-  " set up the filename
-  " (lower case the extension, make a local copy of a remote file)
-  let exten= substitute(a:fname,'.*\.\(.\{-}\)','\1','e')
-  if has("win32") || has("win95") || has("win64") || has("win16")
-   let exten= substitute(exten,'^.*$','\L&\E','')
-  endif
-  let fname= escape(a:fname,"%#")
-"  call Decho("fname<".fname."> after escape()")
+" ---------------------------------------------------------------------
+" s:NetrwUnmarkAll2: {{{2
+fun! s:NetrwUnmarkAll2()
+"  call Dfunc("s:NetrwUnmarkAll2()")
+  redir => netrwmarkfilelist_let
+  let
+  redir END
+  let netrwmarkfilelist_list= split(netrwmarkfilelist_let,'\n')          " convert let string into a let list
+  call filter(netrwmarkfilelist_list,"v:val =~ '^s:netrwmarkfilelist_'") " retain only those vars that start as s:netrwmarkfilelist_ 
+  call map(netrwmarkfilelist_list,"substitute(v:val,'\\s.*$','','')")    " remove what the entries are equal to
+  for flist in netrwmarkfilelist_list
+   let curbufnr= substitute(flist,'s:netrwmarkfilelist_','','')
+   unlet s:netrwmarkfilelist_{curbufnr}
+   unlet s:netrwmarkfilemtch_{curbufnr}
+  endfor
+"  call Dret("s:NetrwUnmarkAll2")
+endfun
 
-  " seems kde systems often have gnome-open due to dependencies, even though
-  " gnome-open's subsidiary display tools are largely absent.  Kde systems
-  " usually have "kdeinit" running, though...  (tnx Mikolaj Machowski)
-  if !exists("s:haskdeinit")
-   if has("unix")
-    let s:haskdeinit= s:System("system",'ps -e') =~ 'kdeinit'
-    if v:shell_error
-     let s:haskdeinit = 0
-    endif
-   else
-    let s:haskdeinit= 0
-   endif
-"   call Decho("setting s:haskdeinit=".s:haskdeinit)
-  endif
+" ---------------------------------------------------------------------
+" s:NetrwUnMarkFile: {{{2
+fun! s:NetrwUnMarkFile(islocal)
+"  call Dfunc("s:NetrwUnMarkFile(islocal=".a:islocal.")")
+  let svpos    = netrw#NetrwSavePosn()
+  let curbufnr = bufnr("%")
+
+  " unmark marked file list (although I expect s:NetrwUpload()
+  " to do it, I'm just making sure)
+  if exists("s:netrwmarkfilelist_{bufnr('%')}")
+"   call Decho("unlet'ing: s:netrwmarkfile[list|mtch]_".bufnr("%"))
+   unlet s:netrwmarkfilelist
+   unlet s:netrwmarkfilelist_{curbufnr}
+   unlet s:netrwmarkfilemtch_{curbufnr}
+   2match none
+  endif
+
+"  call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./'))
+  call netrw#NetrwRestorePosn(svpos)
+"  call Dret("s:NetrwUnMarkFile")
+endfun
 
-  if a:remote == 1
-   " create a local copy
-   let fname= fnamemodify(tempname(),":t:r").".".exten
-"   call Decho("a:remote=".a:remote.": create a local copy of <".a:fname."> as <".fname.">")
-   exe "silent keepjumps bot 1new ".a:fname
-   setlocal bh=delete
-"   call Decho("exe w! ".fname)
-   exe "w! ".fname
-   q
-  endif
-"  call Decho("exten<".exten."> "."netrwFileHandlers#NFH_".exten."():exists=".exists("*netrwFileHandlers#NFH_".exten))
+" ---------------------------------------------------------------------
+" s:NetrwMenu: generates the menu for gvim and netrw {{{2
+fun! s:NetrwMenu(domenu)
 
-  " set up redirection
-  if &srr =~ "%s"
-   let redir= substitute(&srr,"%s","/dev/null","")
-  else
-   let redir= &srr . "/dev/null"
+  if !exists("g:NetrwMenuPriority")
+   let g:NetrwMenuPriority= 80
   endif
-"  call Decho("redir{".redir."} srr{".&srr."}")
 
-  " execute the file handler
-  if exists("g:netrw_browsex_viewer") && g:netrw_browsex_viewer == '-'
-"  call Decho("g:netrw_browsex_viewer<".g:netrw_browsex_viewer.">")
-   let ret= netrwFileHandlers#Invoke(exten,fname)
+  if has("menu") && has("gui_running") && &go =~ 'm' && g:netrw_menu
+"   call Dfunc("NetrwMenu(domenu=".a:domenu.")")
 
-  elseif exists("g:netrw_browsex_viewer") && executable(g:netrw_browsex_viewer)
-"   call Decho("g:netrw_browsex_viewer<".g:netrw_browsex_viewer.">")
-"   call Decho("exe silent !".g:netrw_browsex_viewer." '".escape(fname,'%#')."' ".redir)
-   exe "silent !".g:netrw_browsex_viewer." '".escape(fname,'%#')."'".redir
-   let ret= v:shell_error
+   if !exists("s:netrw_menu_enabled") && a:domenu
+"    call Decho("initialize menu")
+    let s:netrw_menu_enabled= 1
+    exe 'silent! menu '.g:NetrwMenuPriority.'.1     '.g:NetrwTopLvlMenu.'Help<tab><F1> <F1>'
+    call s:NetrwBookmarkMenu() " provide some history!  uses priorities 2,3, reserves 4
+    exe 'silent! menu '.g:NetrwMenuPriority.'.5     '.g:NetrwTopLvlMenu.'-Sep1-        :'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.6     '.g:NetrwTopLvlMenu.'Go\ Up\ Directory<tab>-       -'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.7     '.g:NetrwTopLvlMenu.'Apply\ Special\ Viewer<tab>x  x'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.8.1   '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Bookmark\ Current\ Directory<tab>mb   mb'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.8.2   '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Bookmark\ Delete<tab>mB       mB'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.8.3   '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Goto\ Bookmark<tab>gb gb'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.8.4   '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Goto\ Prev\ Dir\ (History)<tab>u      u'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.8.5   '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.Goto\ Next\ Dir\ (History)<tab>U      U'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.8.6   '.g:NetrwTopLvlMenu.'Bookmarks\ and\ History.List<tab>qb   qb'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.9.1   '.g:NetrwTopLvlMenu.'Browsing\ Control.Edit\ File\ Hiding\ List<tab>'."<ctrl-h>    \<Plug>NetrwHideEdit"
+    exe 'silent! menu '.g:NetrwMenuPriority.'.9.2   '.g:NetrwTopLvlMenu.'Browsing\ Control.Edit\ Sorting\ Sequence<tab>S       S'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.9.3   '.g:NetrwTopLvlMenu.'Browsing\ Control.Quick\ Hide/Unhide\ Dot\ Files<tab>'."gh    gh"
+    exe 'silent! menu '.g:NetrwMenuPriority.'.9.4   '.g:NetrwTopLvlMenu.'Browsing\ Control.Refresh\ Listing<tab>'."<ctrl-l>    \<Plug>NetrwRefresh"
+    exe 'silent! menu '.g:NetrwMenuPriority.'.9.5   '.g:NetrwTopLvlMenu.'Browsing\ Control.Settings/Options<tab>:NetrwSettings '.":NetrwSettings\<cr>"
+    exe 'silent! menu '.g:NetrwMenuPriority.'.10    '.g:NetrwTopLvlMenu.'Delete\ File/Directory<tab>D  D'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.11.1  '.g:NetrwTopLvlMenu.'Edit\ File/Dir.In\ Current\ Window<tab><cr>   '."\<cr>"
+    exe 'silent! menu '.g:NetrwMenuPriority.'.11.2  '.g:NetrwTopLvlMenu.'Edit\ File/Dir.Preview\ File/Directory<tab>p  p'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.11.3  '.g:NetrwTopLvlMenu.'Edit\ File/Dir.In\ Previous\ Window<tab>P     P'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.11.4  '.g:NetrwTopLvlMenu.'Edit\ File/Dir.In\ New\ Window<tab>o  o'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.11.5  '.g:NetrwTopLvlMenu.'Edit\ File/Dir.In\ New\ Vertical\ Window<tab>v        v'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.12.1  '.g:NetrwTopLvlMenu.'Explore.Directory\ Name       :Explore '
+    exe 'silent! menu '.g:NetrwMenuPriority.'.12.2  '.g:NetrwTopLvlMenu.'Explore.Filenames\ Matching\ Pattern\ (curdir\ only)<tab>:Explore\ */ :Explore */'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.12.2  '.g:NetrwTopLvlMenu.'Explore.Filenames\ Matching\ Pattern\ (+subdirs)<tab>:Explore\ **/    :Explore **/'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.12.3  '.g:NetrwTopLvlMenu.'Explore.Files\ Containing\ Pattern\ (curdir\ only)<tab>:Explore\ *//  :Explore *//'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.12.4  '.g:NetrwTopLvlMenu.'Explore.Files\ Containing\ Pattern\ (+subdirs)<tab>:Explore\ **//     :Explore **//'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.12.4  '.g:NetrwTopLvlMenu.'Explore.Next\ Match<tab>:Nexplore     :Nexplore<cr>'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.12.4  '.g:NetrwTopLvlMenu.'Explore.Prev\ Match<tab>:Pexplore     :Pexplore<cr>'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.13    '.g:NetrwTopLvlMenu.'Make\ Subdirectory<tab>d      d'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.14.1  '.g:NetrwTopLvlMenu.'Marked\ Files.Mark\ File<tab>mf       mf'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.14.2  '.g:NetrwTopLvlMenu.'Marked\ Files.Mark\ Files\ by\ Regexp<tab>mr  mr'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.14.3  '.g:NetrwTopLvlMenu.'Marked\ Files.Hide-Show-List\ Control<tab>a   a'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.14.4  '.g:NetrwTopLvlMenu.'Marked\ Files.Copy\ To\ Target<tab>mc mc'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.14.5  '.g:NetrwTopLvlMenu.'Marked\ Files.Delete<tab>D    D'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.14.6  '.g:NetrwTopLvlMenu.'Marked\ Files.Diff<tab>md     md'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.14.7  '.g:NetrwTopLvlMenu.'Marked\ Files.Edit<tab>me     me'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.14.8  '.g:NetrwTopLvlMenu.'Marked\ Files.Exe\ Cmd<tab>mx mx'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.14.9  '.g:NetrwTopLvlMenu.'Marked\ Files.Move\ To\ Target<tab>mm mm'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.14.10 '.g:NetrwTopLvlMenu.'Marked\ Files.Obtain<tab>O    O'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.14.11 '.g:NetrwTopLvlMenu.'Marked\ Files.Print<tab>mp    mp'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.14.12 '.g:NetrwTopLvlMenu.'Marked\ Files.Replace<tab>R   R'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.14.13 '.g:NetrwTopLvlMenu.'Marked\ Files.Set\ Target<tab>mt      mt'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.14.14 '.g:NetrwTopLvlMenu.'Marked\ Files.Tag<tab>mT      mT'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.14.15 '.g:NetrwTopLvlMenu.'Marked\ Files.Zip/Unzip/Compress/Uncompress<tab>mz    mz'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.15    '.g:NetrwTopLvlMenu.'Obtain\ File<tab>O    O'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.16.1  '.g:NetrwTopLvlMenu.'Style.Listing\ Style\ (thin-long-wide-tree)<tab>i     i'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.16.2  '.g:NetrwTopLvlMenu.'Style.Normal-Hide-Show<tab>a  a'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.16.3  '.g:NetrwTopLvlMenu.'Style.Reverse\ Sorting\ Order<tab>'."r        r"
+    exe 'silent! menu '.g:NetrwMenuPriority.'.16.4  '.g:NetrwTopLvlMenu.'Style.Sorting\ Method\ (name-time-size)<tab>s s'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.17    '.g:NetrwTopLvlMenu.'Rename\ File/Directory<tab>R  R'
+    exe 'silent! menu '.g:NetrwMenuPriority.'.18    '.g:NetrwTopLvlMenu.'Set\ Current\ Directory<tab>c c'
+    let s:netrw_menucnt= 28
 
-  elseif has("win32") || has("win64")
-"   call Decho('exe silent !start rundll32 url.dll,FileProtocolHandler "'.escape(fname, '%#').'"')
-   exe 'silent !start rundll32 url.dll,FileProtocolHandler "'.escape(fname, '%#').'"'
-   call inputsave()|call input("Press <cr> to continue")|call inputrestore()
-   let ret= v:shell_error
+   elseif !a:domenu
+    let s:netrwcnt = 0
+    let curwin     = winnr()
+    windo if getline(2) =~ "Netrw" | let s:netrwcnt= s:netrwcnt + 1 | endif
+    exe curwin."wincmd w"
 
-  elseif has("unix") && executable("gnome-open") && !s:haskdeinit
-"   call Decho("exe silent !gnome-open '".escape(fname,'%#')."' ".redir)
-   exe "silent !gnome-open '".escape(fname,'%#')."'".redir
-   let ret= v:shell_error
+    if s:netrwcnt <= 1
+"     call Decho("clear menus")
+     exe 'silent! unmenu '.g:NetrwTopLvlMenu
+"     call Decho('exe silent! unmenu '.g:NetrwTopLvlMenu.'*')
+     silent! unlet s:netrw_menu_enabled
+    endif
+   endif
+"   call Dret("NetrwMenu")
+  endif
 
-  elseif has("unix") && executable("kfmclient") && s:haskdeinit
-"   call Decho("exe silent !kfmclient exec '".escape(fname,'%#')."' ".redir)
-   exe "silent !kfmclient exec '".escape(fname,'%#')."' ".redir
-   let ret= v:shell_error
+endfun
 
+" ---------------------------------------------------------------------
+" s:NetrwObtain: obtain file under cursor or from markfile list {{{2
+"                Used by the O maps (as <SID>NetrwObtain())
+fun! s:NetrwObtain(islocal)
+"  call Dfunc("NetrwObtain(islocal=".a:islocal.")")
+
+  if exists("s:netrwmarkfilelist_{bufnr('%')}")
+   let islocal= s:netrwmarkfilelist_{bufnr("%")}[1] !~ '^\a\+://'
+   call netrw#NetrwObtain(islocal,s:netrwmarkfilelist_{bufnr("%")})
+   call s:NetrwUnmarkList(bufnr('%'),b:netrw_curdir)
   else
-   " netrwFileHandlers#Invoke() always returns 0
-   let ret= netrwFileHandlers#Invoke(exten,fname)
+   call netrw#NetrwObtain(a:islocal,expand("<cWORD>"))
   endif
 
-  " if unsuccessful, attempt netrwFileHandlers#Invoke()
-  if ret
-   let ret= netrwFileHandlers#Invoke(exten,fname)
-  endif
+"  call Dret("NetrwObtain")
+endfun
 
-  redraw!
+" ---------------------------------------------------------------------
+" netrw#NetrwObtain: {{{2
+"   netrw#NetrwObtain(islocal,fname[,tgtdirectory])
+"     islocal=0  obtain from remote source
+"            =1  obtain from local source
+"     fname  :   a filename or a list of filenames
+"     tgtdir :   optional place where files are to go  (not present, uses getcwd())
+fun! netrw#NetrwObtain(islocal,fname,...)
+"  call Dfunc("netrw#NetrwObtain(islocal=".a:islocal." fname<".((type(a:fname) == 1)? a:fname : string(a:fname)).">) a:0=".a:0)
+  " NetrwStatusLine support - for obtaining support
 
-  " cleanup: remove temporary file,
-  "          delete current buffer if success with handler,
-  "          return to prior buffer (directory listing)
-  if a:remote == 1 && fname != a:fname
-"   call Decho("deleting temporary file<".fname.">")
-   call s:System("delete",fname)
+  if type(a:fname) == 1
+   let fnamelist= [ a:fname ]
+  elseif type(a:fname) == 3
+   let fnamelist= a:fname
+  else
+   call netrw#ErrorMsg(s:ERROR,"attempting to use NetrwObtain on something not a filename or a list",62)
+"   call Dret("netrw#NetrwObtain")
+   return
+  endif
+"  call Decho("fnamelist<".string(fnamelist).">")
+  if a:0 > 0
+   let tgtdir= a:1
+  else
+   let tgtdir= getcwd()
   endif
+"  call Decho("tgtdir<".tgtdir.">")
 
-  if a:remote == 1
-   setlocal bh=delete bt=nofile
-   if g:netrw_use_noswf
-    setlocal noswf
+  if a:islocal
+   " obtain a file from b:netrw_curdir to getcwd()
+"   call Decho("obtain a local file from ".b:netrw_curdir." to ".tgtdir
+   if exists("b:netrw_curdir") && getcwd() != b:netrw_curdir
+    let topath= s:ComposePath(tgtdir,"")
+    if (has("win32") || has("win95") || has("win64") || has("win16"))
+     " transfer files one at time
+     for fname in fnamelist
+"      call Decho("system(".g:netrw_localcopycmd." ".fname." ".shellescape(topath).")")
+      call system(g:netrw_localcopycmd." ".fname." ".shellescape(topath))
+     endfor
+    else
+     " transfer files with one command
+     let filelist= join(map(copy(fname),"shellescape(v:val)"))
+"     call Decho("system(".g:netrw_localcopycmd." ".filelist." ".shellescape(topath).")")
+     call system(g:netrw_localcopycmd." ".filelist." ".shellescape(topath))
+    endif
+   elseif !exists("b:netrw_curdir")
+    call netrw#ErrorMsg(s:ERROR,"local browsing directory doesn't exist!",36)
+   else
+    call netrw#ErrorMsg(s:WARNING,"local browsing directory and current directory are identical",37)
    endif
-   exe "norm! \<c-o>"
-   redraw!
-  endif
 
-"  call Dret("NetBrowseX")
-endfun
+  else
+"   call Decho("obtain a remote file from ".b:netrw_curdir." to ".tgtdir)
+   if type(a:fname) == 1
+    call s:SetupNetrwStatusLine('%f %h%m%r%=%9*Obtaining '.a:fname)
+   endif
+   call s:NetrwMethod(b:netrw_curdir)
 
-" ---------------------------------------------------------------------
-" NetBrowseFtpCmd: unfortunately, not all ftp servers honor options for ls {{{2
-"  This function assumes that a long listing will be received.  Size, time,
-"  and reverse sorts will be requested of the server but not otherwise
-"  enforced here.
-fun! s:NetBrowseFtpCmd(path,listcmd)
-"  call Dfunc("NetBrowseFtpCmd(path<".a:path."> listcmd<".a:listcmd.">) netrw_method=".w:netrw_method)
-"  call Decho("line($)=".line("$")." bannercnt=".w:netrw_bannercnt)
+   if b:netrw_method == 4
+    " obtain file using scp
+"    call Decho("obtain via scp (method#4)")
+    if exists("g:netrw_port") && g:netrw_port != ""
+     let useport= " ".g:netrw_scpport." ".g:netrw_port
+    else
+     let useport= ""
+    endif
+    if b:netrw_fname =~ '/'
+     let path= substitute(b:netrw_fname,'^\(.*/\).\{-}$','\1','')
+    else
+     let path= ""
+    endif
+    let filelist= join(map(copy(fnamelist),'shellescape(g:netrw_machine.":".escape(path.v:val,g:netrw_fname_escape))'))
+"    call Decho("exe ".s:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".filelist." ".shellescape(tgtdir))
+    exe s:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".filelist." ".shellescape(tgtdir)
 
-  " because WinXX ftp uses unix style input
-  let ffkeep= &ff
-  setlocal ma ff=unix noro
+   elseif b:netrw_method == 2
+    " obtain file using ftp + .netrc
+"     call Decho("obtain via ftp+.netrc (method #2)")
+     call s:SaveBufVars()|silent keepjumps new|call s:RestoreBufVars()
+     let tmpbufnr= bufnr("%")
+     setlocal ff=unix
+     if exists("g:netrw_ftpmode") && g:netrw_ftpmode != ""
+      exe "put ='".g:netrw_ftpmode."'"
+"      call Decho("filter input: ".getline('$'))
+     endif
 
-  " clear off any older non-banner lines
-  " note that w:netrw_bannercnt indexes the line after the banner
-"  call Decho('exe silent! keepjumps '.w:netrw_bannercnt.",$d  (clear off old non-banner lines)")
-  exe "silent! keepjumps ".w:netrw_bannercnt.",$d"
+     if exists("b:netrw_fname") && b:netrw_fname != ""
+      call setline(line("$")+1,'cd "'.b:netrw_fname.'"')
+"      call Decho("filter input: ".getline('$'))
+     endif
 
-  ".........................................
-  if w:netrw_method == 2 || w:netrw_method == 5 
-   " ftp + <.netrc>:  Method #2
-   if a:path != ""
-    put ='cd \"'.a:path.'\"'
-   endif
-   if exists("g:netrw_ftpextracmd")
-    exe "put ='".g:netrw_ftpextracmd."'"
-"    call Decho("filter input: ".getline("."))
-   endif
-   exe "put ='".a:listcmd."'"
-"   exe w:netrw_bannercnt.',$g/^./call Decho("ftp#".line(".").": ".getline("."))'
-   if exists("g:netrw_port") && g:netrw_port != ""
-"    call Decho("exe ".g:netrw_silentxfer.w:netrw_bannercnt.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port)
-    exe g:netrw_silentxfer.w:netrw_bannercnt.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port
-   else
-"    call Decho("exe ".g:netrw_silentxfer.w:netrw_bannercnt.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine)
-    exe g:netrw_silentxfer.w:netrw_bannercnt.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine
-   endif
+     if exists("g:netrw_ftpextracmd")
+      exe "put ='".g:netrw_ftpextracmd."'"
+"      call Decho("filter input: ".getline('$'))
+     endif
+     for fname in fnamelist
+      call setline(line("$")+1,'get "'.fname.'"')
+"      call Decho("filter input: ".getline('$'))
+     endfor
+     if exists("g:netrw_port") && g:netrw_port != ""
+"      call Decho("executing: %!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port)
+      exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port
+     else
+"      call Decho("executing: %!".g:netrw_ftp_cmd." -i ".g:netrw_machine)
+      exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine
+     endif
+     " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
+     if getline(1) !~ "^$" && !exists("g:netrw_quiet") && getline(1) !~ '^Trying '
+      let debugkeep= &debug
+      setlocal debug=msg
+      call netrw#ErrorMsg(s:ERROR,getline(1),4)
+      let &debug= debugkeep
+     endif
 
-   ".........................................
-  elseif w:netrw_method == 3
-   " ftp + machine,id,passwd,filename:  Method #3
+   elseif b:netrw_method == 3
+    " obtain with ftp + machine, id, passwd, and fname (ie. no .netrc)
+"    call Decho("obtain via ftp+mipf (method #3)")
+    call s:SaveBufVars()|silent keepjumps new|call s:RestoreBufVars()
+    let tmpbufnr= bufnr("%")
     setlocal ff=unix
+
     if exists("g:netrw_port") && g:netrw_port != ""
      put ='open '.g:netrw_machine.' '.g:netrw_port
+"     call Decho("filter input: ".getline('$'))
     else
      put ='open '.g:netrw_machine
+"     call Decho("filter input: ".getline('$'))
     endif
 
     if exists("g:netrw_ftp") && g:netrw_ftp == 1
      put =g:netrw_uid
-     put ='\"'.g:netrw_passwd.'\"'
+"     call Decho("filter input: ".getline('$'))
+     put ='\"'.s:netrw_passwd.'\"'
+"     call Decho("filter input: ".getline('$'))
     else
-     put ='user \"'.g:netrw_uid.'\" \"'.g:netrw_passwd.'\"'
+     put ='user \"'.g:netrw_uid.'\" \"'.s:netrw_passwd.'\"'
+"     call Decho("filter input: ".getline('$'))
     endif
 
-   if a:path != ""
-    put ='cd \"'.a:path.'\"'
-   endif
-   if exists("g:netrw_ftpextracmd")
-    exe "put ='".g:netrw_ftpextracmd."'"
-"    call Decho("filter input: ".getline("."))
-   endif
-   exe "put ='".a:listcmd."'"
+    if exists("g:netrw_ftpmode") && g:netrw_ftpmode != ""
+     put =g:netrw_ftpmode
+"     call Decho("filter input: ".getline('$'))
+    endif
+
+    if exists("b:netrw_fname") && b:netrw_fname != ""
+     call setline(line("$")+1,'cd "'.b:netrw_fname.'"')
+"     call Decho("filter input: ".getline('$'))
+    endif
+
+    if exists("g:netrw_ftpextracmd")
+     exe "put ='".g:netrw_ftpextracmd."'"
+"     call Decho("filter input: ".getline('$'))
+    endif
+
+    if exists("g:netrw_ftpextracmd")
+     exe "put ='".g:netrw_ftpextracmd."'"
+"     call Decho("filter input: ".getline('$'))
+    endif
+    for fname in fnamelist
+     call setline(line("$")+1,'get "'.fname.'"')
+    endfor
+"    call Decho("filter input: ".getline('$'))
 
     " perform ftp:
     " -i       : turns off interactive prompting from ftp
     " -n  unix : DON'T use <.netrc>, even though it exists
     " -n  win32: quit being obnoxious about password
-"    exe w:netrw_bannercnt.',$g/^./call Decho("ftp#".line(".").": ".getline("."))'
-"    call Decho("exe ".g:netrw_silentxfer.w:netrw_bannercnt.",$!".g:netrw_ftp_cmd." -i -n")
-    exe g:netrw_silentxfer.w:netrw_bannercnt.",$!".g:netrw_ftp_cmd." -i -n"
+    norm! 1Gdd
+"    call Decho("executing: %!".g:netrw_ftp_cmd." -i -n")
+    exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i -n"
+    " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
+    if getline(1) !~ "^$"
+"     call Decho("error<".getline(1).">")
+     if !exists("g:netrw_quiet")
+      call netrw#ErrorMsg(s:ERROR,getline(1),5)
+     endif
+    endif
+   endif
 
-   ".........................................
-  else
-   call netrw#ErrorMsg(s:WARNING,"unable to comply with your request<" . choice . ">",23)
   endif
 
-  " cleanup for Windows
-  if has("win32") || has("win95") || has("win64") || has("win16")
-   silent! keepjumps %s/\r$//e
+  " cleanup
+  if exists("tmpbufnr")
+   if bufnr("%") != tmpbufnr
+    exe tmpbufnr."bw!"
+   else
+    q!
+   endif
   endif
-  if a:listcmd == "dir"
-   " infer directory/link based on the file permission string
-   silent! keepjumps g/d\%([-r][-w][-x]\)\{3}/s@$@/@
-   silent! keepjumps g/l\%([-r][-w][-x]\)\{3}/s/$/@/
-   if w:netrw_liststyle == s:THINLIST || w:netrw_liststyle == s:WIDELIST || w:netrw_liststyle == s:TREELIST
-    exe "silent! keepjumps ".w:netrw_bannercnt.',$s/^\%(\S\+\s\+\)\{8}//e'
+
+"  call Dret("netrw#NetrwObtain")
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwPrevWinOpen: open file/directory in previous window.  {{{2
+"   If there's only one window, then the window will first be split.
+"   Returns:
+"     choice = 0 : didn't have to choose
+"     choice = 1 : saved modified file in window first
+"     choice = 2 : didn't save modified file, opened window
+"     choice = 3 : cancel open
+fun! s:NetrwPrevWinOpen(islocal)
+"  call Dfunc("NetrwPrevWinOpen(islocal=".a:islocal.")")
+
+  " grab a copy of the b:netrw_curdir to pass it along to newly split windows
+  let curdir    = b:netrw_curdir
+
+  " get last window number and the word currently under the cursor
+  let lastwinnr = winnr("$")
+  let curword   = s:NetrwGetWord()
+  let choice    = 0
+"  call Decho("lastwinnr=".lastwinnr." curword<".curword.">")
+
+  let didsplit  = 0
+  if lastwinnr == 1
+   " if only one window, open a new one first
+"   call Decho("only one window, so open a new one (g:netrw_alto=".g:netrw_alto.")")
+   if g:netrw_preview
+"    call Decho("exe ".(g:netrw_alto? "top " : "bot ")."vert ".g:netrw_winsize."wincmd s")
+    exe (g:netrw_alto? "top " : "bot ")."vert ".g:netrw_winsize."wincmd s"
+   else
+"    call Decho("exe ".(g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s")
+    exe (g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s"
+   endif
+   let didsplit  = 1
+
+  else
+   call s:SaveBufVars()
+"   call Decho("wincmd p")
+   wincmd p
+   call s:RestoreBufVars()
+   " if the previous window's buffer has been changed (is modified),
+   " and it doesn't appear in any other extant window, then ask the
+   " user if s/he wants to abandon modifications therein.
+   let bnr    = winbufnr(0)
+   let bnrcnt = 0
+   if &mod
+"    call Decho("detected: prev window's buffer has been modified: bnr=".bnr." winnr#".winnr())
+    let eikeep= &ei
+    set ei=all
+    windo if winbufnr(0) == bnr | let bnrcnt=bnrcnt+1 | endif
+    exe bnr."wincmd p"
+    let &ei= eikeep
+"    call Decho("bnr=".bnr." bnrcnt=".bnrcnt." buftype=".&bt." winnr#".winnr())
+    if bnrcnt == 1
+     let bufname= bufname(winbufnr(winnr()))
+     let choice= confirm("Save modified file<".bufname.">?","&Yes\n&No\n&Cancel")
+"     call Decho("bufname<".bufname."> choice=".choice." winnr#".winnr())
+
+     if choice == 1
+      " Yes -- write file & then browse
+      let v:errmsg= ""
+      silent w
+      if v:errmsg != ""
+       call netrw#ErrorMsg(s:ERROR,"unable to write <".bufname.">!",30)
+       if didsplit
+               q
+       else
+               wincmd p
+       endif
+"       call Dret("NetrwPrevWinOpen ".choice." : unable to write <".bufname.">")
+       return choice
+      endif
+
+     elseif choice == 2
+      " No -- don't worry about changed file, just browse anyway
+      setlocal nomod
+      call netrw#ErrorMsg(s:WARNING,bufname." changes to ".bufname." abandoned",31)
+      wincmd p
+
+     else
+      " Cancel -- don't do this
+      if didsplit
+       q
+      else
+       wincmd p
+      endif
+"      call Dret("NetrwPrevWinOpen ".choice." : cancelled")
+      return choice
+     endif
+    endif
    endif
   endif
 
-  " ftp's listing doesn't seem to include ./ or ../
-  if !search('^\.\/$\|\s\.\/$','wn')
-   exe 'keepjumps '.w:netrw_bannercnt
-   put ='./'
+  " restore b:netrw_curdir (window split/enew may have lost it)
+  let b:netrw_curdir= curdir
+  if a:islocal < 2
+   if a:islocal
+    call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(a:islocal,curword))
+   else
+    call s:NetrwBrowse(a:islocal,s:NetrwBrowseChgDir(a:islocal,curword))
+   endif
   endif
-  if !search('^\.\.\/$\|\s\.\.\/$','wn')
-   exe 'keepjumps '.w:netrw_bannercnt
-   put ='../'
+"  call Dret("NetrwPrevWinOpen ".choice)
+  return choice
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwUpload: load fname to tgt (used by NetrwMarkFileCopy()) {{{2
+"                Always assumed to be local -> remote
+"                call s:NetrwUpload(filename, target)
+"                call s:NetrwUpload(filename, target, fromdirectory)
+fun! s:NetrwUpload(fname,tgt,...)
+"  call Dfunc("s:NetrwUpload(fname<".((type(a:fname) == 1)? a:fname : string(a:fname))."> tgt<".a:tgt.">) a:0=".a:0)
+
+  if a:tgt =~ '^\a\+://'
+   let tgtdir= substitute(a:tgt,'^\a\+://[^/]\+/\(.\{-}\)$','\1','')
+  else
+   let tgtdir= substitute(a:tgt,'^\(.*\)/[^/]*$','\1','')
+  endif
+"  call Decho("tgtdir<".tgtdir.">")
+
+  if a:0 > 0
+   let fromdir= a:1
+  else
+   let fromdir= getcwd()
+  endif
+"  call Decho("fromdir<".fromdir.">")
+
+  if type(a:fname) == 1
+   " handle uploading a single file using NetWrite
+"   call Decho("handle uploading a single file via NetWrite")
+   1split
+   let efname= escape(a:fname,g:netrw_fname_escape)
+"   call Decho("exe e ".efname)
+   exe "e ".efname
+"   call Decho("now locally editing<".expand("%").">, has ".line("$")." lines")
+   if a:tgt =~ '/$'
+    let wfname= substitute(a:fname,'^.*/','','')
+    let wfname= escape(a:tgt.wfname,g:netrw_fname_escape)
+"    call Decho("exe w! ".wfname)
+    exe "w! ".wfname
+   else
+    let wfname= escape(a:tgt,g:netrw_fname_escape)
+"    call Decho("writing local->remote: exe w ".wfname)
+    exe "w ".wfname
+"    call Decho("done writing local->remote")
+   endif
+   q!
+
+  elseif type(a:fname) == 3
+   " handle uploading a list of files via scp
+"   call Decho("handle uploading a list of files via scp")
+   let curdir= getcwd()
+   if a:tgt =~ '^scp:'
+    exe "keepjumps silent lcd ".fnameescape(fromdir)
+    let filelist= copy(s:netrwmarkfilelist_{bufnr('%')})
+    let args    = join(map(filelist,"shellescape(v:val)"))
+    if exists("g:netrw_port") && g:netrw_port != ""
+     let useport= " ".g:netrw_scpport." ".g:netrw_port
+    else
+     let useport= ""
+    endif
+    let machine = substitute(a:tgt,'^scp://\([^/:]\+\).*$','\1','')
+    let tgt     = substitute(a:tgt,'^scp://[^/]\+/\(.*\)$','\1','')
+"    call Decho("exe ".s:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".args." ".shellescape(machine.":".escape(tgt,g:netrw_fname_escape)))
+    exe s:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".args." ".shellescape(machine.":".escape(tgt,g:netrw_fname_escape))
+    exe "keepjumps silent lcd ".fnameescape(curdir)
+
+   elseif a:tgt =~ '^ftp:'
+    call s:NetrwMethod(a:tgt)
+
+    if b:netrw_method == 2
+     " handle uploading a list of files via ftp+.netrc
+     let netrw_fname = b:netrw_fname
+     silent keepjumps new
+"     call Decho("filter input window#".winnr())
+
+     exe "put ='".g:netrw_ftpmode."'"
+"     call Decho("filter input: ".getline('$'))
+
+     if exists("g:netrw_ftpextracmd")
+      exe "put ='".g:netrw_ftpextracmd."'"
+"      call Decho("filter input: ".getline('$'))
+     endif
+
+     call setline(line("$")+1,'lcd "'.fromdir.'"')
+"     call Decho("filter input: ".getline('$'))
+
+     call setline(line("$")+1,'cd "'.tgtdir.'"')
+"     call Decho("filter input: ".getline('$'))
+
+     for fname in a:fname
+      call setline(line("$")+1,'put "'.fname.'"')
+"      call Decho("filter input: ".getline('$'))
+     endfor
+
+     if exists("g:netrw_port") && g:netrw_port != ""
+"      call Decho("executing: ".s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port)
+      exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port
+     else
+"      call Decho("filter input window#".winnr())
+"      call Decho("executing: ".s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine)
+      exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i ".g:netrw_machine
+     endif
+     " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
+     silent g/Local directory now/d
+     if getline(1) !~ "^$" && !exists("g:netrw_quiet") && getline(1) !~ '^Trying '
+      call netrw#ErrorMsg(s:ERROR,getline(1),14)
+     else
+      bw!|q
+     endif
+
+    elseif b:netrw_method == 3
+     " upload with ftp + machine, id, passwd, and fname (ie. no .netrc)
+     let netrw_fname= b:netrw_fname
+     call s:SaveBufVars()|silent keepjumps new|call s:RestoreBufVars()
+     let tmpbufnr= bufnr("%")
+     setlocal ff=unix
+
+     if exists("g:netrw_port") && g:netrw_port != ""
+      put ='open '.g:netrw_machine.' '.g:netrw_port
+"      call Decho("filter input: ".getline('$'))
+     else
+      put ='open '.g:netrw_machine
+"      call Decho("filter input: ".getline('$'))
+     endif
+
+     if exists("g:netrw_ftp") && g:netrw_ftp == 1
+      put =g:netrw_uid
+"      call Decho("filter input: ".getline('$'))
+      call setline(line("$")+1,'"'.s:netrw_passwd.'"')
+"      call Decho("filter input: ".getline('$'))
+     else
+      put ='user \"'.g:netrw_uid.'\" \"'.s:netrw_passwd.'\"'
+"      call Decho("filter input: ".getline('$'))
+     endif
+
+     call setline(line("$")+1,'lcd "'.fromdir.'"')
+"     call Decho("filter input: ".getline('$'))
+
+     if exists("b:netrw_fname") && b:netrw_fname != ""
+      call setline(line("$")+1,'cd "'.b:netrw_fname.'"')
+"      call Decho("filter input: ".getline('$'))
+     endif
+
+     if exists("g:netrw_ftpextracmd")
+      exe "put ='".g:netrw_ftpextracmd."'"
+"      call Decho("filter input: ".getline('$'))
+     endif
+
+     for fname in a:fname
+      call setline(line("$")+1,'put "'.fname.'"')
+"      call Decho("filter input: ".getline('$'))
+     endfor
+
+     " perform ftp:
+     " -i       : turns off interactive prompting from ftp
+     " -n  unix : DON'T use <.netrc>, even though it exists
+     " -n  win32: quit being obnoxious about password
+     norm! 1Gdd
+"     call Decho("executing: ".s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i -n")
+     exe s:netrw_silentxfer."%!".g:netrw_ftp_cmd." -i -n"
+     " If the result of the ftp operation isn't blank, show an error message (tnx to Doug Claar)
+     silent g/Local directory now/d
+     if getline(1) !~ "^$" && !exists("g:netrw_quiet") && getline(1) !~ '^Trying '
+      let debugkeep= &debug
+      setlocal debug=msg
+      call netrw#ErrorMsg(s:ERROR,getline(1),15)
+      let &debug = debugkeep
+      let mod    = 1
+     else
+      bw!|q
+     endif
+    endif
+   else
+    call netrw#ErrorMsg(s:ERROR,"can't obtain files with protocol from<".a:tgt.">",63)
+   endif
   endif
 
-  " restore settings
-  let &ff= ffkeep
-"  call Dret("NetBrowseFtpCmd")
+"  call Dret("s:NetrwUpload")
 endfun
 
 " ---------------------------------------------------------------------
-" NetListHide: uses [range]g~...~d to delete files that match comma {{{2
-" separated patterns given in g:netrw_list_hide
-fun! s:NetListHide()
-"  call Dfunc("NetListHide() hide=".g:netrw_hide." listhide<".g:netrw_list_hide.">")
-
-  " find a character not in the "hide" string to use as a separator for :g and :v commands
-  " How-it-works: take the hiding command, convert it into a range.  Duplicate
-  " characters don't matter.  Remove all such characters from the '/~...90'
-  " string.  Use the first character left as a separator character.
-  let listhide= g:netrw_list_hide
-  let sep     = strpart(substitute('/~@#$%^&*{};:,<.>?|1234567890','['.escape(listhide,'-]^\').']','','ge'),1,1)
-"  call Decho("sep=".sep)
-
-  while listhide != ""
-   if listhide =~ ','
-    let hide     = substitute(listhide,',.*$','','e')
-    let listhide = substitute(listhide,'^.\{-},\(.*\)$','\1','e')
-   else
-    let hide     = listhide
-    let listhide= ""
-   endif
-
-   " Prune the list by hiding any files which match
-   if g:netrw_hide == 1
-"    call Decho("hiding<".hide."> listhide<".listhide.">")
-    exe 'silent keepjumps '.w:netrw_bannercnt.',$g'.sep.hide.sep.'d'
-   elseif g:netrw_hide == 2
-"    call Decho("showing<".hide."> listhide<".listhide.">")
-    exe 'silent keepjumps '.w:netrw_bannercnt.',$g'.sep.hide.sep.'s@^@ /-KEEP-/ @'
+" s:NetrwPreview: {{{2
+fun! s:NetrwPreview(path) range
+"  call Dfunc("NetrwPreview(path<".a:path.">)")
+  call s:NetrwOptionSave("s:")
+  call s:NetrwSafeOptions()
+  if has("quickfix")
+   if !isdirectory(a:path)
+    exe (g:netrw_preview? "vert " : "")."pedit ".escape(a:path,g:netrw_fname_escape)
+   elseif !exists("g:netrw_quiet")
+    call netrw#ErrorMsg(s:WARNING,"sorry, cannot preview a directory such as <".a:path.">",38)
    endif
-  endwhile
-  if g:netrw_hide == 2
-   exe 'silent keepjumps '.w:netrw_bannercnt.',$v@^ /-KEEP-/ @d'
-   exe 'silent keepjumps '.w:netrw_bannercnt.',$s@^\%( /-KEEP-/ \)\+@@e'
+  elseif !exists("g:netrw_quiet")
+   call netrw#ErrorMsg(s:WARNING,"sorry, to preview your vim needs the quickfix feature compiled in",39)
   endif
-
-"  call Dret("NetListHide")
+  call s:NetrwOptionRestore("s:")
+"  call Dret("NetrwPreview")
 endfun
 
 " ---------------------------------------------------------------------
-" NetHideEdit: allows user to edit the file/directory hiding list
-fun! s:NetHideEdit(islocal)
-"  call Dfunc("NetHideEdit(islocal=".a:islocal.")")
-
-  " save current cursor position
-  let s:nhe_curpos= getpos(".")
-
-  " get new hiding list from user
-  call inputsave()
-  let newhide= input("Edit Hiding List: ",g:netrw_list_hide)
-  call inputrestore()
-  let g:netrw_list_hide= newhide
-"  call Decho("new g:netrw_list_hide<".g:netrw_list_hide.">")
-
-  " refresh the listing
-  silent call s:NetRefresh(a:islocal,s:NetBrowseChgDir(a:islocal,"./"))
+" s:NetrwRefresh: {{{2
+fun! s:NetrwRefresh(islocal,dirname)
+"  call Dfunc("NetrwRefresh(islocal<".a:islocal.">,dirname=".a:dirname.") hide=".g:netrw_hide." sortdir=".g:netrw_sort_direction)
+  " at the current time (Mar 19, 2007) all calls to NetrwRefresh() call NetrwBrowseChgDir() first.
+  " NetrwBrowseChgDir() may clear the display; hence a NetrwSavePosn() may not work if its placed here.
+  " Also, NetrwBrowseChgDir() now does a NetrwSavePosn() itself.
+  setlocal ma noro
+"  call Decho("setlocal ma noro")
+"  call Decho("clear buffer<".expand("%")."> with :%d")
+  %d
+  if a:islocal
+   call netrw#LocalBrowseCheck(a:dirname)
+  else
+   call s:NetrwBrowse(a:islocal,a:dirname)
+  endif
+  call netrw#NetrwRestorePosn()
 
-  " restore cursor position
-  call setpos('.',s:nhe_curpos)
-  unlet s:nhe_curpos
+  " restore file marks
+  if exists("s:netrwmarkfilemtch_{bufnr('%')}") && s:netrwmarkfilemtch_{bufnr("%")} != ""
+"   call Decho("exe 2match netrwMarkFile /".s:netrwmarkfilemtch_{bufnr("%")}."/")
+   exe "2match netrwMarkFile /".s:netrwmarkfilemtch_{bufnr("%")}."/"
+  else
+"   call Decho("2match none")
+   2match none
+  endif
 
-"  call Dret("NetHideEdit")
+"  redraw!
+"  call Dret("NetrwRefresh")
 endfun
 
 " ---------------------------------------------------------------------
-" NetSortSequence: allows user to edit the sorting sequence
-fun! s:NetSortSequence(islocal)
-"  call Dfunc("NetSortSequence(islocal=".a:islocal.")")
-
-  call inputsave()
-  let newsortseq= input("Edit Sorting Sequence: ",g:netrw_sort_sequence)
-  call inputrestore()
+" s:NetrwRefreshDir: refreshes a directory by name {{{2
+"                    Called by NetrwMarkFileCopy()
+"                    Interfaces to s:NetrwRefresh() and s:LocalBrowseShellCmdRefresh()
+fun! s:NetrwRefreshDir(islocal,dirname)
+"  call Dfunc("s:NetrwRefreshDir(islocal=".a:islocal." dirname<".a:dirname.">) fastbrowse=".g:netrw_fastbrowse)
+  if g:netrw_fastbrowse == 0
+   " slowest mode (keep buffers refreshed, local or remote)
+"   call Decho("slowest mode: keep buffers refreshed, local or remote")
+   let tgtwin= bufwinnr(a:dirname)
+"   call Decho("tgtwin= bufwinnr(".a:dirname.")=".tgtwin)
+
+   if tgtwin > 0
+    " tgtwin is being displayed, so refresh it
+    let curwin= winnr()
+"    call Decho("refresh tgtwin#".tgtwin." (curwin#".curwin.")")
+    exe tgtwin."wincmd w"
+    call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./')) 
+    exe curwin."wincmd w"
 
-  " refresh the listing
-  let g:netrw_sort_sequence= newsortseq
-  call netrw#NetSavePosn()
-  call s:NetRefresh(a:islocal,s:NetBrowseChgDir(a:islocal,'./'))
+   elseif bufnr(a:dirname) > 0
+    let bn= bufnr(a:dirname)
+"    call Decho("bd bufnr(".a:dirname.")=".bn)
+    exe "silent bd ".bn
+   endif
 
-"  call Dret("NetSortSequence")
+  elseif g:netrw_fastbrowse <= 1
+"   call Decho("medium-speed mode: refresh local buffers only")
+   call s:LocalBrowseShellCmdRefresh()
+  endif
+"  call Dret("s:NetrwRefreshDir")
 endfun
 
 " ---------------------------------------------------------------------
-"  NetListStyle: {{{2
-"  islocal=0: remote browsing
-"         =1: local browsing
-fun! s:NetListStyle(islocal)
-"  call Dfunc("NetListStyle(islocal=".a:islocal.") w:netrw_liststyle=".w:netrw_liststyle)
-  let fname             = s:NetGetWord()
-  if !exists("w:netrw_liststyle")|let w:netrw_liststyle= g:netrw_liststyle|endif
-  let w:netrw_liststyle = (w:netrw_liststyle + 1) % s:MAXLIST
-"  call Decho("fname<".fname.">")
-"  call Decho("chgd w:netrw_liststyle to ".w:netrw_liststyle)
-"  call Decho("b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : "doesn't exist").">")
+" s:NetrwSetSort: sets up the sort based on the g:netrw_sort_sequence {{{2
+"          What this function does is to compute a priority for the patterns
+"          in the g:netrw_sort_sequence.  It applies a substitute to any
+"          "files" that satisfy each pattern, putting the priority / in
+"          front.  An "*" pattern handles the default priority.
+fun! s:NetrwSetSort()
+"  call Dfunc("SetSort() bannercnt=".w:netrw_bannercnt)
+  if w:netrw_liststyle == s:LONGLIST
+   let seqlist  = substitute(g:netrw_sort_sequence,'\$','\\%(\t\\|\$\\)','ge')
+  else
+   let seqlist  = g:netrw_sort_sequence
+  endif
+  " sanity check -- insure that * appears somewhere
+  if seqlist == ""
+   let seqlist= '*'
+  elseif seqlist !~ '\*'
+   let seqlist= seqlist.',*'
+  endif
+  let priority = 1
+  while seqlist != ""
+   if seqlist =~ ','
+    let seq     = substitute(seqlist,',.*$','','e')
+    let seqlist = substitute(seqlist,'^.\{-},\(.*\)$','\1','e')
+   else
+    let seq     = seqlist
+    let seqlist = ""
+   endif
+   let sepchr= "\<Char-0xff>"
+   if priority < 10
+    let spriority= "00".priority.sepchr
+   elseif priority < 100
+    let spriority= "0".priority.sepchr
+   else
+    let spriority= priority.sepchr
+   endif
+"   call Decho("priority=".priority." spriority<".spriority."> seq<".seq."> seqlist<".seqlist.">")
 
-  if w:netrw_liststyle == s:THINLIST
-   " use one column listing
-"   call Decho("use one column list")
-   let g:netrw_list_cmd = substitute(g:netrw_list_cmd,' -l','','ge')
+   " sanity check
+   if w:netrw_bannercnt > line("$")
+    " apparently no files were left after a Hiding pattern was used
+"    call Dret("SetSort : no files left after hiding")
+    return
+   endif
+   if seq == '*'
+    let starpriority= spriority
+   else
+    exe 'silent keepjumps '.w:netrw_bannercnt.',$g/'.seq.'/s/^/'.spriority.'/'
+    " sometimes multiple sorting patterns will match the same file or directory.
+    " The following substitute is intended to remove the excess matches.
+    exe 'silent keepjumps '.w:netrw_bannercnt.',$g/^\d\{3}'.sepchr.'\d\{3}\//s/^\d\{3}'.sepchr.'\(\d\{3}\/\).\@=/\1/e'
+   endif
+   let priority = priority + 1
+  endwhile
+  if exists("starpriority")
+   exe 'silent keepjumps '.w:netrw_bannercnt.',$v/^\d\{3}'.sepchr.'/s/^/'.starpriority.'/'
+  endif
 
-  elseif w:netrw_liststyle == s:LONGLIST
-   " use long list
-"   call Decho("use long list")
-   let g:netrw_list_cmd = g:netrw_list_cmd." -l"
+  " Following line associated with priority -- items that satisfy a priority
+  " pattern get prefixed by ###/ which permits easy sorting by priority.
+  " Sometimes files can satisfy multiple priority patterns -- only the latest
+  " priority pattern needs to be retained.  So, at this point, these excess
+  " priority prefixes need to be removed, but not directories that happen to
+  " be just digits themselves.
+  exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\(\d\{3}'.sepchr.'\)\%(\d\{3}'.sepchr.'\)\+\ze./\1/e'
 
-  elseif w:netrw_liststyle == s:WIDELIST
-   " give wide list
-"   call Decho("use wide list")
-   let g:netrw_list_cmd = substitute(g:netrw_list_cmd,' -l','','ge')
+"  call Dret("SetSort")
+endfun
 
-  elseif w:netrw_liststyle == s:TREELIST
-"   call Decho("use tree list")
-   let g:netrw_list_cmd = substitute(g:netrw_list_cmd,' -l','','ge')
+" =====================================================================
+" s:NetrwSortStyle: change sorting style (name - time - size) and refresh display {{{2
+fun! s:NetrwSortStyle(islocal)
+"  call Dfunc("s:NetrwSortStyle(islocal=".a:islocal.") netrw_sort_by<".g:netrw_sort_by.">")
+  call s:NetrwSaveWordPosn()
+  let svpos= netrw#NetrwSavePosn()
 
-  else
-   call netrw#ErrorMsg(s:WARNING,"bad value for g:netrw_liststyle (=".w:netrw_liststyle.")",46)
-   let g:netrw_liststyle = s:THINLIST
-   let w:netrw_liststyle = g:netrw_liststyle
-   let g:netrw_list_cmd  = substitute(g:netrw_list_cmd,' -l','','ge')
-  endif
-  setlocal ma noro
+  let g:netrw_sort_by= (g:netrw_sort_by =~ 'n')? 'time' : (g:netrw_sort_by =~ 't')? 'size' : 'name'
+  norm! 0
+  call s:NetrwRefresh(a:islocal,s:NetrwBrowseChgDir(a:islocal,'./'))
+  call netrw#NetrwRestorePosn(svpos)
 
-  " clear buffer - this will cause NetBrowse/LocalBrowseCheck to do a refresh
-"  call Decho("clear buffer<".expand("%")."> with :%d")
-  %d
+"  call Dret("s:NetrwSortStyle : netrw_sort_by<".g:netrw_sort_by.">")
+endfun
 
-  " refresh the listing
-  call netrw#NetSavePosn()
-  call s:NetRefresh(a:islocal,s:NetBrowseChgDir(a:islocal,'./'))
+" ---------------------------------------------------------------------
+" s:NetrwSplit: mode {{{2
+"           =0 : net   and o
+"           =1 : net   and t
+"           =2 : net   and v
+"           =3 : local and o
+"           =4 : local and t
+"           =5 : local and v
+fun! s:NetrwSplit(mode)
+"  call Dfunc("s:NetrwSplit(mode=".a:mode.") alto=".g:netrw_alto." altv=".g:netrw_altv)
 
-  " keep cursor on the filename
-  silent keepjumps $
-  let result= search('\%(^\%(|\+\s\)\=\|\s\{2,}\)\zs'.escape(fname,'.\[]*$^').'\%(\s\{2,}\|$\)','bc')
-"  call Decho("search result=".result." w:netrw_bannercnt=".(exists("w:netrw_bannercnt")? w:netrw_bannercnt : 'N/A'))
-  if result <= 0 && exists("w:netrw_bannercnt")
-   exe w:netrw_bannercnt
-  endif
+  call s:SaveWinVars()
 
-"  call Dret("NetListStyle".(exists("w:netrw_liststyle")? ' : w:netrw_liststyle='.w:netrw_liststyle : ""))
-endfun
+  if a:mode == 0
+   " remote and o
+"   call Decho("exe ".(g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s")
+   exe (g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s"
+   let s:didsplit= 1
+   call s:RestoreWinVars()
+   call s:NetrwBrowse(0,s:NetrwBrowseChgDir(0,s:NetrwGetWord()))
+   unlet s:didsplit
 
-" ---------------------------------------------------------------------
-" NetWideListing: {{{2
-fun! s:NetWideListing()
+  elseif a:mode == 1
+   " remote and t
+   let cursorword  = s:NetrwGetWord()
+"   call Decho("tabnew")
+   tabnew
+   let s:didsplit= 1
+   call s:RestoreWinVars()
+   call s:NetrwBrowse(0,s:NetrwBrowseChgDir(0,cursorword))
+   unlet s:didsplit
 
-  if w:netrw_liststyle == s:WIDELIST
-"   call Dfunc("NetWideListing() w:netrw_liststyle=".w:netrw_liststyle.' fo='.&fo.' l:fo='.&l:fo)
-   " look for longest filename (cpf=characters per filename)
-   " cpf: characters per file
-   " fpl: files per line
-   " fpc: files per column
-   setlocal ma noro
-   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("NetWideListing")
-    return
-   endif
-"   call Decho("max file strlen+1=".b:netrw_cpf)
-   let b:netrw_cpf= b:netrw_cpf + 1
+  elseif a:mode == 2
+   " remote and v
+"   call Decho("exe ".(g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v")
+   exe (g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v"
+   let s:didsplit= 1
+   call s:RestoreWinVars()
+   call s:NetrwBrowse(0,s:NetrwBrowseChgDir(0,s:NetrwGetWord()))
+   unlet s:didsplit
 
-   " determine qty files per line (fpl)
-   let w:netrw_fpl= winwidth(0)/b:netrw_cpf
-   if w:netrw_fpl <= 0
-    let w:netrw_fpl= 1
-   endif
-"   call Decho("fpl= ".winwidth(0)."/[b:netrw_cpf=".b:netrw_cpf.']='.w:netrw_fpl)
+  elseif a:mode == 3
+   " local and o
+"   call Decho("exe ".(g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s")
+   exe (g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s"
+   let s:didsplit= 1
+   call s:RestoreWinVars()
+   call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(1,s:NetrwGetWord()))
+   unlet s:didsplit
 
-   " make wide display
-   exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^.*$/\=escape(printf("%-'.b:netrw_cpf.'s",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
-"   call Decho("bannercnt=".w:netrw_bannercnt." fpl=".w:netrw_fpl." fpc=".fpc." newcol[".newcolstart.",".newcolend."]")
-   silent! let keepregstar = @*
-   while line("$") >= newcolstart
-    if newcolend > line("$") | let newcolend= line("$") | endif
-    let newcolqty= newcolend - newcolstart
-    exe newcolstart
-    if newcolqty == 0
-     exe "silent keepjumps norm! 0\<c-v>$hx".w:netrw_bannercnt."G$p"
-    else
-     exe "silent keepjumps norm! 0\<c-v>".newcolqty.'j$hx'.w:netrw_bannercnt.'G$p'
-    endif
-    exe "silent keepjumps ".newcolstart.','.newcolend.'d'
-    exe 'silent keepjumps '.w:netrw_bannercnt
-   endwhile
-   silent! let @*= keepregstar
-   exe "silent keepjumps ".w:netrw_bannercnt.',$s/\s\+$//e'
-   setlocal noma nomod ro
-"   call Dret("NetWideListing")
+  elseif a:mode == 4
+   " local and t
+   let netrw_curdir= b:netrw_curdir
+   let cursorword  = s:NetrwGetWord()
+"   call Decho("tabnew")
+   tabnew
+   let b:netrw_curdir= netrw_curdir
+   let s:didsplit= 1
+   call s:RestoreWinVars()
+   call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(1,cursorword))
+   unlet s:didsplit
+
+  elseif a:mode == 5
+   " local and v
+"   call Decho("exe ".(g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v")
+   exe (g:netrw_altv? "rightb " : "lefta ").g:netrw_winsize."wincmd v"
+   let s:didsplit= 1
+   call s:RestoreWinVars()
+   call netrw#LocalBrowseCheck(s:NetrwBrowseChgDir(1,s:NetrwGetWord()))
+   unlet s:didsplit
+
+  else
+   call netrw#ErrorMsg(s:ERROR,"(NetrwSplit) unsupported mode=".a:mode,45)
   endif
 
+"  call Dret("s:NetrwSplit")
+endfun
+
+" ---------------------------------------------------------------------
+" NetrwStatusLine: {{{2
+fun! NetrwStatusLine()
+
+" vvv NetrwStatusLine() debugging vvv
+"  let g:stlmsg=""
+"  if !exists("w:netrw_explore_bufnr")
+"   let g:stlmsg="!X<explore_bufnr>"
+"  elseif w:netrw_explore_bufnr != bufnr("%")
+"   let g:stlmsg="explore_bufnr!=".bufnr("%")
+"  endif
+"  if !exists("w:netrw_explore_line")
+"   let g:stlmsg=" !X<explore_line>"
+"  elseif w:netrw_explore_line != line(".")
+"   let g:stlmsg=" explore_line!={line(.)<".line(".").">"
+"  endif
+"  if !exists("w:netrw_explore_list")
+"   let g:stlmsg=" !X<explore_list>"
+"  endif
+" ^^^ NetrwStatusLine() debugging ^^^
+
+  if !exists("w:netrw_explore_bufnr") || w:netrw_explore_bufnr != bufnr("%") || !exists("w:netrw_explore_line") || w:netrw_explore_line != line(".") || !exists("w:netrw_explore_list")
+   " restore user's status line
+   let &stl        = s:netrw_users_stl
+   let &laststatus = s:netrw_users_ls
+   if exists("w:netrw_explore_bufnr")|unlet w:netrw_explore_bufnr|endif
+   if exists("w:netrw_explore_line") |unlet w:netrw_explore_line |endif
+   return ""
+  else
+   return "Match ".w:netrw_explore_mtchcnt." of ".w:netrw_explore_listlen
+  endif
 endfun
 
 " ---------------------------------------------------------------------
-" NetTreeDir: determine tree directory given current cursor position {{{2
+" s:NetrwTreeDir: determine tree directory given current cursor position {{{2
 " (full path directory with trailing slash returned)
-fun! s:NetTreeDir()
-"  call Dfunc("NetTreeDir() curline#".line(".")."<".getline(".")."> b:netrw_curdir<".b:netrw_curdir."> tab#".tabpagenr()." win#".winnr()." buf#".bufnr("%")."<".bufname("%").">")
+fun! s:NetrwTreeDir()
+"  call Dfunc("NetrwTreeDir() curline#".line(".")."<".getline('.')."> b:netrw_curdir<".b:netrw_curdir."> tab#".tabpagenr()." win#".winnr()." buf#".bufnr("%")."<".bufname("%").">")
 
   let treedir= b:netrw_curdir
 "  call Decho("set initial treedir<".treedir.">")
-  let s:treecurpos= getpos(".")
+  let s:treecurpos= netrw#NetrwSavePosn()
 
   if w:netrw_liststyle == s:TREELIST
 "   call Decho("w:netrrw_liststyle is TREELIST:")
@@ -3288,7 +5477,7 @@ fun! s:NetTreeDir()
     " now force a refresh
 "    call Decho("clear buffer<".expand("%")."> with :%d")
     keepjumps %d
-"    call Dret("NetTreeDir <".treedir."> : (side effect) s:treecurpos<".string(s:treecurpos).">")
+"    call Dret("NetrwTreeDir <".treedir."> : (side effect) s:treecurpos<".string(s:treecurpos).">")
     return b:netrw_curdir
    endif
 
@@ -3303,7 +5492,7 @@ fun! s:NetTreeDir()
    " construct treedir by searching backwards at correct depth
 "   call Decho("constructing treedir<".treedir."> depth<".depth.">")
    while depth != "" && search('^'.depth.'[^|].\{-}/$','bW')
-    let dirname= substitute(getline("."),'^\(| \)*','','e')
+    let dirname= substitute(getline('.'),'^\(| \)*','','e')
     let treedir= dirname.treedir
     let depth  = substitute(depth,'^| ','','')
 "    call Decho("constructing treedir<".treedir.">: dirname<".dirname."> while depth<".depth.">")
@@ -3313,23 +5502,23 @@ fun! s:NetTreeDir()
    else
     let treedir= w:netrw_treetop.'/'.treedir
    endif
-"   call Decho("bufnr(.)=".bufnr(".")." line($)=".line("$")." line(.)=".line("."))
+"   call Decho("bufnr(.)=".bufnr("%")." line($)=".line("$")." line(.)=".line("."))
   endif
   let treedir= substitute(treedir,'//$','/','')
 
 "  " now force a refresh
-"  call Decho("clear buffer<".expand("%")."> with :%d")
+"" call DECHO("clear buffer<".expand("%")."> with :%d")
 "  setlocal ma noro
 "  keepjumps %d
 
-"  call Dret("NetTreeDir <".treedir."> : (side effect) s:treecurpos<".string(s:treecurpos).">")
+"  call Dret("NetrwTreeDir <".treedir."> : (side effect) s:treecurpos<".string(s:treecurpos).">")
   return treedir
 endfun
 
 " ---------------------------------------------------------------------
-" NetTreeDisplay: recursive tree display {{{2
-fun! s:NetTreeDisplay(dir,depth)
-"  call Dfunc("NetTreeDisplay(dir<".a:dir."> depth<".a:depth.">)")
+" s:NetrwTreeDisplay: recursive tree display {{{2
+fun! s:NetrwTreeDisplay(dir,depth)
+"  call Dfunc("NetrwTreeDisplay(dir<".a:dir."> depth<".a:depth.">)")
 
   " insure that there are no folds
   setlocal nofen
@@ -3360,37 +5549,39 @@ fun! s:NetTreeDisplay(dir,depth)
 
   " display subtrees (if any)
   let depth= "| ".a:depth
+
 "  call Decho("display subtrees with depth<".depth."> and current leaves")
   for entry in w:netrw_treedict[a:dir]
    let direntry= substitute(dir.entry,'/$','','e')
 "   call Decho("dir<".dir."> entry<".entry."> direntry<".direntry.">")
    if entry =~ '/$' && has_key(w:netrw_treedict,direntry)
 "    call Decho("<".direntry."> is a key in treedict - display subtree for it")
-    call s:NetTreeDisplay(direntry,depth)
+    call s:NetrwTreeDisplay(direntry,depth)
    elseif entry =~ '/$' && has_key(w:netrw_treedict,direntry.'/')
 "    call Decho("<".direntry."/> is a key in treedict - display subtree for it")
-    call s:NetTreeDisplay(direntry.'/',depth)
+    call s:NetrwTreeDisplay(direntry.'/',depth)
    else
 "    call Decho("<".entry."> is not a key in treedict (no subtree)")
     call setline(line("$")+1,depth.entry)
    endif
   endfor
-"  call Dret("NetTreeDisplay")
+"  call Dret("NetrwTreeDisplay")
 endfun
 
 " ---------------------------------------------------------------------
-" NetTreeListing: displays tree listing from treetop on down, using NetTreeDisplay() {{{2
-fun! s:NetTreeListing(dirname)
+" s:NetrwTreeListing: displays tree listing from treetop on down, using NetrwTreeDisplay() {{{2
+fun! s:NetrwTreeListing(dirname)
   if w:netrw_liststyle == s:TREELIST
-"   call Dfunc("NetTreeListing() bufname<".expand("%").">")
+"   call Dfunc("NetrwTreeListing() bufname<".expand("%").">")
 "   call Decho("curdir<".a:dirname.">")
+"   call Decho("win#".winnr().": w:netrw_treetop ".(exists("w:netrw_treetop")? "exists" : "doesn't exit")." w:netrw_treedict ".(exists("w:netrw_treedict")? "exists" : "doesn't exit"))
 
    " update the treetop
 "   call Decho("update the treetop")
    if !exists("w:netrw_treetop")
     let w:netrw_treetop= a:dirname
 "    call Decho("w:netrw_treetop<".w:netrw_treetop."> (reusing)")
-   elseif (w:netrw_treetop =~ ('^'.a:dirname) && strlen(a:dirname) < strlen(w:netrw_treetop)) || a:dirname !~ ('^'.w:netrw_treetop)
+   elseif (w:netrw_treetop =~ ('^'.a:dirname) && s:Strlen(a:dirname) < s:Strlen(w:netrw_treetop)) || a:dirname !~ ('^'.w:netrw_treetop)
     let w:netrw_treetop= a:dirname
 "    call Decho("w:netrw_treetop<".w:netrw_treetop."> (went up)")
    endif
@@ -3400,685 +5591,865 @@ fun! s:NetTreeListing(dirname)
     let w:netrw_treedict= {}
    endif
 
-   " update the directory listing for the current directory
-"   call Decho("updating dictionary with ".a:dirname.":[..directory listing..]")
-"   call Decho("bannercnt=".w:netrw_bannercnt." line($)=".line("$"))
-   exe "silent! keepjumps ".w:netrw_bannercnt.',$g@^\.\.\=/$@d'
-   let w:netrw_treedict[a:dirname]= getline(w:netrw_bannercnt,line("$"))
-"   call Decho("treedict=".string(w:netrw_treedict))
-   exe "silent! keepjumps ".w:netrw_bannercnt.",$d"
+   " update the directory listing for the current directory
+"   call Decho("updating dictionary with ".a:dirname.":[..directory listing..]")
+"   call Decho("bannercnt=".w:netrw_bannercnt." line($)=".line("$"))
+   exe "silent! keepjumps ".w:netrw_bannercnt.',$g@^\.\.\=/$@d'
+   let w:netrw_treedict[a:dirname]= getline(w:netrw_bannercnt,line("$"))
+"   call Decho("w:treedict[".a:dirname."]= ".w:netrw_treedict[a:dirname])
+   exe "silent! keepjumps ".w:netrw_bannercnt.",$d"
+
+   " if past banner, record word
+   if exists("w:netrw_bannercnt") && line(".") > w:netrw_bannercnt
+    let fname= expand("<cword>")
+   else
+    let fname= ""
+   endif
+"   call Decho("fname<".fname.">")
+
+   " display from treetop on down
+   call s:NetrwTreeDisplay(w:netrw_treetop,"")
+
+"   call Dret("NetrwTreeListing : bufname<".expand("%").">")
+  endif
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwWideListing: {{{2
+fun! s:NetrwWideListing()
+
+  if w:netrw_liststyle == s:WIDELIST
+"   call Dfunc("NetrwWideListing() w:netrw_liststyle=".w:netrw_liststyle.' fo='.&fo.' l:fo='.&l:fo)
+   " look for longest filename (cpf=characters per filename)
+   " cpf: characters per file
+   " fpl: files per line
+   " fpc: files per column
+   setlocal ma noro
+"   call Decho("setlocal ma noro")
+   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
+"   call Decho("max file strlen+1=".b:netrw_cpf)
+   let b:netrw_cpf= b:netrw_cpf + 1
+
+   " determine qty files per line (fpl)
+   let w:netrw_fpl= winwidth(0)/b:netrw_cpf
+   if w:netrw_fpl <= 0
+    let w:netrw_fpl= 1
+   endif
+"   call Decho("fpl= ".winwidth(0)."/[b:netrw_cpf=".b:netrw_cpf.']='.w:netrw_fpl)
+
+   " make wide display
+   exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^.*$/\=escape(printf("%-'.b:netrw_cpf.'s",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
+"   call Decho("bannercnt=".w:netrw_bannercnt." fpl=".w:netrw_fpl." fpc=".fpc." newcol[".newcolstart.",".newcolend."]")
+   silent! let keepregstar = @*
+   while line("$") >= newcolstart
+    if newcolend > line("$") | let newcolend= line("$") | endif
+    let newcolqty= newcolend - newcolstart
+    exe newcolstart
+    if newcolqty == 0
+     exe "silent keepjumps norm! 0\<c-v>$hx".w:netrw_bannercnt."G$p"
+    else
+     exe "silent keepjumps norm! 0\<c-v>".newcolqty.'j$hx'.w:netrw_bannercnt.'G$p'
+    endif
+    exe "silent keepjumps ".newcolstart.','.newcolend.'d'
+    exe 'silent keepjumps '.w:netrw_bannercnt
+   endwhile
+   silent! let @*= keepregstar
+   exe "silent keepjumps ".w:netrw_bannercnt.',$s/\s\+$//e'
+   setlocal noma nomod ro
+"   call Dret("NetrwWideListing")
+  endif
+
+endfun
+
+" ---------------------------------------------------------------------
+" s:PerformListing: {{{2
+fun! s:PerformListing(islocal)
+"  call Dfunc("s:PerformListing(islocal=".a:islocal.") buf(%)=".bufnr("%")."<".bufname("%").">")
+
+  call s:NetrwSafeOptions()
+  setlocal noro ma
+"  call Decho("setlocal noro ma")
+
+"  if exists("g:netrw_silent") && g:netrw_silent == 0 && &ch >= 1      " Decho
+"   call Decho("(netrw) Processing your browsing request...")
+"  endif                                                               " Decho
+
+"  call Decho('w:netrw_liststyle='.(exists("w:netrw_liststyle")? w:netrw_liststyle : 'n/a'))
+  if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("w:netrw_treedict")
+   " force a refresh for tree listings
+"   call Decho("force refresh for treelisting: clear buffer<".expand("%")."> with :%d")
+   keepjumps %d
+  endif
+
+  " save current directory on directory history list
+  call s:NetrwBookmarkDir(3,b:netrw_curdir)
+
+  " Set up the banner {{{3
+"  call Decho("set up banner")
+  keepjumps put ='\" ============================================================================'
+  keepjumps put ='\" Netrw Directory Listing                                        (netrw '.g:loaded_netrw.')'
+  keepjumps put ='\"   '.b:netrw_curdir
+  keepjumps 1d
+  let w:netrw_bannercnt= 3
+  exe "keepjumps ".w:netrw_bannercnt
+
+  let sortby= g:netrw_sort_by
+  if g:netrw_sort_direction =~ "^r"
+   let sortby= sortby." reversed"
+  endif
+
+  " Sorted by... {{{3
+"  call Decho("handle specified sorting: g:netrw_sort_by<".g:netrw_sort_by.">")
+  if g:netrw_sort_by =~ "^n"
+"   call Decho("directories will be sorted by name")
+   " sorted by name
+   keepjumps put ='\"   Sorted by      '.sortby
+   keepjumps put ='\"   Sort sequence: '.g:netrw_sort_sequence
+   let w:netrw_bannercnt= w:netrw_bannercnt + 2
+  else
+"   call Decho("directories will be sorted by size or time")
+   " sorted by size or date
+   keepjumps put ='\"   Sorted by '.sortby
+   let w:netrw_bannercnt= w:netrw_bannercnt + 1
+  endif
+  exe "keepjumps ".w:netrw_bannercnt
+
+  " show copy/move target, if any
+  if exists("s:netrwmftgt") && exists("s:netrwmftgt_islocal")
+"   call Decho("show copy/move target<".s:netrwmftgt.">")
+   keepjumps put =''
+   if s:netrwmftgt_islocal
+    call setline(line("."),'"   Copy/Move Tgt: '.s:netrwmftgt.' (local)')
+   else
+    call setline(line("."),'"   Copy/Move Tgt: '.s:netrwmftgt.' (remote)')
+   endif
+   let w:netrw_bannercnt= w:netrw_bannercnt + 1
+  else
+"   call Decho("s:netrwmftgt does not exist, don't make Copy/Move Tgt")
+  endif
+  exe "keepjumps ".w:netrw_bannercnt
+
+  " Hiding...  -or-  Showing... {{{3
+"  call Decho("handle hiding/showing (g:netrw_hide=".g:netrw_list_hide." g:netrw_list_hide<".g:netrw_list_hide.">)")
+  if g:netrw_list_hide != "" && g:netrw_hide
+   if g:netrw_hide == 1
+    keepjumps put ='\"   Hiding:        '.g:netrw_list_hide
+   else
+    keepjumps put ='\"   Showing:       '.g:netrw_list_hide
+   endif
+   let w:netrw_bannercnt= w:netrw_bannercnt + 1
+  endif
+  exe "keepjumps ".w:netrw_bannercnt
+  keepjumps put ='\"   Quick Help: <F1>:help  -:go up dir  D:delete  R:rename  s:sort-by  x:exec'
+  keepjumps put ='\" ============================================================================'
+  let w:netrw_bannercnt= w:netrw_bannercnt + 2
+
+  " bannercnt should index the line just after the banner
+  let w:netrw_bannercnt= w:netrw_bannercnt + 1
+  exe "keepjumps ".w:netrw_bannercnt
+"  call Decho("bannercnt=".w:netrw_bannercnt." (should index line just after banner) line($)=".line("$"))
+
+  " set up syntax highlighting {{{3
+"  call Decho("set up syntax highlighting")
+  if has("syntax")
+   setlocal ft=netrw
+   if !exists("g:syntax_on") || !g:syntax_on
+    setlocal ft=
+   endif
+  endif
+
+  " get list of files
+"  call Decho("Get list of files - islocal=".a:islocal)
+  if a:islocal
+   call s:LocalListing()
+  else " remote
+   call s:NetrwRemoteListing()
+  endif
+"  call Decho("w:netrw_bannercnt=".w:netrw_bannercnt." (banner complete)")
+
+  " manipulate the directory listing (hide, sort) {{{3
+  if line("$") >= w:netrw_bannercnt
+"   call Decho("manipulate directory listing (hide)")
+"   call Decho("g:netrw_hide=".g:netrw_hide." g:netrw_list_hide<".g:netrw_list_hide.">")
+   if g:netrw_hide && g:netrw_list_hide != ""
+    call s:NetrwListHide()
+   endif
+   if line("$") >= w:netrw_bannercnt
+"    call Decho("manipulate directory listing (sort) : g:netrw_sort_by<".g:netrw_sort_by.">")
+
+    if g:netrw_sort_by =~ "^n"
+     " sort by name
+     call s:NetrwSetSort()
+
+     if w:netrw_bannercnt < line("$")
+"      call Decho("g:netrw_sort_direction=".g:netrw_sort_direction." (bannercnt=".w:netrw_bannercnt.")")
+      if g:netrw_sort_direction =~ 'n'
+       " normal direction sorting
+       exe 'silent keepjumps '.w:netrw_bannercnt.',$sort'
+      else
+       " reverse direction sorting
+       exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!'
+      endif
+     endif
+     " remove priority pattern prefix
+"     call Decho("remove priority pattern prefix")
+     let sepchr= "\<Char-0xff>"
+     exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{3}'.sepchr.'//e'
+
+    elseif a:islocal
+     if w:netrw_bannercnt < line("$")
+"      call Decho("g:netrw_sort_direction=".g:netrw_sort_direction)
+      if g:netrw_sort_direction =~ 'n'
+"       call Decho('exe silent keepjumps '.w:netrw_bannercnt.',$sort')
+       exe 'silent keepjumps '.w:netrw_bannercnt.',$sort'
+      else
+"       call Decho('exe silent keepjumps '.w:netrw_bannercnt.',$sort!')
+       exe 'silent keepjumps '.w:netrw_bannercnt.',$sort!'
+      endif
+     endif
+     exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\d\{-}\///e'
+    endif
+
+   elseif g:netrw_sort_direction =~ 'r'
+"    call Decho('reverse the sorted listing')
+    exe 'silent keepjumps '.w:netrw_bannercnt.'g/^/m '.w:netrw_bannercnt
+   endif
+  endif
+
+  " convert to wide/tree listing {{{3
+"  call Decho("modify display if wide/tree listing style")
+  call s:NetrwWideListing()
+  call s:NetrwTreeListing(b:netrw_curdir)
+
+  if exists("w:netrw_bannercnt") && line("$") > w:netrw_bannercnt
+   " place cursor on the top-left corner of the file listing
+"   call Decho("place cursor on top-left corner of file listing")
+   exe 'silent keepjumps '.w:netrw_bannercnt
+   norm! 0
+  endif
+
+  " record previous current directory
+  let w:netrw_prvdir= b:netrw_curdir
+"  call Decho("record netrw_prvdir<".w:netrw_prvdir.">")
+
+  " save certain window-oriented variables into buffer-oriented variables {{{3
+  call s:SetBufWinVars()
+  call s:NetrwOptionRestore("w:")
+
+  " set display to netrw display settings
+"  call Decho("set display to netrw display settings (noma nomod etc)")
+  setlocal noma nomod nonu nobl nowrap ro
+  if exists("s:treecurpos")
+
+   call netrw#NetrwRestorePosn(s:treecurpos)
+   unlet s:treecurpos
+  endif
+
+"  call Dret("s:PerformListing : curpos<".string(getpos(".")).">")
+endfun
 
-   " if past banner, record word
-   if exists("w:netrw_bannercnt") && line(".") > w:netrw_bannercnt
-    let fname= expand("<cword>")
-   else
-    let fname= ""
-   endif
+" ---------------------------------------------------------------------
+" s:SetupNetrwStatusLine: {{{2
+fun! s:SetupNetrwStatusLine(statline)
+"  call Dfunc("SetupNetrwStatusLine(statline<".a:statline.">)")
 
-   " display from treetop on down
-   call s:NetTreeDisplay(w:netrw_treetop,"")
+  if !exists("s:netrw_setup_statline")
+   let s:netrw_setup_statline= 1
+"   call Decho("do first-time status line setup")
 
-   " place cursor
-   if !exists("s:nbcd_curpos")
-    if fname != ""
-"     call Decho("(NetTreeListing) place cursor <".fname.">")
-     call search('\<'.fname.'\>','cw')
-    elseif exists("w:netrw_bannercnt")
-     exe (w:netrw_bannercnt+1)
-"     call Decho("(NetTreeListing) place cursor line#".(w:netrw_bannercnt+1))
-    endif
+   if !exists("s:netrw_users_stl")
+    let s:netrw_users_stl= &stl
+   endif
+   if !exists("s:netrw_users_ls")
+    let s:netrw_users_ls= &laststatus
    endif
 
-"   call Dret("NetTreeListing : bufname<".expand("%").">")
+   " set up User9 highlighting as needed
+   let keepa= @a
+   redir @a
+   try
+    hi User9
+   catch /^Vim\%((\a\+)\)\=:E411/
+    if &bg == "dark"
+     hi User9 ctermfg=yellow ctermbg=blue guifg=yellow guibg=blue
+    else
+     hi User9 ctermbg=yellow ctermfg=blue guibg=yellow guifg=blue
+    endif
+   endtry
+   redir END
+   let @a= keepa
   endif
-endfun
 
-" ---------------------------------------------------------------------
-" NetSaveWordPosn: used by the "s" command in both remote and local {{{2
-" browsing.  Along with NetRestoreWordPosn(), it keeps the cursor on
-" the same word even though the sorting has changed its order of appearance.
-fun! s:NetSaveWordPosn()
-"  call Dfunc("NetSaveWordPosn()")
-  let s:netrw_saveword= '^'.escape(getline("."),s:netrw_cd_escape).'$'
-"  call Dret("NetSaveWordPosn : saveword<".s:netrw_saveword.">")
-endfun
+  " set up status line (may use User9 highlighting)
+  " insure that windows have a statusline
+  " make sure statusline is displayed
+  let &stl=a:statline
+  setlocal laststatus=2
+"  call Decho("stl=".&stl)
+  redraw
 
-" ---------------------------------------------------------------------
-" NetRestoreWordPosn: used by the "s" command; see NetSaveWordPosn() above {{{2
-fun! s:NetRestoreWordPosn()
-"  call Dfunc("NetRestoreWordPosn()")
-  silent! call search(s:netrw_saveword,'w')
-"  call Dret("NetRestoreWordPosn")
+"  call Dret("SetupNetrwStatusLine : stl=".&stl)
 endfun
 
 " ---------------------------------------------------------------------
-" NetMakeDir: this function makes a directory (both local and remote) {{{2
-fun! s:NetMakeDir(usrhost)
-"  call Dfunc("NetMakeDir(usrhost<".a:usrhost.">)")
-
-  " get name of new directory from user.  A bare <CR> will skip.
-  " if its currently a directory, also request will be skipped, but with
-  " a message.
-  call inputsave()
-  let newdirname= input("Please give directory name: ")
-  call inputrestore()
-"  call Decho("newdirname<".newdirname.">")
+"  Remote Directory Browsing Support:    {{{1
+" ===========================================
 
-  if newdirname == ""
-"   call Dret("NetMakeDir : user aborted with bare <cr>")
-   return
-  endif
+" ---------------------------------------------------------------------
+" s:NetrwRemoteListing: {{{2
+fun! s:NetrwRemoteListing()
+"  call Dfunc("s:NetrwRemoteListing() b:netrw_curdir<".b:netrw_curdir.">)")
 
-  if a:usrhost == ""
+  call s:RemotePathAnalysis(b:netrw_curdir)
 
-   " Local mkdir:
-   " sanity checks
-   let fullnewdir= b:netrw_curdir.'/'.newdirname
-"   call Decho("fullnewdir<".fullnewdir.">")
-   if isdirectory(fullnewdir)
-    if !exists("g:netrw_quiet")
-     call netrw#ErrorMsg(s:WARNING,"<".newdirname."> is already a directory!",24)
-    endif
-"    call Dret("NetMakeDir : directory<".newdirname."> exists previously")
-    return
-   endif
-   if s:FileReadable(fullnewdir)
+  " sanity check:
+  if exists("b:netrw_method") && b:netrw_method =~ '[235]'
+"   call Decho("b:netrw_method=".b:netrw_method)
+   if !executable("ftp")
     if !exists("g:netrw_quiet")
-     call netrw#ErrorMsg(s:WARNING,"<".newdirname."> is already a file!",25)
+     call netrw#ErrorMsg(s:ERROR,"this system doesn't support remote directory listing via ftp",18)
     endif
-"    call Dret("NetMakeDir : file<".newdirname."> exists previously")
+    call s:NetrwOptionRestore("w:")
+"    call Dret("s:NetrwRemoteListing")
     return
    endif
 
-   " requested new local directory is neither a pre-existing file or
-   " directory, so make it!
-   if exists("*mkdir")
-    call mkdir(fullnewdir,"p")
-   else
-    let netrw_origdir= s:NetGetcwd(1)
-    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.' '.g:netrw_shq.newdirname.g:netrw_shq)
-    exe "silent! !".g:netrw_local_mkdir.' '.g:netrw_shq.newdirname.g:netrw_shq
-    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)
+  elseif !exists("g:netrw_list_cmd") || g:netrw_list_cmd == ''
+   if !exists("g:netrw_quiet")
+    if g:netrw_list_cmd == ""
+     call netrw#ErrorMsg(s:ERROR,g:netrw_ssh_cmd." is not executable on your system",47)
+    else
+     call netrw#ErrorMsg(s:ERROR,"this system doesn't support remote directory listing via ".g:netrw_list_cmd,19)
     endif
    endif
 
-   if v:shell_error == 0
-    " refresh listing
-"    call Decho("refresh listing")
-    call netrw#NetSavePosn()
-    call s:NetRefresh(1,s:NetBrowseChgDir(1,'./'))
-   elseif !exists("g:netrw_quiet")
-    call netrw#ErrorMsg(s:ERROR,"unable to make directory<".newdirname.">",26)
-   endif
-   redraw!
+   call s:NetrwOptionRestore("w:")
+"   call Dret("s:NetrwRemoteListing")
+   return
+  endif  " (remote handling sanity check)
 
-  else
-   " Remote mkdir:
-   let mkdircmd  = s:MakeSshCmd(g:netrw_mkdir_cmd)
-   let newdirname= substitute(b:netrw_curdir,'^\%(.\{-}/\)\{3}\(.*\)$','\1','').newdirname
-"   call Decho("exe silent! !".mkdircmd." ".g:netrw_shq.newdirname.g:netrw_shq)
-   exe "silent! !".mkdircmd." ".g:netrw_shq.newdirname.g:netrw_shq
-   if v:shell_error == 0
-    " refresh listing
-    call netrw#NetSavePosn()
-    call s:NetRefresh(0,s:NetBrowseChgDir(0,'./'))
-   elseif !exists("g:netrw_quiet")
-    call netrw#ErrorMsg(s:ERROR,"unable to make directory<".newdirname.">",27)
-   endif
-   redraw!
+  if exists("b:netrw_method")
+"   call Decho("setting w:netrw_method<".b:netrw_method.">")
+   let w:netrw_method= b:netrw_method
   endif
 
-"  call Dret("NetMakeDir")
-endfun
+  if s:method == "ftp"
+   " use ftp to get remote file listing
+"   call Decho("use ftp to get remote file listing")
+   let s:method  = "ftp"
+   let listcmd = g:netrw_ftp_list_cmd
+   if g:netrw_sort_by =~ '^t'
+    let listcmd= g:netrw_ftp_timelist_cmd
+   elseif g:netrw_sort_by =~ '^s'
+    let listcmd= g:netrw_ftp_sizelist_cmd
+   endif
+"   call Decho("listcmd<".listcmd."> (using g:netrw_ftp_list_cmd)")
+   call s:NetrwRemoteFtpCmd(s:path,listcmd)
+"   exe "keepjumps ".w:netrw_bannercnt.',$g/^./call Decho("raw listing: ".getline("."))'
 
-" ---------------------------------------------------------------------
-"  NetBookmarkDir: {{{2
-"    0: (user: <b>)   bookmark current directory
-"    1: (user: <B>)   change to the bookmarked directory
-"    2: (user: <q>)   list bookmarks
-"    3: (browsing)    record current directory history
-"    4: (user: <u>)   go up   (previous) bookmark
-"    5: (user: <U>)   go down (next)     bookmark
-fun! s:NetBookmarkDir(chg,curdir)
-"  call Dfunc("NetBookmarkDir(chg=".a:chg." curdir<".a:curdir.">) cnt=".v:count." bookmarkcnt=".g:NETRW_BOOKMARKMAX." histcnt=".g:NETRW_DIRHIST_CNT." bookmax=".g:NETRW_BOOKMARKMAX." histmax=".g:netrw_dirhistmax)
+   if w:netrw_liststyle == s:THINLIST || w:netrw_liststyle == s:WIDELIST || w:netrw_liststyle == s:TREELIST
+    " shorten the listing
+"    call Decho("generate short listing")
+    exe "keepjumps ".w:netrw_bannercnt
 
-  if a:chg == 0
-   " bookmark the current directory
-"   call Decho("(user: <b>) bookmark the current directory")
-   if v:count > 0
-    " handle bookmark# specified via the count
-    let g:NETRW_BOOKMARKDIR_{v:count}= a:curdir
-    if !exists("g:NETRW_BOOKMARKMAX")
-     let g:NETRW_BOOKMARKMAX= v:count
-    elseif v:count > g:NETRW_BOOKMARKMAX
-     let g:NETRW_BOOKMARKMAX= v:count
+    " cleanup
+    if g:netrw_ftp_browse_reject != ""
+     exe "silent! g/".g:netrw_ftp_browse_reject."/keepjumps d"
+    endif
+    silent! keepjumps %s/\r$//e
+
+    " if there's no ../ listed, then put ./ and ../ in
+    let line1= line(".")
+    exe "keepjumps ".w:netrw_bannercnt
+    let line2= search('^\.\.\/\%(\s\|$\)','cnW')
+    if line2 == 0
+"     call Decho("netrw is putting ./ and ../ into listing")
+     keepjumps put='../'
+     keepjumps put='./'
+    endif
+    exe "keepjumps ".line1
+    keepjumps norm! 0
+
+"    call Decho("line1=".line1." line2=".line2." line(.)=".line("."))
+    if search('^\d\{2}-\d\{2}-\d\{2}\s','n') " M$ ftp site cleanup
+"     call Decho("M$ ftp cleanup")
+     exe 'silent! keepjumps '.w:netrw_bannercnt.',$s/^\d\{2}-\d\{2}-\d\{2}\s\+\d\+:\d\+[AaPp][Mm]\s\+\%(<DIR>\|\d\+\)\s\+//'
+    else " normal ftp cleanup
+"     call Decho("normal ftp cleanup")
+     exe 'silent! keepjumps '.w:netrw_bannercnt.',$s/^\(\%(\S\+\s\+\)\{7}\S\+\)\s\+\(\S.*\)$/\2/e'
+     exe "silent! keepjumps ".w:netrw_bannercnt.',$g/ -> /s# -> .*/$#/#e'
+     exe "silent! keepjumps ".w:netrw_bannercnt.',$g/ -> /s# -> .*$#/#e'
     endif
-   else
-    " handle no count specified
-    let g:NETRW_BOOKMARKMAX                       = g:NETRW_BOOKMARKMAX + 1
-    let g:NETRW_BOOKMARKDIR_{g:NETRW_BOOKMARKMAX} = a:curdir
    endif
-   echo "bookmarked the current directory"
 
-  elseif a:chg == 1
-   " change to the bookmarked directory
-"   call Decho("(user: <B>) change to the bookmarked directory")
-   if exists("g:NETRW_BOOKMARKDIR_{v:count}")
-    exe "e ".g:NETRW_BOOKMARKDIR_{v:count}
+  else
+   " use ssh to get remote file listing {{{3
+"   call Decho("use ssh to get remote file listing: s:path<".s:path.">")
+   let listcmd= s:MakeSshCmd(g:netrw_list_cmd)
+"   call Decho("listcmd<".listcmd."> (using g:netrw_list_cmd)")
+   if g:netrw_scp_cmd =~ '^pscp'
+"    call Decho("1: exe silent r! ".listcmd.shellescape(s:path))
+    exe "silent r! ".listcmd.shellescape(s:path)
+    " remove rubbish and adjust listing format of 'pscp' to 'ssh ls -FLa' like
+    g/^Listing directory/d
+    g/^d[-rwx][-rwx][-rwx]/s+$+/+e
+    silent g/^l[-rwx][-rwx][-rwx]/s+$+@+e
+    if g:netrw_liststyle != s:LONGLIST
+     g/^[dlsp-][-rwx][-rwx][-rwx]/s/^.*\s\(\S\+\)$/\1/e
+    endif
    else
-    echomsg "Sorry, bookmark#".v:count." doesn't exist!"
+    if s:path == ""
+"     call Decho("2: exe silent r! ".listcmd)
+     exe "silent r! ".listcmd
+    else
+"     call Decho("3: exe silent r! ".listcmd.' "'.shellescape(s:path).'"')
+     exe "silent r! ".listcmd.' "'.shellescape(s:path).'"'
+"     call Decho("listcmd<".listcmd."> path<".s:path.">")
+    endif
    endif
 
-  elseif a:chg == 2
-   redraw!
-   let didwork= 0
-   " list user's bookmarks
-"   call Decho("(user: <q>) list user's bookmarks")
-   if exists("g:NETRW_BOOKMARKMAX")
-"    call Decho("list bookmarks [0,".g:NETRW_BOOKMARKMAX."]")
-    let cnt= 0
-    while cnt <= g:NETRW_BOOKMARKMAX
-     if exists("g:NETRW_BOOKMARKDIR_{cnt}")
-"      call Decho("Netrw Bookmark#".cnt.": ".g:NETRW_BOOKMARKDIR_{cnt})
-      echo "Netrw Bookmark#".cnt.": ".g:NETRW_BOOKMARKDIR_{cnt}
-      let didwork= 1
-     endif
-     let cnt= cnt + 1
-    endwhile
+   " cleanup
+   if g:netrw_ftp_browse_reject != ""
+"    call Decho("(cleanup) exe silent! g/".g:netrw_ssh_browse_reject."/keepjumps d")
+    exe "silent! g/".g:netrw_ssh_browse_reject."/keepjumps d"
    endif
+  endif
 
-   " list directory history
-   let cnt     = g:NETRW_DIRHIST_CNT
-   let first   = 1
-   let histcnt = 0
-   while ( first || cnt != g:NETRW_DIRHIST_CNT )
-"    call Decho("first=".first." cnt=".cnt." dirhist_cnt=".g:NETRW_DIRHIST_CNT)
-    let histcnt= histcnt + 1
-    if exists("g:NETRW_DIRHIST_{cnt}")
-"     call Decho("Netrw  History#".histcnt.": ".g:NETRW_DIRHIST_{cnt})
-     echo "Netrw  History#".histcnt.": ".g:NETRW_DIRHIST_{cnt}
-     let didwork= 1
-    endif
-    let first = 0
-    let cnt   = ( cnt - 1 ) % g:netrw_dirhistmax
-    if cnt < 0
-     let cnt= cnt + g:netrw_dirhistmax
+  if w:netrw_liststyle == s:LONGLIST
+   " do a long listing; these substitutions need to be done prior to sorting {{{3
+"   call Decho("fix long listing:")
+
+   if s:method == "ftp"
+    " cleanup
+    exe "keepjumps ".w:netrw_bannercnt
+    while getline('.') =~ g:netrw_ftp_browse_reject
+     keepjumps d
+    endwhile
+    " if there's no ../ listed, then put ./ and ../ in
+    let line1= line(".")
+    keepjumps 1
+    silent keepjumps call search('^\.\.\/\%(\s\|$\)','W')
+    let line2= line(".")
+    if line2 == 0
+     exe 'keepjumps '.w:netrw_bannercnt."put='./'"
+     if b:netrw_curdir != '/'
+      exe 'keepjumps '.w:netrw_bannercnt."put='../'"
+     endif
     endif
-   endwhile
-   if didwork
-    call inputsave()|call input("Press <cr> to continue")|call inputrestore()
+   exe "keepjumps ".line1
+   keepjumps norm! 0
    endif
 
-  elseif a:chg == 3
-   " saves most recently visited directories (when they differ)
-"   call Decho("(browsing) record curdir history")
-   if !exists("g:NETRW_DIRHIST_0") || g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT} != a:curdir
-    let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT + 1 ) % g:netrw_dirhistmax
-"    let g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}= substitute(a:curdir,'[/\\]$','','e')
-    let g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}= a:curdir
-"    call Decho("save dirhist#".g:NETRW_DIRHIST_CNT."<".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}.">")
+   if search('^\d\{2}-\d\{2}-\d\{2}\s','n') " M$ ftp site cleanup
+"    call Decho("M$ ftp site listing cleanup")
+    exe 'silent! keepjumps '.w:netrw_bannercnt.',$s/^\(\d\{2}-\d\{2}-\d\{2}\s\+\d\+:\d\+[AaPp][Mm]\s\+\%(<DIR>\|\d\+\)\s\+\)\(\w.*\)$/\2\t\1/'
+   elseif exists("w:netrw_bannercnt") && w:netrw_bannercnt <= line("$")
+"    call Decho("normal ftp site listing cleanup: bannercnt=".w:netrw_bannercnt." line($)=".line("$"))
+    exe 'silent keepjumps '.w:netrw_bannercnt.',$s/ -> .*$//e'
+    exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\(\%(\S\+\s\+\)\{7}\S\+\)\s\+\(\S.*\)$/\2\t\1/e'
+    exe 'silent keepjumps '.w:netrw_bannercnt
    endif
+  endif
 
-  elseif a:chg == 4
-   " u: change to the previous directory stored on the history list
-"   call Decho("(user: <u>) chg to prev dir from history")
-   let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT - 1 ) % g:netrw_dirhistmax
-   if g:NETRW_DIRHIST_CNT < 0
-    let g:NETRW_DIRHIST_CNT= g:NETRW_DIRHIST_CNT + g:netrw_dirhistmax
-   endif
-   if exists("g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}")
-"    call Decho("changedir u#".g:NETRW_DIRHIST_CNT."<".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}.">")
-    if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("b:netrw_curdir")
-     setlocal ma noro
-     %d
-     setlocal nomod
-    endif
-"    call Decho("exe e! ".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT})
-    exe "e! ".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}
-   else
-    let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT + 1 ) % g:netrw_dirhistmax
-    echo "Sorry, no predecessor directory exists yet"
-   endif
+"  if exists("w:netrw_bannercnt") && w:netrw_bannercnt <= line("$") " Decho
+"   exe "keepjumps ".w:netrw_bannercnt.',$g/^./call Decho("listing: ".getline("."))'
+"  endif " Decho
+"  call Dret("s:NetrwRemoteListing")
+endfun
 
-  elseif a:chg == 5
-   " U: change to the subsequent directory stored on the history list
-"   call Decho("(user: <U>) chg to next dir from history")
-   let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT + 1 ) % g:netrw_dirhistmax
-   if exists("g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}")
-"    call Decho("changedir U#".g:NETRW_DIRHIST_CNT."<".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}.">")
-    if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && exists("b:netrw_curdir")
-     setlocal ma noro
-     %d
-     setlocal nomod
+" ---------------------------------------------------------------------
+" s:NetrwRemoteRm: remove/delete a remote file or directory {{{2
+fun! s:NetrwRemoteRm(usrhost,path) range
+"  call Dfunc("s:NetrwRemoteRm(usrhost<".a:usrhost."> path<".a:path.">) virtcol=".virtcol("."))
+"  call Decho("firstline=".a:firstline." lastline=".a:lastline)
+  let svpos= netrw#NetrwSavePosn()
+
+  let all= 0
+  if exists("s:netrwmarkfilelist_{bufnr('%')}")
+   " remove all marked files
+   for fname in s:netrwmarkfilelist_{bufnr("%")}
+    let ok= s:NetrwRemoteRmFile(a:path,fname,all)
+    if ok =~ 'q\%[uit]'
+     break
+    elseif ok =~ 'a\%[ll]'
+     let all= 1
     endif
-"    call Decho("exe e! ".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT})
-    exe "e! ".g:NETRW_DIRHIST_{g:NETRW_DIRHIST_CNT}
-   else
-    let g:NETRW_DIRHIST_CNT= ( g:NETRW_DIRHIST_CNT - 1 ) % g:netrw_dirhistmax
-    if g:NETRW_DIRHIST_CNT < 0
-     let g:NETRW_DIRHIST_CNT= g:NETRW_DIRHIST_CNT + g:netrw_dirhistmax
+   endfor
+   unlet s:netrwmarkfilelist_{bufnr("%")}
+   unlet s:netrwmarkfilemtch_{bufnr("%")}
+   2match none
+
+  else
+   " remove files specified by range
+
+   " preparation for removing multiple files/directories
+   let ctr= a:firstline
+
+   " remove multiple files and directories
+   while ctr <= a:lastline
+    exe ctr
+    let ok= s:NetrwRemoteRmFile(a:path,s:NetrwGetWord(),all)
+    if ok =~ 'q\%[uit]'
+     break
+    elseif ok =~ 'a\%[ll]'
+     let all= 1
     endif
-    echo "Sorry, no successor directory exists yet"
-   endif
+    let ctr= ctr + 1
+   endwhile
   endif
-  call s:NetBookmarkMenu()
-"  call Dret("NetBookmarkDir")
+
+  " refresh the (remote) directory listing
+"  call Decho("refresh remote directory listing")
+  call s:NetrwRefresh(0,s:NetrwBrowseChgDir(0,'./'))
+  call netrw#NetrwRestorePosn(svpos)
+
+"  call Dret("s:NetrwRemoteRm")
 endfun
 
 " ---------------------------------------------------------------------
-" NetBookmarkMenu: {{{2
-fun! s:NetBookmarkMenu()
-  if !exists("s:netrw_menucnt")
-   return
-  endif
-"  call Dfunc("NetBookmarkMenu() bookmarkcnt=".g:NETRW_BOOKMARKMAX." histcnt=".g:NETRW_DIRHIST_CNT." menucnt=".s:netrw_menucnt)
-  if has("menu") && has("gui_running") && &go =~ 'm'
-   if exists("g:NetrwTopLvlMenu")
-    exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Bookmark'
+" s:NetrwRemoteRmFile: {{{2
+fun! s:NetrwRemoteRmFile(path,rmfile,all)
+"  call Dfunc("s:NetrwRemoteRmFile(path<".a:path."> rmfile<".a:rmfile.">) all=".a:all)
+
+  let all= a:all
+  let ok = ""
+
+  if a:rmfile !~ '^"' && (a:rmfile =~ '@$' || a:rmfile !~ '[\/]$')
+   " attempt to remove file
+"    call Decho("attempt to remove file (all=".all.")")
+   if !all
+    echohl Statement
+"    call Decho("case all=0:")
+    call inputsave()
+    let ok= input("Confirm deletion of file<".a:rmfile."> ","[{y(es)},n(o),a(ll),q(uit)] ")
+    call inputrestore()
+    echohl NONE
+    if ok == ""
+     let ok="no"
+    endif
+    let ok= substitute(ok,'\[{y(es)},n(o),a(ll),q(uit)]\s*','','e')
+    if ok =~ 'a\%[ll]'
+     let all= 1
+    endif
    endif
 
-   " show bookmarked places
-   let cnt       = 0
-   while cnt <= g:NETRW_BOOKMARKMAX
-    if exists("g:NETRW_BOOKMARKDIR_{cnt}")
-     let bmdir= escape(g:NETRW_BOOKMARKDIR_{cnt},'.')
-"     call Decho('silent! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmark.'.bmdir.'       :e '.g:NETRW_BOOKMARKDIR_{cnt})
-     exe 'silent! menu '.g:NetrwMenuPriority.".2.".cnt." ".g:NetrwTopLvlMenu.'Bookmarks.'.bmdir.'      :e '.g:NETRW_BOOKMARKDIR_{cnt}."\<cr>"
+   if all || ok =~ 'y\%[es]' || ok == ""
+"    call Decho("case all=".all." or ok<".ok.">".(exists("w:netrw_method")? ': netrw_method='.w:netrw_method : ""))
+    if exists("w:netrw_method") && (w:netrw_method == 2 || w:netrw_method == 3)
+"     call Decho("case ftp:")
+     let path= a:path
+     if path =~ '^\a\+://'
+      let path= substitute(path,'^\a\+://[^/]\+/','','')
+     endif
+     silent! keepjumps .,$d
+     call s:NetrwRemoteFtpCmd(path,"delete ".'"'.a:rmfile.'"')
+    else
+"     call Decho("case ssh: g:netrw_rm_cmd<".g:netrw_rm_cmd.">")
+     let netrw_rm_cmd= s:MakeSshCmd(g:netrw_rm_cmd)
+"     call Decho("netrw_rm_cmd<".netrw_rm_cmd.">")
+     if !exists("b:netrw_curdir")
+      call netrw#ErrorMsg(s:ERROR,"for some reason b:netrw_curdir doesn't exist!",53)
+      let ok="q"
+     else
+      let remotedir= substitute(b:netrw_curdir,'^.*//[^/]\+/\(.*\)$','\1','')
+"      call Decho("netrw_rm_cmd<".netrw_rm_cmd.">")
+"      call Decho("remotedir<".remotedir.">")
+"      call Decho("rmfile<".a:rmfile.">")
+      if remotedir != ""
+       let netrw_rm_cmd= netrw_rm_cmd." ".shellescape(fnameescape(remotedir.a:rmfile))
+      else
+       let netrw_rm_cmd= netrw_rm_cmd." ".shellescape(fnameescape(a:rmfile))
+      endif
+"      call Decho("call system(".netrw_rm_cmd.")")
+      let ret= system(netrw_rm_cmd)
+      if ret != 0
+       call netrw#ErrorMsg(s:WARNING,"cmd<".netrw_rm_cmd."> failed",60)
+      endif
+"      call Decho("returned=".ret." errcode=".v:shell_error)
+     endif
     endif
-    let cnt= cnt + 1
-   endwhile
+   elseif ok =~ 'q\%[uit]'
+"    call Decho("ok==".ok)
+    break
+   endif
 
-   " show directory browsing history
-   let cnt     = g:NETRW_DIRHIST_CNT
-   let first   = 1
-   let histcnt = 0
-   while ( first || cnt != g:NETRW_DIRHIST_CNT )
-    let histcnt  = histcnt + 1
-    let priority = g:NETRW_DIRHIST_CNT + histcnt
-    if exists("g:NETRW_DIRHIST_{cnt}")
-     let bmdir= escape(g:NETRW_DIRHIST_{cnt},'.')
-"     call Decho('silent! menu '.g:NetrwMenuPriority.".3.".priority." ".g:NetrwTopLvlMenu.'History.'.bmdir.'   :e '.g:NETRW_DIRHIST_{cnt})
-     exe 'silent! menu '.g:NetrwMenuPriority.".3.".priority." ".g:NetrwTopLvlMenu.'History.'.bmdir.'   :e '.g:NETRW_DIRHIST_{cnt}."\<cr>"
+  else
+   " attempt to remove directory
+"    call Decho("attempt to remove directory")
+   if !all
+    call inputsave()
+    let ok= input("Confirm deletion of directory<".a:rmfile."> ","[{y(es)},n(o),a(ll),q(uit)] ")
+    call inputrestore()
+    if ok == ""
+     let ok="no"
     endif
-    let first = 0
-    let cnt   = ( cnt - 1 ) % g:netrw_dirhistmax
-    if cnt < 0
-     let cnt= cnt + g:netrw_dirhistmax
+    let ok= substitute(ok,'\[{y(es)},n(o),a(ll),q(uit)]\s*','','e')
+    if ok =~ 'a\%[ll]'
+     let all= 1
     endif
-   endwhile
+   endif
+
+   if all || ok =~ 'y\%[es]' || ok == ""
+    if exists("w:netrw_method") && (w:netrw_method == 2 || w:netrw_method == 3)
+     call s:NetrwRemoteFtpCmd(a:path,"rmdir ".a:rmfile)
+    else
+     let rmfile          = substitute(a:path.a:rmfile,'/$','','')
+     let netrw_rmdir_cmd = s:MakeSshCmd(g:netrw_rmdir_cmd).' '.rmfile
+"      call Decho("attempt to remove dir: system(".netrw_rmdir_cmd.")")
+     let ret= s:System("system",netrw_rmdir_cmd)
+"      call Decho("returned=".ret." errcode=".v:shell_error)
+
+     if v:shell_error != 0
+"       call Decho("v:shell_error not 0")
+      let netrw_rmf_cmd= s:MakeSshCmd(g:netrw_rmf_cmd).' '.substitute(rmfile,'[\/]$','','e')
+"       call Decho("2nd attempt to remove dir: system(".netrw_rmf_cmd.")")
+      let ret= s:System("system",netrw_rmf_cmd)
+"       call Decho("returned=".ret." errcode=".v:shell_error)
+
+      if v:shell_error != 0 && !exists("g:netrw_quiet")
+       call netrw#ErrorMsg(s:ERROR,"unable to remove directory<".rmfile."> -- is it empty?",22)
+      endif
+     endif
+    endif
+
+   elseif ok =~ 'q\%[uit]'
+    break
+   endif
   endif
-"  call Dret("NetBookmarkMenu")
+
+"  call Dret("s:NetrwRemoteRmFile ".ok)
+  return ok
 endfun
 
 " ---------------------------------------------------------------------
-" NetObtain: obtain file under cursor (for remote browsing support) {{{2
-fun! netrw#NetObtain(vismode,...) range
-"  call Dfunc("NetObtain(vismode=".a:vismode.") a:0=".a:0)
-
-  if a:vismode == 0
-   " normal mode
-   let fname= expand("<cWORD>")
-"   call Decho("no arguments, use <".fname.">")
-  elseif a:vismode == 1
-   " visual mode
-   let keeprega = @a
-   norm! gv"ay
-   if g:netrw_liststyle == s:THINLIST
-    " thin listing
-    let filelist= split(@a,'\n')
-   elseif g:netrw_liststyle == s:LONGLIST
-    " long listing
-    let filelist= split(substitute(@a,'\t.\{-}\n','\n','g'),'\n')
+" s:NetrwRemoteFtpCmd: unfortunately, not all ftp servers honor options for ls {{{2
+"  This function assumes that a long listing will be received.  Size, time,
+"  and reverse sorts will be requested of the server but not otherwise
+"  enforced here.
+fun! s:NetrwRemoteFtpCmd(path,listcmd)
+"  call Dfunc("NetrwRemoteFtpCmd(path<".a:path."> listcmd<".a:listcmd.">) netrw_method=".w:netrw_method)
+"  call Decho("line($)=".line("$")." bannercnt=".w:netrw_bannercnt)
+
+  " because WinXX ftp uses unix style input
+  let ffkeep= &ff
+  setlocal ma ff=unix noro
+"  call Decho("setlocal ma ff=unix noro")
+
+  " clear off any older non-banner lines
+  " note that w:netrw_bannercnt indexes the line after the banner
+"  call Decho('exe silent! keepjumps '.w:netrw_bannercnt.",$d  (clear off old non-banner lines)")
+  exe "silent! keepjumps ".w:netrw_bannercnt.",$d"
+
+  ".........................................
+  if w:netrw_method == 2 || w:netrw_method == 5
+   " ftp + <.netrc>:  Method #2
+   if a:path != ""
+    put ='cd \"'.a:path.'\"'
+   endif
+   if exists("g:netrw_ftpextracmd")
+    exe "put ='".g:netrw_ftpextracmd."'"
+"    call Decho("filter input: ".getline('.'))
+   endif
+   call setline(line("$")+1,a:listcmd)
+"   exe "keepjumps ".w:netrw_bannercnt.',$g/^./call Decho("ftp#".line(".").": ".getline("."))'
+   if exists("g:netrw_port") && g:netrw_port != ""
+"    call Decho("exe ".s:netrw_silentxfer.w:netrw_bannercnt.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port)
+    exe s:netrw_silentxfer." keepjumps ".w:netrw_bannercnt.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port
    else
-    " wide listing
-       let filelist = split(substitute(@a,'\s\{2,}','\n','g'),'\n')
-       let filelist = map(filelist,'substitute(v:val,"^\\s\\+","","")')
-       let filelist = map(filelist,'substitute(v:val,"\\s\\+$","","")')
+"    call Decho("exe ".s:netrw_silentxfer.w:netrw_bannercnt.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine)
+    exe s:netrw_silentxfer." keepjumps ".w:netrw_bannercnt.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine
    endif
-"   call Decho("filelist<".string(filelist).">")
-   let @a= keeprega
-   for f in filelist
-    if f != ""
-     call netrw#NetObtain(2,f)
-    endif
-   endfor
-"   call Dret("NetObtain : visual mode handler")
-   return
-  elseif a:vismode == 2
-   " multiple file mode
-   let fname= a:1
-"   call Decho("visual mode handling: <".fname.">")
-  endif
-
-  " NetrwStatusLine support - for obtaining support
-  call s:SetupNetrwStatusLine('%f %h%m%r%=%9*Obtaining '.fname)
-
-  if exists("w:netrw_method") && w:netrw_method =~ '[235]'
-"   call Decho("method=".w:netrw_method)
-   if executable("ftp")
-"    call Decho("ftp is executable, method=".w:netrw_method)
-    let curdir = b:netrw_curdir
-    let path   = substitute(curdir,'ftp://[^/]\+/','','e')
-    let curline= line(".")
-    let endline= line("$")+1
-    setlocal ma noro
-    keepjumps $
-"    call Decho("getcwd<".getcwd().">")
-"    call Decho("curdir<".curdir.">")
-"    call Decho("path<".path.">")
-"    call Decho("curline=".curline)
-"    call Decho("endline=".endline)
-
-    ".........................................
-    if w:netrw_method == 2
-     " ftp + <.netrc>: Method #2
-     setlocal ff=unix
-     if path != ""
-      put ='cd '.path
-"      call Decho("ftp:  cd ".path)
-     endif
-     put ='get '.fname
-"     call Decho("ftp:  get ".fname)
-     put ='quit'
-"     call Decho("ftp:  quit")
-     if exists("g:netrw_port") && g:netrw_port != ""
-"      call Decho("exe ".g:netrw_silentxfer.endline.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port)
-      exe g:netrw_silentxfer.endline.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine." ".g:netrw_port
-     else
-"      call Decho("exe ".g:netrw_silentxfer.endline.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine)
-      exe g:netrw_silentxfer.endline.",$!".g:netrw_ftp_cmd." -i ".g:netrw_machine
-     endif
 
    ".........................................
   elseif w:netrw_method == 3
-   " ftp + machine,id,passwd,filename: Method #3
+   " ftp + machine,id,passwd,filename:  Method #3
     setlocal ff=unix
     if exists("g:netrw_port") && g:netrw_port != ""
      put ='open '.g:netrw_machine.' '.g:netrw_port
-"     call Decho('ftp:  open '.g:netrw_machine.' '.g:netrw_port)
     else
      put ='open '.g:netrw_machine
-"     call Decho('ftp:  open '.g:netrw_machine)
     endif
 
     if exists("g:netrw_ftp") && g:netrw_ftp == 1
      put =g:netrw_uid
-     put ='\"'.g:netrw_passwd.'\"'
-"     call Decho('ftp:  g:netrw_uid')
-"     call Decho('ftp:  g:netrw_passwd')
+     put ='\"'.s:netrw_passwd.'\"'
     else
-     put ='user \"'.g:netrw_uid.'\" \"'.g:netrw_passwd.'\"'
-"     call Decho('user '.g:netrw_uid.' '.g:netrw_passwd)
+     put ='user \"'.g:netrw_uid.'\" \"'.s:netrw_passwd.'\"'
     endif
 
-   if path != ""
-    put ='cd '.path
-"    call Decho('cd '.a:path)
+   if a:path != ""
+    put ='cd \"'.a:path.'\"'
+   endif
+   if exists("g:netrw_ftpextracmd")
+    exe "put ='".g:netrw_ftpextracmd."'"
+"    call Decho("filter input: ".getline('.'))
    endif
-   put ='get '.fname
-"   call Decho("ftp:  get ".fname)
-   put ='quit'
-"   call Decho("ftp:  quit")
+   call setline(line("$")+1,a:listcmd)
 
     " perform ftp:
     " -i       : turns off interactive prompting from ftp
     " -n  unix : DON'T use <.netrc>, even though it exists
     " -n  win32: quit being obnoxious about password
-"    call Decho("exe ".g:netrw_silentxfer.curline.",$!".g:netrw_ftp_cmd." -i -n")
-    exe g:netrw_silentxfer.endline.",$!".g:netrw_ftp_cmd." -i -n"
-
-    ".........................................
-    else
-     call netrw#ErrorMsg(s:WARNING,"unable to comply with your request<" . choice . ">",28)
-    endif
-    " restore
-    exe "silent! ".endline.",$d"
-    exe "keepjumps ".curline
-    setlocal noma nomod ro
-   else
-"    call Decho("ftp not executable")
-    if !exists("g:netrw_quiet")
-     call netrw#ErrorMsg(s:ERROR,"this system doesn't support ftp",29)
-    endif
-    " restore status line
-    let &stl        = s:netrw_users_stl
-    let &laststatus = s:netrw_users_ls
-    " restore NetMethod
-    if exists("keep_netrw_method")
-     call s:NetMethod(keep_netrw_choice)
-     let w:netrw_method  = keep_netrw_wmethod
-    endif
-"    call Dret("NetObtain")
-    return
-   endif
-
-  ".........................................
-  else
-   " scp: Method#4
-"   call Decho("using scp")
-   let curdir = b:netrw_curdir
-   let path   = substitute(curdir,'scp://[^/]\+/','','e')
-"   call Decho("path<".path.">")
-   if exists("g:netrw_port") && g:netrw_port != ""
-    let useport= " ".g:netrw_scpport." ".g:netrw_port
-   else
-    let useport= ""
-   endif
-"   call Decho("executing: !".g:netrw_scp_cmd.useport." ".g:netrw_machine.":".path.escape(fname,' ?&')." .")
-   exe g:netrw_silentxfer."!".g:netrw_scp_cmd.useport." ".g:netrw_machine.":".path.escape(fname,' ?&')." ."
-   endif
-  endif
-
-  " restore status line
-  let &stl        = s:netrw_users_stl
-  let &laststatus = s:netrw_users_ls
-  redraw!
-
-  " restore NetMethod
-  if exists("keep_netrw_method")
-   call s:NetMethod(keep_netrw_choice)
-   let w:netrw_method  = keep_netrw_wmethod
-  endif
-
-"  call Dret("NetObtain")
-endfun
-
-" ---------------------------------------------------------------------
-" NetPrevWinOpen: open file/directory in previous window.  {{{2
-"   If there's only one window, then the window will first be split.
-fun! s:NetPrevWinOpen(islocal)
-"  call Dfunc("NetPrevWinOpen(islocal=".a:islocal.")")
-
-  " get last window number and the word currently under the cursor
-  let lastwinnr = winnr("$")
-  let curword   = s:NetGetWord()
-"  call Decho("lastwinnr=".lastwinnr." curword<".curword.">")
-
-  let didsplit  = 0
-  if lastwinnr == 1
-   " if only one window, open a new one first
-"   call Decho("only one window, so open a new one (g:netrw_alto=".g:netrw_alto.")")
-   exe (g:netrw_alto? "bel " : "abo ").g:netrw_winsize."wincmd s"
-   let didsplit  = 1
+"    exe w:netrw_bannercnt.',$g/^./call Decho("ftp#".line(".").": ".getline("."))'
+"    call Decho("exe ".s:netrw_silentxfer.w:netrw_bannercnt.",$!".g:netrw_ftp_cmd." -i -n")
+    exe s:netrw_silentxfer.w:netrw_bannercnt.",$!".g:netrw_ftp_cmd." -i -n"
 
+   ".........................................
   else
-   wincmd p
-   " if the previous window's buffer has been changed (is modified),
-   " and it doesn't appear in any other extant window, then ask the
-   " user if s/he wants to abandon modifications therein.
-   let bnr    = winbufnr(0)
-   let bnrcnt = 0
-   if &mod
-    windo if winbufnr(0) == bnr | let bnrcnt=bnrcnt+1 | endif
-"    call Decho("bnr=".bnr." bnrcnt=".bnrcnt)
-    if bnrcnt == 1
-     let bufname= bufname(winbufnr(winnr()))
-     let choice= confirm("Save modified file<".bufname.">?","&Yes\n&No\n&Cancel")
-
-     if choice == 1
-      " Yes -- write file & then browse
-      let v:errmsg= ""
-      silent w
-      if v:errmsg != ""
-       call netrw#ErrorMsg(s:ERROR,"unable to write <".bufname.">!",30)
-       if didsplit
-               q
-       else
-               wincmd p
-       endif
-"       call Dret("NetPrevWinOpen : unable to write <".bufname.">")
-       return
-      endif
-
-     elseif choice == 2
-      " No -- don't worry about changed file, just browse anyway
-      setlocal nomod
-      call netrw#ErrorMsg(s:WARNING,bufname." changes abandoned",31)
-
-     else
-      " Cancel -- don't do this
-      if didsplit
-       q
-      else
-       wincmd p
-      endif
-"      call Dret("NetPrevWinOpen : cancelled")
-      return
-     endif
-    endif
+   call netrw#ErrorMsg(s:WARNING,"unable to comply with your request<" . choice . ">",23)
+  endif
+
+  " cleanup for Windows
+  if has("win32") || has("win95") || has("win64") || has("win16")
+   silent! keepjumps %s/\r$//e
+  endif
+  if a:listcmd == "dir"
+   " infer directory/link based on the file permission string
+   silent! keepjumps g/d\%([-r][-w][-x]\)\{3}/s@$@/@
+   silent! keepjumps g/l\%([-r][-w][-x]\)\{3}/s/$/@/
+   if w:netrw_liststyle == s:THINLIST || w:netrw_liststyle == s:WIDELIST || w:netrw_liststyle == s:TREELIST
+    exe "silent! keepjumps ".w:netrw_bannercnt.',$s/^\%(\S\+\s\+\)\{8}//e'
    endif
   endif
 
-  if a:islocal
-   call netrw#LocalBrowseCheck(s:NetBrowseChgDir(a:islocal,curword))
-  else
-   call s:NetBrowse(a:islocal,s:NetBrowseChgDir(a:islocal,curword))
+  " ftp's listing doesn't seem to include ./ or ../
+  if !search('^\.\/$\|\s\.\/$','wn')
+   exe 'keepjumps '.w:netrw_bannercnt
+   put ='./'
+  endif
+  if !search('^\.\.\/$\|\s\.\.\/$','wn')
+   exe 'keepjumps '.w:netrw_bannercnt
+   put ='../'
   endif
-"  call Dret("NetPrevWinOpen")
+
+  " restore settings
+  let &ff= ffkeep
+"  call Dret("NetrwRemoteFtpCmd")
 endfun
 
 " ---------------------------------------------------------------------
-" NetMenu: generates the menu for gvim and netrw {{{2
-fun! s:NetMenu(domenu)
+" s:NetrwRemoteRename: rename a remote file or directory {{{2
+fun! s:NetrwRemoteRename(usrhost,path) range
+"  call Dfunc("NetrwRemoteRename(usrhost<".a:usrhost."> path<".a:path.">)")
 
-  if !exists("g:NetrwMenuPriority")
-   let g:NetrwMenuPriority= 80
-  endif
+  " preparation for removing multiple files/directories
+  let svpos      = netrw#NetrwSavePosn()
+  let ctr        = a:firstline
+  let rename_cmd = s:MakeSshCmd(g:netrw_rename_cmd)
 
-  if has("menu") && has("gui_running") && &go =~ 'm' && g:netrw_menu
-"   call Dfunc("NetMenu(domenu=".a:domenu.")")
+  " rename files given by the markfilelist
+  if exists("s:netrwmarkfilelist_{bufnr('%')}")
+   for oldname in s:netrwmarkfilelist_{bufnr("%")}
+"    call Decho("oldname<".oldname.">")
+    if exists("subfrom")
+     let newname= substitute(oldname,subfrom,subto,'')
+"     call Decho("subfrom<".subfrom."> subto<".subto."> newname<".newname.">")
+    else
+     call inputsave()
+     let newname= input("Moving ".oldname." to : ",oldname)
+     call inputrestore()
+     if newname =~ '^s/'
+      let subfrom = substitute(newname,'^s/\([^/]*\)/.*/$','\1','')
+      let subto   = substitute(newname,'^s/[^/]*/\(.*\)/$','\1','')
+      let newname = substitute(oldname,subfrom,subto,'')
+"      call Decho("subfrom<".subfrom."> subto<".subto."> newname<".newname.">")
+     endif
+    endif
+   
+    if exists("w:netrw_method") && (w:netrw_method == 2 || w:netrw_method == 3)
+     call s:NetrwRemoteFtpCmd(a:path,"rename ".oldname." ".newname)
+    else
+     let oldname= a:path.oldname
+     let newname= a:path.newname
+"     call Decho("system(rename_cmd".' "'.fnameescape(oldname," ").'" "'.escape(newname).'"')
+     let ret= s:System("system",rename_cmd.' "'.fnameescape(oldname).'" "'.fnameescape(newname).'"')
+    endif
 
-   if !exists("s:netrw_menu_enabled") && a:domenu
-"    call Decho("initialize menu")
-    let s:netrw_menu_enabled= 1
-    exe 'silent! menu '.g:NetrwMenuPriority.'.1 '.g:NetrwTopLvlMenu.'Help<tab><F1>     <F1>'
-    call s:NetBookmarkMenu() " provide some history!
-    exe 'silent! menu '.g:NetrwMenuPriority.'.4 '.g:NetrwTopLvlMenu.'Go\ Up\ Directory<tab>-   -'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.5 '.g:NetrwTopLvlMenu.'Apply\ Special\ Viewer<tab>x      x'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.6 '.g:NetrwTopLvlMenu.'Bookmark\ Current\ Directory<tab>mb       mb'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.7 '.g:NetrwTopLvlMenu.'Goto\ Bookmarked\ Directory<tab>gb        gb'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.8 '.g:NetrwTopLvlMenu.'Change\ To\ Recently\ Used\ Directory<tab>u       u'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.9 '.g:NetrwTopLvlMenu.'Change\ To\ Subsequently\ Used\ Directory<tab>U   U'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.10 '.g:NetrwTopLvlMenu.'Delete\ File/Directory<tab>D     D'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.11 '.g:NetrwTopLvlMenu.'Edit\ File\ Hiding\ List<tab>'."<ctrl-h> \<c-h>"
-    exe 'silent! menu '.g:NetrwMenuPriority.'.12 '.g:NetrwTopLvlMenu.'Edit\ File/Directory<tab><cr>    '."\<cr>"
-    exe 'silent! menu '.g:NetrwMenuPriority.'.13 '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Window<tab>o o'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.14 '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Vertical\ Window<tab>v       v'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.15 '.g:NetrwTopLvlMenu.'List\ Bookmarks\ and\ History<tab>q      q'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.16 '.g:NetrwTopLvlMenu.'Listing\ Style\ (thin-long-wide)<tab>i   i'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.17 '.g:NetrwTopLvlMenu.'Make\ Subdirectory<tab>d d'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.18 '.g:NetrwTopLvlMenu.'Normal-Hide-Show<tab>a   a'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.19 '.g:NetrwTopLvlMenu.'Obtain\ File<tab>O       O'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.20 '.g:NetrwTopLvlMenu.'Preview\ File/Directory<tab>p    p'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.21 '.g:NetrwTopLvlMenu.'Previous\ Window\ Browser<tab>P  P'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.22 '.g:NetrwTopLvlMenu.'Refresh\ Listing<tab>'."<ctrl-l> \<c-l>"
-    exe 'silent! menu '.g:NetrwMenuPriority.'.23 '.g:NetrwTopLvlMenu.'Rename\ File/Directory<tab>R     R'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.24 '.g:NetrwTopLvlMenu.'Reverse\ Sorting\ Order<tab>'."r r"
-    exe 'silent! menu '.g:NetrwMenuPriority.'.25 '.g:NetrwTopLvlMenu.'Select\ Sorting\ Style<tab>s     s'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.26 '.g:NetrwTopLvlMenu.'Sorting\ Sequence\ Edit<tab>S    S'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.27 '.g:NetrwTopLvlMenu.'Set\ Current\ Directory<tab>c    c'
-    exe 'silent! menu '.g:NetrwMenuPriority.'.28 '.g:NetrwTopLvlMenu.'Settings/Options<tab>:NetrwSettings      '.":NetrwSettings\<cr>"
-    let s:netrw_menucnt= 28
+   endfor
+   call s:NetrwUnMarkFile(1)
 
-   elseif !a:domenu
-    let s:netrwcnt = 0
-    let curwin     = winnr()
-    windo if getline(2) =~ "Netrw" | let s:netrwcnt= s:netrwcnt + 1 | endif
-    exe curwin."wincmd w"
-    
-    if s:netrwcnt <= 1
-"     call Decho("clear menus")
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Help'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Apply\ Special\ Viewer'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Bookmark\ Current\ Directory'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Go\ Up\ Directory'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Goto\ Bookmarked\ Directory'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Change\ To\ Recently\ Used\ Directory'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Change\ To\ Subsequently\ Used\ Directory'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Delete\ File/Directory'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Edit\ File/Directory'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Window'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Vertical\ Window'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Edit\ File\ Hiding\ List'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Edit\ File'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Enter\ File/Directory'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Enter\ File/Directory\ (vertical\ split)'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'List\ Bookmarks\ and\ History'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Listing\ Style\ (thin-long-wide)'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Make\ Subdirectory'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Normal-Hide-Show'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Obtain\ File'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Preview\ File/Directory'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Previous\ Window\ Browser'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Refresh\ Listing'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Rename\ File/Directory'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Reverse\ Sorting\ Order'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Select\ Sorting\ Style'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Sorting\ Sequence\ Edit'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Set\ Current\ Directory'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Settings/Options'
-     exe 'silent! unmenu '.g:NetrwTopLvlMenu.'Bookmarks'
-     silent! unlet s:netrw_menu_enabled
+  else
+
+  " attempt to rename files/directories
+   while ctr <= a:lastline
+    exe "keepjumps ".ctr
+
+    let oldname= s:NetrwGetWord()
+"   call Decho("oldname<".oldname.">")
+
+    call inputsave()
+    let newname= input("Moving ".oldname." to : ",oldname)
+    call inputrestore()
+
+    if exists("w:netrw_method") && (w:netrw_method == 2 || w:netrw_method == 3)
+     call s:NetrwRemoteFtpCmd(a:path,"rename ".oldname." ".newname)
+    else
+     let oldname= a:path.oldname
+     let newname= a:path.newname
+"    call Decho("system(rename_cmd".' "'.fnameescape(oldname," ").'" "'.escape(newname).'"')
+     let ret= s:System("system",rename_cmd.' "'.fnameescape(oldname).'" "'.fnameescape(newname).'"')
     endif
-   endif
-"   call Dret("NetMenu")
+
+    let ctr= ctr + 1
+   endwhile
   endif
 
+  " refresh the directory
+  call s:NetrwRefresh(0,s:NetrwBrowseChgDir(0,'./'))
+  call netrw#NetrwRestorePosn(svpos)
+
+"  call Dret("NetrwRemoteRename")
 endfun
 
-" ==========================================
+" ---------------------------------------------------------------------
 "  Local Directory Browsing Support:    {{{1
 " ==========================================
 
 " ---------------------------------------------------------------------
-" LocalBrowseCheck: {{{2
+" netrw#LocalBrowseCheck: {{{2
 fun! netrw#LocalBrowseCheck(dirname)
   " unfortunate interaction -- split window debugging can't be
-"  " used here, must use DechoRemOn or DechoTabOn -- the BufEnter
+  " used here, must use D-echoRemOn or D-echoTabOn -- the BufEnter
   " event triggers another call to LocalBrowseCheck() when attempts
   " to write to the DBG buffer are made.
-"  call Dfunc("LocalBrowseCheck(dirname<".a:dirname.">")
+  " The &ft == "netrw" test was installed because the BufEnter event
+  " would hit when re-entering netrw windows, creating unexpected
+  " refreshes (and would do so in the middle of NetrwSaveOptions(), too)
+"  call Decho("netrw#LocalBrowseCheck: isdir<".a:dirname.">=".isdirectory(a:dirname))
   if isdirectory(a:dirname)
-   silent! call s:NetBrowse(1,a:dirname)
+"   call Decho(" ft<".&ft."> b:netrw_curdir<".(exists("b:netrw_curdir")? b:netrw_curdir : " doesn't exist")."> dirname<".a:dirname.">"." line($)=".line("$"))
+   if &ft != "netrw" || (exists("b:netrw_curdir") && b:netrw_curdir != a:dirname)
+    silent! call s:NetrwBrowse(1,a:dirname)
+   elseif &ft == "netrw" && line("$") == 1
+    silent! call s:NetrwBrowse(1,a:dirname)
+   endif
   endif
-"  call Dret("LocalBrowseCheck")
   " not a directory, ignore it
 endfun
 
 " ---------------------------------------------------------------------
-"  LocalListing: does the job of "ls" for local directories {{{2
+"  s:LocalListing: does the job of "ls" for local directories {{{2
 fun! s:LocalListing()
-"  call Dfunc("LocalListing() &ma=".&ma." &mod=".&mod." &ro=".&ro." buf(%)=".buf("%"))
+"  call Dfunc("s:LocalListing()")
+"  call Decho("&ma=".&ma)
+"  call Decho("&mod=".&mod)
+"  call Decho("&ro=".&ro)
+"  call Decho("bufname(%)<".bufname("%").">")
+
 "  if exists("b:netrw_curdir") |call Decho('b:netrw_curdir<'.b:netrw_curdir.">")  |else|call Decho("b:netrw_curdir doesn't exist") |endif
 "  if exists("g:netrw_sort_by")|call Decho('g:netrw_sort_by<'.g:netrw_sort_by.">")|else|call Decho("g:netrw_sort_by doesn't exist")|endif
 
   " get the list of files contained in the current directory
-  let dirname    = escape(b:netrw_curdir,s:netrw_glob_escape)
+  let dirname    = escape(b:netrw_curdir,g:netrw_glob_escape)
   let dirnamelen = strlen(b:netrw_curdir)
   let filelist   = glob(s:ComposePath(dirname,"*"))
 "  call Decho("glob(dirname<".dirname."/*>)=".filelist)
@@ -4086,39 +6457,46 @@ fun! s:LocalListing()
    let filelist= filelist."\n"
   endif
   let filelist= filelist.glob(s:ComposePath(dirname,".*"))
-"  call Decho("glob(dirname<".dirname."/.*>)=".glob(dirname.".*"))
-
-  " if the directory name includes a "$", and possibly other characters,
-  " the glob() doesn't include "." and ".." entries.
-  if filelist !~ '[\\/]\.[\\/]\=\(\n\|$\)'
-"   call Decho("forcibly tacking on .")
-   if filelist == ""
-    let filelist= s:ComposePath(dirname,"./")
-   else
-    let filelist= filelist."\n".s:ComposePath(b:netrw_curdir,"./")
-   endif
-"  call Decho("filelist<".filelist.">")
+"  call Decho("glob(dirname<".dirname."/.*>)=".filelist)
+
+  " Coding choice: either   elide   ./ if present
+  "                or       include ./ if not present
+  if filelist =~ '[\\/]\.[\\/]\=\(\n\|$\)'
+   " elide /path/. from glob() entries if present
+"   call Decho("elide /path/. from glob entries if present")
+   let filelist = substitute(filelist,'\n','\t','g')
+   let filelist = substitute(filelist,'^[^\t]\+[/\\]\.\t','','')
+   let filelist = substitute(filelist,'[^\t]\+[/\\]\.$','','')
+   let filelist = substitute(filelist,'\t\zs[^\t]\+[/\\]\.\t','','')
+   let filelist = substitute(filelist,'\t','\n','g')
   endif
+"  call Decho("filelist<".filelist.">")
   if filelist !~ '[\\/]\.\.[\\/]\=\(\n\|$\)'
+    " include ../ in the glob() entry if its missing
 "   call Decho("forcibly tacking on ..")
    let filelist= filelist."\n".s:ComposePath(b:netrw_curdir,"../")
 "   call Decho("filelist<".filelist.">")
   endif
   if b:netrw_curdir == '/'
    " remove .. from filelist when current directory is root directory
-   let filelist= substitute(filelist,'/\.\.\n','','')
 "   call Decho("remove .. from filelist")
+   let filelist= substitute(filelist,'/\.\.\n','','')
   endif
+  " remove multiple contiguous newlines
   let filelist= substitute(filelist,'\n\{2,}','\n','ge')
-  if (has("win32") || has("win95") || has("win64") || has("win16"))
-   let filelist= substitute(filelist,'\','/','ge')
+  if !g:netrw_cygwin && (has("win32") || has("win95") || has("win64") || has("win16"))
+   " change all \s to /s
+"   call Decho('change all \s to /s')
+   let filelist= substitute(filelist,'\','/','g')
   else
-   let filelist= substitute(filelist,'\','\\','ge')
+   " escape all \s to \\
+"   call Decho('escape all \s to \\')
+   let filelist= substitute(filelist,'\','\\','g')
   endif
 
-"  call Decho("dirname<".dirname.">")
-"  call Decho("dirnamelen<".dirnamelen.">")
-"  call Decho("filelist<".filelist.">")
+"  call Decho("(before while) dirname<".dirname.">")
+"  call Decho("(before while) dirnamelen<".dirnamelen.">")
+"  call Decho("(before while) filelist<".filelist.">")
 
   while filelist != ""
    if filelist =~ '\n'
@@ -4128,22 +6506,67 @@ fun! s:LocalListing()
     let filename = filelist
     let filelist = ""
    endif
-   let pfile= filename
-   if isdirectory(filename)
+"   call Decho(" ")
+"   call Decho("(while) filelist<".filelist.">")
+"   call Decho("(while) filename<".filename.">")
+
+   if getftype(filename) == "link"
+    " indicate a symbolic link
+"    call Decho("indicate <".filename."> is a symbolic link with trailing @")
+    let pfile= filename."@"
+
+   elseif getftype(filename) == "socket"
+    " indicate a socket
+"    call Decho("indicate <".filename."> is a socket with trailing =")
+    let pfile= filename."="
+
+   elseif getftype(filename) == "fifo"
+    " indicate a fifo
+"    call Decho("indicate <".filename."> is a fifo with trailing |")
+    let pfile= filename."|"
+
+   elseif isdirectory(filename)
+    " indicate a directory
+"    call Decho("indicate <".filename."> is a directory with trailing /")
     let pfile= filename."/"
+
+   elseif exists("b:netrw_curdir") && b:netrw_curdir !~ '^.*://' && !isdirectory(filename)
+    if (has("win32") || has("win95") || has("win64") || has("win16"))
+     if filename =~ '\.[eE][xX][eE]$' || filename =~ '\.[cC][oO][mM]$' || filename =~ '\.[bB][aA][tT]$'
+      " indicate an executable
+"      call Decho("indicate <".filename."> is executable with trailing *")
+      let pfile= filename."*"
+     else
+      " normal file
+      let pfile= filename
+     endif
+    elseif executable(filename)
+     " indicate an executable
+"     call Decho("indicate <".filename."> is executable with trailing *")
+     let pfile= filename."*"
+    else
+     " normal file
+     let pfile= filename
+    endif
+
+   else
+    " normal file
+    let pfile= filename
    endif
+"   call Decho("pfile<".pfile."> (after *@/ appending)")
+
    if pfile =~ '//$'
     let pfile= substitute(pfile,'//$','/','e')
+"    call Decho("change // to /: pfile<".pfile.">")
    endif
    let pfile= strpart(pfile,dirnamelen)
    let pfile= substitute(pfile,'^[/\\]','','e')
-"   call Decho(" ")
 "   call Decho("filename<".filename.">")
 "   call Decho("pfile   <".pfile.">")
 
    if w:netrw_liststyle == s:LONGLIST
     let sz   = getfsize(filename)
-    let fsz  = strpart("               ",1,15-strlen(sz)).sz
+    let fsz  = strpart("               ",1,15-s:Strlen(sz)).sz
     let pfile= pfile."\t".fsz." ".strftime(g:netrw_timefmt,getftime(filename))
 "    call Decho("sz=".sz." fsz=".fsz)
    endif
@@ -4152,7 +6575,7 @@ fun! s:LocalListing()
     " sort by time (handles time up to 1 quintillion seconds, US)
 "    call Decho("getftime(".filename.")=".getftime(filename))
     let t  = getftime(filename)
-    let ft = strpart("000000000000000000",1,18-strlen(t)).t
+    let ft = strpart("000000000000000000",1,18-s:Strlen(t)).t
 "    call Decho("exe keepjumps put ='".ft.'/'.filename."'")
     let ftpfile= ft.'/'.pfile
     keepjumps silent! put=ftpfile
@@ -4161,12 +6584,12 @@ fun! s:LocalListing()
     " sort by size (handles file sizes up to 1 quintillion bytes, US)
 "    call Decho("getfsize(".filename.")=".getfsize(filename))
     let sz   = getfsize(filename)
-    let fsz  = strpart("000000000000000000",1,18-strlen(sz)).sz
+    let fsz  = strpart("000000000000000000",1,18-s:Strlen(sz)).sz
 "    call Decho("exe keepjumps put ='".fsz.'/'.filename."'")
     let fszpfile= fsz.'/'.pfile
     keepjumps silent! put =fszpfile
 
-   else 
+   else
     " sort by name
 "    call Decho("exe keepjumps put ='".pfile."'")
     keepjumps silent! put=pfile
@@ -4175,28 +6598,37 @@ fun! s:LocalListing()
 
   " cleanup any windows mess at end-of-line
   silent! keepjumps %s/\r$//e
-  setlocal ts=32
-"  call Decho("setlocal ts=32")
+  exe "setlocal ts=".g:netrw_maxfilenamelen
+"  call Decho("setlocal ts=".g:netrw_maxfilenamelen)
 
-"  call Dret("LocalListing")
+"  call Dret("s:LocalListing")
 endfun
 
 " ---------------------------------------------------------------------
-" LocalBrowseShellCmdRefresh: this function is called after a user has {{{2
+" s:LocalBrowseShellCmdRefresh: this function is called after a user has {{{2
 " performed any shell command.  The idea is to cause all local-browsing
 " buffers to be refreshed after a user has executed some shell command,
 " on the chance that s/he removed/created a file/directory with it.
 fun! s:LocalBrowseShellCmdRefresh()
-"  call Dfunc("LocalBrowseShellCmdRefresh() browselist=".string(s:netrw_browselist))
+"  call Dfunc("LocalBrowseShellCmdRefresh() browselist=".(exists("s:netrw_browselist")? string(s:netrw_browselist) : "empty")." ".tabpagenr("$")." tabs")
   " determine which buffers currently reside in a tab
+  if !exists("s:netrw_browselist")
+"   call Dret("LocalBrowseShellCmdRefresh : browselist is empty")
+   return
+  endif
+  if !exists("w:netrw_bannercnt")
+"   call Dret("LocalBrowseShellCmdRefresh : don't refresh when focus not on netrw windwo")
+   return
+  endif
   let itab       = 1
   let buftablist = []
   while itab <= tabpagenr("$")
-   let buftablist= buftablist + tabpagebuflist()
-   let itab= itab + 1
+   let buftablist = buftablist + tabpagebuflist()
+   let itab       = itab + 1
    tabn
   endwhile
 "  call Decho("buftablist".string(buftablist))
+"  call Decho("s:netrw_browselist<".(exists("s:netrw_browselist")? string(s:netrw_browselist) : "").">")
   "  GO through all buffers on netrw_browselist (ie. just local-netrw buffers):
   "   | refresh any netrw window
   "   | wipe out any non-displaying netrw buffer
@@ -4205,15 +6637,17 @@ fun! s:LocalBrowseShellCmdRefresh()
   for ibuf in s:netrw_browselist
 "   call Decho("bufwinnr(".ibuf.") index(buftablist,".ibuf.")=".index(buftablist,ibuf))
    if bufwinnr(ibuf) == -1 && index(buftablist,ibuf) == -1
+    " wipe out any non-displaying netrw buffer
 "    call Decho("wiping  buf#".ibuf,"<".bufname(ibuf).">")
-    exe "silent! bw ".ibuf
+    exe "silent! bd ".ibuf
     call remove(s:netrw_browselist,ibl)
 "    call Decho("browselist=".string(s:netrw_browselist))
     continue
    elseif index(tabpagebuflist(),ibuf) != -1
+    " refresh any netrw buffer
 "    call Decho("refresh buf#".ibuf.'-> win#'.bufwinnr(ibuf))
     exe bufwinnr(ibuf)."wincmd w"
-    call s:NetRefresh(1,s:NetBrowseChgDir(1,'./'))
+    call s:NetrwRefresh(1,s:NetrwBrowseChgDir(1,'./'))
    endif
    let ibl= ibl + 1
   endfor
@@ -4223,713 +6657,370 @@ fun! s:LocalBrowseShellCmdRefresh()
 endfun
 
 " ---------------------------------------------------------------------
-" LocalBrowseRm: {{{2
-fun! s:LocalBrowseRm(path) range
-"  call Dfunc("LocalBrowseRm(path<".a:path.">)")
+" s:NetrwLocalRm: {{{2
+fun! s:NetrwLocalRm(path) range
+"  call Dfunc("s:NetrwLocalRm(path<".a:path.">)")
 "  call Decho("firstline=".a:firstline." lastline=".a:lastline)
 
-  " preparation for removing multiple files/directories
-  let ctr           = a:firstline
-  let ret           = 0
-  let all= 0
-
-  " remove multiple files and directories
-  while ctr <= a:lastline
-   exe "keepjumps ".ctr
-
-   " sanity checks
-   if line(".") < w:netrw_bannercnt
-    let ctr= ctr + 1
-    continue
-   endif
-   let curword= s:NetGetWord()
-   if curword == "./" || curword == "../"
-    let ctr= ctr + 1
-    continue
-   endif
-
-   norm! 0
-   let rmfile= s:ComposePath(a:path,curword)
-"   call Decho("rmfile<".rmfile.">")
-
-   if rmfile !~ '^"' && (rmfile =~ '@$' || rmfile !~ '[\/]$')
-    " attempt to remove file
-    if !all
-     echohl Statement
-     call inputsave()
-     let ok= input("Confirm deletion of file<".rmfile."> ","[{y(es)},n(o),a(ll),q(uit)] ")
-     call inputrestore()
-     echohl NONE
-     if ok == ""
-      let ok="no"
-     endif
-"     call Decho("response: ok<".ok.">")
-     let ok= substitute(ok,'\[{y(es)},n(o),a(ll),q(uit)]\s*','','e')
-"     call Decho("response: ok<".ok."> (after sub)")
-     if ok =~ 'a\%[ll]'
-      let all= 1
-     endif
-    endif
-
-    if all || ok =~ 'y\%[es]' || ok == ""
-     let ret= s:System("delete",rmfile)
-"     call Decho("errcode=".v:shell_error." ret=".ret)
-    elseif ok =~ 'q\%[uit]'
-     break
-    endif
-
-   else
-    " attempt to remove directory
-    if !all
-     echohl Statement
-     call inputsave()
-     let ok= input("Confirm deletion of directory<".rmfile."> ","[{y(es)},n(o),a(ll),q(uit)] ")
-     call inputrestore()
-     let ok= substitute(ok,'\[{y(es)},n(o),a(ll),q(uit)]\s*','','e')
-     if ok == ""
-      let ok="no"
-     endif
-     if ok =~ 'a\%[ll]'
-      let all= 1
-     endif
-    endif
-    let rmfile= substitute(rmfile,'[\/]$','','e')
-
-    if all || ok =~ 'y\%[es]' || ok == ""
-"     call Decho("1st attempt: system(".g:netrw_local_rmdir.' "'.rmfile.'")')
-     call s:System("system",g:netrw_local_rmdir.' "'.rmfile.'"')
-"     call Decho("v:shell_error=".v:shell_error)
-
-     if v:shell_error != 0
-"      call Decho("2nd attempt to remove directory<".rmfile.">")
-      let errcode= s:System("delete",rmfile)
-"      call Decho("errcode=".errcode)
-
-      if errcode != 0
-       if has("unix")
-"        call Decho("3rd attempt to remove directory<".rmfile.">")
-        call s:System("system","rm ".rmfile)
-        if v:shell_error != 0 && !exists("g:netrw_quiet")
-        call netrw#ErrorMsg(s:ERROR,"unable to remove directory<".rmfile."> -- is it empty?",34)
-endif
-       elseif !exists("g:netrw_quiet")
-               call netrw#ErrorMsg(s:ERROR,"unable to remove directory<".rmfile."> -- is it empty?",35)
-       endif
-      endif
-     endif
-
-    elseif ok =~ 'q\%[uit]'
-     break
-    endif
-   endif
-
-   let ctr= ctr + 1
-  endwhile
-
-  " refresh the directory
-  let curline= line(".")
-"  call Decho("refresh the directory")
-  call s:NetRefresh(1,s:NetBrowseChgDir(1,'./'))
-  exe curline
-
-"  call Dret("LocalBrowseRm")
-endfun
-
-" ---------------------------------------------------------------------
-" LocalBrowseRename: rename a remote file or directory {{{2
-fun! s:LocalBrowseRename(path) range
-"  call Dfunc("LocalBrowseRename(path<".a:path.">)")
-
-  " preparation for removing multiple files/directories
-  let ctr= a:firstline
-
-  " attempt to rename files/directories
-  while ctr <= a:lastline
-   exe "keepjumps ".ctr
-
-   " sanity checks
-   if line(".") < w:netrw_bannercnt
-    let ctr= ctr + 1
-    continue
-   endif
-   let curword= s:NetGetWord()
-   if curword == "./" || curword == "../"
-    let ctr= ctr + 1
-    continue
-   endif
-
-   norm! 0
-   let oldname= s:ComposePath(a:path,curword)
-"   call Decho("oldname<".oldname.">")
-
-   call inputsave()
-   let newname= input("Moving ".oldname." to : ",substitute(oldname,'/*$','','e'))
-   call inputrestore()
-
-   let ret= rename(oldname,newname)
-"   call Decho("renaming <".oldname."> to <".newname.">")
-
-   let ctr= ctr + 1
-  endwhile
-
-  " refresh the directory
-"  call Decho("refresh the directory listing")
-  call netrw#NetSavePosn()
-  call s:NetRefresh(1,s:NetBrowseChgDir(1,'./'))
-"  call Dret("LocalBrowseRename")
-endfun
-
-" ---------------------------------------------------------------------
-" LocalFastBrowser: handles setting up/taking down fast browsing for the {{{2
-"                   local browser
-"     fastbrowse  Local  Remote   Hiding a buffer implies it may be re-used (fast)
-"  slow   0         D      D      Deleting a buffer implies it will not be re-used (slow)
-"  med    1         D      H
-"  fast   2         H      H
-fun! s:LocalFastBrowser()
-"  call Dfunc("LocalFastBrowser() g:netrw_fastbrowse=".g:netrw_fastbrowse)
-
-  " initialize browselist, a list of buffer numbers that the local browser has used
-  if !exists("s:netrw_browselist")
-"   call Decho("initialize s:netrw_browselist")
-   let s:netrw_browselist= []
-  endif
-
-  " append current buffer to fastbrowse list
-  if g:netrw_fastbrowse <= 1 && (empty(s:netrw_browselist) || bufnr("%") > s:netrw_browselist[-1])
-"   call Decho("appendng current buffer to browselist")
-   call add(s:netrw_browselist,bufnr("%"))
-"   call Decho("browselist=".string(s:netrw_browselist))
-  endif
-
-  " enable autocmd events to handle refreshing/removing local browser buffers
-  "    If local browse buffer is currently showing: refresh it
-  "    If local browse buffer is currently hidden : wipe it
-  if !exists("s:netrw_browser_shellcmd") && g:netrw_fastbrowse <= 1
-"   call Decho("setting up local-browser shell command refresh")
-   let s:netrw_browser_shellcmd= 1
-   augroup AuNetrwShellCmd
-    au!
-    if (has("win32") || has("win95") || has("win64") || has("win16"))
-     au ShellCmdPost * call s:LocalBrowseShellCmdRefresh()
-    else
-     au ShellCmdPost,FocusGained *     call s:LocalBrowseShellCmdRefresh()
-    endif
-   augroup END
-  endif
-
-  " user must have changed fastbrowse to its fast setting, so remove
-  " the associated autocmd events
-  if g:netrw_fastbrowse > 1 && exists("s:netrw_browser_shellcmd")
-"   call Decho("remove AuNetrwShellCmd autcmd group")
-   unlet s:netrw_browser_shellcmd
-   augroup AuNetrwShellCmd
-    au!
-   augroup END
-   augroup! AuNetrwShellCmd
-  endif
-
-"  call Dret("LocalFastBrowser")
-endfun
-
-" ---------------------------------------------------------------------
-" LocalObtain: copy selected file to current working directory {{{2
-fun! s:LocalObtain()
-"  call Dfunc("LocalObtain()")
-  if exists("b:netrw_curdir") && getcwd() != b:netrw_curdir
-   let fname= expand("<cWORD>")
-   let fcopy= readfile(b:netrw_curdir."/".fname,"b")
-   call writefile(fcopy,getcwd()."/".fname,"b")
-  elseif !exists("b:netrw_curdir")
-   call netrw#ErrorMsg(s:ERROR,"local browsing directory doesn't exist!",36)
-  else
-   call netrw#ErrorMsg(s:ERROR,"local browsing directory and current directory are identical",37)
-  endif
-"  call Dret("LocalObtain")
-endfun
-
-" ---------------------------------------------------------------------
-" netrw#Explore: launch the local browser in the directory of the current file {{{2
-"          dosplit==0: the window will be split iff the current file has
-"                      been modified
-"          dosplit==1: the window will be split before running the local
-"                      browser
-fun! netrw#Explore(indx,dosplit,style,...)
-"  call Dfunc("netrw#Explore(indx=".a:indx." dosplit=".a:dosplit." style=".a:style.",a:1<".a:1.">) &modified=".&modified." a:0=".a:0)
-  if !exists("b:netrw_curdir")
-   let b:netrw_curdir= getcwd()
-"   call Decho("set b:netrw_curdir<".b:netrw_curdir."> (used getcwd)")
-  endif
-  let curfile= b:netrw_curdir
-"  call Decho("curfile<".curfile.">")
-
-  " save registers
-  silent! let keepregstar = @*
-  silent! let keepregplus = @+
-  silent! let keepregslash= @/
-
-  " if dosplit or file has been modified
-  if a:dosplit || &modified || a:style == 6
-"   call Decho("case: dosplit=".a:dosplit." modified=".&modified." a:style=".a:style)
-   call s:SaveWinVars()
-
-   if a:style == 0      " Explore, Sexplore
-"    call Decho("style=0: Explore or Sexplore")
-    exe g:netrw_winsize."wincmd s"
-
-   elseif a:style == 1  "Explore!, Sexplore!
-"    call Decho("style=1: Explore! or Sexplore!")
-    exe g:netrw_winsize."wincmd v"
-
-   elseif a:style == 2  " Hexplore
-"    call Decho("style=2: Hexplore")
-    exe "bel ".g:netrw_winsize."wincmd s"
-
-   elseif a:style == 3  " Hexplore!
-"    call Decho("style=3: Hexplore!")
-    exe "abo ".g:netrw_winsize."wincmd s"
+  " preparation for removing multiple files/directories
+  let ret   = 0
+  let all   = 0
+  let svpos = netrw#NetrwSavePosn()
+
+  if exists("s:netrwmarkfilelist_{bufnr('%')}")
+   " remove all marked files
+"   call Decho("remove all marked files")
+   for fname in s:netrwmarkfilelist_{bufnr("%")}
+    let ok= s:NetrwLocalRmFile(a:path,fname,all)
+    if ok =~ 'q\%[uit]' || ok == "no"
+     break
+    elseif ok =~ 'a\%[ll]'
+     let all= 1
+    endif
+   endfor
+   call s:NetrwUnMarkFile(1)
 
-   elseif a:style == 4  " Vexplore
-"    call Decho("style=4: Vexplore")
-    exe "lefta ".g:netrw_winsize."wincmd v"
+  else
+  " remove (multiple) files and directories
+"   call Decho("remove files in range [".a:firstline.",".a:lastline."]")
 
-   elseif a:style == 5  " Vexplore!
-"    call Decho("style=5: Vexplore!")
-    exe "rightb ".g:netrw_winsize."wincmd v"
+   let ctr = a:firstline
+   while ctr <= a:lastline
+    exe "keepjumps ".ctr
 
-   elseif a:style == 6  " Texplore
-    call s:SaveBufVars()
-"    call Decho("style  = 6: Texplore")
-    tabnew
-    call s:RestoreBufVars()
-   endif
-   call s:RestoreWinVars()
+    " sanity checks
+    if line(".") < w:netrw_bannercnt
+     let ctr= ctr + 1
+     continue
+    endif
+    let curword= s:NetrwGetWord()
+    if curword == "./" || curword == "../"
+     let ctr= ctr + 1
+     continue
+    endif
+    let ok= s:NetrwLocalRmFile(a:path,curword,all)
+    if ok =~ 'q\%[uit]' || ok == "no"
+     break
+    elseif ok =~ 'a\%[ll]'
+     let all= 1
+    endif
+    let ctr= ctr + 1
+   endwhile
   endif
-  norm! 0
 
-  if a:0 > 0
-"   call Decho("a:1<".a:1.">")
-   if a:1 =~ '^\~' && (has("unix") || (exists("g:netrw_cygwin") && g:netrw_cygwin))
-    let dirname= substitute(a:1,'\~',expand("$HOME"),'')
-"    call Decho("using dirname<".dirname.">  (case: ~ && unix||cygwin)")
-   elseif a:1 == '.'
-    let dirname= exists("b:netrw_curdir")? b:netrw_curdir : getcwd()
-    if dirname !~ '/$'
-     let dirname= dirname."/"
-    endif
-"    call Decho("using dirname<".dirname.">  (case: ".(exists("b:netrw_curdir")? "b:netrw_curdir" : "getcwd()").")")
-   elseif a:1 =~ '\$'
-    let dirname= expand(a:1)
-   else
-    let dirname= a:1
-"    call Decho("using dirname<".dirname.">")
-   endif
+  " refresh the directory
+"  call Decho("bufname<".bufname("%").">")
+  if bufname("%") != "NetrwMessage"
+   call s:NetrwRefresh(1,s:NetrwBrowseChgDir(1,'./'))
+   call netrw#NetrwRestorePosn(svpos)
   endif
 
-  if dirname =~ '^\*/'
-   " Explore */pattern
-"   call Decho("case Explore */pattern")
-   let pattern= substitute(dirname,'^\*/\(.*\)$','\1','')
-"   call Decho("Explore */pat: dirname<".dirname."> -> pattern<".pattern.">")
-   if &hls | let keepregslash= s:ExplorePatHls(pattern) | endif
-  elseif dirname =~ '^\*\*//'
-   " Explore **//pattern
-"   call Decho("case Explore **//pattern")
-   let pattern     = substitute(dirname,'^\*\*//','','')
-   let starstarpat = 1
-"   call Decho("Explore **//pat: dirname<".dirname."> -> pattern<".pattern.">")
-  endif
-
-  if dirname == "" && a:indx >= 0
-   " Explore Hexplore Vexplore Sexplore
-"   call Decho("case Explore Hexplore Vexplore Sexplore")
-   let newdir= substitute(expand("%:p"),'^\(.*[/\\]\)[^/\\]*$','\1','e')
-   if newdir =~ '^scp:' || newdir =~ '^ftp:'
-"    call Decho("calling NetBrowse(0,newdir<".newdir.">)")
-    call s:NetBrowse(0,newdir)
-   else
-    if newdir == ""|let newdir= getcwd()|endif
-"    call Decho("calling LocalBrowseCheck(newdir<".newdir.">)")
-    call netrw#LocalBrowseCheck(newdir)
+"  call Dret("s:NetrwLocalRm")
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwLocalRmFile: remove file fname given the path {{{2
+"                     Give confirmation prompt unless all==1
+fun! s:NetrwLocalRmFile(path,fname,all)
+"  call Dfunc("s:NetrwLocalRmFile(path<".a:path."> fname<".a:fname."> all=".a:all)
+  
+  let all= a:all
+  let ok = ""
+  norm! 0
+  let rmfile= s:ComposePath(a:path,a:fname)
+"  call Decho("rmfile<".rmfile.">")
+
+  if rmfile !~ '^"' && (rmfile =~ '@$' || rmfile !~ '[\/]$')
+   " attempt to remove file
+"   call Decho("attempt to remove file<".rmfile.">")
+   if !all
+    echohl Statement
+    call inputsave()
+    let ok= input("Confirm deletion of file<".rmfile."> ","[{y(es)},n(o),a(ll),q(uit)] ")
+    call inputrestore()
+    echohl NONE
+    if ok == ""
+     let ok="no"
+    endif
+"    call Decho("response: ok<".ok.">")
+    let ok= substitute(ok,'\[{y(es)},n(o),a(ll),q(uit)]\s*','','e')
+"    call Decho("response: ok<".ok."> (after sub)")
+    if ok =~ 'a\%[ll]'
+     let all= 1
+    endif
    endif
-   call search('\<'.substitute(curfile,'^.*/','','e').'\>','cW')
 
-  elseif dirname =~ '^\*\*/' || a:indx < 0 || dirname =~ '^\*/'
-   " Nexplore, Pexplore, Explore **/... , or Explore */pattern
-"   call Decho("case Nexplore, Pexplore, <s-down>, <s-up>, Explore dirname<".dirname.">")
-   if !mapcheck("<s-up>","n") && !mapcheck("<s-down>","n") && exists("b:netrw_curdir")
-"    call Decho("set up <s-up> and <s-down> maps")
-    let s:didstarstar= 1
-    nnoremap <buffer> <silent> <s-up>  :Pexplore<cr>
-    nnoremap <buffer> <silent> <s-down>        :Nexplore<cr>
+   if all || ok =~ 'y\%[es]' || ok == ""
+    let ret= s:System("delete",rmfile)
+"    call Decho("errcode=".v:shell_error." ret=".ret)
    endif
 
-   if has("path_extra")
-"    call Decho("has path_extra")
-    if !exists("w:netrw_explore_indx")
-     let w:netrw_explore_indx= 0
+  else
+   " attempt to remove directory
+   if !all
+    echohl Statement
+    call inputsave()
+    let ok= input("Confirm deletion of directory<".rmfile."> ","[{y(es)},n(o),a(ll),q(uit)] ")
+    call inputrestore()
+    let ok= substitute(ok,'\[{y(es)},n(o),a(ll),q(uit)]\s*','','e')
+    if ok == ""
+     let ok="no"
     endif
-    let indx = a:indx
-"    call Decho("set indx= [a:indx=".indx."]")
-"
-    if indx == -1
-     "Nexplore
-"     call Decho("case Nexplore: (indx=".indx.")")
-     if !exists("w:netrw_explore_list") " sanity check
-      call netrw#ErrorMsg(s:WARNING,"using Nexplore or <s-down> improperly; see help for netrw-starstar",40)
-      silent! let @* = keepregstar
-      silent! let @+ = keepregstar
-      silent! let @/ = keepregslash
-"      call Dret("netrw#Explore")
-      return
-     endif
-     let indx= w:netrw_explore_indx
-     if indx < 0                        | let indx= 0                           | endif
-     if indx >= w:netrw_explore_listlen | let indx= w:netrw_explore_listlen - 1 | endif
-     let curfile= w:netrw_explore_list[indx]
-"     call Decho("indx=".indx." curfile<".curfile.">")
-     while indx < w:netrw_explore_listlen && curfile == w:netrw_explore_list[indx]
-      let indx= indx + 1
-"      call Decho("indx=".indx." (Nexplore while loop)")
-     endwhile
-     if indx >= w:netrw_explore_listlen | let indx= w:netrw_explore_listlen - 1 | endif
-"     call Decho("Nexplore: indx= [w:netrw_explore_indx=".w:netrw_explore_indx."]=".indx)
+    if ok =~ 'a\%[ll]'
+     let all= 1
+    endif
+   endif
+   let rmfile= substitute(rmfile,'[\/]$','','e')
 
-    elseif indx == -2
-     "Pexplore
-"     call Decho("case Pexplore: (indx=".indx.")")
-     if !exists("w:netrw_explore_list") " sanity check
-      call netrw#ErrorMsg(s:WARNING,"using Pexplore or <s-up> improperly; see help for netrw-starstar",41)
-      silent! let @* = keepregstar
-      silent! let @+ = keepregstar
-      silent! let @/ = keepregslash
-"      call Dret("netrw#Explore")
-      return
-     endif
-     let indx= w:netrw_explore_indx
-     if indx < 0                        | let indx= 0                           | endif
-     if indx >= w:netrw_explore_listlen | let indx= w:netrw_explore_listlen - 1 | endif
-     let curfile= w:netrw_explore_list[indx]
-"     call Decho("indx=".indx." curfile<".curfile.">")
-     while indx >= 0 && curfile == w:netrw_explore_list[indx]
-      let indx= indx - 1
-"      call Decho("indx=".indx." (Pexplore while loop)")
-     endwhile
-     if indx < 0                        | let indx= 0                           | endif
-"     call Decho("Pexplore: indx= [w:netrw_explore_indx=".w:netrw_explore_indx."]=".indx)
+   if all || ok =~ 'y\%[es]' || ok == ""
+"    call Decho("1st attempt: system(".g:netrw_local_rmdir.' '.shellescape(rmfile).')')
+    call s:System("system",g:netrw_local_rmdir.' '.shellescape(rmfile))
+"    call Decho("v:shell_error=".v:shell_error)
 
-    else
-     " Explore -- initialize
-     " build list of files to Explore with Nexplore/Pexplore
-"     call Decho("case Explore: initialize (indx=".indx.")")
-     let w:netrw_explore_indx= 0
-     if !exists("b:netrw_curdir")
-      let b:netrw_curdir= getcwd()
-     endif
-"     call Decho("b:netrw_curdir<".b:netrw_curdir.">")
-
-     if exists("pattern")
-"      call Decho("pattern exists: building list pattern<".pattern."> cwd<".getcwd().">")
-      if exists("starstarpat")
-"       call Decho("starstarpat<".starstarpat.">")
-       try
-        exe "silent vimgrep /".pattern."/gj "."**/*"
-       catch /^Vim\%((\a\+)\)\=:E480/
-               call netrw#ErrorMsg(s:WARNING,'no files matched pattern<'.pattern.'>',45)
-        if &hls | let keepregslash= s:ExplorePatHls(pattern) | endif
-        silent! let @* = keepregstar
-        silent! let @+ = keepregstar
-       silent! let @/ = keepregslash
-"        call Dret("netrw#Explore : no files matched pattern")
-        return
-       endtry
-       let s:netrw_curdir       = b:netrw_curdir
-       let w:netrw_explore_list = getqflist()
-       let w:netrw_explore_list = map(w:netrw_explore_list,'s:netrw_curdir."/".bufname(v:val.bufnr)')
-      else
-"       call Decho("no starstarpat")
-       exe "vimgrep /".pattern."/gj ".b:netrw_curdir."/*"
-       let w:netrw_explore_list = map(getqflist(),'bufname(v:val.bufnr)')
-       if &hls | let keepregslash= s:ExplorePatHls(pattern) | endif
+    if v:shell_error != 0
+"     call Decho("2nd attempt to remove directory<".rmfile.">")
+     let errcode= s:System("delete",rmfile)
+"     call Decho("errcode=".errcode)
+
+     if errcode != 0
+      if has("unix")
+"       call Decho("3rd attempt to remove directory<".rmfile.">")
+       call s:System("system","rm ".shellescape(rmfile))
+       if v:shell_error != 0 && !exists("g:netrw_quiet")
+        call netrw#ErrorMsg(s:ERROR,"unable to remove directory<".rmfile."> -- is it empty?",34)
+       let ok="no"
+       endif
+      elseif !exists("g:netrw_quiet")
+       call netrw#ErrorMsg(s:ERROR,"unable to remove directory<".rmfile."> -- is it empty?",35)
+       let ok="no"
       endif
-     else
-"      call Decho("no pattern: building list based on ".b:netrw_curdir."/".dirname)
-      let w:netrw_explore_list= split(expand(b:netrw_curdir."/".dirname),'\n')
-      if &hls | let keepregslash= s:ExplorePatHls(dirname) | endif
      endif
+    endif
+   endif
+  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)
+"  call Dret("s:NetrwLocalRmFile ".ok)
+  return ok
+endfun
 
-     if w:netrw_explore_listlen == 0 || (w:netrw_explore_listlen == 1 && w:netrw_explore_list[0] =~ '\*\*\/')
-      call netrw#ErrorMsg(s:WARNING,"no files matched",42)
-      silent! let @* = keepregstar
-      silent! let @+ = keepregstar
-      silent! let @/ = keepregslash
-"      call Dret("netrw#Explore : no files matched")
-      return
+" ---------------------------------------------------------------------
+" s:NetrwLocalRename: rename a remote file or directory {{{2
+fun! s:NetrwLocalRename(path) range
+"  call Dfunc("NetrwLocalRename(path<".a:path.">)")
+
+  " preparation for removing multiple files/directories
+  let ctr  = a:firstline
+  let svpos= netrw#NetrwSavePosn()
+
+  " rename files given by the markfilelist
+  if exists("s:netrwmarkfilelist_{bufnr('%')}")
+   for oldname in s:netrwmarkfilelist_{bufnr("%")}
+"    call Decho("oldname<".oldname.">")
+    if exists("subfrom")
+     let newname= substitute(oldname,subfrom,subto,'')
+"     call Decho("subfrom<".subfrom."> subto<".subto."> newname<".newname.">")
+    else
+     call inputsave()
+     let newname= input("Moving ".oldname." to : ",oldname)
+     call inputrestore()
+     if newname =~ '^s/'
+      let subfrom = substitute(newname,'^s/\([^/]*\)/.*/$','\1','')
+      let subto   = substitute(newname,'^s/[^/]*/\(.*\)/$','\1','')
+"      call Decho("subfrom<".subfrom."> subto<".subto."> newname<".newname.">")
+      let newname = substitute(oldname,subfrom,subto,'')
      endif
     endif
+    let ret= rename(oldname,newname)
+   endfor
+   2match none
+   unlet s:netrwmarkfilelist_{bufnr("%")}
+   unlet s:netrwmarkfilemtch_{bufnr("%")}
+  
+  else
 
-    " NetrwStatusLine support - for exploring support
-    let w:netrw_explore_indx= indx
-"    call Decho("explorelist<".join(w:netrw_explore_list,',')."> len=".w:netrw_explore_listlen)
+   " attempt to rename files/directories
+   while ctr <= a:lastline
+    exe "keepjumps ".ctr
 
-    " wrap the indx around, but issue a note
-    if indx >= w:netrw_explore_listlen || indx < 0
-"     call Decho("wrap indx (indx=".indx." listlen=".w:netrw_explore_listlen.")")
-     let indx                = (indx < 0)? ( w:netrw_explore_listlen - 1 ) : 0
-     let w:netrw_explore_indx= indx
-     call netrw#ErrorMsg(s:NOTE,"no more files match Explore pattern",43)
-     sleep 1
+    " sanity checks
+    if line(".") < w:netrw_bannercnt
+     let ctr= ctr + 1
+     continue
+    endif
+    let curword= s:NetrwGetWord()
+    if curword == "./" || curword == "../"
+     let ctr= ctr + 1
+     continue
     endif
 
-    exe "let dirfile= w:netrw_explore_list[".indx."]"
-"    call Decho("dirfile=w:netrw_explore_list[indx=".indx."]= <".dirfile.">")
-    let newdir= substitute(dirfile,'/[^/]*$','','e')
-"    call Decho("newdir<".newdir.">")
+    norm! 0
+    let oldname= s:ComposePath(a:path,curword)
+"   call Decho("oldname<".oldname.">")
 
-"    call Decho("calling LocalBrowseCheck(newdir<".newdir.">)")
-    call netrw#LocalBrowseCheck(newdir)
-    if !exists("w:netrw_liststyle")
-     let w:netrw_liststyle= g:netrw_liststyle
-    endif
-    if w:netrw_liststyle == s:THINLIST || w:netrw_liststyle == s:LONGLIST
-     call search('^'.substitute(dirfile,"^.*/","","").'\>',"W")
-    else
-     call search('\<'.substitute(dirfile,"^.*/","","").'\>',"w")
-    endif
-    let w:netrw_explore_mtchcnt = indx + 1
-    let w:netrw_explore_bufnr   = bufnr("%")
-    let w:netrw_explore_line    = line(".")
-    call s:SetupNetrwStatusLine('%f %h%m%r%=%9*%{NetrwStatusLine()}')
-"    call Decho("explore: mtchcnt=".w:netrw_explore_mtchcnt." bufnr=".w:netrw_explore_bufnr." line#".w:netrw_explore_line)
+    call inputsave()
+    let newname= input("Moving ".oldname." to : ",substitute(oldname,'/*$','','e'))
+    call inputrestore()
 
-   else
-"    call Decho("vim does not have path_extra")
-    if !exists("g:netrw_quiet")
-     call netrw#ErrorMsg(s:WARNING,"your vim needs the +path_extra feature for Exploring with **!",44)
-    endif
-    silent! let @* = keepregstar
-    silent! let @+ = keepregstar
-    silent! let @/ = keepregslash
-"    call Dret("netrw#Explore : missing +path_extra")
-    return
-   endif
+    let ret= rename(oldname,newname)
+"   call Decho("renaming <".oldname."> to <".newname.">")
 
-  else
-"   call Decho("case Explore newdir<".dirname.">")
-   if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST && dirname =~ '/'
-    silent! unlet w:netrw_treedict
-    silent! unlet w:netrw_treetop
-   endif
-   let newdir= dirname
-   if !exists("b:netrw_curdir")
-    call netrw#LocalBrowseCheck(getcwd())
-   else
-    call netrw#LocalBrowseCheck(s:NetBrowseChgDir(1,newdir))
-   endif
+    let ctr= ctr + 1
+   endwhile
   endif
 
-  silent! let @* = keepregstar
-  silent! let @+ = keepregstar
-  silent! let @/ = keepregslash
-"  call Dret("netrw#Explore : @/<".@/.">")
-endfun
+  " refresh the directory
+"  call Decho("refresh the directory listing")
+  call s:NetrwRefresh(1,s:NetrwBrowseChgDir(1,'./'))
+  call netrw#NetrwRestorePosn(svpos)
 
-" ---------------------------------------------------------------------
-" s:ExplorePatHls: converts an Explore pattern into a regular expression search pattern {{{2
-fun! s:ExplorePatHls(pattern)
-"  call Dfunc("s:ExplorePatHls(pattern<".a:pattern.">)")
-  let repat= substitute(a:pattern,'^**/\{1,2}','','')
-"  call Decho("repat<".repat.">")
-  let repat= escape(repat,'][.\')
-"  call Decho("repat<".repat.">")
-  let repat= '\<'.substitute(repat,'\*','\\(\\S\\+ \\)*\\S\\+','g').'\>'
-"  call Dret("s:ExplorePatHls repat<".repat.">")
-  return repat
+"  call Dret("NetrwLocalRename")
 endfun
 
 " ---------------------------------------------------------------------
-" SetupNetrwStatusLine: {{{2
-fun! s:SetupNetrwStatusLine(statline)
-"  call Dfunc("SetupNetrwStatusLine(statline<".a:statline.">)")
+" s:LocalFastBrowser: handles setting up/taking down fast browsing for the local browser {{{2
+"
+"     g:netrw_    Directory Is
+"     fastbrowse  Local  Remote   
+"  slow   0         D      D      D=Deleting a buffer implies it will not be re-used (slow)
+"  med    1         D      H      H=Hiding a buffer implies it may be re-used        (fast)
+"  fast   2         H      H      
+"
+"  Deleting a buffer means that it will be re-loaded when examined, hence "slow".
+"  Hiding   a buffer means that it will be re-used   when examined, hence "fast".
+"           (re-using a buffer may not be as accurate)
+fun! s:LocalFastBrowser()
+"  call Dfunc("LocalFastBrowser() g:netrw_fastbrowse=".g:netrw_fastbrowse)
 
-  if !exists("s:netrw_setup_statline")
-   let s:netrw_setup_statline= 1
-"   call Decho("do first-time status line setup")
+  " initialize browselist, a list of buffer numbers that the local browser has used
+  if !exists("s:netrw_browselist")
+"   call Decho("initialize s:netrw_browselist")
+   let s:netrw_browselist= []
+  endif
 
-   if !exists("s:netrw_users_stl")
-    let s:netrw_users_stl= &stl
-   endif
-   if !exists("s:netrw_users_ls")
-    let s:netrw_users_ls= &laststatus
-   endif
+  " append current buffer to fastbrowse list
+  if empty(s:netrw_browselist) || bufnr("%") > s:netrw_browselist[-1]
+"   call Decho("appendng current buffer to browselist")
+   call add(s:netrw_browselist,bufnr("%"))
+"   call Decho("browselist=".string(s:netrw_browselist))
+  endif
 
-   " set up User9 highlighting as needed
-   let keepa= @a
-   redir @a
-   try
-    hi User9
-   catch /^Vim\%((\a\+)\)\=:E411/
-    if &bg == "dark"
-     hi User9 ctermfg=yellow ctermbg=blue guifg=yellow guibg=blue
+  " enable autocmd events to handle refreshing/removing local browser buffers
+  "    If local browse buffer is currently showing: refresh it
+  "    If local browse buffer is currently hidden : wipe it
+  if !exists("s:netrw_browser_shellcmd") && g:netrw_fastbrowse <= 1
+"   call Decho("setting up local-browser shell command refresh")
+   let s:netrw_browser_shellcmd= 1
+   augroup AuNetrwShellCmd
+    au!
+    if (has("win32") || has("win95") || has("win64") || has("win16"))
+     au ShellCmdPost                   *       call s:LocalBrowseShellCmdRefresh()
     else
-     hi User9 ctermbg=yellow ctermfg=blue guibg=yellow guifg=blue
+     au ShellCmdPost,FocusGained       *       call s:LocalBrowseShellCmdRefresh()
     endif
-   endtry
-   redir END
-   let @a= keepa
+   augroup END
   endif
 
-  " set up status line (may use User9 highlighting)
-  " insure that windows have a statusline
-  " make sure statusline is displayed
-  let &stl=a:statline
-  setlocal laststatus=2
-"  call Decho("stl=".&stl)
-  redraw!
+  " user must have changed fastbrowse to its fast setting, so remove
+  " the associated autocmd events
+  if g:netrw_fastbrowse > 1 && exists("s:netrw_browser_shellcmd")
+"   call Decho("remove AuNetrwShellCmd autcmd group")
+   unlet s:netrw_browser_shellcmd
+   augroup AuNetrwShellCmd
+    au!
+   augroup END
+   augroup! AuNetrwShellCmd
+  endif
 
-"  call Dret("SetupNetrwStatusLine : stl=".&stl)
+"  call Dret("LocalFastBrowser : browselist<".string(s:netrw_browselist).">")
 endfun
 
 " ---------------------------------------------------------------------
-" NetrwStatusLine: {{{2
-fun! NetrwStatusLine()
-
-" vvv NetrwStatusLine() debugging vvv
-"  let g:stlmsg=""
-"  if !exists("w:netrw_explore_bufnr")
-"   let g:stlmsg="!X<explore_bufnr>"
-"  elseif w:netrw_explore_bufnr != bufnr("%")
-"   let g:stlmsg="explore_bufnr!=".bufnr("%")
-"  endif
-"  if !exists("w:netrw_explore_line")
-"   let g:stlmsg=" !X<explore_line>"
-"  elseif w:netrw_explore_line != line(".")
-"   let g:stlmsg=" explore_line!={line(.)<".line(".").">"
-"  endif
-"  if !exists("w:netrw_explore_list")
-"   let g:stlmsg=" !X<explore_list>"
-"  endif
-" ^^^ NetrwStatusLine() debugging ^^^
-
-  if !exists("w:netrw_explore_bufnr") || w:netrw_explore_bufnr != bufnr("%") || !exists("w:netrw_explore_line") || w:netrw_explore_line != line(".") || !exists("w:netrw_explore_list")
-   " restore user's status line
-   let &stl        = s:netrw_users_stl
-   let &laststatus = s:netrw_users_ls
-   if exists("w:netrw_explore_bufnr")|unlet w:netrw_explore_bufnr|endif
-   if exists("w:netrw_explore_line")|unlet w:netrw_explore_line|endif
-   return ""
-  else
-   return "Match ".w:netrw_explore_mtchcnt." of ".w:netrw_explore_listlen
-  endif
-endfun
+" Support Functions: {{{1
 
 " ---------------------------------------------------------------------
-" NetGetcwd: get the current directory. {{{2
-"   Change backslashes to forward slashes, if any.
-"   If doesc is true, escape certain troublesome characters
-fun! s:NetGetcwd(doesc)
-"  call Dfunc("NetGetcwd(doesc=".a:doesc.")")
-  let curdir= substitute(getcwd(),'\\','/','ge')
-  if curdir !~ '[\/]$'
-   let curdir= curdir.'/'
-  endif
-  if a:doesc
-   let curdir= escape(curdir,s:netrw_cd_escape)
+" s:UpdateBuffersMenu: does emenu Buffers.Refresh (but due to locale, the menu item may not be called that) {{{2
+"                      The Buffers.Refresh menu calls s:BMShow(); unfortunately, that means that that function
+"                      can't be called except via emenu.  But due to locale, that menu line may not be called
+"                      Buffers.Refresh; hence, s:NetrwBMShow() utilizes a "cheat" to call that function anyway.
+fun! s:UpdateBuffersMenu()
+"  call Dfunc("s:UpdateBuffersMenu()")
+  if has("gui") && has("menu") && has("gui_running") && &go =~ 'm'
+   try
+    silent emenu Buffers.Refresh\ menu
+   catch /^Vim\%((\a\+)\)\=:E/
+    let v:errmsg= ""
+    silent call s:NetrwBMShow()
+   endtry
   endif
-"  call Dret("NetGetcwd <".curdir.">")
-  return curdir
+"  call Dret("s:UpdateBuffersMenu")
 endfun
 
 " ---------------------------------------------------------------------
-" SetSort: sets up the sort based on the g:netrw_sort_sequence {{{2
-"          What this function does is to compute a priority for the patterns
-"          in the g:netrw_sort_sequence.  It applies a substitute to any
-"          "files" that satisfy each pattern, putting the priority / in
-"          front.  An "*" pattern handles the default priority.
-fun! s:SetSort()
-"  call Dfunc("SetSort() bannercnt=".w:netrw_bannercnt)
-  if w:netrw_liststyle == s:LONGLIST
-   let seqlist  = substitute(g:netrw_sort_sequence,'\$','\\%(\t\\|\$\\)','ge')
-  else
-   let seqlist  = g:netrw_sort_sequence
-  endif
-  " sanity check -- insure that * appears somewhere
-  if seqlist == ""
-   let seqlist= '*'
-  elseif seqlist !~ '\*'
-   let seqlist= seqlist.',*'
-  endif
-  let priority = 1
-  while seqlist != ""
-   if seqlist =~ ','
-    let seq     = substitute(seqlist,',.*$','','e')
-    let seqlist = substitute(seqlist,'^.\{-},\(.*\)$','\1','e')
-   else
-    let seq     = seqlist
-    let seqlist = ""
-   endif
-   let eseq= escape(seq,'/')
-   if priority < 10
-    let spriority= "00".priority.'\/'
-   elseif priority < 100
-    let spriority= "0".priority.'\/'
-   else
-    let spriority= priority.'\/'
-   endif
-"   call Decho("priority=".priority." spriority<".spriority."> seq<".seq."> seqlist<".seqlist.">")
-
-   " sanity check
-   if w:netrw_bannercnt > line("$")
-    " apparently no files were left after a Hiding pattern was used
-"    call Dret("SetSort : no files left after hiding")
-    return
-   endif
-   if seq == '*'
-    exe 'silent keepjumps '.w:netrw_bannercnt.',$v/^\d\{3}\//s/^/'.spriority.'/'
-   else
-    exe 'silent keepjumps '.w:netrw_bannercnt.',$g/'.eseq.'/s/^/'.spriority.'/'
+" s:NetrwBMShow: {{{2
+fun! s:NetrwBMShow()
+"  call Dfunc("s:NetrwBMShow()")
+  redir => bmshowraw
+   menu
+  redir END
+  let bmshowlist = split(bmshowraw,'\n')
+  if bmshowlist != []
+   let bmshowfuncs= filter(bmshowlist,'v:val =~ "<SNR>\\d\\+_BMShow()"')
+   if bmshowfuncs != []
+    let bmshowfunc = substitute(bmshowfuncs[0],'^.*:\(call.*BMShow()\).*$','\1','')
+    if bmshowfunc =~ '^call.*BMShow()'
+     exe "silent! ".bmshowfunc
+    endif
    endif
-   let priority = priority + 1
-  endwhile
-
-  " Following line associated with priority -- items that satisfy a priority
-  " pattern get prefixed by ###/ which permits easy sorting by priority.
-  " Sometimes files can satisfy multiple priority patterns -- only the latest
-  " priority pattern needs to be retained.  So, at this point, these excess
-  " priority prefixes need to be removed, but not directories that happen to
-  " be just digits themselves.
-  exe 'silent keepjumps '.w:netrw_bannercnt.',$s/^\(\d\{3}\/\)\%(\d\{3}\/\)\+\ze./\1/e'
-
-"  call Dret("SetSort")
+  endif
+"  call Dret("s:NetrwBMShow : bmshowfunc<".(exists("bmshowfunc")? bmshowfunc : 'n/a').">")
 endfun
 
-" =====================================================================
-" Support Functions: {{{1
-
 " ---------------------------------------------------------------------
-"  ComposePath: Appends a new part to a path taking different systems into consideration {{{2
+"  s:ComposePath: Appends a new part to a path taking different systems into consideration {{{2
 fun! s:ComposePath(base,subdir)
 "  call Dfunc("s:ComposePath(base<".a:base."> subdir<".a:subdir.">)")
+
   if(has("amiga"))
+"   call Decho("amiga")
    let ec = a:base[strlen(a:base)-1]
    if ec != '/' && ec != ':'
     let ret = a:base . "/" . a:subdir
    else
     let ret = a:base . a:subdir
    endif
+
+  elseif a:subdir =~ '^\a:[/\\][^/\\]' && (has("win32") || has("win95") || has("win64") || has("win16"))
+"   call Decho("windows")
+   let ret= a:subdir
+
   elseif a:base =~ '^\a\+://'
+"   call Decho("remote linux/macos")
    let urlbase = substitute(a:base,'^\(\a\+://.\{-}/\)\(.*\)$','\1','')
    let curpath = substitute(a:base,'^\(\a\+://.\{-}/\)\(.*\)$','\2','')
-   let ret     = urlbase.curpath.a:subdir
+   if a:subdir == '../'
+    if curpath =~ '[^/]/[^/]\+/$'
+     let curpath= substitute(curpath,'[^/]\+/$','','')
+    else
+     let curpath=""
+    endif
+    let ret= urlbase.curpath
+   else
+    let ret= urlbase.curpath.a:subdir
+   endif
 "   call Decho("urlbase<".urlbase.">")
 "   call Decho("curpath<".curpath.">")
 "   call Decho("ret<".ret.">")
+
   else
+"   call Decho("local linux/macos")
    let ret = substitute(a:base."/".a:subdir,"//","/","g")
+   if a:base =~ '^//'
+    " keeping initial '//' for the benefit of network share listing support
+    let ret= '/'.ret
+   endif
+   let ret= simplify(ret)
   endif
+
 "  call Dret("s:ComposePath ".ret)
   return ret
 endfun
@@ -4939,7 +7030,7 @@ endfun
 "   0=note     = s:NOTE
 "   1=warning  = s:WARNING
 "   2=error    = s:ERROR
-"   Mar 19, 2007 : max errnum currently is 49
+"  Jun 11, 2008 : max errnum currently is 70
 fun! netrw#ErrorMsg(level,msg,errnum)
 "  call Dfunc("netrw#ErrorMsg(level=".a:level." msg<".a:msg."> errnum=".a:errnum.") g:netrw_use_errorwindow=".g:netrw_use_errorwindow)
 
@@ -4950,28 +7041,36 @@ fun! netrw#ErrorMsg(level,msg,errnum)
   else
    let level= "**note** (netrw) "
   endif
+"  call Decho("level=".level)
 
   if g:netrw_use_errorwindow
    " (default) netrw creates a one-line window to show error/warning
    " messages (reliably displayed)
 
-   " record current window number for NetRestorePosn()'s benefit
+   " record current window number for NetrwRestorePosn()'s benefit
    let s:winBeforeErr= winnr()
+"   call Decho("s:winBeforeErr=".s:winBeforeErr)
+
    " getting messages out reliably is just plain difficult!
    " This attempt splits the current window, creating a one line window.
    if bufexists("NetrwMessage") && bufwinnr("NetrwMessage") > 0
+"    call Decho("write to NetrwMessage buffer")
     exe bufwinnr("NetrwMessage")."wincmd w"
-    set ma noro
+"    call Decho("setlocal ma noro")
+    setlocal ma noro
     call setline(line("$")+1,level.a:msg)
     $
    else
+"    call Decho("create a NetrwMessage buffer window")
     bo 1split
     enew
     setlocal bt=nofile
     file NetrwMessage
+"    call Decho("setlocal ma noro")
+    setlocal ma noro
     call setline(line("$"),level.a:msg)
    endif
+"   call Decho("wrote msg<".level.a:msg."> to NetrwMessage win#".winnr())
    if &fo !~ '[ta]'
     syn clear
     syn match netrwMesgNote    "^\*\*note\*\*"
@@ -4985,7 +7084,7 @@ fun! netrw#ErrorMsg(level,msg,errnum)
   else
    " (optional) netrw will show messages using echomsg.  Even if the
    " message doesn't appear, at least it'll be recallable via :messages
-   redraw!
+"   redraw!
    if a:level == s:WARNING
     echohl WarningMsg
    elseif a:level == s:ERROR
@@ -5034,28 +7133,31 @@ fun! s:GetTempfile(fname)
    " get a brand new temporary filename
    let tmpfile= tempname()
 "   call Decho("tmpfile<".tmpfile."> : from tempname()")
+
    let tmpfile= escape(substitute(tmpfile,'\','/','ge'),g:netrw_tmpfile_escape)
 "   call Decho("tmpfile<".tmpfile."> : chgd any \\ -> /")
+
    " sanity check -- does the temporary file's directory exist?
    if !isdirectory(substitute(tmpfile,'[^/]\+$','','e'))
+"    call Decho("ro=".&ro." ma=".&ma." mod=".&mod." wrap=".&wrap)
     call netrw#ErrorMsg(s:ERROR,"your <".substitute(tmpfile,'[^/]\+$','','e')."> directory is missing!",2)
 "    call Dret("s:GetTempfile getcwd<".getcwd().">")
     return ""
    endif
+
    " let netrw#NetSource() know about the tmpfile
    let s:netrw_tmpfile= tmpfile " used by netrw#NetSource()
 "   call Decho("tmpfile<".tmpfile."> s:netrw_tmpfile<".s:netrw_tmpfile.">")
+
    " o/s dependencies
-   if g:netrw_cygwin == 1
+   if g:netrw_cygwin != 0
     let tmpfile = substitute(tmpfile,'^\(\a\):','/cygdrive/\1','e')
    elseif has("win32") || has("win95") || has("win64") || has("win16")
-    let tmpfile = substitute(tmpfile,'/','\\','g')
+    if !exists("+shellslash") || !&ssl
+     let tmpfile = substitute(tmpfile,'/','\','g')
+    endif
    else
-    let tmpfile = tmpfile  
+    let tmpfile = tmpfile
    endif
    let b:netrw_tmpfile= tmpfile
 "   call Decho("o/s dependent fixed tempname<".tmpfile.">")
@@ -5084,15 +7186,16 @@ fun! s:GetTempfile(fname)
    endif
   endif
 
+"  call Decho("ro=".&ro." ma=".&ma." mod=".&mod." wrap=".&wrap)
 "  call Dret("s:GetTempfile <".tmpfile.">")
   return tmpfile
-endfun  
+endfun
 
 " ---------------------------------------------------------------------
 " s:MakeSshCmd: transforms input command using USEPORT HOSTNAME into {{{2
 "               a correct command
 fun! s:MakeSshCmd(sshcmd)
-"  call Dfunc("s:MakeSshCmd(sshcmd<".a:sshcmd.">)")
+"  call Dfunc("s:MakeSshCmd(sshcmd<".a:sshcmd.">) user<".s:user."> machine<".s:machine.">")
   let sshcmd = substitute(a:sshcmd,'\<HOSTNAME\>',s:user.s:machine,'')
   if exists("g:netrw_port") && g:netrw_port != ""
    let sshcmd= substitute(sshcmd,"USEPORT",g:netrw_sshport.' '.g:netrw_port,'')
@@ -5105,12 +7208,37 @@ fun! s:MakeSshCmd(sshcmd)
   return sshcmd
 endfun
 
+" ---------------------------------------------------------------------
+" s:RemoteSystem: runs a command on a remote host using ssh {{{2
+"                 Returns status
+fun! s:RemoteSystem(cmd)
+"  call Dfunc("s:RemoteSystem(cmd<".a:cmd.">)")
+  if !executable(g:netrw_ssh_cmd)
+   call netrw#ErrorMsg(s:ERROR,"g:netrw_ssh_cmd<".g:netrw_ssh_cmd."> is not executable!",52)
+  elseif !exists("b:netrw_curdir")
+   call netrw#ErrorMsg(s:ERROR,"for some reason b:netrw_curdir doesn't exist!",53)
+  else
+   let cmd      = s:MakeSshCmd(g:netrw_ssh_cmd." USEPORT HOSTNAME")
+   let remotedir= substitute(b:netrw_curdir,'^.*//[^/]\+/\(.*\)$','\1','')
+   if remotedir != ""
+    let cmd= cmd.' "cd '.shellescape(remotedir).";"
+   else
+    let cmd= cmd.' "'
+   endif
+   let cmd= cmd.a:cmd.'"'
+"   call Decho("call system(".cmd.")")
+   let ret= system(cmd)
+  endif
+"  call Dret("s:RemoteSystem ".ret)
+  return ret
+endfun
+
 " ---------------------------------------------------------------------
 " s:NetrwEnew: opens a new buffer, passes netrw buffer variables through {{{2
 fun! s:NetrwEnew(curdir)
 "  call Dfunc("s:NetrwEnew(curdir<".a:curdir.">) buf#".bufnr("%")."<".bufname("%").">")
 
-  " grab a function-local copy of buffer variables
+  " grab a function-local-variable copy of buffer variables
   if exists("b:netrw_bannercnt")      |let netrw_bannercnt       = b:netrw_bannercnt      |endif
   if exists("b:netrw_browser_active") |let netrw_browser_active  = b:netrw_browser_active |endif
   if exists("b:netrw_cpf")            |let netrw_cpf             = b:netrw_cpf            |endif
@@ -5128,15 +7256,12 @@ fun! s:NetrwEnew(curdir)
   if exists("b:netrw_option")         |let netrw_option          = b:netrw_option         |endif
   if exists("b:netrw_prvdir")         |let netrw_prvdir          = b:netrw_prvdir         |endif
 
-  if getline(2) =~ '^" Netrw Directory Listing'
-"   call Decho("generate a buffer with keepjumps keepalt enew! (1)")
-   keepjumps keepalt enew!
-  else
-"   call Decho("generate a buffer with keepjumps enew! (2)")
-   keepjumps enew!
-  endif
+  call s:NetrwOptionRestore("w:")
+"  call Decho("generate a buffer with keepjumps keepalt enew!")
+  keepjumps keepalt enew!
+  call s:NetrwOptionSave("w:")
 
-  " copy function-local variables to buffer variable equivalents
+  " copy function-local-variables to buffer variable equivalents
   if exists("netrw_bannercnt")      |let b:netrw_bannercnt       = netrw_bannercnt      |endif
   if exists("netrw_browser_active") |let b:netrw_browser_active  = netrw_browser_active |endif
   if exists("netrw_cpf")            |let b:netrw_cpf             = netrw_cpf            |endif
@@ -5158,15 +7283,97 @@ fun! s:NetrwEnew(curdir)
   if b:netrw_curdir =~ '/$'
    if exists("w:netrw_liststyle") && w:netrw_liststyle == s:TREELIST
     file NetrwTreeListing
+    nno <silent> <buffer> [    :silent call <SID>TreeListMove('[')<cr>
+    nno <silent> <buffer> ]    :silent call <SID>TreeListMove(']')<cr>
    else
-    exe "silent! file ".b:netrw_curdir
+    exe "silent! keepalt file ".b:netrw_curdir
    endif
   endif
 
-"  call Dret("s:NetrwEnew : buf#".bufnr("%")."<".bufname("%").">")
+"  call Dret("s:NetrwEnew : buf#".bufnr("%")."<".bufname("%")."> expand(%)<".expand("%")."> expand(#)<".expand("#").">")
+endfun
+
+" ------------------------------------------------------------------------
+" netrw#NetrwSavePosn: saves position of cursor on screen {{{2
+fun! netrw#NetrwSavePosn()
+"  call Dfunc("netrw#NetrwSavePosn()")
+  " Save current line and column
+  let w:netrw_winnr= winnr()
+  let w:netrw_line = line(".")
+  let w:netrw_col  = virtcol(".")
+
+  " Save top-of-screen line
+  norm! H0
+  let w:netrw_hline= line(".")
+
+  " set up string holding position parameters
+  let ret          = "let w:netrw_winnr=".w:netrw_winnr."|let w:netrw_line=".w:netrw_line."|let w:netrw_col=".w:netrw_col."|let w:netrw_hline=".w:netrw_hline
+
+  call netrw#NetrwRestorePosn()
+"  call Dret("netrw#NetrwSavePosn : winnr=".w:netrw_winnr." line=".w:netrw_line." col=".w:netrw_col." hline=".w:netrw_hline)
+  return ret
 endfun
 
 " ------------------------------------------------------------------------
+" netrw#NetrwRestorePosn: restores the cursor and file position as saved by NetrwSavePosn() {{{2
+fun! netrw#NetrwRestorePosn(...)
+"  call Dfunc("netrw#NetrwRestorePosn() a:0=".a:0." winnr=".(exists("w:netrw_winnr")? w:netrw_winnr : -1)." line=".(exists("w:netrw_line")? w:netrw_line : -1)." col=".(exists("w:netrw_col")? w:netrw_col : -1)." hline=".(exists("w:netrw_hline")? w:netrw_hline : -1))
+  let eikeep= &ei
+  set ei=all
+  if expand("%") == "NetrwMessage"
+   exe s:winBeforeErr."wincmd w"
+  endif
+
+  if a:0 > 0
+   exe a:1
+  endif
+
+  " restore window
+  if exists("w:netrw_winnr")
+"   call Decho("restore window: exe silent! ".w:netrw_winnr."wincmd w")
+   exe "silent! ".w:netrw_winnr."wincmd w"
+  endif
+  if v:shell_error == 0
+   " as suggested by Bram M: redraw on no error
+   " allows protocol error messages to remain visible
+"   redraw!
+  endif
+
+  " restore top-of-screen line
+  if exists("w:netrw_hline")
+"   call Decho("restore topofscreen: exe norm! ".w:netrw_hline."G0z")
+   exe "norm! ".w:netrw_hline."G0z\<CR>"
+  endif
+
+  " restore position
+  if exists("w:netrw_line") && exists("w:netrw_col")
+"   call Decho("restore posn: exe norm! ".w:netrw_line."G0".w:netrw_col."|")
+   exe "norm! ".w:netrw_line."G0".w:netrw_col."\<bar>"
+  endif
+
+  let &ei= eikeep
+"  call Dret("netrw#NetrwRestorePosn")
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwSaveWordPosn: used to keep cursor on same word after refresh, {{{2
+" changed sorting, etc.  Also see s:NetrwRestoreWordPosn().
+fun! s:NetrwSaveWordPosn()
+"  call Dfunc("NetrwSaveWordPosn()")
+  let s:netrw_saveword= '^'.fnameescape(getline('.')).'$'
+"  call Dret("NetrwSaveWordPosn : saveword<".s:netrw_saveword.">")
+endfun
+
+" ---------------------------------------------------------------------
+" s:NetrwRestoreWordPosn: used to keep cursor on same word after refresh, {{{2
+"  changed sorting, etc.  Also see s:NetrwSaveWordPosn().
+fun! s:NetrwRestoreWordPosn()
+"  call Dfunc("NetrwRestoreWordPosn()")
+  silent! call search(s:netrw_saveword,'w')
+"  call Dret("NetrwRestoreWordPosn")
+endfun
+
+" ---------------------------------------------------------------------
 " s:RemotePathAnalysis: {{{2
 fun! s:RemotePathAnalysis(dirname)
 "  call Dfunc("s:RemotePathAnalysis()")
@@ -5205,7 +7412,7 @@ fun! s:RestoreBufVars()
 endfun
 
 " ---------------------------------------------------------------------
-" s:RestoreWinVars: (used by Explore() and NetSplit()) {{{2
+" s:RestoreWinVars: (used by Explore() and NetrwSplit()) {{{2
 fun! s:RestoreWinVars()
 "  call Dfunc("s:RestoreWinVars()")
   if exists("s:bannercnt")      |let w:netrw_bannercnt       = s:bannercnt      |unlet s:bannercnt      |endif
@@ -5229,6 +7436,27 @@ fun! s:RestoreWinVars()
 "  call Dret("s:RestoreWinVars")
 endfun
 
+" ---------------------------------------------------------------------
+" s:Rexplore: implements returning from a buffer to a netrw directory {{{2
+"
+"             s:SetRexDir() sets up <2-leftmouse> maps (if g:netrw_retmap
+"             is true) and a command, :Rexplore, which call this function.
+"
+"             s:nbcd_curpos_{bufnr('%')} is set up by s:NetrwBrowseChgDir()
+fun! s:NetrwRexplore(islocal,dirname)
+"  call Dfunc("s:NetrwRexplore(islocal=".a:islocal." dirname<".a:dirname.">)")
+  if a:islocal
+   call netrw#LocalBrowseCheck(a:dirname)
+  else
+   call s:NetrwBrowse(0,a:dirname)
+  endif
+  if exists("s:nbcd_curpos_{bufnr('%')}")
+   call netrw#NetrwRestorePosn(s:nbcd_curpos_{bufnr('%')})
+   unlet s:nbcd_curpos_{bufnr('%')}
+  endif
+"  call Dret("s:NetrwRexplore")
+endfun
+
 " ---------------------------------------------------------------------
 " s:SaveBufVars: {{{2
 fun! s:SaveBufVars()
@@ -5245,7 +7473,7 @@ fun! s:SaveBufVars()
 endfun
 
 " ---------------------------------------------------------------------
-" s:SaveWinVars: (used by Explore() and NetSplit()) {{{2
+" s:SaveWinVars: (used by Explore() and NetrwSplit()) {{{2
 fun! s:SaveWinVars()
 "  call Dfunc("s:SaveWinVars()")
   if exists("w:netrw_bannercnt")      |let s:bannercnt       = w:netrw_bannercnt      |endif
@@ -5270,7 +7498,7 @@ fun! s:SaveWinVars()
 endfun
 
 " ---------------------------------------------------------------------
-" s:SetBufWinVars: (used by NetBrowse() and LocalBrowseCheck()) {{{2
+" s:SetBufWinVars: (used by NetrwBrowse() and LocalBrowseCheck()) {{{2
 "   To allow separate windows to have their own activities, such as
 "   Explore **/pattern, several variables have been made window-oriented.
 "   However, when the user splits a browser window (ex: ctrl-w s), these
@@ -5291,16 +7519,85 @@ fun! s:SetBufWinVars()
 "  call Dret("s:SetBufWinVars")
 endfun
 
+" ---------------------------------------------------------------------
+" s:SetRexDir: set directory for :Rexplore {{{2
+fun! s:SetRexDir(islocal,dirname)
+"  call Dfunc("s:SetRexDir(islocal=".a:islocal." dirname<".a:dirname.">)")
+  " set up Rex and leftmouse-double-click
+  if a:islocal
+   exe 'com! Rexplore call s:NetrwRexplore(1,"'.a:dirname.'")'
+   if g:netrw_retmap
+    silent! unmap <2-leftmouse>
+    if !hasmapto("<Plug>NetrwReturn")
+     nmap <unique> <silent> <2-leftmouse>      <Plug>NetrwReturn
+    endif
+    exe 'nnoremap <silent> <Plug>NetrwReturn :call <SID>NetrwRexplore(1,"'.a:dirname.'")<cr>'
+   endif
+  else
+   exe 'com! Rexplore call s:NetrwRexplore(0,"'.a:dirname.'")'
+   if g:netrw_retmap
+    silent! unmap <2-leftmouse>
+    if !hasmapto("<Plug>NetrwReturn")
+     nmap <unique> <silent> <2-leftmouse>      <Plug>NetrwReturn
+    endif
+    exe 'nnoremap <silent> <Plug>NetrwReturn :call <SID>NetrwRexplore(0,"'.a:dirname.'")<cr>'
+   endif
+  endif
+"  call Dret("s:SetRexDir")
+endfun
+
+" ---------------------------------------------------------------------
+" s:Strlen: this function returns the length of a string, even if its {{{2
+"           using two-byte etc characters.
+"           Currently, its only used if g:Align_xstrlen is set to a
+"           nonzero value.  Solution from Nicolai Weibull, vim docs
+"           (:help strlen()), Tony Mechelynck, and my own invention.
+fun! s:Strlen(x)
+"  call Dfunc("s:Strlen(x<".a:x.">")
+  if g:netrw_xstrlen == 1
+   " number of codepoints (Latin a + combining circumflex is two codepoints)
+   " (comment from TM, solution from NW)
+   let ret= strlen(substitute(a:x,'.','c','g'))
+
+  elseif g:netrw_xstrlen == 2
+   " number of spacing codepoints (Latin a + combining circumflex is one spacing 
+   " codepoint; a hard tab is one; wide and narrow CJK are one each; etc.)
+   " (comment from TM, solution from TM)
+   let ret=strlen(substitute(a:x, '.\Z', 'x', 'g')) 
+
+  elseif g:netrw_xstrlen == 3
+   " virtual length (counting, for instance, tabs as anything between 1 and 
+   " 'tabstop', wide CJK as 2 rather than 1, Arabic alif as zero when immediately 
+   " preceded by lam, one otherwise, etc.)
+   " (comment from TM, solution from me)
+   let modkeep= &mod
+   exe "norm! o\<esc>"
+   call setline(line("."),a:x)
+   let ret= virtcol("$") - 1
+   d
+   let &mod= modkeep
+
+  else
+   " at least give a decent default
+   ret= strlen(a:x)
+  endif
+"  call Dret("s:Strlen ".ret)
+  return ret
+endfun
+
 " ---------------------------------------------------------------------
 " s:System: using Steve Hall's idea to insure that Windows paths stay {{{2
 "              acceptable.  No effect on Unix paths.
-"  Examples of use:  let result= s:System("system",path)
+"  Examples of use:  let result= s:System("rm",path)
 "                    let result= s:System("delete",path)
+fun! netrw#System(cmd,path)
+  echomsg s:System(a:cmd,a:path)
+endfun
 fun! s:System(cmd,path)
 "  call Dfunc("s:System(cmd<".a:cmd."> path<".a:path.">)")
 
   let path = a:path
-  if (has("win32") || has("win95") || has("win64") || has("win16"))
+  if !g:netrw_cygwin && (has("win32") || has("win95") || has("win64") || has("win16"))
    " system call prep
    " remove trailing slash (Win95)
    let path = substitute(path, '\(\\\|/\)$', '', 'g')
@@ -5314,19 +7611,76 @@ fun! s:System(cmd,path)
     exe "let result= ".a:cmd."('".path."')"
     let &shellslash = sskeep
    else
-    exe "let result= ".a:cmd."(".g:netrw_shq.path.g:netrw_shq.")"
+"    call Decho("exe let result= ".a:cmd."('".path."')")
+    exe "let result= ".a:cmd."('".path."')"
    endif
   else
+"   call Decho("exe let result= ".a:cmd."('".path."')")
    exe "let result= ".a:cmd."('".path."')"
   endif
 
-"  call Decho("result<".result.">")
-"  call Dret("s:System")
+"  call Dret("s:System result<".result.">")
   return result
 endfun
 
 " ---------------------------------------------------------------------
-" s:UseBufWinVars: (used by NetBrowse() and LocalBrowseCheck() {{{2
+" s:TreeListMove: {{{2
+fun! s:TreeListMove(dir)
+"  call Dfunc("s:TreeListMove(dir<".a:dir.">)")
+  let curline  = getline('.')
+  let prvline  = (line(".") > 1)?         getline(line(".")-1) : ''
+  let nxtline  = (line(".") < line("$"))? getline(line(".")+1) : ''
+  let curindent= substitute(curline,'^\([| ]*\).\{-}$','\1','')
+  let indentm1 = substitute(curindent,'^| ','','')
+"  call Decho("prvline  <".prvline."> #".line(".")-1)
+"  call Decho("curline  <".curline."> #".line("."))
+"  call Decho("nxtline  <".nxtline."> #".line(".")+1)
+"  call Decho("curindent<".curindent.">")
+"  call Decho("indentm1 <".indentm1.">")
+
+  if curline !~ '/$'
+"   call Decho('regfile')
+   if     a:dir == '[' && prvline != ''
+    norm! 0
+    let nl = search('^'.indentm1.'[^|]','bWe')    " search backwards from regular file
+"    call Decho("regfile srch back: ".nl)
+   elseif a:dir == ']' && nxtline != ''
+    norm! $
+    let nl = search('^'.indentm1.'[^|]','We')     " search forwards from regular file
+"    call Decho("regfile srch fwd: ".nl)
+   endif
+
+  elseif a:dir == '[' && prvline != ''
+   norm! 0
+   let curline= line(".")
+   let nl     = search('^'.curindent.'[^|]','bWe') " search backwards From directory, same indentation
+"   call Decho("dir srch back ind: ".nl)
+   if nl != 0
+    if line(".") == curline-1
+     let nl= search('^'.indentm1.'[^|]','bWe')     " search backwards from directory, indentation - 1
+"     call Decho("dir srch back ind-1: ".nl)
+    endif
+   endif
+
+  elseif a:dir == ']' && nxtline != ''
+   norm! $
+   let curline = line(".")
+   let nl      = search('^'.curindent.'[^|]','We') " search forwards from directory, same indentation
+"   call Decho("dir srch fwd ind: ".nl)
+   if nl != 0
+    if line(".") == curline+1
+     let nl= search('^'.indentm1.'[^|]','We')         " search forwards from directory, indentation - 1
+"     call Decho("dir srch fwd ind-1: ".nl)
+    endif
+   endif
+
+  endif
+
+"  call Dret("s:TreeListMove")
+endfun
+
+" ---------------------------------------------------------------------
+" s:UseBufWinVars: (used by NetrwBrowse() and LocalBrowseCheck() {{{2
 "              Matching function to BufferWinVars()
 fun! s:UseBufWinVars()
 "  call Dfunc("s:UseBufWinVars()")
index 5f4445fb004a3e66ed7937b4cbe7b1337191c01b..d6a93624791b9d42dc272de96b62cc00f80bb1b9 100644 (file)
@@ -1,7 +1,7 @@
 " netrwSettings.vim: makes netrw settings simpler
-" Date:                Mar 26, 2007
+" Date:                Mar 11, 2008
 " Maintainer:  Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
-" Version:     9
+" Version:     11
 " Copyright:    Copyright (C) 1999-2007 Charles E. Campbell, Jr. {{{1
 "               Permission is hereby granted to use and distribute this code,
 "               with or without modifications, provided that this copyright
 if exists("g:loaded_netrwSettings") || &cp
   finish
 endif
-let g:loaded_netrwSettings  = "v9"
+let g:loaded_netrwSettings  = "v11"
 
 " ---------------------------------------------------------------------
 " NetrwSettings: {{{1
 fun! netrwSettings#NetrwSettings()
   " this call is here largely just to insure that netrw has been loaded
-  call netrw#NetSavePosn()
+  call netrw#NetrwSavePosn()
   if !exists("g:loaded_netrw")
    echohl WarningMsg | echomsg "***sorry*** netrw needs to be loaded prior to using NetrwSettings" | echohl None
    return
@@ -101,23 +101,36 @@ fun! netrwSettings#NetrwSettings()
   else
    put = 'let g:netrw_browsex_viewer    = (not defined)'
   endif
+  let cdescline= line("$")
+  put ='let g:netrw_cd_escape...'
+  put = 'let g:netrw_compress          = '.g:netrw_compress
+  let decompressline= line("$")
+  put ='let g:netrw_decompress...'
   put = 'let g:netrw_dirhistmax        = '.g:netrw_dirhistmax
   put = 'let g:netrw_fastbrowse        = '.g:netrw_fastbrowse
+  let fnameescline= line("$")
+  put = 'let g:netrw_fname_escape...'
   put = 'let g:netrw_ftp_browse_reject = '.g:netrw_ftp_browse_reject
   put = 'let g:netrw_ftp_list_cmd      = '.g:netrw_ftp_list_cmd
   put = 'let g:netrw_ftp_sizelist_cmd  = '.g:netrw_ftp_sizelist_cmd
   put = 'let g:netrw_ftp_timelist_cmd  = '.g:netrw_ftp_timelist_cmd
+  let globescline= line("$")
+  put ='let g:netrw_glob_escape...'
   put = 'let g:netrw_hide              = '.g:netrw_hide
   put = 'let g:netrw_keepdir           = '.g:netrw_keepdir
   put = 'let g:netrw_list_cmd          = '.g:netrw_list_cmd
   put = 'let g:netrw_list_hide         = '.g:netrw_list_hide
+  put = 'let g:netrw_liststyle         = '.g:netrw_liststyle
+  put = 'let g:netrw_localcopycmd      = '.g:netrw_localcopycmd
   put = 'let g:netrw_local_mkdir       = '.g:netrw_local_mkdir
+  put = 'let g:netrw_localmovecmd      = '.g:netrw_localmovecmd
   put = 'let g:netrw_local_rmdir       = '.g:netrw_local_rmdir
-  put = 'let g:netrw_liststyle         = '.g:netrw_liststyle
   put = 'let g:netrw_maxfilenamelen    = '.g:netrw_maxfilenamelen
   put = 'let g:netrw_menu              = '.g:netrw_menu
   put = 'let g:netrw_mkdir_cmd         = '.g:netrw_mkdir_cmd
+  put = 'let g:netrw_preview           = '.g:netrw_preview
   put = 'let g:netrw_rename_cmd        = '.g:netrw_rename_cmd
+  put = 'let g:netrw_retmap            = '.g:netrw_retmap
   put = 'let g:netrw_rm_cmd            = '.g:netrw_rm_cmd
   put = 'let g:netrw_rmdir_cmd         = '.g:netrw_rmdir_cmd
   put = 'let g:netrw_rmf_cmd           = '.g:netrw_rmf_cmd
@@ -125,11 +138,15 @@ fun! netrwSettings#NetrwSettings()
   put = 'let g:netrw_sort_by           = '.g:netrw_sort_by
   put = 'let g:netrw_sort_direction    = '.g:netrw_sort_direction
   put = 'let g:netrw_sort_sequence     = '.g:netrw_sort_sequence
+  put = 'let g:netrw_special_syntax    = '.g:netrw_special_syntax
   put = 'let g:netrw_ssh_browse_reject = '.g:netrw_ssh_browse_reject
   put = 'let g:netrw_scpport           = '.g:netrw_scpport
   put = 'let g:netrw_sshport           = '.g:netrw_sshport
   put = 'let g:netrw_timefmt           = '.g:netrw_timefmt
+  let tmpfileescline= line("$")
+  put ='let g:netrw_tmpfile_escape...'
   put = 'let g:netrw_use_noswf         = '.g:netrw_use_noswf
+  put = 'let g:netrw_xstrlen           = '.g:netrw_xstrlen
   put = 'let g:netrw_winsize           = '.g:netrw_winsize
 
   put =''
@@ -142,13 +159,18 @@ fun! netrwSettings#NetrwSettings()
   silent %s/= $/= ''/e
   1
 
-  " Put in shq setting.
+  " Put in g:netrw_shq setting and g:netrw_cd_escape
   " (deferred so as to avoid the quote manipulation just preceding)
   if g:netrw_shq == "'"
-   call setline(shqline,'let g:netrw_shq               = "'.g:netrw_shq.'"')
+   call setline(shqline,      'let g:netrw_shq               = "'.g:netrw_shq.'"')
   else
-   call setline(shqline,"let g:netrw_shq               = '".g:netrw_shq."'")
+   call setline(shqline,      "let g:netrw_shq               = '".g:netrw_shq."'")
   endif
+  call setline(cdescline,     "let g:netrw_cd_escape         = ".'"'.escape(g:netrw_cd_escape,'\"').'"')
+  call setline(decompressline,"let g:netrw_decompress        = ".substitute(string(g:netrw_decompress),"^'\\(.*\\)'$",'\1',''))
+  call setline(fnameescline,  "let g:netrw_fname_escape      = '".escape(g:netrw_fname_escape,"'")."'")
+  call setline(globescline,   "let g:netrw_glob_escape       = '".escape(g:netrw_glob_escape,"'")."'")
+  call setline(tmpfileescline,"let g:netrw_tmpfile_escape    = '".escape(g:netrw_tmpfile_escape,"'")."'")
 
   set nomod
 
index 7db45ecf2c52f9752da5322361fb8307f447baf2..bb3a45b55c6afd6913ce6a515a34a5596f2c7110 100644 (file)
@@ -408,4 +408,3 @@ let g:xmldata_html40s = {
 \ 'param': ['/>', ''],
 \ }
 \ }
-" vim:ft=vim:ff=unix
index f53aa22df31e06251b9a01d9054095800a274b6d..2d732465231c4a11ecaff7a71c4b0587a6a4ba13 100644 (file)
@@ -458,4 +458,3 @@ let g:xmldata_html40t = {
 \ 'param': ['/>', ''],
 \ }
 \ }
-" vim:ft=vim:ff=unix
index db631e2b5f5688d5f58444f4fd50591b5e8febad..ef79fd77140e5df647d0bc0786b117f1f8ff53c1 100644 (file)
@@ -432,4 +432,3 @@ let g:xmldata_xhtml11 = {
 \ 'param': ['/>', ''],
 \ }
 \ }
-" vim:ft=vim:ff=unix
index 5875be0d93c4bde80898fc77cff003ae5dd07155..5842741b79bc862a9bc05ea86b86e96fc7e0295a 100644 (file)
@@ -1,16 +1,16 @@
 " zip.vim: Handles browsing zipfiles
 "            AUTOLOAD PORTION
-" Date:                May 08, 2007
-" Version:     14
+" Date:                Jun 12, 2008
+" Version:     18
 " Maintainer:  Charles E Campbell, Jr <NdrOchip@ScampbellPfamily.AbizM-NOSPAM>
 " License:     Vim License  (see vim's :help license)
-" Copyright:    Copyright (C) 2005 Charles E. Campbell, Jr. {{{1
+" Copyright:    Copyright (C) 2005-2008 Charles E. Campbell, Jr. {{{1
 "               Permission is hereby granted to use and distribute this code,
 "               with or without modifications, provided that this copyright
 "               notice is copied with it. Like anything else that's free,
-"               zipPlugin.vim is provided *as is* and comes with no warranty
-"               of any kind, either expressed or implied. By using this
-"               plugin, you agree that in no event will the copyright
+"               zip.vim and zipPlugin.vim are provided *as is* and comes with
+"               no warranty of any kind, either expressed or implied. By using
+"               this plugin, you agree that in no event will the copyright
 "               holder be liable for any damages resulting from the use
 "               of this software.
 
@@ -22,7 +22,7 @@ if &cp || exists("g:loaded_zip") || v:version < 700
  finish
 endif
 
-let g:loaded_zip     = "v14"
+let g:loaded_zip     = "v18"
 let s:zipfile_escape = ' ?&;\'
 let s:ERROR          = 2
 let s:WARNING        = 1
@@ -31,7 +31,9 @@ let s:NOTE           = 0
 " ---------------------------------------------------------------------
 "  Global Values: {{{1
 if !exists("g:zip_shq")
- if has("unix")
+ if &shq != ""
+  let g:zip_shq= &shq
+ elseif has("unix")
   let g:zip_shq= "'"
  else
   let g:zip_shq= '"'
@@ -160,7 +162,9 @@ fun! s:ZipBrowseSelect()
 "  call Decho("curfile<".curfile.">")
 
   new
-  wincmd _
+  if !exists("g:zip_nomax") || g:zip_nomax == 0
+   wincmd _
+  endif
   let s:zipfile_{winnr()}= curfile
 "  call Decho("exe e zipfile:".escape(zipfile,s:zipfile_escape).'::'.escape(fname,s:zipfile_escape))
   exe "e zipfile:".escape(zipfile,s:zipfile_escape).'::'.escape(fname,s:zipfile_escape)
@@ -319,8 +323,13 @@ endfun
 " QuoteFileDir: {{{2
 fun! s:QuoteFileDir(fname)
 "  call Dfunc("QuoteFileDir(fname<".a:fname.">)")
-"  call Dret("QuoteFileDir")
-  return g:zip_shq.a:fname.g:zip_shq
+  if has("*shellescape")
+   let qnameq= shellescape(a:fname)
+  else
+   let qnameq= g:zip_shq.escape(a:fname,g:zip_shq).g:zip_shq
+  endif
+"  call Dret("QuoteFileDir <".qnameq.">")
+  return qnameq
 endfun
 
 " ---------------------------------------------------------------------
index b73ab61fd2d621413778ecd99ba3ccda89c53be2..f30fcc3b87f7adab052f2cec1406ee03d2a640d0 100644 (file)
@@ -38,4 +38,4 @@ CompilerSet errorformat=
 let &cpo = s:cpo_save
 unlet s:cpo_save
 
-" vim: nowrap sw=2 sts=2 ts=8 ff=unix:
+" vim: nowrap sw=2 sts=2:
index d666708083010f23e46c3b9550f6928db9de9c2f..a62415f6b27eb46299c892b714c0e7435208ae3d 100644 (file)
@@ -11,7 +11,7 @@ let current_compiler = "gcc"
 let s:cpo_save = &cpo
 set cpo-=C
 
-setlocal errorformat=
+CompilerSet errorformat=
       \%*[^\"]\"%f\"%*\\D%l:\ %m,
       \\"%f\"%*\\D%l:\ %m,
       \%-G%f:%l:\ %trror:\ (Each\ undeclared\ identifier\ is\ reported\ only\ once,
@@ -25,7 +25,7 @@ setlocal errorformat=
       \%DMaking\ %*\\a\ in\ %f
 
 if exists('g:compiler_gcc_ignore_unmatched_lines')
-  let &errorformat .= ',%-G%.%#'
+  CompilerSet errorformat+=%-G%.%#
 endif
 
 let &cpo = s:cpo_save
index 978686a3aa5a4265a425029a4756f1391a23fb7b..80032e038a63a043c6e3edf73a41c093b8c64760 100644 (file)
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 7.1.  Last change: 2007 Mar 27
+*autocmd.txt*   For Vim version 7.2a.  Last change: 2008 Jun 24
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -104,7 +104,7 @@ local to the script and use mappings local to the script.  When the event is
 triggered and the command executed, it will run in the context of the script
 it was defined in.  This matters if |<SID>| is used in a command.
 
-When executing the commands, the messages from one command overwrites a
+When executing the commands, the message from one command overwrites a
 previous message.  This is different from when executing the commands
 manually.  Mostly the screen will not scroll up, thus there is no hit-enter
 prompt.  When one command outputs two messages this can happen anyway.
@@ -334,7 +334,7 @@ BufDelete                   Before deleting a buffer from the buffer list.
                                list is renamed.
                                NOTE: When this autocommand is executed, the
                                current buffer "%" may be different from the
-                               buffer being deleted "<afile>".
+                               buffer being deleted "<afile>" and "<abuf>".
                                                        *BufEnter*
 BufEnter                       After entering a buffer.  Useful for setting
                                options for a file type.  Also executed when
@@ -400,10 +400,15 @@ BufUnload                 Before unloading a buffer.  This is when the
                                                        *BufWinEnter*
 BufWinEnter                    After a buffer is displayed in a window.  This
                                can be when the buffer is loaded (after
-                               processing the modelines), when a hidden
+                               processing the modelines) or when a hidden
                                buffer is displayed in a window (and is no
-                               longer hidden) or a buffer already visible in
-                               a window is also displayed in another window.
+                               longer hidden).
+                               Does not happen for |:split| without
+                               arguments, since you keep editing the same
+                               buffer, or ":split" with a file that's already
+                               open in a window.  But it does happen for
+                               a ":split" with the name of the current
+                               buffer, since it reloads that buffer.
                                                        *BufWinLeave*
 BufWinLeave                    Before a buffer is removed from a window.
                                Not when it's still visible in another window.
@@ -677,7 +682,7 @@ QuickFixCmdPre                      Before a quickfix command is run (|:make|,
                                                        *QuickFixCmdPost*
 QuickFixCmdPost                        Like QuickFixCmdPre, but after a quickfix
                                command is run, before jumping to the first
-                               location.
+                               location.  See |QuickFixCmdPost-example|.
                                                        *RemoteReply*
 RemoteReply                    When a reply from a Vim that functions as
                                server was received |server2client()|.  The
@@ -848,7 +853,7 @@ This autocommand will for example be executed for "/tmp/doc/xx.txt" and
 
 
 The file name that the pattern is matched against is after expanding
-wildcards.  Thus is you issue this command: >
+wildcards.  Thus if you issue this command: >
        :e $ROOTDIR/main.$EXT
 The argument is first expanded to: >
        /usr/root/main.py
@@ -927,7 +932,7 @@ simply use the special string instead of the pattern.  Examples: >
                                     " current buffer
     :au! * <buffer=33>              " remove buffer-local autocommands for
                                     " buffer #33
-    :dobuf :au! CursorHold <buffer>  " remove autocmd for given event for all
+    :bufdo :au! CursorHold <buffer>  " remove autocmd for given event for all
                                     " buffers
     :au * <buffer>                  " list buffer-local autocommands for
                                     " current buffer
@@ -1031,8 +1036,9 @@ option will not cause any commands to be executed.
                        undefined group name, Vim gives you an error message.
 
                        After applying the autocommands the modelines are
-                       processed, so that their overrule the settings from
-                       autocommands, like what happens when editing a file.
+                       processed, so that their settings overrule the
+                       settings from autocommands, like what happens when
+                       editing a file.
 
                                                *:doautoa* *:doautoall*
 :doautoa[ll] [group] {event} [fname]
index c1eed2c0a43811452b75529f7df9ad34252820b5..24cf3fe9c06c6258054f1e6247f55178671e81bd 100644 (file)
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.1.  Last change: 2007 Jan 07
+*change.txt*    For Vim version 7.2a.  Last change: 2008 Jun 22
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -229,16 +229,18 @@ key restores the original text (if there was any).  (See section "Insert and
 Replace mode" |mode-ins-repl|).
 
                                                *cw* *cW*
-Special case: "cw" and "cW" work the same as "ce" and "cE" if the cursor is
-on a non-blank.  This is because Vim interprets "cw" as change-word, and a
-word does not include the following white space.  {Vi: "cw" when on a blank
-followed by other blanks changes only the first blank; this is probably a
-bug, because "dw" deletes all the blanks; use the 'w' flag in 'cpoptions' to
-make it work like Vi anyway}
+Special case: When the cursor is in a word, "cw" and "cW" do not include the
+white space after a word, they only change up to the end of the word.  This is
+because Vim interprets "cw" as change-word, and a word does not include the
+following white space.
+{Vi: "cw" when on a blank followed by other blanks changes only the first
+blank; this is probably a bug, because "dw" deletes all the blanks; use the
+'w' flag in 'cpoptions' to make it work like Vi anyway}
 
 If you prefer "cw" to include the space after a word, use this mapping: >
        :map cw dwi
-<
+Or use "caw" (see |aw|).
+
                                                        *:c* *:ch* *:change*
 :{range}c[hange][!]    Replace lines of text with some different text.
                        Type a line containing only "." to stop replacing.
@@ -345,6 +347,10 @@ g?{motion}         Rot13 encode {motion} text. {not in Vi}
 g?g?                                                   *g?g?* *g??*
 g??                    Rot13 encode current line. {not in Vi}.
 
+To turn one line into title caps, make every first letter of a word
+uppercase: >
+       :s/\v<(.)(\w*)/\u\1\L\2/g
+
 
 Adding and subtracting ~
                                                        *CTRL-A*
@@ -474,7 +480,7 @@ For example: >
 
 A filter is a program that accepts text at standard input, changes it in some
 way, and sends it to standard output.  You can use the commands below to send
-some text through a filter, so that it is replace by the filter output.
+some text through a filter, so that it is replaced by the filter output.
 Examples of filters are "sort", which sorts lines alphabetically, and
 "indent", which formats C program files (you need a version of indent that
 works like a filter; not all versions do).  The 'shell' option specifies the
@@ -661,9 +667,9 @@ The flags that you can use for the substitute commands:
        {not in Vi}
 
 Note that there is no flag to change the "magicness" of the pattern.  A
-different command is used instead.  The reason is that the flags can only be
-found by skipping the pattern, and in order to skip the pattern the
-"magicness" must be known.  Catch 22!
+different command is used instead, or you can use |/\v| and friends.  The
+reason is that the flags can only be found by skipping the pattern, and in
+order to skip the pattern the "magicness" must be known.  Catch 22!
 
 If the {pattern} for the substitute command is empty, the command uses the
 pattern from the last substitute or ":global" command.  With the [r] flag, the
@@ -686,7 +692,9 @@ can use any other single-byte character, but not an alphanumeric character,
 pattern or replacement string.  Example: >
        :s+/+//+
 
-For the definition of a pattern, see |pattern|.
+For the definition of a pattern, see |pattern|.  In Visual block mode, use
+|/\%V| in the pattern to have the substitute work in the block only.
+Otherwise it works on whole lines anyway.
 
                                        *sub-replace-special* *:s\=*
 When the {string} starts with "\=" it is evaluated as an expression, see
@@ -1128,7 +1136,10 @@ nothing is returned.  {not in Vi}
 Contains the most recent search-pattern.  This is used for "n" and 'hlsearch'.
 It is writable with ":let", you can change it to have 'hlsearch' highlight
 other matches without actually searching.  You can't yank or delete into this
-register.  {not in Vi}
+register.  The search direction is available in |v:searchforward|.
+Note that the valued is restored when returning from a function
+|function-search-undo|.
+{not in Vi}
 
                                                        *@/*
 You can write to a register with a ":let" command |:let-@|.  Example: >
@@ -1253,9 +1264,11 @@ an external command, like "par" (e.g.: "!}par" to format until the end of the
 paragraph) or set 'formatprg' to "par".
 
                                                        *format-comments*
-Vim can format comments in a special way.  Vim recognizes a comment by a
-specific string at the start of the line (ignoring white space).  Three types
-of comments can be used:
+An overview of comment formatting is in section |30.6| of the user manual.
+
+Vim can automatically insert and format comments in a special way.  Vim
+recognizes a comment by a specific string at the start of the line (ignoring
+white space).  Three types of comments can be used:
 
 - A comment string that repeats at the start of each line.  An example is the
   type of comment used in shell scripts, starting with "#".
@@ -1263,7 +1276,7 @@ of comments can be used:
   lines.  An example is this list with dashes.
 - Three-piece comments that have a start string, an end string, and optional
   lines in between.  The strings for the start, middle and end are different.
-  An example is the C-style comment:
+  An example is the C style comment:
        /*
         * this is a C comment
         */
@@ -1289,23 +1302,24 @@ type of comment string.  A part consists of:
 
   e    End of a three-piece comment
 
-  l    Left adjust middle with start or end (default).  Only recognized when
-       used together with 's' or 'e'.
+  l    Left align. Used together with 's' or 'e', the leftmost character of
+       start or end will line up with the leftmost character from the middle.
+       This is the default and can be omitted. See below for more details.
 
-  r    Right adjust middle with start or end.  Only recognized when used
-       together with 's' or 'e'.
+  r    Right align. Same as above but rightmost instead of leftmost. See
+       below for more details.
 
-  O    Don't use this one for the "O" command.
+  O    Don't consider this comment for the "O" command.
 
   x    Allows three-piece comments to be ended by just typing the last
-       character of the end-comment string as the first character on a new
-       line, when the middle-comment string has already been inserted
-       automatically.  See below for more details.
+       character of the end-comment string as the first action on a new
+       line when the middle-comment string has been inserted automatically.
+       See below for more details.
 
   {digits}
-       When together with 's' or 'e': add extra indent for the middle part.
-       This can be used to left-align the middle part with the start or end
-       and then add an offset.
+       When together with 's' or 'e': add {digit} amount of offset to an
+       automatically inserted middle or end comment leader. The offset begins
+       from a left alignment. See below for more details.
 
   -{digits}
        Like {digits} but reduce the indent.  This only works when there is
@@ -1334,12 +1348,42 @@ have a middle string because otherwise Vim can't recognize the middle lines.
 
 Notice the use of the "x" flag in the above three-piece comment definition.
 When you hit Return in a C-comment, Vim will insert the middle comment leader
-for the new line, e.g. " * ".  To close this comment you just have to type "/"
+for the new line: " * ".  To close this comment you just have to type "/"
 before typing anything else on the new line.  This will replace the
-middle-comment leader with the end-comment leader, leaving just " */".  There
-is no need to hit BackSpace first.
-
-Examples: >
+middle-comment leader with the end-comment leader and apply any specified
+alignment, leaving just " */".  There is no need to hit BackSpace first.
+
+
+Here is an example of alignment flags at work to make a comment stand out
+(kind of looks like a 1 too). Consider comment string >
+       sr:/***,m:**,ex2:******/
+
+                                   /***
+                                     **<--right aligned from "r" flag
+                                     **
+offset 2 spaces from the "2" flag--->**
+                                   ******/
+In this case, the first comment was typed, then return was pressed 4 times,
+then "/" was pressed to end the comment.
+
+Here are some finer points of three part comments. There are three times when
+alignment and offset flags are taken into consideration: opening a new line
+after a start-comment, opening a new line before an end-comment, and
+automatically ending a three-piece comment.  The end alignment flag has a
+backwards perspective; the result is that the same alignment flag used with
+"s" and "e" will result in the same indent for the starting and ending pieces.
+Only one alignment per comment part is meant to be used, but an offset number
+will override the "r" and "l" flag.
+
+Enabling 'cindent' will override the alignment flags in many cases.
+Reindenting using a different method like |gq| or |=| will not consult
+alignment flags either. The same behaviour can be defined in those other
+formatting options. One consideration is that 'cindent' has additional options
+for context based indenting of comments but cannot replicate many three piece
+indent alignments.  However, 'indentexpr' is has the ability to work better
+with three piece comments.
+
+Other examples: >
    "b:*"       Includes lines starting with "*", but not if the "*" is
                followed by a non-blank.  This avoids a pointer dereference
                like "*str" to be recognized as a comment.
@@ -1350,17 +1394,6 @@ By default, "b:#" is included.  This means that a line that starts with
 "#include" is not recognized as a comment line.  But a line that starts with
 "# define" is recognized.  This is a compromise.
 
-Often the alignment can be changed from right alignment to a left alignment
-with an additional space.  For example, for Javadoc comments, this can be
-used (insert a backslash before the space when using ":set"): >
-       s1:/*,mb:*,ex:*/
-Note that an offset is included with start, so that the middle part is left
-aligned with the start and then an offset of one character added.  This makes
-it possible to left align the start and middle for this construction: >
-       /**
-        * comment
-        */
-
 {not available when compiled without the |+comments| feature}
 
                                                        *fo-table*
@@ -1391,7 +1424,7 @@ a Automatic formatting of paragraphs.  Every time text is inserted or
 n      When formatting text, recognize numbered lists.  This actually uses
        the 'formatlistpat' option, thus any kind of list can be used.  The
        indent of the text after the number is used for the next line.  The
-       default is to find a number, optionally be followed by '.', ':', ')',
+       default is to find a number, optionally followed by '.', ':', ')',
        ']' or '}'.  Note that 'autoindent' must be set too.  Doesn't work
        well together with "2".
        Example: >
@@ -1555,9 +1588,10 @@ found here: |sort()|.
                                :sort /.*\%10v/
 <                      To sort on the first number in the line, no matter
                        what is in front of it: >
-                               :sort /.*\ze\d/
-
-<                      With [r] sorting is done on the matching {pattern}
+                               :sort /.\{-}\ze\d/
+<                      (Explanation: ".\{-}" matches any text, "\ze" sets the
+                       end of the match and \d matches a digit.)
+                       With [r] sorting is done on the matching {pattern}
                        instead of skipping past it as described above.
                        For example, to sort on only the first three letters
                        of each line: >
index ffc178dcc2cb88636aa059fc565ffbba2397074a..0e83ec715163732bd800941988a6942236a3ca5c 100644 (file)
@@ -1,4 +1,4 @@
-*debug.txt*     For Vim version 7.1.  Last change: 2006 May 01
+*debug.txt*     For Vim version 7.2a.  Last change: 2006 May 01
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
index 10870f76f26baaf806b67935fda9e194b1160cf9..1adef600c66b1eba4f8be6e49886470abdc4e112 100644 (file)
@@ -1,4 +1,4 @@
-*diff.txt*      For Vim version 7.1.  Last change: 2006 Oct 02
+*diff.txt*      For Vim version 7.2a.  Last change: 2006 Oct 02
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
index 126b98b92d6c0fbcae74646454da74b4871064a4..349df2f251637c67d707d9082e32967b77990163 100644 (file)
@@ -1,7 +1,7 @@
-*eval.txt*      For Vim version 7.1.  Last change: 2008 May 28
+*eval.txt*     For Vim version 7.2a.  Last change: 2008 Jun 24
 
 
-                 VIM REFERENCE MANUAL    by Bram Moolenaar
+                 VIM REFERENCE MANUAL    by Bram Moolenaar
 
 
 Expression evaluation                  *expression* *expr* *E15* *eval*
@@ -9,7 +9,7 @@ Expression evaluation                   *expression* *expr* *E15* *eval*
 Using expressions is introduced in chapter 41 of the user manual |usr_41.txt|.
 
 Note: Expression evaluation can be disabled at compile time.  If this has been
-done, the features in this document are not available.  See |+eval| and
+done, the features in this document are not available. See |+eval| and
 |no-eval-feature|.
 
 1.  Variables                  |variables|
@@ -37,13 +37,17 @@ done, the features in this document are not available.  See |+eval| and
 
 1.1 Variable types ~
                                                        *E712*
-There are five types of variables:
+There are six types of variables:
 
-Number         A 32 bit signed number.
+Number         A 32 bit signed number.  |expr-number| *Number*
                Examples:  -123  0x10  0177
 
+Float          A floating point number. |floating-point-format| *Float*
+               {only when compiled with the |+float| feature}
+               Examples: 123.456  1.15e-6  -1.1e3
+
 String         A NUL terminated string of 8-bit unsigned characters (bytes).
-               Examples: "ab\txx\"--"  'x-z''a,c'
+               |expr-string| Examples: "ab\txx\"--"  'x-z''a,c'
 
 Funcref                A reference to a function |Funcref|.
                Example: function("strlen")
@@ -92,18 +96,26 @@ use strlen(): >
 <                              *E745* *E728* *E703* *E729* *E730* *E731*
 List, Dictionary and Funcref types are not automatically converted.
 
-                                                               *E706*
+                                                       *E805* *E806* *E808*
+When mixing Number and Float the Number is converted to Float. Otherwise
+there is no automatic conversion of Float.  You can use str2float() for String
+to Float, printf() for Float to String and float2nr() for Float to Number.
+
+                                               *E706* *sticky-type-checking*
 You will get an error if you try to change the type of a variable.  You need
 to |:unlet| it first to avoid this error.  String and Number are considered
-equivalent though.  Consider this sequence of commands: >
+equivalent though, as well are Float and Number.  Consider this sequence of
+commands: >
        :let l = "string"
        :let l = 44             " changes type from String to Number
-       :let l = [1, 2, 3]      " error!
+       :let l = [1, 2, 3]      " error!  l is still a Number
+       :let l = 4.4            " changes type from Number to Float
+       :let l = "string"       " error!
 
 
 1.2 Function references ~
                                        *Funcref* *E695* *E718*
-A Funcref variable is obtained with the |function()| function.  It can be used
+A Funcref variable is obtained with the |function()| function. It can be used
 in an expression in the place of a function name, before the parenthesis
 around the arguments, to invoke the function it refers to.  Example: >
 
@@ -137,7 +149,7 @@ arguments: >
 1.3 Lists ~
                                                        *List* *Lists* *E686*
 A List is an ordered sequence of items.  An item can be of any type.  Items
-can be accessed by their index number.  Items can be added and removed at any
+can be accessed by their index number. Items can be added and removed at any
 position in the sequence.
 
 
@@ -148,7 +160,7 @@ Examples: >
        :let mylist = [1, two, 3, "four"]
        :let emptylist = []
 
-An item can be any expression.  Using a List for an item creates a
+An item can be any expression. Using a List for an item creates a
 List of Lists: >
        :let nestlist = [[11, 12], [21, 22], [31, 32]]
 
@@ -207,7 +219,7 @@ length minus one is used: >
        :echo mylist[2:8]               " result: [2, 3]
 
 NOTE: mylist[s:e] means using the variable "s:e" as index.  Watch out for
-using a single letter variable before the ":".  Insert a space when needed:
+using a single letter variable before the ":". Insert a space when needed:
 mylist[s : e].
 
 
@@ -258,13 +270,13 @@ variables.  Example: >
 <      0
 
 Thus comparing Lists is more strict than comparing numbers and strings.  You
-can compare simple values this way too by putting them in a string: >
+can compare simple values this way too by putting them in a list: >
 
        :let a = 5
        :let b = "5"
-       echo a == b
+       :echo a == b
 <      1 >
-       echo [a] == [b]
+       :echo [a] == [b]
 <      0
 
 
@@ -339,7 +351,7 @@ the loop.
 If all you want to do is modify each item in the list then the |map()|
 function will be a simpler method than a for loop.
 
-Just like the |:let| command, |:for| also accepts a list of variables.  This
+Just like the |:let| command, |:for| also accepts a list of variables. This
 requires the argument to be a list of lists. >
        :for [lnum, col] in [[1, 3], [2, 8], [3, 0]]
        :   call Doit(lnum, col)
@@ -396,10 +408,10 @@ only appear once.  Examples: >
 <                                                      *E713* *E716* *E717*
 A key is always a String.  You can use a Number, it will be converted to a
 String automatically.  Thus the String '4' and the number 4 will find the same
-entry.  Note that the String '04' and the Number 04 are different, since the
+entry. Note that the String '04' and the Number 04 are different, since the
 Number will be converted to the String '4'.
 
-A value can be any expression.  Using a Dictionary for a value creates a
+A value can be any expression. Using a Dictionary for a value creates a
 nested Dictionary: >
        :let nestdict = {1: {11: 'a', 12: 'b'}, 2: {21: 'c'}}
 
@@ -426,7 +438,7 @@ key lookup can be repeated: >
 
 Dictionary to List conversion ~
 
-You may want to loop over the entries in a dictionary.  For this you need to
+You may want to loop over the entries in a dictionary. For this you need to
 turn the Dictionary into a List and pass it to |:for|.
 
 Most often you want to loop over the keys, using the |keys()| function: >
@@ -443,7 +455,7 @@ To loop over the values use the |values()| function:  >
        :endfor
 
 If you want both the key and the value use the |items()| function.  It returns
-a List in which each item is a  List with two items, the key and the value: >
+a List in which each item is a List with two items, the key and the value: >
        :for [key, value] in items(mydict)
        :   echo key . ': ' . value
        :endfor
@@ -493,7 +505,7 @@ This removes all entries from "dict" with a value not matching 'x'.
 Dictionary function ~
                                        *Dictionary-function* *self* *E725*
 When a function is defined with the "dict" attribute it can be used in a
-special way with a dictionary.  Example: >
+special way with a dictionary. Example: >
        :function Mylen() dict
        :   return len(self.data)
        :endfunction
@@ -517,7 +529,7 @@ assigned to a Dictionary in this way: >
        :echo mydict.len()
 
 The function will then get a number and the value of dict.len is a |Funcref|
-that references this function.  The function can only be used through a
+that references this function. The function can only be used through a
 |Funcref|.  It will automatically be deleted when there is no |Funcref|
 remaining that refers to it.
 
@@ -699,7 +711,7 @@ expr5 {cmp} expr5
 Compare two expr5 expressions, resulting in a 0 if it evaluates to false, or 1
 if it evaluates to true.
 
-                       *expr-==*  *expr-!=*  *expr->*   *expr->=*
+                       *expr-==*  *expr-!=*  *expr->*   *expr->=*
                        *expr-<*   *expr-<=*  *expr-=~*  *expr-!~*
                        *expr-==#* *expr-!=#* *expr->#*  *expr->=#*
                        *expr-<#*  *expr-<=#* *expr-=~#* *expr-!~#*
@@ -738,21 +750,21 @@ A |Funcref| can only be compared with a |Funcref| and only "equal" and "not
 equal" can be used.  Case is never ignored.
 
 When using "is" or "isnot" with a |List| this checks if the expressions are
-referring to the same |List| instance.  A copy of a |List| is different from
+referring to the same |List| instance. A copy of a |List| is different from
 the original |List|.  When using "is" without a |List| it is equivalent to
 using "equal", using "isnot" equivalent to using "not equal".  Except that a
-different type means the values are different.  "4 == '4'" is true, "4 is '4'"
+different type means the values are different. "4 == '4'" is true, "4 is '4'"
 is false.
 
 When comparing a String with a Number, the String is converted to a Number,
-and the comparison is done on Numbers.  This means that "0 == 'x'" is TRUE,
+and the comparison is done on Numbers. This means that "0 == 'x'" is TRUE,
 because 'x' converted to a Number is zero.
 
 When comparing two Strings, this is done with strcmp() or stricmp().  This
 results in the mathematical difference (comparing byte values), not
 necessarily the alphabetical difference in the local language.
 
-When using the operators with a trailing '#", or the short version and
+When using the operators with a trailing '#', or the short version and
 'ignorecase' is off, the comparing is done with strcmp(): case matters.
 
 When using the operators with a trailing '?', or the short version and
@@ -792,11 +804,30 @@ Note the difference between "+" and ".":
        "123" + "456" = 579
        "123" . "456" = "123456"
 
-When the righthand side of '/' is zero, the result is 0x7fffffff.
+Since '.' has the same precedence as '+' and '-', you need to read: >
+       1 . 90 + 90.0
+As: >
+       (1 . 90) + 90.0
+That works, since the String "190" is automatically converted to the Number
+190, which can be added to the Float 90.0.  However: >
+       1 . 90 * 90.0
+Should be read as: >
+       1 . (90 * 90.0)
+Since '.' has lower precedence than '*'.  This does NOT work, since this
+attempts to concatenate a Float and a String.
+
+When dividing a Number by zero the result depends on the value:
+         0 / 0  = -0x80000000  (like NaN for Float)
+        >0 / 0  =  0x7fffffff  (like positive infinity)
+        <0 / 0  = -0x7fffffff  (like negative infinity)
+       (before Vim 7.2 it was always 0x7fffffff)
+
 When the righthand side of '%' is zero, the result is 0.
 
 None of these work for |Funcref|s.
 
+. and % do not work for Float. *E804*
+
 
 expr7                                                  *expr7*
 -----
@@ -810,7 +841,7 @@ For '+' the number is unchanged.
 
 A String will be converted to a Number first.
 
-These three can be repeated and mixed.  Examples:
+These three can be repeated and mixed. Examples:
        !-1         == 0
        !!8         == 1
        --9         == 9
@@ -835,7 +866,7 @@ compatibility).  Use [-1:] to get the last byte.
 
 If expr8 is a |List| then it results the item at index expr1.  See |list-index|
 for possible index values.  If the index is out of range this results in an
-error.  Example: >
+error. Example: >
        :let item = mylist[-1]          " get last item
 
 Generally, if a |List| index is equal to or higher than the length of the
@@ -866,7 +897,7 @@ Examples: >
        :let s = s[:-3]                 " remove last two bytes
 
 If expr8 is a |List| this results in a new |List| with the items indicated by
-the indexes expr1a and expr1b.  This works like with a String, as explained
+the indexes expr1a and expr1b. This works like with a String, as explained
 just above, except that indexes out of range cause an error.  Examples: >
        :let l = mylist[:3]             " first four items
        :let l = mylist[4:4]            " List with one item
@@ -909,6 +940,53 @@ number                     number constant         *expr-number*
 
 Decimal, Hexadecimal (starting with 0x or 0X), or Octal (starting with 0).
 
+                                               *floating-point-format*
+Floating point numbers can be written in two forms:
+
+       [-+]{N}.{M}
+       [-+]{N}.{M}e[-+]{exp}
+
+{N} and {M} are numbers.  Both {N} and {M} must be present and can only
+contain digits.
+[-+] means there is an optional plus or minus sign.
+{exp} is the exponent, power of 10.
+Only a decimal point is accepted, not a comma. No matter what the current
+locale is.
+{only when compiled with the |+float| feature}
+
+Examples:
+       123.456
+       +0.0001
+       55.0
+       -0.123
+       1.234e03
+       1.0E-6
+       -3.1416e+88
+
+These are INVALID:
+       3.              empty {M}
+       1e40            missing .{M}
+
+Rationale:
+Before floating point was introduced, the text "123.456" was interpreted as
+the two numbers "123" and "456", both converted to a string and concatenated,
+resulting in the string "123456".  Since this was considered pointless, and we
+could not find it actually being used in Vim scripts, this backwards
+incompatibility was accepted in favor of being able to use the normal notation
+for floating point numbers.
+
+                                               *floating-point-precision*
+The precision and range of floating points numbers depends on what "double"
+means in the library Vim was compiled with.  There is no way to change this at
+runtime.
+
+The default for displaying a |Float| is to use 6 decimal places, like using
+printf("%g", f).  You can select something else when using the |printf()|
+function.  Example: >
+       :echo printf('%.15e', atan(1))
+<      7.853981633974483e-01
+
+
 
 string                                                 *expr-string* *E114*
 ------
@@ -924,7 +1002,7 @@ A string constant accepts these special characters:
 \x.    byte specified with one hex number (must be followed by non-hex char)
 \X..   same as \x..
 \X.    same as \x.
-\u....  character specified with up to 4 hex numbers, stored according to the
+\u.... character specified with up to 4 hex numbers, stored according to the
        current value of 'encoding' (e.g., "\u02a4")
 \U.... same as \u....
 \b     backspace <BS>
@@ -950,11 +1028,11 @@ literal-string                                           *literal-string* *E115*
 
 Note that single quotes are used.
 
-This string is taken as it is.  No backslashes are removed or have a special
+This string is taken as it is. No backslashes are removed or have a special
 meaning.  The only exception is that two quotes stand for one quote.
 
 Single quoted strings are useful for patterns, so that backslashes do not need
-to be doubled.  These two commands are equivalent: >
+to be doubled. These two commands are equivalent: >
        if a =~ "\\s*"
        if a =~ '\s*'
 
@@ -980,7 +1058,7 @@ register                                           *expr-register* *@r*
 
 The result is the contents of the named register, as a single string.
 Newlines are inserted where required.  To get the contents of the unnamed
-register use @" or @@.  See |registers| for an explanation of the available
+register use @" or @@. See |registers| for an explanation of the available
 registers.
 
 When using the '=' register you get the expression itself, not what it
@@ -1047,7 +1125,7 @@ specified by what is prepended:
 |local-variable|     l:          Local to a function.
 |script-variable|    s:          Local to a |:source|'ed Vim script.
 |function-argument|  a:          Function argument (only inside a function).
-|vim-variable|       v:          Global, predefined by Vim.
+|vim-variable|      v:   Global, predefined by Vim.
 
 The scope name by itself can be used as a |Dictionary|.  For example, to
 delete all script-local variables: >
@@ -1068,8 +1146,8 @@ b:changedtick     The total number of changes to the current buffer.  It is
                in this case.  This can be used to perform an action only when
                the buffer has changed.  Example: >
                    :if my_changedtick != b:changedtick
-                   :   let my_changedtick = b:changedtick
-                   :   call My_Update()
+                   :   let my_changedtick = b:changedtick
+                   :   call My_Update()
                    :endif
 <
                                                *window-variable* *w:var*
@@ -1083,7 +1161,7 @@ without the +windows feature}
 
                                                *global-variable* *g:var*
 Inside functions global variables are accessed with "g:".  Omitting this will
-access a variable local to a function.  But "g:" can also be used in any other
+access a variable local to a function. But "g:" can also be used in any other
 place if you like.
 
                                                *local-variable* *l:var*
@@ -1216,7 +1294,7 @@ v:cmdarg  This variable is used for two purposes:
                   set before an autocommand event for a file read/write
                   command is triggered.  There is a leading space to make it
                   possible to append this variable directly after the
-                  read/write command.  Note: The "+cmd" argument isn't
+                  read/write command.  Note: The "+cmd" argument isn't
                   included here, because it will be executed anyway.
                2. When printing a PostScript file with ":hardcopy" this is
                   the argument for the ":hardcopy" command.  This can be used
@@ -1230,7 +1308,7 @@ v:cmdbang Set like v:cmdarg for a file read/write command.  When a "!"
 
                                        *v:count* *count-variable*
 v:count                The count given for the last Normal mode command.  Can be used
-               to get the count before a mapping.  Read-only.  Example: >
+               to get the count before a mapping.  Read-only.  Example: >
        :map _x :<C-U>echo "the count is " . v:count<CR>
 <              Note: The <C-U> is required to remove the line range that you
                get when typing ':' after a count.
@@ -1251,7 +1329,7 @@ v:ctype           The current locale setting for characters of the runtime
                See |multi-lang|.
 
                                        *v:dying* *dying-variable*
-v:dying                Normally zero.  When a deadly signal is caught it's set to
+v:dying                Normally zero.  When a deadly signal is caught it's set to
                one.  When multiple signals are caught the number increases.
                Can be used in an autocommand to check if Vim didn't
                terminate normally. {only works on Unix}
@@ -1321,7 +1399,7 @@ v:fname_out       The name of the output file.  Only valid while
                        'diffexpr'      output of diff
                        'patchexpr'     resulting patched file
                (*) When doing conversion for a write command (e.g., ":w
-               file") it will be equal to v:fname_in.  When doing conversion
+               file") it will be equal to v:fname_in.  When doing conversion
                for a read command (e.g., ":e file") it will be a temporary
                file and different from v:fname_in.
 
@@ -1423,7 +1501,7 @@ v:prevcount       The count given for the last but one Normal mode command.
 <              Read-only.
 
                                        *v:profiling* *profiling-variable*
-v:profiling    Normally zero.  Set to one after using ":profile start".
+v:profiling    Normally zero.  Set to one after using ":profile start".
                See |profiling|.
 
                                        *v:progname* *progname-variable*
@@ -1448,6 +1526,15 @@ v:scrollstart    String describing the script or function that caused the
 v:servername   The resulting registered |x11-clientserver| name if any.
                Read-only.
 
+               
+v:searchforward                        *v:searchforward* *searchforward-variable*
+               Search direction:  1 after a forward search, 0 after a
+               backward search.  It is reset to forward when directly setting
+               the last search pattern, see |quote/|.
+               Note that the value is restored when returning from a
+               function. |function-search-undo|.
+               Read-write.
+
                                        *v:shell_error* *shell_error-variable*
 v:shell_error  Result of the last shell command.  When non-zero, the last
                shell command had an error.  When zero, there was no problem.
@@ -1477,20 +1564,20 @@ v:swapchoice    |SwapExists| autocommands can set this to the selected choice
                        'd'     Delete swapfile
                        'q'     Quit
                        'a'     Abort
-               The value should be a single-character string.  An empty value
+               The value should be a single-character string.  An empty value
                results in the user being asked, as would happen when there is
                no SwapExists autocommand.  The default is empty.
 
                                        *v:swapcommand* *swapcommand-variable*
 v:swapcommand  Normal mode command to be executed after a file has been
                opened.  Can be used for a |SwapExists| autocommand to have
-               another Vim open the file and jump to the right place.  For
+               another Vim open the file and jump to the right place.  For
                example, when jumping to a tag the value is ":tag tagname\r".
                For ":edit +cmd file" the value is ":cmd\r".
 
                                *v:termresponse* *termresponse-variable*
 v:termresponse The escape sequence returned by the terminal for the |t_RV|
-               termcap entry.  It is set when Vim receives an escape sequence
+               termcap entry.  It is set when Vim receives an escape sequence
                that starts with ESC [ or CSI and ends in a 'c', with only
                digits, ';' and '.' in between.
                When this option is set, the TermResponse autocommand event is
@@ -1510,7 +1597,7 @@ v:this_session    Full filename of the last loaded or saved session file.  See
 
                                        *v:throwpoint* *throwpoint-variable*
 v:throwpoint   The point where the exception most recently caught and not
-               finished was thrown.  Not set when commands are typed.  See
+               finished was thrown.  Not set when commands are typed.  See
                also |v:exception| and |throw-variables|.
                Example: >
        :try
@@ -1521,7 +1608,7 @@ v:throwpoint      The point where the exception most recently caught and not
 <              Output: "Exception from test.vim, line 2"
 
                                                *v:val* *val-variable*
-v:val          Value of the current item of a |List| or |Dictionary|.  Only
+v:val          Value of the current item of a |List| or |Dictionary|.  Only
                valid while evaluating the expression used with |map()| and
                |filter()|.  Read-only.
 
@@ -1548,6 +1635,7 @@ See |function-list| for a list grouped by what the function is used for.
 
 USAGE                          RESULT  DESCRIPTION     ~
 
+abs( {expr})                   Float or Number  absolute value of {expr}
 add( {list}, {item})           List    append {item} to |List| {list}
 append( {lnum}, {string})      Number  append {string} below line {lnum}
 append( {lnum}, {list})                Number  append lines {list} below line {lnum}
@@ -1555,9 +1643,10 @@ argc()                           Number  number of files in the argument list
 argidx()                       Number  current index in the argument list
 argv( {nr})                    String  {nr} entry of the argument list
 argv( )                                List    the argument list
+atan( {expr})                  Float   arc tangent of {expr}
 browse( {save}, {title}, {initdir}, {default})
                                String  put up a file requester
-browsedir( {title}, {initdir})  String put up a directory requester
+browsedir( {title}, {initdir}) String  put up a directory requester
 bufexists( {expr})             Number  TRUE if buffer {expr} exists
 buflisted( {expr})             Number  TRUE if buffer {expr} is listed
 bufloaded( {expr})             Number  TRUE if buffer {expr} is loaded
@@ -1568,17 +1657,19 @@ byte2line( {byte})              Number  line number at byte count {byte}
 byteidx( {expr}, {nr})         Number  byte index of {nr}'th char in {expr}
 call( {func}, {arglist} [, {dict}])
                                any     call {func} with arguments {arglist}
-changenr()                     Number  current change number
+ceil( {expr})                  Float   round {expr} up
+changenr()                     Number  current change number
 char2nr( {expr})               Number  ASCII value of first char in {expr}
 cindent( {lnum})               Number  C indent for line {lnum}
 clearmatches()                 None    clear all matches
 col( {expr})                   Number  column nr of cursor or mark
-complete({startcol}, {matches})        String  set Insert mode completion
+complete({startcol}, {matches})        String  set Insert mode completion
 complete_add( {expr})          Number  add completion match
-complete_check()               Number  check for key typed during completion
+complete_check()               Number  check for key typed during completion
 confirm( {msg} [, {choices} [, {default} [, {type}]]])
                                Number  number of choice picked by user
 copy( {expr})                  any     make a shallow copy of {expr}
+cos( {expr})                   Float   cosine of {expr}
 count( {list}, {expr} [, {start} [, {ic}]])
                                Number   count how many {expr} are in {list}
 cscope_connection( [{num} , {dbpath} [, {prepend}]])
@@ -1600,7 +1691,7 @@ exists( {expr})                   Number  TRUE if {expr} exists
 extend({expr1}, {expr2} [, {expr3}])
                                List/Dict insert items of {expr2} into {expr1}
 expand( {expr})                        String  expand special keywords in {expr}
-feedkeys( {string} [, {mode}]) Number  add key sequence to typeahead buffer
+feedkeys( {string} [, {mode}]) Number  add key sequence to typeahead buffer
 filereadable( {file})          Number  TRUE if {file} is a readable file
 filewritable( {file})          Number  TRUE if {file} is a writable file
 filter( {expr}, {string})      List/Dict  remove items from {expr} where
@@ -1609,6 +1700,8 @@ finddir( {name}[, {path}[, {count}]])
                                String  find directory {name} in {path}
 findfile( {name}[, {path}[, {count}]])
                                String  find file {name} in {path}
+float2nr( {expr})              Number  convert Float {expr} to a Number
+floor( {expr})                 Float   round {expr} down
 fnameescape( {fname})          String  escape special characters in {fname}
 fnamemodify( {fname}, {mods})  String  modify file name
 foldclosed( {lnum})            Number  first line of fold at {lnum} if closed
@@ -1687,6 +1780,7 @@ line( {expr})                     Number  line nr of cursor, last line or mark
 line2byte( {lnum})             Number  byte count of line {lnum}
 lispindent( {lnum})            Number  Lisp indent for line {lnum}
 localtime()                    Number  current time
+log10( {expr})                 Float   logarithm of Float {expr} to base 10
 map( {expr}, {string})         List/Dict  change each item in {expr} to {expr}
 maparg( {name}[, {mode} [, {abbr}]])
                                String  rhs of mapping {name} in mode {mode}
@@ -1708,13 +1802,14 @@ max({list})                     Number  maximum value of items in {list}
 min({list})                    Number  minimum value of items in {list}
 mkdir({name} [, {path} [, {prot}]])
                                Number  create directory {name}
-mode()                         String  current editing mode
+mode( [expr])                  String  current editing mode
 nextnonblank( {lnum})          Number  line nr of non-blank line >= {lnum}
 nr2char( {expr})               String  single char with ASCII value {expr}
 pathshorten( {expr})           String  shorten directory names in a path
+pow( {x}, {y})                 Float   {x} to the power of {y}
 prevnonblank( {lnum})          Number  line nr of non-blank line <= {lnum}
-printf( {fmt}, {expr1}...)     String  format text
-pumvisible()                   Number  whether popup menu is visible
+printf( {fmt}, {expr1}...)     String  format text
+pumvisible()                   Number  whether popup menu is visible
 range( {expr} [, {max} [, {stride}]])
                                List    items from {expr} to {max}
 readfile({fname} [, {binary} [, {max}]])
@@ -1735,10 +1830,11 @@ rename( {from}, {to})           Number  rename (move) file from {from} to {to}
 repeat( {expr}, {count})       String  repeat {expr} {count} times
 resolve( {filename})           String  get filename a shortcut points to
 reverse( {list})               List    reverse {list} in-place
+round( {expr})                 Float   round off {expr}
 search( {pattern} [, {flags} [, {stopline} [, {timeout}]]])
                                Number  search for {pattern}
 searchdecl({name} [, {global} [, {thisblock}]])
-                               Number  search for variable declaration
+                               Number  search for variable declaration
 searchpair( {start}, {middle}, {end} [, {flags} [, {skip} [...]]])
                                Number  search for other end of start/end pair
 searchpairpos( {start}, {middle}, {end} [, {flags} [, {skip} [...]]])
@@ -1763,6 +1859,7 @@ setwinvar( {nr}, {varname}, {val})        set {varname} in window {nr} to {val}
 shellescape( {string})         String  escape {string} for use as shell
                                        command argument
 simplify( {filename})          String  simplify filename as much as possible
+sin( {expr})                   Float   sine of {expr}
 sort( {list} [, {func}])       List    sort {list}, using {func} to compare
 soundfold( {word})             String  sound-fold {word}
 spellbadword()                 String  badly spelled word at cursor
@@ -1770,7 +1867,9 @@ spellsuggest( {word} [, {max} [, {capital}]])
                                List    spelling suggestions
 split( {expr} [, {pat} [, {keepempty}]])
                                List    make |List| from {pat} separated {expr}
-str2nr( {expr} [, {base}])     Number  convert string to number
+sqrt( {expr}                   Float   squar root of {expr}
+str2float( {expr})             Float   convert String to Float
+str2nr( {expr} [, {base}])     Number  convert String to Number
 strftime( {format}[, {time}])  String  time in specified format
 stridx( {haystack}, {needle}[, {start}])
                                Number  index of {needle} in {haystack}
@@ -1788,19 +1887,20 @@ synID( {lnum}, {col}, {trans})  Number  syntax ID at {lnum} and {col}
 synIDattr( {synID}, {what} [, {mode}])
                                String  attribute {what} of syntax ID {synID}
 synIDtrans( {synID})           Number  translated syntax ID of {synID}
-synstack({lnum}, {col})                List    stack of syntax IDs at {lnum} and {col}
+synstack({lnum}, {col})                List    stack of syntax IDs at {lnum} and {col}
 system( {expr} [, {input}])    String  output of shell command/filter {expr}
 tabpagebuflist( [{arg}])       List    list of buffer numbers in tab page
 tabpagenr( [{arg}])            Number  number of current or last tab page
 tabpagewinnr( {tabarg}[, {arg}])
                                Number  number of current window in tab page
 taglist( {expr})               List    list of tags matching {expr}
-tagfiles()                     List    tags files used
+tagfiles()                     List    tags files used
 tempname()                     String  name for a temporary file
 tolower( {expr})               String  the String {expr} switched to lowercase
 toupper( {expr})               String  the String {expr} switched to uppercase
 tr( {src}, {fromstr}, {tostr}) String  translate chars of {src} in {fromstr}
                                        to chars in {tostr}
+trunc( {expr}                  Float   truncate Float {expr}
 type( {name})                  Number  type of variable {name}
 values( {dict})                        List    values in {dict}
 virtcol( {expr})               Number  screen column of cursor or mark
@@ -1817,6 +1917,20 @@ winwidth( {nr})                  Number  width of window {nr}
 writefile({list}, {fname} [, {binary}])
                                Number  write list of lines to file {fname}
 
+abs({expr})                                                    *abs()*
+               Return the absolute value of {expr}.  When {expr} evaluates to
+               a |Float| abs() returns a |Float|.  When {expr} can be
+               converted to a |Number| abs() returns a |Number|.  Otherwise
+               abs() gives an error message and returns -1.
+               Examples: >
+                       echo abs(1.456)
+<                      1.456  >
+                       echo abs(-5.456)
+<                      5.456  >
+                       echo abs(-4)
+<                      4
+               {only available when compiled with the |+float| feature}
+
 add({list}, {expr})                                    *add()*
                Append the item {expr} to |List| {list}.  Returns the
                resulting |List|.  Examples: >
@@ -1834,7 +1948,7 @@ append({lnum}, {expr})                                    *append()*
                the current buffer.
                {lnum} can be zero to insert a line before the first one.
                Returns 1 for failure ({lnum} out of range or out of memory),
-               0 for success.  Example: >
+               0 for success.  Example: >
                        :let failed = append(line('$'), "# THE END")
                        :let failed = append(0, ["Chapter 1", "the beginning"])
 <
@@ -1852,13 +1966,24 @@ argv([{nr}])    The result is the {nr}th file in the argument list of the
                Example: >
        :let i = 0
        :while i < argc()
-       :  let f = escape(argv(i), '. ')
+       :  let f = escape(fnameescape(argv(i)), '.')
        :  exe 'amenu Arg.' . f . ' :e ' . f . '<CR>'
        :  let i = i + 1
        :endwhile
 <              Without the {nr} argument a |List| with the whole |arglist| is
                returned.
 
+atan({expr})                                           *atan()*
+               Return the principal value of the arc tangent of {expr}, in
+               the range [-pi/2, +pi/2] radians, as a |Float|.
+               {expr} must evaluate to a |Float| or a |Number|.
+               Examples: >
+                       :echo atan(100)
+<                      1.560797 >
+                       :echo atan(-4.01)
+<                      -1.326405
+               {only available when compiled with the |+float| feature}
+
                                                        *browse()*
 browse({save}, {title}, {initdir}, {default})
                Put up a file requester.  This only works when "has("browse")"
@@ -1892,12 +2017,15 @@ bufexists({expr})                                       *bufexists()*
                exactly.  The name can be:
                - Relative to the current directory.
                - A full path.
-               - The name of a buffer with 'filetype' set to "nofile".
+               - The name of a buffer with 'buftype' set to "nofile".
                - A URL name.
                Unlisted buffers will be found.
                Note that help files are listed by their short name in the
                output of |:buffers|, but bufexists() requires using their
                long name to be able to find them.
+               bufexists() may report a buffer exists, but to use the name
+               with a |:buffer| command you may need to use |expand()|.  Esp
+               for MS-Windows 8.3 names in the form "c:\DOCUME~1"
                Use "bufexists(0)" to test for the existence of an alternate
                file name.
                                                        *buffer_exists()*
@@ -1919,7 +2047,7 @@ bufname({expr})                                           *bufname()*
                If {expr} is a Number, that buffer number's name is given.
                Number zero is the alternate buffer for the current window.
                If {expr} is a String, it is used as a |file-pattern| to match
-               with the buffer names.  This is always done like 'magic' is
+               with the buffer names.  This is always done like 'magic' is
                set and 'cpoptions' is empty.  When there is more than one
                match an empty string is returned.
                "" or "%" can be used for the current buffer, "#" for the
@@ -1965,7 +2093,7 @@ bufnr({expr} [, {create}])
 bufwinnr({expr})                                       *bufwinnr()*
                The result is a Number, which is the number of the first
                window associated with buffer {expr}.  For the use of {expr},
-               see |bufname()| above.  If buffer {expr} doesn't exist or
+               see |bufname()| above.  If buffer {expr} doesn't exist or
                there is no such window, -1 is returned.  Example: >
 
        echo "A window containing buffer 1 is " . (bufwinnr(1))
@@ -2010,6 +2138,19 @@ call({func}, {arglist} [, {dict}])                       *call()* *E699*
                {dict} is for functions with the "dict" attribute.  It will be
                used to set the local variable "self". |Dictionary-function|
 
+ceil({expr})                                                   *ceil()*
+               Return the smallest integral value greater than or equal to
+               {expr} as a |Float| (round up).
+               {expr} must evaluate to a |Float| or a |Number|.
+               Examples: >
+                       echo ceil(1.456)
+<                      2.0  >
+                       echo ceil(-5.456)
+<                      -5.0  >
+                       echo ceil(4.0)
+<                      4.0
+               {only available when compiled with the |+float| feature}
+
 changenr()                                             *changenr()*
                Return the number of the most recent change.  This is the same
                number as what is displayed with |:undolist| and can be used
@@ -2025,7 +2166,7 @@ char2nr({expr})                                           *char2nr()*
 <              The current 'encoding' is used.  Example for "utf-8": >
                        char2nr("á")            returns 225
                        char2nr("á"[0])         returns 195
-<              nr2char() does the opposite.
+<              |nr2char()| does the opposite.
 
 cindent({lnum})                                                *cindent()*
                Get the amount of indent for line {lnum} according the C
@@ -2050,7 +2191,7 @@ col({expr})       The result is a Number, which is the byte index of the column
                            returned)
                Additionally {expr} can be [lnum, col]: a |List| with the line
                and column number. Most useful when the column is "$", to get
-               the las column of a specific line.  When "lnum" or "col" is
+               the last column of a specific line.  When "lnum" or "col" is
                out of range then col() returns zero.
                To get the line number use |line()|.  To get both use
                |getpos()|.
@@ -2061,7 +2202,7 @@ col({expr})       The result is a Number, which is the byte index of the column
                        col("$")                length of cursor line plus one
                        col("'t")               column of mark t
                        col("'" . markname)     column of mark markname
-<              The first column is 1.  0 is returned for an error.
+<              The first column is 1.  0 is returned for an error.
                For an uppercase mark the column may actually be in another
                buffer.
                For the cursor position, when 'virtualedit' is active, the
@@ -2108,7 +2249,7 @@ complete_add({expr})                              *complete_add()*
                Returns 0 for failure (empty string or out of memory),
                1 when the match was added, 2 when the match was already in
                the list.
-               See |complete-functions| for an explanation of {expr}.  It is
+               See |complete-functions| for an explanation of {expr}.  It is
                the same as one item in the list that 'omnifunc' would return.
 
 complete_check()                               *complete_check()*
@@ -2144,7 +2285,7 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
                that is made if the user hits <CR>.  Use 1 to make the first
                choice the default one.  Use 0 to not set a default.  If
                {default} is omitted, 1 is used.
-               The optional {type} argument gives the type of dialog.  This
+               The optional {type} argument gives the type of dialog.  This
                is only used for the icon of the Win32 GUI.  It can be one of
                these values: "Error", "Question", "Info", "Warning" or
                "Generic".  Only the first character is relevant.  When {type}
@@ -2163,20 +2304,31 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
    :endif
 <              In a GUI dialog, buttons are used.  The layout of the buttons
                depends on the 'v' flag in 'guioptions'.  If it is included,
-               the buttons are always put vertically.  Otherwise,  confirm()
+               the buttons are always put vertically.  Otherwise,  confirm()
                tries to put the buttons in one horizontal line.  If they
                don't fit, a vertical layout is used anyway.  For some systems
                the horizontal layout is always used.
 
                                                        *copy()*
-copy({expr})   Make a copy of {expr}.  For Numbers and Strings this isn't
+copy({expr})   Make a copy of {expr}.  For Numbers and Strings this isn't
                different from using {expr} directly.
                When {expr} is a |List| a shallow copy is created.  This means
                that the original |List| can be changed without changing the
-               copy, and vise versa.  But the items are identical, thus
-               changing an item changes the contents of both |Lists|.  Also
+               copy, and vice versa.  But the items are identical, thus
+               changing an item changes the contents of both |Lists|.  Also
                see |deepcopy()|.
 
+cos({expr})                                            *cos()*
+               Return the cosine of {expr}, measured in radians, as a |Float|.
+               {expr} must evaluate to a |Float| or a |Number|.
+               Examples: >
+                       :echo cos(100)
+<                      0.862319 >
+                       :echo cos(-4.01)
+<                      -0.646043
+               {only available when compiled with the |+float| feature}
+
+               
 count({comp}, {expr} [, {ic} [, {start}]])                     *count()*
                Return the number of times an item with value {expr} appears
                in |List| or |Dictionary| {comp}.
@@ -2247,11 +2399,11 @@ cursor({list})
 
 
 deepcopy({expr}[, {noref}])                            *deepcopy()* *E698*
-               Make a copy of {expr}.  For Numbers and Strings this isn't
+               Make a copy of {expr}.  For Numbers and Strings this isn't
                different from using {expr} directly.
                When {expr} is a |List| a full copy is created.  This means
                that the original |List| can be changed without changing the
-               copy, and vise versa.  When an item is a |List|, a copy for it
+               copy, and vice versa.  When an item is a |List|, a copy for it
                is made, recursively.  Thus changing an item in the copy does
                not change the contents of the original |List|.
                When {noref} is omitted or zero a contained |List| or
@@ -2305,7 +2457,7 @@ diff_hlID({lnum}, {col})                          *diff_hlID()*
 empty({expr})                                          *empty()*
                Return the Number 1 if {expr} is empty, zero otherwise.
                A |List| or |Dictionary| is empty when it does not have any
-               items.  A Number is empty when its value is zero.
+               items.  A Number is empty when its value is zero.
                For a long |List| this is much faster then comparing the
                length with zero.
 
@@ -2315,12 +2467,14 @@ escape({string}, {chars})                               *escape()*
                        :echo escape('c:\program files\vim', ' \')
 <              results in: >
                        c:\\program\ files\\vim
+<              Also see |shellescape()|.
 
-<                                                      *eval()*
+                                                       *eval()*
 eval({string}) Evaluate {string} and return the result.  Especially useful to
                turn the result of |string()| back into the original value.
-               This works for Numbers, Strings and composites of them.
-               Also works for |Funcref|s that refer to existing functions.
+               This works for Numbers, Floats, Strings and composites of
+               them.  Also works for |Funcref|s that refer to existing
+               functions.
 
 eventhandler()                                         *eventhandler()*
                Returns 1 when inside an event handler.  That is that Vim got
@@ -2336,10 +2490,10 @@ executable({expr})                                      *executable()*
                searchpath for programs.                *PATHEXT*
                On MS-DOS and MS-Windows the ".exe", ".bat", etc. can
                optionally be included.  Then the extensions in $PATHEXT are
-               tried.  Thus if "foo.exe" does not exist, "foo.exe.bat" can be
-               found.  If $PATHEXT is not set then ".exe;.com;.bat;.cmd" is
+               tried.  Thus if "foo.exe" does not exist, "foo.exe.bat" can be
+               found.  If $PATHEXT is not set then ".exe;.com;.bat;.cmd" is
                used.  A dot by itself can be used in $PATHEXT to try using
-               the name without an extension.  When 'shell' looks like a
+               the name without an extension.  When 'shell' looks like a
                Unix shell, then the name is also tried without adding an
                extension.
                On MS-DOS and MS-Windows it only checks if the file exists and
@@ -2366,7 +2520,7 @@ exists({expr})    The result is a Number, which is non-zero if {expr} is
                                        or user defined function (see
                                        |user-functions|).
                        varname         internal variable (see
-                                       |internal-variables|).  Also works
+                                       |internal-variables|).  Also works
                                        for |curly-braces-names|, |Dictionary|
                                        entries, |List| items, etc.  Beware
                                        that this may cause functions to be
@@ -2435,7 +2589,7 @@ expand({expr} [, {flag}])                         *expand()*
                characters.  [Note: in version 5.0 a space was used, which
                caused problems when a file name contains a space]
 
-               If the expansion fails, the result is an empty string.  A name
+               If the expansion fails, the result is an empty string.  A name
                for a non-existing file is not included.
 
                When {expr} starts with '%', '#' or '<', the expansion is done
@@ -2494,9 +2648,9 @@ expand({expr} [, {flag}])                         *expand()*
 <
                Expand() can also be used to expand variables and environment
                variables that are only known in a shell.  But this can be
-               slow, because a shell must be started.  See |expr-env-expand|.
+               slow, because a shell must be started.  See |expr-env-expand|.
                The expanded variable is still handled like a list of file
-               names.  When an environment variable cannot be expanded, it is
+               names.  When an environment variable cannot be expanded, it is
                left unchanged.  Thus ":echo expand('$FOOBAR')" results in
                "$FOOBAR".
 
@@ -2515,7 +2669,7 @@ extend({expr1}, {expr2} [, {expr3}])                      *extend()*
                Examples: >
                        :echo sort(extend(mylist, [7, 5]))
                        :call extend(mylist, [2, 3], 1)
-<              Use |add()| to concatenate one item to a list.  To concatenate
+<              Use |add()| to concatenate one item to a list.  To concatenate
                two lists into a new list use the + operator: >
                        :let newlist = [1, 2, 3] + [4, 5]
 <
@@ -2536,7 +2690,7 @@ extend({expr1}, {expr2} [, {expr3}])                      *extend()*
 
 feedkeys({string} [, {mode}])                          *feedkeys()*
                Characters in {string} are queued for processing as if they
-               come from a mapping or were typed by the user.  They are added
+               come from a mapping or were typed by the user.  They are added
                to the end of the typeahead buffer, thus if a mapping is still
                being executed these characters come after them.
                The function does not wait for processing of keys contained in
@@ -2568,7 +2722,7 @@ filereadable({file})                                      *filereadable()*
 filewritable({file})                                   *filewritable()*
                The result is a Number, which is 1 when a file with the
                name {file} exists, and can be written.  If {file} doesn't
-               exist, or is not writable, the result is 0.  If (file) is a
+               exist, or is not writable, the result is 0.  If {file} is a
                directory, and we can write to it, the result is 2.
 
 
@@ -2621,13 +2775,47 @@ findfile({name}[, {path}[, {count}]])                           *findfile()*
 <              Searches from the directory of the current file upwards until
                it finds the file "tags.vim".
 
+float2nr({expr})                                       *float2nr()*
+               Convert {expr} to a Number by omitting the part after the
+               decimal point.
+               {expr} must evaluate to a |Float| or a Number.
+               When the value of {expr} is out of range for a |Number| the
+               result is truncated to 0x7fffffff or -0x7fffffff.  NaN results
+               in -0x80000000.
+               Examples: >
+                       echo float2nr(3.95)
+<                      3  >
+                       echo float2nr(-23.45)
+<                      -23  >
+                       echo float2nr(1.0e100)
+<                      2147483647  >
+                       echo float2nr(-1.0e150)
+<                      -2147483647  >
+                       echo float2nr(1.0e-100)
+<                      0
+               {only available when compiled with the |+float| feature}
+
+
+floor({expr})                                                  *floor()*
+               Return the largest integral value less than or equal to
+               {expr} as a |Float| (round down).
+               {expr} must evaluate to a |Float| or a |Number|.
+               Examples: >
+                       echo floor(1.856)
+<                      1.0  >
+                       echo floor(-5.456)
+<                      -6.0  >
+                       echo floor(4.0)
+<                      4.0
+               {only available when compiled with the |+float| feature}
+               
 fnameescape({string})                                  *fnameescape()*
-               Escape {string} for use as file name command argument.  All
+               Escape {string} for use as file name command argument.  All
                characters that have a special meaning, such as '%' and '|'
                are escaped with a backslash.
-               For most systems the characters escaped are "".  For systems
-               where a backslash appears in a filename, it depends on the
-               value of 'isfname'.
+               For most systems the characters escaped are
+               " \t\n*?[{`$\\%#'\"|!<".  For systems where a backslash
+               appears in a filename, it depends on the value of 'isfname'.
                Example: >
                        :let fname = 'some str%nge|name'
                        :exe "edit " . fnameescape(fname)
@@ -2642,7 +2830,7 @@ fnamemodify({fname}, {mods})                              *fnamemodify()*
                        :echo fnamemodify("main.c", ":p:h")
 <              results in: >
                        /home/mool/vim/vim/src
-<              Note: Environment variables and "~" don't work in {fname}, use
+<              Note: Environment variables don't work in {fname}, use
                |expand()| first then.
 
 foldclosed({lnum})                                     *foldclosed()*
@@ -2657,7 +2845,7 @@ foldclosedend({lnum})                                     *foldclosedend()*
 
 foldlevel({lnum})                                      *foldlevel()*
                The result is a Number, which is the foldlevel of line {lnum}
-               in the current buffer.  For nested folds the deepest level is
+               in the current buffer.  For nested folds the deepest level is
                returned.  If there is no fold at line {lnum}, zero is
                returned.  It doesn't matter if the folds are open or closed.
                When used while updating folds (from 'foldexpr') -1 is
@@ -2672,7 +2860,7 @@ foldtext()        Returns a String, to be displayed for a closed fold.  This is
                |v:foldstart|, |v:foldend| and |v:folddashes| variables.
                The returned string looks like this: >
                        +-- 45 lines: abcdef
-<              The number of dashes depends on the foldlevel.  The "45" is
+<              The number of dashes depends on the foldlevel.  The "45" is
                the number of lines in the fold.  "abcdef" is the text in the
                first non-blank line of the fold.  Leading white space, "//"
                or "/*" and the text from the 'foldmarker' and 'commentstring'
@@ -2690,7 +2878,7 @@ foldtextresult({lnum})                                    *foldtextresult()*
                {not available when compiled without the |+folding| feature}
 
                                                        *foreground()*
-foreground()   Move the Vim window to the foreground.  Useful when sent from
+foreground()   Move the Vim window to the foreground.  Useful when sent from
                a client to a Vim server. |remote_send()|
                On Win32 systems this might not work, the OS does not always
                allow a window to bring itself to the foreground.  Use
@@ -2793,7 +2981,7 @@ getchar([expr])                                           *getchar()*
                |v:mouse_lnum| and |v:mouse_win|.  This example positions the
                mouse as it would normally happen: >
                        let c = getchar()
-                       if c == "\<LeftMouse>" && v:mouse_win > 0
+                       if c == "\<LeftMouse>" && v:mouse_win > 0
                          exe v:mouse_win . "wincmd w"
                          exe v:mouse_lnum
                          exe "normal " . v:mouse_col . "|"
@@ -2831,7 +3019,7 @@ getcharmod()                                              *getcharmod()*
                        64      mouse quadruple click
                        128     Macintosh only: command
                Only the modifiers that have not been included in the
-               character itself are obtained.  Thus Shift-a results in "A"
+               character itself are obtained.  Thus Shift-a results in "A"
                with no modifier.
 
 getcmdline()                                           *getcmdline()*
@@ -3058,7 +3246,7 @@ getwinposx()      The result is a Number, which is the X coordinate in pixels of
 
                                                        *getwinposy()*
 getwinposy()   The result is a Number, which is the Y coordinate in pixels of
-               the top of the GUI Vim window.  The result will be -1 if the
+               the top of the GUI Vim window.  The result will be -1 if the
                information is not available.
 
 getwinvar({winnr}, {varname})                          *getwinvar()*
@@ -3073,6 +3261,8 @@ glob({expr})      Expand the file wildcards in {expr}.  See |wildcards| for the
                The result is a String.
                When there are several matches, they are separated by <NL>
                characters.
+               The 'wildignore' option applies: Names matching one of the
+               patterns in 'wildignore' will be skipped.
                If the expansion fails, the result is an empty string.
                A name for a non-existing file is not included.
 
@@ -3081,7 +3271,7 @@ glob({expr})      Expand the file wildcards in {expr}.  See |wildcards| for the
                        :let tagfiles = glob("`find . -name tags -print`")
                        :let &tags = substitute(tagfiles, "\n", ",", "g")
 <              The result of the program inside the backticks should be one
-               item per line.  Spaces inside an item are allowed.
+               item per line.  Spaces inside an item are allowed.
 
                See |expand()| for expanding special Vim variables.  See
                |system()| for getting the raw output of an external command.
@@ -3119,7 +3309,7 @@ has_key({dict}, {key})                                    *has_key()*
 
 haslocaldir()                                          *haslocaldir()*
                The result is a Number, which is 1 when the current
-                window has set a local path via |:lcd|, and 0 otherwise.
+               window has set a local path via |:lcd|, and 0 otherwise.
 
 hasmapto({what} [, {mode} [, {abbr}]])                 *hasmapto()*
                The result is a Number, which is 1 if there is a mapping that
@@ -3142,7 +3332,7 @@ hasmapto({what} [, {mode} [, {abbr}]])                    *hasmapto()*
                When {mode} is omitted, "nvo" is used.
 
                This function is useful to check if a mapping already exists
-               to a function in a Vim script.  Example: >
+               to a function in a Vim script.  Example: >
                        :if !hasmapto('\ABCdoit')
                        :   map <Leader>d \ABCdoit
                        :endif
@@ -3154,7 +3344,7 @@ histadd({history}, {item})                                *histadd()*
                one of:                                 *hist-names*
                        "cmd"    or ":"   command line history
                        "search" or "/"   search pattern history
-                       "expr"   or "="   typed expression history
+                       "expr"   or "="   typed expression history
                        "input"  or "@"   input line history
                If {item} does already exist in the history, it will be
                shifted to become the newest entry.
@@ -3171,7 +3361,7 @@ histdel({history} [, {item}])                             *histdel()*
                for the possible values of {history}.
 
                If the parameter {item} is given as String, this is seen
-               as regular expression.  All entries matching that expression
+               as regular expression.  All entries matching that expression
                will be removed from the history (if there are any).
                Upper/lowercase must match, unless "\c" is used |/\c|.
                If {item} is a Number, it will be interpreted as index, see
@@ -3235,7 +3425,7 @@ hlID({name})      The result is a Number, which is the ID of the highlight group
                with name {name}.  When the highlight group doesn't exist,
                zero is returned.
                This can be used to retrieve information about the highlight
-               group.  For example, to get the background color of the
+               group.  For example, to get the background color of the
                "Comment" group: >
        :echo synIDattr(synIDtrans(hlID("Comment")), "bg")
 <                                                      *highlightID()*
@@ -3292,7 +3482,7 @@ input({prompt} [, {text} [, {completion}]])               *input()*
                prompt to start a new line.
                The highlighting set with |:echohl| is used for the prompt.
                The input is entered just like a command-line, with the same
-               editing commands and mappings.  There is a separate history
+               editing commands and mappings.  There is a separate history
                for lines typed for input().
                Example: >
                        :if input("Coffee or beer? ") == "beer"
@@ -3305,9 +3495,9 @@ input({prompt} [, {text} [, {completion}]])               *input()*
 
 <              The optional {completion} argument specifies the type of
                completion supported for the input.  Without it completion is
-               not performed.  The supported completion types are the same as
+               not performed.  The supported completion types are the same as
                that can be supplied to a user-defined command using the
-               "-complete=" argument.  Refer to |:command-completion| for
+               "-complete=" argument.  Refer to |:command-completion| for
                more information.  Example: >
                        let fname = input("File: ", "", "file")
 <
@@ -3348,12 +3538,12 @@ inputlist({textlist})                                   *inputlist()*
                displayed, one string per line.  The user will be prompted to
                enter a number, which is returned.
                The user can also select an item by clicking on it with the
-               mouse.  For the first string 0 is returned.  When clicking
+               mouse.  For the first string 0 is returned.  When clicking
                above the first item a negative number is returned.  When
                clicking on the prompt one more than the length of {textlist}
                is returned.
                Make sure {textlist} has less then 'lines' entries, otherwise
-               it won't work.  It's a good idea to put the entry number at
+               it won't work.  It's a good idea to put the entry number at
                the start of the string.  And put a prompt in the first item.
                Example: >
                        let color = inputlist(['Select color:', '1. red',
@@ -3387,7 +3577,7 @@ inputsecret({prompt} [, {text}])                  *inputsecret()*
 insert({list}, {item} [, {idx}])                       *insert()*
                Insert {item} at the start of |List| {list}.
                If {idx} is specified insert {item} before the item with index
-               {idx}.  If {idx} is zero it goes before the first item, just
+               {idx}.  If {idx} is zero it goes before the first item, just
                like omitting {idx}.  A negative {idx} is also possible, see
                |list-index|.  -1 inserts just before the last item.
                Returns the resulting |List|.  Examples: >
@@ -3483,7 +3673,7 @@ libcall({libname}, {funcname}, {argument})
                it's then freed when the DLL is unloaded.
 
                WARNING: If the function returns a non-valid pointer, Vim may
-               crash!  This also happens if the function returns a number,
+               crash!  This also happens if the function returns a number,
                because Vim thinks it's a pointer.
                For Win32 systems, {libname} should be the filename of the DLL
                without the ".DLL" suffix.  A full path is only required if
@@ -3494,7 +3684,6 @@ libcall({libname}, {funcname}, {argument})
                feature is present}
                Examples: >
                        :echo libcall("libc.so", "getenv", "HOME")
-                       :echo libcallnr("/usr/lib/libc.so", "getpid", "")
 <
                                                        *libcallnr()*
 libcallnr({libname}, {funcname}, {argument})
@@ -3502,7 +3691,8 @@ libcallnr({libname}, {funcname}, {argument})
                int instead of a string.
                {only in Win32 on some Unix versions, when the |+libcall|
                feature is present}
-               Example (not very useful...): >
+               Examples: >
+                       :echo libcallnr("/usr/lib/libc.so", "getpid", "")
                        :call libcallnr("libc.so", "printf", "Hello World!\n")
                        :call libcallnr("libc.so", "sleep", 10)
 <
@@ -3530,7 +3720,7 @@ line({expr})      The result is a Number, which is the line number of the file
 <                                                      *last-position-jump*
                This autocommand jumps to the last known position in a file
                just after opening it, if the '" mark is set: >
-       :au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g'\"" | endif
+       :au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
 
 line2byte({lnum})                                      *line2byte()*
                Return the byte count from the start of the buffer for line
@@ -3558,6 +3748,16 @@ localtime()                                              *localtime()*
                1970.  See also |strftime()| and |getftime()|.
 
 
+log10({expr})                                          *log10()*
+               Return the logarithm of Float {expr} to base 10 as a |Float|.
+               {expr} must evaluate to a |Float| or a |Number|.
+               Examples: >
+                       :echo log10(1000)
+<                      3.0 >
+                       :echo log10(0.01)
+<                      -2.0
+               {only available when compiled with the |+float| feature}
+               
 map({expr}, {string})                                  *map()*
                {expr} must be a |List| or a |Dictionary|.
                Replace each item in {expr} with the result of evaluating
@@ -3615,7 +3815,7 @@ mapcheck({name}[, {mode} [, {abbr}]])                     *mapcheck()*
                A match happens with a mapping that starts with {name} and
                with a mapping which is equal to the start of {name}.
 
-                       matches mapping "a"     "ab"    "abc" ~
+                       matches mapping "a"     "ab"    "abc" ~
                   mapcheck("a")        yes     yes      yes
                   mapcheck("abc")      yes     yes      yes
                   mapcheck("ax")       yes     no       no
@@ -3642,7 +3842,7 @@ match({expr}, {pat}[, {start}[, {count}]])                        *match()*
                When {expr} is a |List| then this returns the index of the
                first item where {pat} matches.  Each item is used as a
                String, |Lists| and |Dictionaries| are used as echoed.
-               Otherwise, {expr} is used as a String.  The result is a
+               Otherwise, {expr} is used as a String.  The result is a
                Number, which gives the index (byte offset) in {expr} where
                {pat} matches.
                A match at the first character or |List| item returns zero.
@@ -3652,7 +3852,7 @@ match({expr}, {pat}[, {start}[, {count}]])                        *match()*
                        :echo match([1, 'x'], '\a')     " results in 1
 <              See |string-match| for how {pat} is used.
                                                                *strpbrk()*
-               Vim doesn't have a strpbrk() function.  But you can do: >
+               Vim doesn't have a strpbrk() function.  But you can do: >
                        :let sepidx = match(line, '[.,;: \t]')
 <                                                              *strcasestr()*
                Vim doesn't have a strcasestr() function.  But you can add
@@ -3689,7 +3889,7 @@ match({expr}, {pat}[, {start}[, {count}]])                        *match()*
 
                See |pattern| for the patterns that are accepted.
                The 'ignorecase' option is used to set the ignore-caseness of
-               the pattern.  'smartcase' is NOT used.  The matching is always
+               the pattern.  'smartcase' is NOT used.  The matching is always
                done like 'magic' is set and 'cpoptions' is empty.
 
                                        *matchadd()* *E798* *E799* *E801*
@@ -3700,7 +3900,7 @@ matchadd({group}, {pattern}[, {priority}[, {id}]])
                match using |matchdelete()|.
 
                The optional {priority} argument assigns a priority to the
-               match.  A match with a high priority will have its
+               match.  A match with a high priority will have its
                highlighting overrule that of a match with a lower priority.
                A priority is specified as an integer (negative numbers are no
                exception).  If the {priority} argument is not specified, the
@@ -3728,7 +3928,7 @@ matchadd({group}, {pattern}[, {priority}[, {id}]])
                        :call matchdelete(m)
 
 <              A list of matches defined by |matchadd()| and |:match| are
-               available from |getmatches()|.  All matches can be deleted in
+               available from |getmatches()|.  All matches can be deleted in
                one operation by |clearmatches()|.
 
 matcharg({nr})                                                 *matcharg()*
@@ -3745,7 +3945,7 @@ matcharg({nr})                                                    *matcharg()*
 
 matchdelete({id})                             *matchdelete()* *E802* *E803*
                Deletes a match with ID {id} previously defined by |matchadd()|
-               or one of the |:match| commands.  Returns 0 if succesfull,
+               or one of the |:match| commands.  Returns 0 if successful,
                otherwise -1.  See example for |matchadd()|.  All matches can
                be deleted in one operation by |clearmatches()|.
 
@@ -3779,7 +3979,7 @@ matchlist({expr}, {pat}[, {start}[, {count}]])                    *matchlist()*
                When there is no match an empty list is returned.
 
 matchstr({expr}, {pat}[, {start}[, {count}]])                  *matchstr()*
-               Same as match(), but return the matched string.  Example: >
+               Same as |match()|, but return the matched string.  Example: >
                        :echo matchstr("testing", "ing")
 <              results in "ing".
                When there is no match "" is returned.
@@ -3810,15 +4010,21 @@ mkdir({name} [, {path} [, {prot}]])
                necessary.  Otherwise it must be "".
                If {prot} is given it is used to set the protection bits of
                the new directory.  The default is 0755 (rwxr-xr-x: r/w for
-               the user readable for others).  Use 0700 to make it unreadable
+               the user readable for others).  Use 0700 to make it unreadable
                for others.
                This function is not available in the |sandbox|.
                Not available on all systems.  To check use: >
                        :if exists("*mkdir")
 <
                                                        *mode()*
-mode()         Return a string that indicates the current mode:
+mode([expr])   Return a string that indicates the current mode.
+               If [expr] is supplied and it evaluates to a non-zero number or
+               a non-empty string, then the full mode is returned, otherwise
+               only the first letter is returned.  Note that " " and "0" are
+               also non-empty strings.
+
                        n       Normal
+                       no      Operator-pending
                        v       Visual by character
                        V       Visual by line
                        CTRL-V  Visual blockwise
@@ -3826,11 +4032,19 @@ mode()          Return a string that indicates the current mode:
                        S       Select by line
                        CTRL-S  Select blockwise
                        i       Insert
-                       R       Replace
+                       R       Replace |R|
+                       Rv      Virtual Replace |gR|
                        c       Command-line
+                       cv      Vim Ex mode |gQ|
+                       ce      Normal Ex mode |Q|
                        r       Hit-enter prompt
-               This is useful in the 'statusline' option.  In most other
-               places it always returns "c" or "n".
+                       rm      The -- more -- prompt
+                       r?      A |:confirm| query of some sort
+                       !       Shell or external command is executing
+               This is useful in the 'statusline' option or when used
+               with |remote_expr()| In most other places it always returns
+               "c" or "n".
+               Also see |visualmode()|.
 
 nextnonblank({lnum})                                   *nextnonblank()*
                Return the line number of the first line at or below {lnum}
@@ -3854,7 +4068,8 @@ nr2char({expr})                                           *nr2char()*
 
                                                        *getpid()*
 getpid()       Return a Number which is the process ID of the Vim process.
-               On Unix this is a unique number.  On MS-DOS it's always zero.
+               On Unix and MS-Windows this is a unique number, until Vim
+               exits.  On MS-DOS it's always zero.
 
                                                        *getpos()*
 getpos({expr}) Get the position for {expr}.  For possible values of {expr}
@@ -3884,6 +4099,18 @@ pathshorten({expr})                                      *pathshorten()*
 <                      ~/.v/a/myfile.vim ~
                It doesn't matter if the path exists or not.
 
+pow({x}, {y})                                          *pow()*
+               Return the power of {x} to the exponent {y} as a |Float|.
+               {x} and {y} must evaluate to a |Float| or a |Number|.
+               Examples: >
+                       :echo pow(3, 3)
+<                      27.0 >
+                       :echo pow(2, 16)
+<                      65536.0 >
+                       :echo pow(32, 0.20)
+<                      2.0
+               {only available when compiled with the |+float| feature}
+               
 prevnonblank({lnum})                                   *prevnonblank()*
                Return the line number of the first line at or above {lnum}
                that is not blank.  Example: >
@@ -3903,15 +4130,20 @@ printf({fmt}, {expr1} ...)                              *printf()*
                Often used items are:
                  %s    string
                  %6s   string right-aligned in 6 bytes
-                 %.9s  string truncated to 9 bytes
-                 %c    single byte
-                 %d    decimal number
-                 %5d   decimal number padded with spaces to 5 characters
-                 %x    hex number
-                 %04x  hex number padded with zeros to at least 4 characters
-                 %X    hex number using upper case letters
-                 %o    octal number
-                 %%    the % character itself
+                 %.9s  string truncated to 9 bytes
+                 %c    single byte
+                 %d    decimal number
+                 %5d   decimal number padded with spaces to 5 characters
+                 %x    hex number
+                 %04x  hex number padded with zeros to at least 4 characters
+                 %X    hex number using upper case letters
+                 %o    octal number
+                 %f    floating point number in the form 123.456
+                 %e    floating point number in the form 1.234e3
+                 %E    floating point number in the form 1.234E3
+                 %g    floating point number, as %f or %e depending on value
+                 %G    floating point number, as %f or %E depending on value
+                 %%    the % character itself
 
                Conversion specifications start with '%' and end with the
                conversion type.  All other characters are copied unchanged to
@@ -3952,7 +4184,7 @@ printf({fmt}, {expr1} ...)                                *printf()*
                              number produced by a signed conversion (d).
 
                    +         A sign must always be placed before a number
-                             produced by a signed conversion.  A + overrides
+                             produced by a signed conversion.  A + overrides
                              a space if both are used.
 
                field-width
@@ -3969,6 +4201,8 @@ printf({fmt}, {expr1} ...)                                *printf()*
                        This gives the minimum number of digits to appear for
                        d, o, x, and X conversions, or the maximum number of
                        bytes to be printed from a string for s conversions.
+                       For floating point it is the number of digits after
+                       the decimal point.
 
                type
                        A character that specifies the type of conversion to
@@ -3976,7 +4210,7 @@ printf({fmt}, {expr1} ...)                                *printf()*
 
                A field width or precision, or both, may be indicated by an
                asterisk '*' instead of a digit string.  In this case, a
-               Number argument supplies the field width or precision.  A
+               Number argument supplies the field width or precision.  A
                negative field width is treated as a left adjustment flag
                followed by a positive field width; a negative precision is
                treated as though it were missing.  Example: >
@@ -3986,7 +4220,8 @@ printf({fmt}, {expr1} ...)                                *printf()*
 
                The conversion specifiers and their meanings are:
 
-               doxX    The Number argument is converted to signed decimal
+                               *printf-d* *printf-o* *printf-x* *printf-X*
+               doxX    The Number argument is converted to signed decimal
                        (d), unsigned octal (o), or unsigned hexadecimal (x
                        and X) notation.  The letters "abcdef" are used for
                        x conversions; the letters "ABCDEF" are used for X
@@ -4000,18 +4235,50 @@ printf({fmt}, {expr1} ...)                              *printf()*
                        a conversion is wider than the field width, the field
                        is expanded to contain the conversion result.
 
+                                                       *printf-c*
                c       The Number argument is converted to a byte, and the
                        resulting character is written.
 
+                                                       *printf-s*
                s       The text of the String argument is used.  If a
                        precision is specified, no more bytes than the number
                        specified are used.
 
+                                                       *printf-f* *E807*
+               f       The Float argument is converted into a string of the 
+                       form 123.456.  The precision specifies the number of
+                       digits after the decimal point.  When the precision is
+                       zero the decimal point is omitted.  When the precision
+                       is not specified 6 is used.  A really big number
+                       (out of range or dividing by zero) results in "inf".
+                       "0.0 / 0.0" results in "nan".
+                       Example: >
+                               echo printf("%.2f", 12.115)
+<                              12.12
+                       Note that roundoff depends on the system libraries.
+                       Use |round()| when in doubt.
+
+                                                       *printf-e* *printf-E*
+               e E     The Float argument is converted into a string of the
+                       form 1.234e+03 or 1.234E+03 when using 'E'.  The
+                       precision specifies the number of digits after the
+                       decimal point, like with 'f'.
+
+                                                       *printf-g* *printf-G*
+               g G     The Float argument is converted like with 'f' if the
+                       value is between 0.001 (inclusive) and 10000000.0
+                       (exclusive).  Otherwise 'e' is used for 'g' and 'E'
+                       for 'G'.  When no precision is specified superfluous
+                       zeroes and '+' signs are removed, except for the zero
+                       immediately after the decimal point.  Thus 10000000.0
+                       results in 1.0e7.
+
+                                                       *printf-%*
                %       A '%' is written.  No argument is converted.  The
                        complete conversion specification is "%%".
 
                Each argument can be Number or String and is converted
-               automatically to fit the conversion specifier.  Any other
+               automatically to fit the conversion specifier.  Any other
                argument type results in an error message.
 
                                                        *E766* *E767*
@@ -4105,7 +4372,7 @@ reltimestr({time})                                *reltimestr()*
 
                                                        *remote_expr()* *E449*
 remote_expr({server}, {string} [, {idvar}])
-               Send the {string} to {server}.  The string is sent as an
+               Send the {string} to {server}.  The string is sent as an
                expression and the result is returned after evaluation.
                The result must be a String or a |List|.  A |List| is turned
                into a String by joining the items with a line break in
@@ -4140,7 +4407,7 @@ remote_foreground({server})                               *remote_foreground()*
 remote_peek({serverid} [, {retvar}])           *remote_peek()*
                Returns a positive number if there are available strings
                from {serverid}.  Copies any reply string into the variable
-               {retvar} if specified.  {retvar} must be a string with the
+               {retvar} if specified.  {retvar} must be a string with the
                name of a variable.
                Returns zero if none are available.
                Returns -1 if something is wrong.
@@ -4162,7 +4429,7 @@ remote_read({serverid})                           *remote_read()*
 <
                                                        *remote_send()* *E241*
 remote_send({server}, {string} [, {idvar}])
-               Send the {string} to {server}.  The string is sent as input
+               Send the {string} to {server}.  The string is sent as input
                keys and the function returns immediately.  At the Vim server
                the keys are not mapped |:map|.
                If {idvar} is present, it is taken as the name of a variable
@@ -4213,7 +4480,7 @@ repeat({expr}, {count})                                   *repeat()*
                        :let separator = repeat('-', 80)
 <              When {count} is zero or negative the result is empty.
                When {expr} is a |List| the result is {expr} concatenated
-               {count} times.  Example: >
+               {count} times.  Example: >
                        :let longlist = repeat(['a', 'b'], 3)
 <              Results in ['a', 'b', 'a', 'b', 'a', 'b'].
 
@@ -4232,18 +4499,33 @@ resolve({filename})                                     *resolve()* *E655*
                path name) and also keeps a trailing path separator.
 
                                                        *reverse()*
-reverse({list})        Reverse the order of items in {list} in-place.  Returns
+reverse({list})        Reverse the order of items in {list} in-place.  Returns
                {list}.
                If you want a list to remain unmodified make a copy first: >
                        :let revlist = reverse(copy(mylist))
 
+round({expr})                                                  *round()*
+               Round off {expr} to a the nearest integral value and return it
+               as a |Float|.  If {expr} lies halfway between two integral
+               values, then use the larger one (away from zero).
+               {expr} must evaluate to a |Float| or a |Number|.
+               Examples: >
+                       echo round(0.456)
+<                      0.0  >
+                       echo round(4.5)
+<                      5.0 >
+                       echo round(-4.5)
+<                      -5.0
+               {only available when compiled with the |+float| feature}
+               
+               
 search({pattern} [, {flags} [, {stopline} [, {timeout}]]])     *search()*
                Search for regexp pattern {pattern}.  The search starts at the
                cursor position (you can use |cursor()| to set it).
 
                {flags} is a String, which can contain these character flags:
                'b'     search backward instead of forward
-               'c'     accept a match at the cursor position
+               'c'     accept a match at the cursor position
                'e'     move to the End of the match
                'n'     do Not move the cursor
                'p'     return number of matching sub-pattern (see below)
@@ -4268,7 +4550,7 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]])        *search()*
                A zero value is equal to not giving the argument.
 
                When the {timeout} argument is given the search stops when
-               more than this many milli seconds have passed.  Thus when
+               more than this many milli seconds have passed.  Thus when
                {timeout} is 500 the search stops after half a second.
                The value must not be negative.  A zero value is like not
                giving the argument.
@@ -4295,7 +4577,7 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]])        *search()*
                    :  normal G$
                    :  let flags = "w"
                    :  while search("foo", flags) > 0
-                   :    s/foo/bar/g
+                   :    s/foo/bar/g
                    :    let flags = "W"
                    :  endwhile
                    :  update               " write the file if modified
@@ -4358,9 +4640,11 @@ searchpair({start}, {middle}, {end} [, {flags} [, {skip}
                {flags} 'b', 'c', 'n', 's', 'w' and 'W' are used like with
                |search()|.  Additionally:
                'r'     Repeat until no more matches found; will find the
-                       outer pair
-               'm'     return number of Matches instead of line number with
+                       outer pair.  Implies the 'W' flag.
+               'm'     Return number of matches instead of line number with
                        the match; will be > 1 when 'r' is used.
+               Note: it's nearly always a good idea to use the 'W' flag, to
+               avoid wrapping around the end of the file.
 
                When a match for {start}, {middle} or {end} is found, the
                {skip} expression is evaluated with the cursor positioned on
@@ -4386,7 +4670,7 @@ searchpair({start}, {middle}, {end} [, {flags} [, {skip}
 <              When starting at the "if 2", with the cursor on the "i", and
                searching forwards, the "endif 2" is found.  When starting on
                the character just before the "if 2", the "endif 1" will be
-               found.  That's because the "if 2" will be found first, and
+               found.  That's because the "if 2" will be found first, and
                then this is considered to be a nested if/endif from "if 2" to
                "endif 2".
                When searching backwards and {end} is more than one character,
@@ -4479,7 +4763,7 @@ setbufvar({expr}, {varname}, {val})                       *setbufvar()*
 
 setcmdpos({pos})                                       *setcmdpos()*
                Set the cursor position in the command line to byte position
-               {pos}.  The first position is 1.
+               {pos}.  The first position is 1.
                Use |getcmdpos()| to obtain the current position.
                Only works while editing the command line, thus you must use
                |c_CTRL-\_e|, |c_CTRL-R_=| or |c_CTRL-R_CTRL-R| with '='.  For
@@ -4492,15 +4776,15 @@ setcmdpos({pos})                                        *setcmdpos()*
                Returns 0 when successful, 1 when not editing the command
                line.
 
-setline({lnum}, {line})                                        *setline()*
-               Set line {lnum} of the current buffer to {line}.
+setline({lnum}, {text})                                        *setline()*
+               Set line {lnum} of the current buffer to {text}.
                {lnum} is used like with |getline()|.
-               When {lnum} is just below the last line the {line} will be
+               When {lnum} is just below the last line the {text} will be
                added as a new line.
                If this succeeds, 0 is returned.  If this fails (most likely
                because {lnum} is invalid) 1 is returned.  Example: >
                        :call setline(5, strftime("%c"))
-<              When {line} is a |List| then line {lnum} and following lines
+<              When {text} is a |List| then line {lnum} and following lines
                will be set to the items in the list.  Example: >
                        :call setline(5, ['aaa', 'bbb', 'ccc'])
 <              This is equivalent to: >
@@ -4519,7 +4803,7 @@ setloclist({nr}, {list} [, {action}])                     *setloclist()*
 
 setmatches({list})                                     *setmatches()*
                Restores a list of matches saved by |getmatches()|.  Returns 0
-               if succesfull, otherwise -1.  All current matches are cleared
+               if successful, otherwise -1.  All current matches are cleared
                before the list is restored.  See example for |getmatches()|.
 
                                                        *setpos()*
@@ -4531,7 +4815,7 @@ setpos({expr}, {list})
                {list} must be a |List| with four numbers:
                    [bufnum, lnum, col, off]
 
-               "bufnum" is the buffer number.  Zero can be used for the
+               "bufnum" is the buffer number.  Zero can be used for the
                current buffer.  Setting the cursor is only possible for
                the current buffer.  To set a mark in another buffer you can
                use the |bufnr()| function to turn a file name into a buffer
@@ -4562,9 +4846,9 @@ setqflist({list} [, {action}])                            *setqflist()*
                item can contain the following entries:
 
                    bufnr       buffer number; must be the number of a valid
-                               buffer
+                               buffer
                    filename    name of a file; only used when "bufnr" is not
-                               present or it is invalid.
+                               present or it is invalid.
                    lnum        line number in the file
                    pattern     search pattern used to locate the error
                    col         column number
@@ -4688,6 +4972,17 @@ simplify({filename})                                     *simplify()*
                links before simplifying the path name, use |resolve()|.
 
 
+sin({expr})                                            *sin()*
+               Return the sine of {expr}, measured in radians, as a |Float|.
+               {expr} must evaluate to a |Float| or a |Number|.
+               Examples: >
+                       :echo sin(100)
+<                      -0.506366 >
+                       :echo sin(-4.01)
+<                      0.763301
+               {only available when compiled with the |+float| feature}
+               
+
 sort({list} [, {func}])                                        *sort()* *E702*
                Sort the items in {list} in-place.  Returns {list}.  If you
                want a list to remain unmodified make a copy first: >
@@ -4710,7 +5005,7 @@ sort({list} [, {func}])                                   *sort()* *E702*
                                                        *soundfold()*
 soundfold({word})
                Return the sound-folded equivalent of {word}.  Uses the first
-               language in 'spellang' for the current window that supports
+               language in 'spelllang' for the current window that supports
                soundfolding.  'spell' must be set.  When no sound folding is
                possible the {word} is returned unmodified.
                This can be used for making spelling suggestions.  Note that
@@ -4788,6 +5083,34 @@ split({expr} [, {pattern} [, {keepempty}]])                      *split()*
 <              The opposite function is |join()|.
 
 
+sqrt({expr})                                           *sqrt()*
+               Return the non-negative square root of Float {expr} as a
+               |Float|.
+               {expr} must evaluate to a |Float| or a |Number|.  When {expr}
+               is negative the result is NaN (Not a Number).
+               Examples: >
+                       :echo sqrt(100)
+<                      10.0 >
+                       :echo sqrt(-4.01)
+<                      nan
+               {only available when compiled with the |+float| feature}
+               
+
+str2float( {expr})                                     *str2float()*
+               Convert String {expr} to a Float.  This mostly works the same
+               as when using a floating point number in an expression, see
+               |floating-point-format|.  But it's a bit more permissive.
+               E.g., "1e40" is accepted, while in an expression you need to
+               write "1.0e40".
+               Text after the number is silently ignored.
+               The decimal point is always '.', no matter what the locale is
+               set to.  A comma ends the number: "12,345.67" is converted to
+               12.0.  You can strip out thousands separators with
+               |substitute()|: >
+                       let f = str2float(substitute(text, ',', '', 'g'))
+<              {only available when compiled with the |+float| feature}
+
+
 str2nr( {expr} [, {base}])                             *str2nr()*
                Convert string {expr} to a number.
                {base} is the conversion base, it can be 8, 10 or 16.
@@ -4839,11 +5162,12 @@ stridx({haystack}, {needle} [, {start}])                *stridx()*
 
                                                        *string()*
 string({expr}) Return {expr} converted to a String.  If {expr} is a Number,
-               String or a composition of them, then the result can be parsed
-               back with |eval()|.
+               Float, String or a composition of them, then the result can be
+               parsed back with |eval()|.
                        {expr} type     result ~
                        String          'string'
                        Number          123
+                       Float           123.123456 or 1.123456e8
                        Funcref         function('name')
                        List            [item, item]
                        Dictionary      {key: value, key: value}
@@ -4872,7 +5196,7 @@ strpart({src}, {start}[, {len}])                  *strpart()*
                        strpart("abcdefg", 3, 2)    == "de"
                        strpart("abcdefg", -2, 4)   == "ab"
                        strpart("abcdefg", 5, 4)    == "fg"
-                       strpart("abcdefg", 3)       == "defg"
+                       strpart("abcdefg", 3)       == "defg"
 <              Note: To get the first character, {start} must be 0.  For
                example, to get three bytes under and after the cursor: >
                        strpart(getline("."), col(".") - 1, 3)
@@ -4922,7 +5246,7 @@ substitute({expr}, {pat}, {sub}, {flags})         *substitute()*
                See |string-match| for how {pat} is used.
                And a "~" in {sub} is not replaced with the previous {sub}.
                Note that some codes in {sub} have a special meaning
-               |sub-replace-special|.  For example, to replace something with
+               |sub-replace-special|.  For example, to replace something with
                "\n" (two characters), use "\\\\n" or '\\n'.
                When {pat} does not match in {expr}, {expr} is returned
                unmodified.
@@ -4944,7 +5268,7 @@ synID({lnum}, {col}, {trans})                             *synID()*
                line.  'synmaxcol' applies, in a longer line zero is returned.
 
                When {trans} is non-zero, transparent items are reduced to the
-               item that they reveal.  This is useful when wanting to know
+               item that they reveal.  This is useful when wanting to know
                the effective color.  When {trans} is zero, the transparent
                item is returned.  This is useful when wanting to know which
                syntax item is effective (e.g. inside parens).
@@ -4959,7 +5283,7 @@ synIDattr({synID}, {what} [, {mode}])                     *synIDattr()*
                syntax ID {synID}.  This can be used to obtain information
                about a syntax item.
                {mode} can be "gui", "cterm" or "term", to get the attributes
-               for that mode.  When {mode} is omitted, or an invalid value is
+               for that mode.  When {mode} is omitted, or an invalid value is
                used, the attributes for the currently active highlighting are
                used (GUI, cterm or term).
                Use synIDtrans() to follow linked highlight groups.
@@ -5118,7 +5442,7 @@ taglist({expr})                                                   *taglist()*
 
 tempname()                                     *tempname()* *temp-file-name*
                The result is a String, which is the name of a file that
-               doesn't exist.  It can be used for a temporary file.  The name
+               doesn't exist.  It can be used for a temporary file.  The name
                is different for at least 26 consecutive calls.  Example: >
                        :let tmpfile = tempname()
                        :exe "redir > " . tmpfile
@@ -5153,6 +5477,19 @@ tr({src}, {fromstr}, {tostr})                            *tr()*
                        echo tr("<blob>", "<>", "{}")
 <              returns "{blob}"
 
+trunc({expr})                                                  *trunc()*
+               Return the largest integral value with magnituted less than or
+               equal to {expr} as a |Float| (truncate towards zero).
+               {expr} must evaluate to a |Float| or a |Number|.
+               Examples: >
+                       echo trunc(1.456)
+<                      1.0  >
+                       echo trunc(-5.456)
+<                      -5.0  >
+                       echo trunc(4.0)
+<                      4.0
+               {only available when compiled with the |+float| feature}
+               
                                                        *type()*
 type({expr})   The result is a Number, depending on the type of {expr}:
                        Number:     0
@@ -5160,15 +5497,17 @@ type({expr})    The result is a Number, depending on the type of {expr}:
                        Funcref:    2
                        List:       3
                        Dictionary: 4
+                       Float:      5
                To avoid the magic numbers it should be used this way: >
                        :if type(myvar) == type(0)
                        :if type(myvar) == type("")
                        :if type(myvar) == type(function("tr"))
                        :if type(myvar) == type([])
                        :if type(myvar) == type({})
+                       :if type(myvar) == type(0.0)
 
 values({dict})                                         *values()*
-               Return a |List| with all the values of {dict}.  The |List| is
+               Return a |List| with all the values of {dict}.  The |List| is
                in arbitrary order.
 
 
@@ -5199,8 +5538,8 @@ virtcol({expr})                                           *virtcol()*
                Examples: >
   virtcol(".")    with text "foo^Lbar", with cursor on the "^L", returns 5
   virtcol("$")    with text "foo^Lbar", returns 9
-  virtcol("'t")    with text "    there", with 't at 'h', returns 6
-<              The first column is 1.  0 is returned for an error.
+  virtcol("'t")    with text "   there", with 't at 'h', returns 6
+<              The first column is 1.  0 is returned for an error.
                A more advanced example that echoes the maximum length of
                all lines: >
                    echo max(map(range(1, line('$')), "virtcol([v:val, '$'])"))
@@ -5218,10 +5557,12 @@ visualmode([expr])                                              *visualmode()*
 <              This enters the same Visual mode as before.  It is also useful
                in scripts if you wish to act differently depending on the
                Visual mode that was used.
+               If Visual mode is active, use |mode()| to get the Visual mode
+               (e.g., in a |:vmap|).
 
-               If an expression is supplied that results in a non-zero number
-               or a non-empty string, then the Visual mode will be cleared
-               and the old value is returned.  Note that " " and "0" are also
+               If [expr] is supplied and it evaluates to a non-zero number or
+               a non-empty string, then the Visual mode will be cleared and
+               the old value is returned.  Note that " " and "0" are also
                non-empty strings, thus cause the mode to be cleared.
 
                                                        *winbufnr()*
@@ -5247,7 +5588,7 @@ winheight({nr})                                           *winheight()*
 <
                                                        *winline()*
 winline()      The result is a Number, which is the screen line of the cursor
-               in the window.  This is counting screen lines from the top of
+               in the window.  This is counting screen lines from the top of
                the window.  The first line is one.
                If the cursor was moved the view on the file will be updated
                first, this may cause a scroll.
@@ -5394,6 +5735,7 @@ filterpipe                When 'shelltemp' is off pipes are used for shell
                        read/write/filter commands
 find_in_path           Compiled with support for include file searches
                        |+find_in_path|.
+float                  Compiled with support for |Float|.
 fname_case             Case in file names matters (for Amiga, MS-DOS, and
                        Windows this is not present).
 folding                        Compiled with |folding| support.
@@ -5404,6 +5746,7 @@ gui                       Compiled with GUI enabled.
 gui_athena             Compiled with Athena GUI.
 gui_gtk                        Compiled with GTK+ GUI (any version).
 gui_gtk2               Compiled with GTK+ 2 GUI (gui_gtk is also defined).
+gui_gnome              Compiled with Gnome support (gui_gtk is also defined).
 gui_mac                        Compiled with Macintosh GUI.
 gui_motif              Compiled with Motif GUI.
 gui_photon             Compiled with Photon GUI.
@@ -5435,6 +5778,7 @@ mouse_dec         Compiled with support for Dec terminal mouse.
 mouse_gpm              Compiled with support for gpm (Linux console mouse)
 mouse_netterm          Compiled with support for netterm mouse.
 mouse_pterm            Compiled with support for qnx pterm mouse.
+mouse_sysmouse         Compiled with support for sysmouse (*BSD console mouse)
 mouse_xterm            Compiled with support for xterm mouse.
 multi_byte             Compiled with support for editing Korean et al.
 multi_byte_ime         Compiled with support for IME input method.
@@ -5587,9 +5931,9 @@ See |:verbose-cmd| for more information.
                        {name} can also be a |Dictionary| entry that is a
                        |Funcref|: >
                                :function dict.init(arg)
-<                      "dict" must be an existing dictionary.  The entry
+<                      "dict" must be an existing dictionary.  The entry
                        "init" is added if it didn't exist yet.  Otherwise [!]
-                       is required to overwrite an existing function.  The
+                       is required to overwrite an existing function.  The
                        result is a |Funcref| to a numbered function.  The
                        function can only be used with a |Funcref| and will be
                        deleted if there are no more references to it.
@@ -5613,12 +5957,15 @@ See |:verbose-cmd| for more information.
                        abort as soon as an error is detected.
 
                        When the [dict] argument is added, the function must
-                       be invoked through an entry in a |Dictionary|.  The
+                       be invoked through an entry in a |Dictionary|.  The
                        local variable "self" will then be set to the
                        dictionary.  See |Dictionary-function|.
 
+                                               *function-search-undo*
                        The last used search pattern and the redo command "."
-                       will not be changed by the function.
+                       will not be changed by the function.  This also
+                       implies that the effect of |:nohlsearch| is undone
+                       when the function returns.
 
                                        *:endf* *:endfunction* *E126* *E193*
 :endf[unction]         The end of a function definition.  Must be on a line
@@ -5629,7 +5976,7 @@ See |:verbose-cmd| for more information.
                        {name} can also be a |Dictionary| entry that is a
                        |Funcref|: >
                                :delfunc dict.init
-<                      This will remove the "init" entry from "dict".  The
+<                      This will remove the "init" entry from "dict".  The
                        function is deleted if there are no more references to
                        it.
                                                        *:retu* *:return* *E133*
@@ -5649,7 +5996,7 @@ See |:verbose-cmd| for more information.
                        returns at the outermost ":endtry".
 
                                                *function-argument* *a:var*
-An argument can be defined by giving its name.  In the function this can then
+An argument can be defined by giving its name. In the function this can then
 be used as "a:name" ("a:" for argument).
                                        *a:0* *a:1* *a:000* *E740* *...*
 Up to 20 arguments can be given, separated by commas.  After the named
@@ -5721,7 +6068,7 @@ This function can then be called with: >
                itself, the function is executed for each line in the range,
                with the cursor in the first column of that line.  The cursor
                is left at the last line (possibly moved by the last function
-               call).  The arguments are re-evaluated for each line.  Thus
+               call).  The arguments are re-evaluated for each line.  Thus
                this works:
                                                *function-range-example*  >
        :function Mynumber(arg)
@@ -5766,7 +6113,7 @@ This is introduced in the user manual, section |41.14|.
 
 The autocommand is useful if you have a plugin that is a long Vim script file.
 You can define the autocommand and quickly quit the script with |:finish|.
-That makes Vim startup faster.  The autocommand should then load the same file
+That makes Vim startup faster. The autocommand should then load the same file
 again, setting a variable to skip the |:finish| command.
 
 Use the FuncUndefined autocommand event with a pattern that matches the
@@ -5827,7 +6174,7 @@ function, the script will be sourced every time you try to call the function.
 And you will get an error message every time.
 
 Also note that if you have two script files, and one calls a function in the
-other and vise versa, before the used function is defined, it won't work.
+other and vice versa, before the used function is defined, it won't work.
 Avoid using the autoload functionality at the toplevel.
 
 Hint: If you distribute a bunch of scripts you can pack them together with the
@@ -5848,7 +6195,7 @@ name.  So in the above example, if the variable "adjective" was set to
 "adjective" was set to "quiet", then it would be to "my_quiet_variable".
 
 One application for this is to create a set of variables governed by an option
-value.  For example, the statement >
+value. For example, the statement >
        echo my_{&background}_message
 
 would output the contents of "my_dark_message" or "my_light_message" depending
@@ -5888,8 +6235,11 @@ This would call the function "my_func_whizz(parameter)".
                        {expr1}.  {var-name} must refer to a list and {idx}
                        must be a valid index in that list.  For nested list
                        the index can be repeated.
-                       This cannot be used to add an item to a list.
-
+                       This cannot be used to add an item to a |List|.
+                       This cannot be used to set a byte in a String.  You
+                       can do that like this: >
+                               :let var = var[0:2] . 'X' . var[4:]
+<
                                                        *E711* *E719*
 :let {var-name}[{idx1}:{idx2}] = {expr1}               *E708* *E709* *E710*
                        Set a sequence of items in a |List| to the result of
@@ -5931,7 +6281,7 @@ This would call the function "my_func_whizz(parameter)".
                        that would match everywhere.
 
 :let @{reg-name} .= {expr1}
-                       Append {expr1} to register {reg-name}.  If the
+                       Append {expr1} to register {reg-name}.  If the
                        register was empty it's like setting it to {expr1}.
 
 :let &{option-name} = {expr1}                  *:let-option* *:let-&*
@@ -6006,7 +6356,7 @@ This would call the function "my_func_whizz(parameter)".
                        Like above, but append/add/subtract the value for each
                        |List| item.
                                                        *E106*
-:let {var-name}        ..      List the value of variable {var-name}.  Multiple
+:let {var-name}        ..      List the value of variable {var-name}.  Multiple
                        variable names may be given.  Special names recognized
                        here:                           *E738*
                          g:    global variables
@@ -6150,7 +6500,7 @@ This would call the function "my_func_whizz(parameter)".
                                :for item in copy(mylist)
 <                      When not making a copy, Vim stores a reference to the
                        next item in the list, before executing the commands
-                       with the current item.  Thus the current item can be
+                       with the current item.  Thus the current item can be
                        removed without effect.  Removing any later item means
                        it will not be found.  Thus the following example
                        works (an inefficient way to make a list empty): >
@@ -6356,7 +6706,7 @@ This would call the function "my_func_whizz(parameter)".
                        message in the |message-history|.  When used in a
                        script or function the line number will be added.
                        Spaces are placed between the arguments as with the
-                       :echo command.  When used inside a try conditional,
+                       :echo command.  When used inside a try conditional,
                        the message is raised as an error exception instead
                        (see |try-echoerr|).
                        Example: >
@@ -6368,7 +6718,7 @@ This would call the function "my_func_whizz(parameter)".
                                                        *:exe* *:execute*
 :exe[cute] {expr1} ..  Executes the string that results from the evaluation
                        of {expr1} as an Ex command.  Multiple arguments are
-                       concatenated, with a space in between.  {expr1} is
+                       concatenated, with a space in between.  {expr1} is
                        used as the processed command, command line editing
                        keys are not recognized.
                        Cannot be followed by a comment.
@@ -6386,6 +6736,11 @@ This would call the function "my_func_whizz(parameter)".
                :execute "normal ixxx\<Esc>"
 <                      This has an <Esc> character, see |expr-string|.
 
+                       Be careful to correctly escape special characters in
+                       file names.  The |fnameescape()| function can be used
+                       for this.  Example: >
+               :execute "e " . fnameescape(filename)
+<
                        Note: The executed string may be any command-line, but
                        you cannot start or end a "while", "for" or "if"
                        command.  Thus this is illegal: >
@@ -6428,21 +6783,21 @@ which must not be followed by any catch clauses.  The lines before the catch
 clauses and the finally clause is called a try block. >
 
      :try
-     :  ...
-     :  ...                            TRY BLOCK
-     :  ...
+     : ...
+     : ...                             TRY BLOCK
+     : ...
      :catch /{pattern}/
-     :  ...
-     :  ...                            CATCH CLAUSE
-     :  ...
+     : ...
+     : ...                             CATCH CLAUSE
+     : ...
      :catch /{pattern}/
-     :  ...
-     :  ...                            CATCH CLAUSE
-     :  ...
+     : ...
+     : ...                             CATCH CLAUSE
+     : ...
      :finally
-     :  ...
-     :  ...                            FINALLY CLAUSE
-     :  ...
+     : ...
+     : ...                             FINALLY CLAUSE
+     : ...
      :endtry
 
 The try conditional allows to watch code for exceptions and to take the
@@ -6467,14 +6822,14 @@ the finally clause.  It is resumed at the ":endtry", so that commands after
 the ":endtry" are not executed and the exception might be caught elsewhere,
 see |try-nesting|.
    When during execution of a catch clause another exception is thrown, the
-remaining lines in that catch clause are not executed.  The new exception is
+remaining lines in that catch clause are not executed. The new exception is
 not matched against the patterns in any of the ":catch" commands of the same
 try conditional and none of its catch clauses is taken.  If there is, however,
 a finally clause, it is executed, and the exception pends during its
 execution.  The commands following the ":endtry" are not executed.  The new
 exception might, however, be caught elsewhere, see |try-nesting|.
    When during execution of the finally clause (if present) an exception is
-thrown, the remaining lines in the finally clause are skipped.  If the finally
+thrown, the remaining lines in the finally clause are skipped. If the finally
 clause has been taken because of an exception from the try block or one of the
 catch clauses, the original (pending) exception is discarded.  The commands
 following the ":endtry" are not executed, and the exception from the finally
@@ -6508,7 +6863,7 @@ catch an exception thrown in its try block or throws a new exception from one
 of its catch clauses or its finally clause, the outer try conditional is
 checked according to the rules above.  If the inner try conditional is in the
 try block of the outer try conditional, its catch clauses are checked, but
-otherwise only the finally clause is executed.  It does not matter for
+otherwise only the finally clause is executed. It does not matter for
 nesting, whether the inner try conditional is directly contained in the outer
 one, or whether the outer one sources a script or calls a function containing
 the inner try conditional.
@@ -6571,7 +6926,7 @@ executed. >
 however displays "in Bar" and throws 4711.
 
 Any other command that takes an expression as argument might also be
-abandoned by an (uncaught) exception during the expression evaluation.  The
+abandoned by an (uncaught) exception during the expression evaluation. The
 exception is then propagated to the caller of the command.
    Example: >
 
@@ -6748,20 +7103,20 @@ the original error exception value, you can use the |:echoerr| command: >
 
 This code displays
 
-       Vim(echoerr):Vim:E492: Not an editor command:   asdf ~
+       Vim(echoerr):Vim:E492: Not an editor command:   asdf ~
 
 
 CLEANUP CODE                                           *try-finally*
 
 Scripts often change global settings and restore them at their end.  If the
 user however interrupts the script by pressing CTRL-C, the settings remain in
-an inconsistent state.  The same may happen to you in the development phase of
+an inconsistent state. The same may happen to you in the development phase of
 a script when an error occurs or you explicitly throw an exception without
 catching it.  You can solve these problems by using a try conditional with
 a finally clause for restoring the settings.  Its execution is guaranteed on
 normal control flow, on error, on an explicit ":throw", and on interrupt.
 (Note that errors and interrupts from inside the try conditional are converted
-to exceptions.  When not caught, they terminate the script after the finally
+to exceptions. When not caught, they terminate the script after the finally
 clause has been executed.)
 Example: >
 
@@ -6819,7 +7174,7 @@ This displays "first", "cleanup", "second", "cleanup", and "end". >
        :echo Foo() "returned by Foo"
 
 This displays "cleanup" and "4711 returned by Foo".  You don't need to add an
-extra ":return" in the finally clause.  (Above all, this would override the
+extra ":return" in the finally clause. (Above all, this would override the
 return value.)
 
                                                        *except-from-finally*
@@ -6863,7 +7218,7 @@ or >
        Vim:{errmsg}
 
 {cmdname} is the name of the command that failed; the second form is used when
-the command name is not known.  {errmsg} is the error message usually produced
+the command name is not known. {errmsg} is the error message usually produced
 when the error occurs outside try conditionals.  It always begins with
 a capital "E", followed by a two or three-digit error number, a colon, and
 a space.
@@ -6968,7 +7323,7 @@ This works also when a try conditional is active.
 CATCHING INTERRUPTS                                    *catch-interrupt*
 
 When there are active try conditionals, an interrupt (CTRL-C) is converted to
-the exception "Vim:Interrupt".  You can catch it like every exception.  The
+the exception "Vim:Interrupt". You can catch it like every exception.  The
 script is not terminated, then.
    Example: >
 
@@ -7002,7 +7357,7 @@ script is not terminated, then.
        :endwhile
 
 You can interrupt a task here by pressing CTRL-C; the script then asks for
-a new command.  If you press CTRL-C at the prompt, the script is terminated.
+a new command. If you press CTRL-C at the prompt, the script is terminated.
 
 For testing what happens when CTRL-C would be pressed on a specific line in
 your script, use the debug mode and execute the |>quit| or |>interrupt|
@@ -7159,7 +7514,7 @@ For some commands, the normal action can be replaced by a sequence of
 autocommands.  Exceptions from that sequence will be catchable by the caller
 of the command.
    Example:  For the ":write" command, the caller cannot know whether the file
-had actually been written when the exception occurred.  You need to tell it in
+had actually been written when the exception occurred. You need to tell it in
 some way. >
 
        :if !exists("cnt")
@@ -7255,7 +7610,7 @@ parentheses can be cut out from |v:exception| with the ":substitute" command.
        :
        :function! Write(file)
        :  try
-       :    execute "write" a:file
+       :    execute "write" fnameescape(a:file)
        :  catch /^Vim(write):/
        :    throw "EXCEPT:IO(" . getcwd() . ", " . a:file . "):WRITEERR"
        :  endtry
@@ -7307,8 +7662,8 @@ or ":endif".  On the other hand, errors should be catchable as exceptions
 
 This problem has been solved by converting errors to exceptions and using
 immediate abortion (if not suppressed by ":silent!") only when a try
-conditional is active.  This is no restriction since an (error) exception can
-be caught only from an active try conditional.  If you want an immediate
+conditional is active. This is no restriction since an (error) exception can
+be caught only from an active try conditional. If you want an immediate
 termination without catching the error, just use a try conditional without
 catch clause.  (You can cause cleanup code being executed before termination
 by specifying a finally clause.)
@@ -7323,8 +7678,8 @@ conditional of a new script, you might change the control flow of the existing
 script on error.  You get the immediate abortion on error and can catch the
 error in the new script.  If however the sourced script suppresses error
 messages by using the ":silent!" command (checking for errors by testing
-|v:errmsg| if appropriate), its execution path is not changed.  The error is
-not converted to an exception.  (See |:silent|.)  So the only remaining cause
+|v:errmsg| if appropriate), its execution path is not changed. The error is
+not converted to an exception. (See |:silent|.)  So the only remaining cause
 where this happens is for scripts that don't care about errors and produce
 error messages.  You probably won't want to use such code from your new
 scripts.
@@ -7476,18 +7831,18 @@ code can be used: >
     silent scriptnames
     redir END
     
-    " Split the output into lines and parse each line.  Add an entry to the
+    " Split the output into lines and parse each line. Add an entry to the
     " "scripts" dictionary.
     let scripts = {}
     for line in split(scriptnames_output, "\n")
       " Only do non-blank lines.
       if line =~ '\S'
        " Get the first number in the line.
-        let nr = matchstr(line, '\d\+')
+       let nr = matchstr(line, '\d\+')
        " Get the file name, remove the script number " 123: ".
-        let name = substitute(line, '.\+:\s*', '', '')
+       let name = substitute(line, '.\+:\s*', '', '')
        " Add an item to the Dictionary
-        let scripts[nr] = name
+       let scripts[nr] = name
       endif
     endfor
     unlet scriptnames_output
@@ -7518,7 +7873,7 @@ missing: >
 The 'foldexpr', 'includeexpr', 'indentexpr', 'statusline' and 'foldtext'
 options are evaluated in a sandbox.  This means that you are protected from
 these expressions having nasty side effects.  This gives some safety for when
-these options are set from a modeline.  It is also used when the command from
+these options are set from a modeline. It is also used when the command from
 a tags file is executed and for CTRL-R = in the command line.
 The sandbox is also used for the |:sandbox| command.
 
@@ -7556,7 +7911,7 @@ option will still be marked as it was set in the sandbox.
 In a few situations it is not allowed to change the text in the buffer, jump
 to another window and some other things that might confuse or break what Vim
 is currently doing.  This mostly applies to things that happen when Vim is
-actually doing something else.  For example, evaluating the 'balloonexpr' may
+actually doing something else. For example, evaluating the 'balloonexpr' may
 happen any moment the mouse cursor is resting at some position.
 
 This is not allowed when the textlock is active:
index fd71db9d35483b3e2399f2397618fbe84119c309..c8140939803bf6c25a62de7275f38554babbab29 100644 (file)
@@ -1,4 +1,4 @@
-*fold.txt*      For Vim version 7.1.  Last change: 2007 May 11
+*fold.txt*      For Vim version 7.2a.  Last change: 2007 May 11
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
index 9ff6177b7b69ecb4e08d387d13ec0ee60190fe16..457d2ccfabaa8dbf372446e411256cdf93100961 100644 (file)
@@ -1,4 +1,4 @@
-*gui_x11.txt*   For Vim version 7.1.  Last change: 2006 Jul 12
+*gui_x11.txt*   For Vim version 7.2a.  Last change: 2007 Dec 09
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -426,7 +426,7 @@ means in detail:
 - The session file is stored to a separate directory (usually $HOME/.gnome2).
 - 'sessionoptions' is ignored, and a hardcoded set of appropriate flags is
   used instead: >
-       blank,curdir,folds,globals,help,options,winsize
+       blank,curdir,folds,globals,help,options,tabpages,winsize
 - The internal variable |v:this_session| is not changed when storing the
   session.  Also, it is restored to its old value when logging in again.
 
index 5bc8800e07bc6be9ad05951b8ac405c1f80d6b13..5cad2bf2024e31dff04d8bd21ce36bd28405d5a8 100644 (file)
@@ -1,4 +1,4 @@
-*help.txt*     For Vim version 7.1.  Last change: 2006 Nov 07
+*help.txt*     For Vim version 7.2a.  Last change: 2008 Jun 21
 
                        VIM - main help file
                                                                         k
@@ -143,7 +143,7 @@ Special issues ~
 |farsi.txt|    Farsi (Persian) editing
 |hebrew.txt|   Hebrew language support and editing
 |russian.txt|  Russian language support and editing
-|ada.txt|      Ada (the programming language) support
+|ft_ada.txt|   Ada (the programming language) support
 |hangulin.txt| Hangul (Korean) input mode
 |rileft.txt|   right-to-left editing mode
 
index c02d97e31843d1823ee4e557a3da5d1c54e11e48..744806214293caaa3192699cb6a000b306ad251a 100644 (file)
@@ -1,4 +1,4 @@
-*if_cscop.txt*  For Vim version 7.1.  Last change: 2005 Mar 29
+*if_cscop.txt*  For Vim version 7.2a.  Last change: 2005 Mar 29
 
 
                  VIM REFERENCE MANUAL    by Andy Kahn
index 2dfe2572e5982f95e0386bd2813a0826f0ba6746..c381a6342a5ecb97b054ecc70965f8054720718d 100644 (file)
@@ -1,4 +1,4 @@
-*if_ruby.txt*   For Vim version 7.1.  Last change: 2006 Apr 30
+*if_ruby.txt*   For Vim version 7.2a.  Last change: 2006 Apr 30
 
 
                  VIM REFERENCE MANUAL    by Shugo Maeda
index c2b794704ab5c71329a6dba900a3e685da5a15f8..956895d9b2d9ffc1c350ced4cc22937f15f9e3e1 100644 (file)
@@ -1,4 +1,4 @@
-*if_sniff.txt* For Vim version 7.1.  Last change: 2005 Mar 29
+*if_sniff.txt* For Vim version 7.2a.  Last change: 2005 Mar 29
 
 
                  VIM REFERENCE MANUAL
index fd9545982e2a366e3e0f26c86ca81dd14d2dd465..344592b3ba1ee2c166f4e768f9de02c66e6b871d 100644 (file)
@@ -1,4 +1,4 @@
-*if_tcl.txt*    For Vim version 7.1.  Last change: 2006 Mar 06
+*if_tcl.txt*    For Vim version 7.2a.  Last change: 2006 Mar 06
 
 
                  VIM REFERENCE MANUAL    by Ingo Wilken
index 121dec17486897c042e666b38cf431c87ca2046f..4eabcf790a4e3eac36ff2b544841ba25b22008ba 100644 (file)
@@ -1,4 +1,4 @@
-*mbyte.txt*     For Vim version 7.1.  Last change: 2006 Aug 11
+*mbyte.txt*     For Vim version 7.2a.  Last change: 2008 Jun 21
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar et al.
@@ -235,7 +235,7 @@ You could make a small shell script for this.
 ==============================================================================
 3.  Encoding                           *mbyte-encoding*
 
-Vim uses the 'encoding' option to specify how characters identified and
+Vim uses the 'encoding' option to specify how characters are identified and
 encoded when they are used inside Vim.  This applies to all the places where
 text is used, including buffers (files loaded into memory), registers and
 variables.
@@ -351,6 +351,8 @@ u   unicode same as ucs-2
 u   ucs2be     same as ucs-2 (big endian)
 u   ucs-2be    same as ucs-2 (big endian)
 u   ucs-4be    same as ucs-4 (big endian)
+u   utf-32     same as ucs-4
+u   utf-32le   same as ucs-4le
     default     stands for the default value of 'encoding', depends on the
                environment
 
@@ -966,11 +968,11 @@ WHAT IS GLOBAL IME                                        *global-ime*
     - Active Input Method Manager (Global IME)
        http://msdn.microsoft.com/workshop/misc/AIMM/aimm.asp
 
-    Support Global IME is a experimental feature.
+    Support for Global IME is an experimental feature.
 
 NOTE: For IME to work you must make sure the input locales of your language
 are added to your system.  The exact location of this depends on the version
-of Windows you use.  For example, on my W2P box:
+of Windows you use.  For example, on my Windows 2000 box:
 1. Control Panel
 2. Regional Options
 3. Input Locales Tab
@@ -1295,7 +1297,7 @@ Useful commands:
   characters, as hex numbers.
 - ":set encoding=utf-8 fileencodings=" forces using UTF-8 for all files.  The
   default is to use the current locale for 'encoding' and set 'fileencodings'
-  to automatically the encoding of a file.
+  to automatically detect the encoding of a file.
 
 
 STARTING VIM
index a7302e928545959fd16eaa2eba0ee8a2ef5916cb..cdeb4f92a987ac2536a4d741d42b78b68a185c53 100644 (file)
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 7.1.  Last change: 2006 Dec 07
+*motion.txt*    For Vim version 7.2a.  Last change: 2008 May 02
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -366,9 +366,11 @@ W                  [count] WORDS forward.  |exclusive| motion.
 
                                                        *e*
 e                      Forward to the end of word [count] |inclusive|.
+                       Does not stop in an empty line.
 
                                                        *E*
 E                      Forward to the end of WORD [count] |inclusive|.
+                       Does not stop in an empty line.
 
 <S-Left>       or                                      *<S-Left>* *b*
 b                      [count] words backward.  |exclusive| motion.
@@ -465,9 +467,9 @@ The definition of a sentence cannot be changed.
                                                        *paragraph*
 A paragraph begins after each empty line, and also at each of a set of
 paragraph macros, specified by the pairs of characters in the 'paragraphs'
-option.  The default is "IPLPPPQPP LIpplpipbp", which corresponds to the
-macros ".IP", ".LP", etc.  (These are nroff macros, so the dot must be in the
-first column).  A section boundary is also a paragraph boundary.
+option.  The default is "IPLPPPQPP TPHPLIPpLpItpplpipbp", which corresponds to
+the macros ".IP", ".LP", etc.  (These are nroff macros, so the dot must be in
+the first column).  A section boundary is also a paragraph boundary.
 Note that a blank line (only containing white space) is NOT a paragraph
 boundary.
 Also note that this does not include a '{' or '}' in the first column.  When
@@ -809,10 +811,6 @@ Lowercase marks 'a to 'z are remembered as long as the file remains in the
 buffer list.  If you remove the file from the buffer list, all its marks are
 lost.  If you delete a line that contains a mark, that mark is erased.
 
-To delete a mark: Create a new line, position the mark there, delete the line.
-E.g.: "o<Esc>mxdd".  This does change the file though.  Using "u" won't work,
-it also restores marks.
-
 Lowercase marks can be used in combination with operators.  For example: "d't"
 deletes the lines from the cursor position to mark 't'.  Hint: Use mark 't' for
 Top, 'b' for Bottom, etc..  Lowercase marks are restored when using undo and
@@ -1173,13 +1171,15 @@ remembered.
                                        cursor is on the # or no ([{
                                        following)
                        For other items the matchit plugin can be used, see
-                       |matchit-install|.
+                       |matchit-install|.  This plugin also helps to skip
+                       matches in comments.
 
                        When 'cpoptions' contains "M" |cpo-M| backslashes
                        before parens and braces are ignored.  Without "M" the
                        number of backslashes matters: an even number doesn't
                        match with an odd number.  Thus in "( \) )" and "\( (
                        \)" the first and last parenthesis match.
+
                        When the '%' character is not present in 'cpoptions'
                        |cpo-%|, parens and braces inside double quotes are
                        ignored, unless the number of parens/braces in a line
@@ -1188,8 +1188,13 @@ remembered.
                        are also ignored (parens and braces inside single
                        quotes).  Note that this works fine for C, but not for
                        Perl, where single quotes are used for strings.
-                       No count is allowed ({count}% jumps to a line {count}
-                       percentage down the file |N%|).  Using '%' on
+
+                       Nothing special is done for matches in comments.  You
+                       can either use the matchit plugin |matchit-install| or
+                       put quotes around matches.
+
+                       No count is allowed, {count}% jumps to a line {count}
+                       percentage down the file |N%|.  Using '%' on
                        #if/#else/#endif makes the movement linewise.
 
                                                *[(*
index 568228c63e3314ad441b366c3effa04290e2a573..568dab6839311b351451b58a15f0c5924172fa00 100644 (file)
@@ -1,4 +1,4 @@
-*options.txt*  For Vim version 7.1.  Last change: 2008 Feb 24
+*options.txt*  For Vim version 7.2a.  Last change: 2008 Jun 24
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -111,19 +111,31 @@ and the following arguments will be ignored.
 When 'verbose' is non-zero, displaying an option value will also tell where it
 was last set.  Example: >
        :verbose set shiftwidth cindent?
-         shiftwidth=4
-                 Last set from modeline
-         cindent
-                 Last set from /usr/local/share/vim/vim60/ftplugin/c.vim
-This is only done when specific option values are requested, not for ":set
-all" or ":set" without an argument.
-When the option was set by hand there is no "Last set" message.  There is only
-one value for all local options with the same name.  Thus the message applies
-to the option name, not necessarily its value.
+<        shiftwidth=4 ~
+                 Last set from modeline ~
+         cindent ~
+                 Last set from /usr/local/share/vim/vim60/ftplugin/c.vim ~
+This is only done when specific option values are requested, not for ":verbose
+set all" or ":verbose set" without an argument.
+When the option was set by hand there is no "Last set" message.
 When the option was set while executing a function, user command or
 autocommand, the script in which it was defined is reported.
 Note that an option may also have been set as a side effect of setting
 'compatible'.
+A few special texts:
+       Last set from modeline ~
+               Option was set in a |modeline|.
+       Last set from --cmd argument ~
+               Option was set with command line argument |--cmd| or +.
+       Last set from -c argument ~
+               Option was set with command line argument |-c|, +, |-S| or
+               |-q|.
+       Last set from environment variable ~
+               Option was set from an environment variable, $VIMINIT,
+               $GVIMINIT or $EXINIT.
+       Last set from error handler ~
+               Option was cleared when evaluating it resulted in an error.
+
 {not available when compiled without the +eval feature}
 
                                                        *:set-termcap* *E522*
@@ -265,7 +277,10 @@ You will not get back the 'list' value as it was the last time you edited
                        Without argument: Display all local option's local
                        values which are different from the default.
                        When displaying a specific local option, show the
-                       local value.  For a global option the global value is
+                       local value.  For a global/local boolean option, when
+                       the global value is being used, "--" is displayed
+                       before the option name.
+                       For a global option the global value is
                        shown (but that might change in the future).
                        {not in Vi}
 
@@ -797,7 +812,7 @@ A jump table for the options with a short description can be found at |Q_op|.
 
        When 'background' is set Vim will adjust the default color groups for
        the new value.  But the colors used for syntax highlighting will not
-       change.
+       change.                                 *g:colors_name*
        When a color scheme is loaded (the "colors_name" variable is set)
        setting 'background' will cause the color scheme to be reloaded.  If
        the color scheme adjusts to the value of 'background' this will work.
@@ -1148,9 +1163,11 @@ A jump table for the options with a short description can be found at |Q_op|.
                                                *'browsedir'* *'bsdir'*
 'browsedir' 'bsdir'    string  (default: "last")
                        global
-                       {not in Vi} {only for Motif and Win32 GUI}
+                       {not in Vi} {only for Motif, Athena, GTK, Mac and
+                       Win32 GUI}
        Which directory to use for the file browser:
-          last         Use same directory as with last file browser.
+          last         Use same directory as with last file browser, where a
+                       file was opened or saved.
           buffer       Use the directory of the related buffer.
           current      Use the current directory.
           {path}       Use the specified directory
@@ -1343,7 +1360,7 @@ A jump table for the options with a short description can be found at |Q_op|.
                        {not in Vi}
                        {not available when compiled without the |+cindent|
                        feature}
-       Enables automatic C program indenting  See 'cinkeys' to set the keys
+       Enables automatic C program indenting.  See 'cinkeys' to set the keys
        that trigger reindenting in insert mode and 'cinoptions' to set your
        preferred indent style.
        If 'indentexpr' is not empty, it overrules 'cindent'.
@@ -1711,7 +1728,8 @@ A jump table for the options with a short description can be found at |Q_op|.
        tabs followed by spaces as required (unless |'expandtab'| is enabled,
        in which case only spaces are used).  Enabling this option makes the
        new line copy whatever characters were used for indenting on the
-       existing line.  If the new indent is greater than on the existing
+       existing line.  'expandtab' has no effect on these characters, a Tab
+       remains a Tab.  If the new indent is greater than on the existing
        line, the remaining space is filled in the normal manner.
        NOTE: 'copyindent' is reset when 'compatible' is set.
        Also see 'preserveindent'.
@@ -2423,8 +2441,8 @@ A jump table for the options with a short description can be found at |Q_op|.
                        global or local to buffer |global-local|
                        {not in Vi}
        External program to use for "=" command.  When this option is empty
-       the internal formatting functions are used ('lisp', 'cindent' or
-       'indentexpr').
+       the internal formatting functions are used; either 'lisp', 'cindent'
+       or 'indentexpr'.
        Environment variables are expanded |:set_env|.  See |option-backslash|
        about including spaces and backslashes.
        This option cannot be set from a |modeline| or in the |sandbox|, for
@@ -3362,7 +3380,7 @@ A jump table for the options with a short description can be found at |Q_op|.
                'guitablabel' can be used to change the text in the labels.
                When 'e' is missing a non-GUI tab pages line may be used.
                The GUI tabs are only supported on some systems, currently
-               GTK, Motif and MS-Windows.
+               GTK, Motif, Mac OS/X and MS-Windows.
                                                                *'go-f'*
          'f'   Foreground: Don't use fork() to detach the GUI from the shell
                where it was started.  Use this for programs that wait for the
@@ -3618,7 +3636,7 @@ A jump table for the options with a short description can be found at |Q_op|.
        When you get bored looking at the highlighted matches, you can turn it
        off with |:nohlsearch|.  As soon as you use a search command, the
        highlighting comes back.
-       'redrawtime' specifies the maximum time spend on finding matches.
+       'redrawtime' specifies the maximum time spent on finding matches.
        When the search pattern can match an end-of-line, Vim will try to
        highlight all of the matched text.  However, this depends on where the
        search starts.  This will be the first line in the window or the first
@@ -3917,12 +3935,13 @@ A jump table for the options with a short description can be found at |Q_op|.
                        local to buffer
                        {not in Vi}
        When doing keyword completion in insert mode |ins-completion|, and
-       'ignorecase' is also on, the case of the match is adjusted.  If the
-       typed text contains a lowercase letter where the match has an upper
-       case letter, the completed part is made lowercase.  If the typed text
-       has no lowercase letters and the match has a lowercase letter where
-       the typed text has an uppercase letter, and there is a letter before
-       it, the completed part is made uppercase.
+       'ignorecase' is also on, the case of the match is adjusted depending
+       on the typed text.  If the typed text contains a lowercase letter
+       where the match has an upper case letter, the completed part is made
+       lowercase.  If the typed text has no lowercase letters and the match
+       has a lowercase letter where the typed text has an uppercase letter,
+       and there is a letter before it, the completed part is made uppercase.
+       With 'noinfercase' the match is used as-is.
 
                        *'insertmode'* *'im'* *'noinsertmode'* *'noim'*
 'insertmode' 'im'      boolean (default off)
@@ -3967,6 +3986,10 @@ A jump table for the options with a short description can be found at |Q_op|.
        Multi-byte characters 256 and above are always included, only the
        characters up to 255 are specified with this option.
        For UTF-8 the characters 0xa0 to 0xff are included as well.
+       Think twice before adding white space to this option.  Although a
+       space may appear inside a file name, the effect will be that Vim
+       doesn't know where a file name starts or ends when doing completion.
+       It most likely works better without a space in 'isfname'.
 
        Note that on systems using a backslash as path separator, Vim tries to
        do its best to make it work as you would expect.  That is a bit
@@ -3993,7 +4016,7 @@ A jump table for the options with a short description can be found at |Q_op|.
        are included.  Normally these are the characters a to z and A to Z,
        plus accented characters.  To include '@' itself use "@-@".  Examples:
                "@,^a-z"        All alphabetic characters, excluding lower
-                               case letters.
+                               case ASCII letters.
                "a-z,A-Z,@-@"   All letters plus the '@' character.
        A comma can be included by using it where a character number is
        expected.  Example:
@@ -4617,8 +4640,9 @@ A jump table for the options with a short description can be found at |Q_op|.
                        global
                        {not in Vi}
        Enable the use of the mouse.  Only works for certain terminals
-       (xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, and Linux console
-       with gpm).  For using the mouse in the GUI, see |gui-mouse|.
+       (xterm, MS-DOS, Win32 |win32-mouse|, QNX pterm, *BSD console with
+       sysmouse and Linux console with gpm).  For using the mouse in the
+       GUI, see |gui-mouse|.
        The mouse can be enabled for different modes:
                n       Normal mode
                v       Visual mode
@@ -4948,6 +4972,7 @@ A jump table for the options with a short description can be found at |Q_op|.
        Note that typing <F10> in paste mode inserts "<F10>", since in paste
        mode everything is inserted literally, except the 'pastetoggle' key
        sequence.
+       When the value has several bytes 'ttimeoutlen' applies.
 
                                                *'pex'* *'patchexpr'*
 'patchexpr' 'pex'      string  (default "")
@@ -5054,6 +5079,8 @@ A jump table for the options with a short description can be found at |Q_op|.
        enabled, in which case only spaces are used).  Enabling this option
        means the indent will preserve as many existing characters as possible
        for indenting, and only add additional tabs or spaces as required.
+       'expandtab' does not apply to the preserved white space, a Tab remains
+       a Tab.
        NOTE: When using ">>" multiple times the resulting indent is a mix of
        tabs and spaces.  You might not like this.
        NOTE: 'preserveindent' is reset when 'compatible' is set.
@@ -5894,6 +5921,9 @@ A jump table for the options with a short description can be found at |Q_op|.
        pattern (if there is one) as possible matches.  Thus, if you have
        matched a C function, you can see a template for what arguments are
        required (coding style permitting).
+       Note that this doesn't work well together with having "longest" in
+       'completeopt', because the completion from the search pattern may not
+       match the typed text.
 
                                 *'showmatch'* *'sm'* *'noshowmatch'* *'nosm'*
 'showmatch' 'sm'       boolean (default off)
@@ -6478,6 +6508,8 @@ A jump table for the options with a short description can be found at |Q_op|.
           split        If included, split the current window before loading
                        a buffer.  Otherwise: do not split, use current window.
                        Supported in |quickfix| commands that display errors.
+          newtab       Like "split", but open a new tab page.  Overrules
+                       "split" when both are present.
 
                                                *'synmaxcol'* *'smc'*
 'synmaxcol' 'smc'      number  (default 3000)
@@ -6602,7 +6634,7 @@ A jump table for the options with a short description can be found at |Q_op|.
 
        Linear searching is done anyway, for one file, when Vim finds a line
        at the start of the file indicating that it's not sorted: >
-   !_TAG_FILE_SORTED   0       /some command/
+   !_TAG_FILE_SORTED   0       /some comment/
 <      [The whitespace before and after the '0' must be a single <Tab>]
 
        When a binary search was done and no match was found in any of the
@@ -7089,7 +7121,7 @@ A jump table for the options with a short description can be found at |Q_op|.
        "xterm", when the terminal name doesn't start with "xterm", but it can
        handle xterm mouse codes.
        The "xterm2" value will be set if the xterm version is reported to be
-       95 of higher.  This only works when compiled with the |+termresponse|
+       95 or higher.  This only works when compiled with the |+termresponse|
        feature and if |t_RV| is set to the escape sequence to request the
        xterm version number.  Otherwise "xterm2" must be set explicitly.
        If you do not want 'ttymouse' to be set to "xterm2" automatically, set
@@ -7424,6 +7456,7 @@ A jump table for the options with a short description can be found at |Q_op|.
                        {not in Vi}
        Character you have to type to start wildcard expansion in the
        command-line, as specified with 'wildmode'.
+       More info here: |cmdline-completion|.
        The character is not recognized when used inside a macro.  See
        'wildcharm' for that.
        Although 'wc' is a number option, you can set it to a special key: >
@@ -7441,7 +7474,7 @@ A jump table for the options with a short description can be found at |Q_op|.
        you'll never actually type 'wildcharm', just use it in mappings that
        automatically invoke completion mode, e.g.: >
                :set wcm=<C-Z>
-               :cmap ss so $vim/sessions/*.vim<C-Z>
+               :cnoremap ss so $vim/sessions/*.vim<C-Z>
 <      Then after typing :ss you can use CTRL-P & CTRL-N.
 
                                                *'wildignore'* *'wig'*
@@ -7536,6 +7569,7 @@ A jump table for the options with a short description can be found at |Q_op|.
 <      List all matches without completing, then each full match >
                :set wildmode=longest,list
 <      Complete longest common string, then list alternatives.
+       More info here: |cmdline-completion|.
 
                                                *'wildoptions'* *'wop'*
 'wildoptions' 'wop'    string  (default "")
@@ -7596,13 +7630,17 @@ A jump table for the options with a short description can be found at |Q_op|.
                        feature}
        Minimal number of lines for the current window.  This is not a hard
        minimum, Vim will use fewer lines if there is not enough room.  If the
-       current window is smaller, its size is increased, at the cost of the
-       height of other windows.  Set it to 999 to make the current window
-       always fill the screen (although this has the drawback that ":all"
-       will create only two windows).  Set it to a small number for normal
-       editing.
-       Minimum value is 1.
-       The height is not adjusted after one of the commands to change the
+       focus goes to a window that is smaller, its size is increased, at the
+       cost of the height of other windows.
+       Set 'winheight' to a small number for normal editing.
+       Set it to 999 to make the current window fill most of the screen.
+       Other windows will be only 'winminheight' high.  This has the drawback
+       that ":all" will create only two windows.  To avoid "vim -o 1 2 3 4"
+       to create only two windows, set the option after startup is done,
+       using the |VimEnter| event: >
+               au VimEnter * set winheight=999
+<      Minimum value is 1.
+       The height is not adjusted after one of the commands that change the
        height of the current window.
        'winheight' applies to the current window.  Use 'winminheight' to set
        the minimal height for other windows.
index 1e0251bebee22c44948805c9c4437c3c07deeeaf..9c7c0dcc7ee8fd55ecb5f88a4ffa11d71deddcc6 100644 (file)
@@ -1,4 +1,4 @@
-*os_390.txt*    For Vim version 7.1.  Last change: 2005 Mar 29
+*os_390.txt*    For Vim version 7.2a.  Last change: 2005 Mar 29
 
 
                  VIM REFERENCE MANUAL    by Ralf Schandl
index d0cc7803773ad1d0641d72eec0c7e485436b7d08..7c88f9e4db909798fff2dd48512a0071cef5bbce 100644 (file)
@@ -1,4 +1,4 @@
-*os_mac.txt*    For Vim version 7.1.  Last change: 2006 Apr 30
+*os_mac.txt*    For Vim version 7.2a.  Last change: 2006 Apr 30
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar et al.
index c222e9a5942360338de18751309534ecf8ddd7ee..6aa8072489f2659fa3ea85bc133761d0d75e3a41 100644 (file)
@@ -1,4 +1,4 @@
-*os_msdos.txt*  For Vim version 7.1.  Last change: 2005 Mar 29
+*os_msdos.txt*  For Vim version 7.2a.  Last change: 2005 Mar 29
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
index e880aef868b892e85b8118332f9e0d1e51efcad7..68a0299ce6e8c38a29bdb9fd22292dd559c11840 100644 (file)
@@ -1,93 +1,99 @@
-*pi_netrw.txt*  For Vim version 7.1.  Last change: 2007 May 08
+*pi_netrw.txt*  For Vim version 7.2a.  Last change: 2008 Jun 21
 
            -----------------------------------------------------
            NETRW REFERENCE MANUAL    by Charles E. Campbell, Jr.
            -----------------------------------------------------
 
 
-*dav*           *http*          *network*       *Nwrite*   *netrw-file*
-*fetch*         *netrw*         *Nread*         *rcp*      *scp*
-*ftp*           *netrw.vim*     *Nsource*       *rsync*    *sftp*
+*dav*    *ftp*    *netrw-file*  *Nread*    *rcp*    *scp*
+*davs*   *http*   *netrw.vim*   *Nsource*  *rsync*  *sftp*
+*fetch*  *netrw*  *network*     *Nwrite*
 
 ==============================================================================
-1. Contents                                            *netrw-contents*
+1. Contents                                            *netrw-contents* {{{1
 
 1.  Contents.............................................|netrw-contents|
 2.  Starting With Netrw..................................|netrw-start|
 3.  Netrw Reference......................................|netrw-ref|
-      CONTROLLING EXTERNAL APPLICATIONS..................|netrw-externapp|
+      EXTERNAL APPLICATIONS AND PROTOCOLS................|netrw-externapp|
       READING............................................|netrw-read|
       WRITING............................................|netrw-write|
       DIRECTORY LISTING..................................|netrw-dirlist|
       CHANGING THE USERID AND PASSWORD...................|netrw-chgup|
-      VARIABLES..........................................|netrw-variables|
+      VARIABLES AND SETTINGS.............................|netrw-variables|
       PATHS..............................................|netrw-path|
 4.  Network-Oriented File Transfer.......................|netrw-xfer|
       NETRC..............................................|netrw-netrc|
       PASSWORD...........................................|netrw-passwd|
 5.  Activation...........................................|netrw-activate|
-6.  Transparent File Transfer............................|netrw-transparent|
+6.  Transparent File Editing.............................|netrw-transparent|
 7.  Ex Commands..........................................|netrw-ex|
 8.  Variables and Options................................|netrw-var|
-9.  Directory Browsing...................................|netrw-browse| {{{1
-      Maps...............................................|netrw-maps|
-      Exploring..........................................|netrw-explore-cmds|
-      Quick Reference Commands Table.....................|netrw-browse-cmds|
-      Netrw Browser Variables............................|netrw-browse-var|
-      Introduction To Directory Browsing.................|netrw-browse-intro|
-      Netrw Browsing And Option Incompatibilities........|netrw-incompatible|
-      Directory Exploring Commands.......................|netrw-explore|
-      Refreshing The Listing.............................|netrw-ctrl-l|
-      Going Up...........................................|netrw--|
+9.  Browsing.............................................|netrw-browse|
+      Introduction To Browsing...........................|netrw-intro-browse|
+      Quick Reference: Maps..............................|netrw-browse-maps|
+      Quick Reference: Commands..........................|netrw-browse-cmds|
+      Bookmarking A Directory............................|netrw-mb|
       Browsing...........................................|netrw-cr|
-      Obtaining A File...................................|netrw-O|
-      Change Listing Style...............................|netrw-i|
-      Making A New Directory.............................|netrw-d|
-      Deleting Files Or Directories......................|netrw-D|
-      Renaming Files Or Directories......................|netrw-move|
-      Hiding Files Or Directories........................|netrw-a|
-      Edit File Or Directory Hiding List.................|netrw-ctrl-h|
       Browsing With A Horizontally Split Window..........|netrw-o|
-      Browsing With A Vertically Split Window............|netrw-v|
       Browsing With A New Tab............................|netrw-t|
-      Preview Window.....................................|netrw-p|
-      Selecting Sorting Style............................|netrw-s|
-      Editing The Sorting Sequence.......................|netrw-S|
-      Reversing Sorting Order............................|netrw-r|
+      Browsing With A Vertically Split Window............|netrw-v|
+      Change Listing Style...............................|netrw-i|
+      Changing To A Bookmarked Directory.................|netrw-gb|
       Changing To A Predecessor Directory................|netrw-u|
       Changing To A Successor Directory..................|netrw-U|
       Customizing Browsing With A User Function..........|netrw-x|
+      Deleting Files Or Directories......................|netrw-D|
+      Directory Exploring Commands.......................|netrw-explore|
+      Exploring With Stars and Patterns..................|netrw-star|
+      Displaying Information About File..................|netrw-qf|
+      Edit File Or Directory Hiding List.................|netrw-ctrl-h|
+      Editing The Sorting Sequence.......................|netrw-S|
+      Going Up...........................................|netrw--|
+      Hiding Files Or Directories........................|netrw-a|
+      Improving Browsing.................................|netrw-ssh-hack|
+      Listing Bookmarks And History......................|netrw-qb|
+      Making A New Directory.............................|netrw-d|
       Making The Browsing Directory The Current Directory|netrw-c|
-      Bookmarking A Directory............................|netrw-mb|
-      Changing To A Bookmarked Directory.................|netrw-gb|
-      Listing Bookmarks And History......................|netrw-q|
-      Improving Directory Browsing.......................|netrw-listhack| }}}1
+      Marking Files......................................|netrw-mf|
+      Marking Files By Regular Expression................|netrw-mr|
+      Marked Files: Arbitrary Command....................|netrw-mx|
+      Marked Files: Compression And Decompression........|netrw-mz|
+      Marked Files: Copying..............................|netrw-mc|
+      Marked Files: Diff.................................|netrw-md|
+      Marked Files: Editing..............................|netrw-me|
+      Marked Files: Grep.................................|netrw-mg|
+      Marked Files: Hiding and Unhiding by Suffix........|netrw-mh|
+      Marked Files: Moving...............................|netrw-mm|
+      Marked Files: Printing.............................|netrw-mp|
+      Marked Files: Sourcing.............................|netrw-ms|
+      Marked Files: Tagging..............................|netrw-mT|
+      Marked Files: Setting the Target Directory.........|netrw-mt|
+      Marked Files: Unmarking............................|netrw-mu|
+      Netrw Browser Variables............................|netrw-browser-var|
+      Netrw Browsing And Option Incompatibilities........|netrw-incompatible|
+      Netrw Settings.....................................|netrw-settings|
+      Obtaining A File...................................|netrw-O|
+      Preview Window.....................................|netrw-p|
+      Previous Window....................................|netrw-P|
+      Refreshing The Listing.............................|netrw-ctrl-l|
+      Renaming Files Or Directories......................|netrw-move|
+      Reversing Sorting Order............................|netrw-r|
+      Selecting Sorting Style............................|netrw-s|
 10. Problems and Fixes...................................|netrw-problems|
-11. Debugging............................................|netrw-debug|
+11. Debugging Netrw Itself...............................|netrw-debug|
 12. History..............................................|netrw-history|
 13. Credits..............................................|netrw-credits|
 
-The Netrw plugin is generally sourced automatically as it is a
-|standard-plugin|.  That said, to make use of netrw, one must
-have plugins available which can be done with the following
-two lines in your <.vimrc>: >
-
-       set nocp                    " 'compatible' is not set
-       filetype plugin on          " plugins are enabled
-<
-You can avoid loading this plugin by setting the "loaded_netrw" variable
-in your <.vimrc> file: >
-
-       :let loaded_netrw = 1
-
 {Vi does not have any of this}
 
 ==============================================================================
-2. Starting With Netrw                                         *netrw-start*
+2. Starting With Netrw                                 *netrw-start* {{{1
 
-Netrw makes reading, writing, and browsing over a network connection easy!
-First, make sure that you have plugins enabled, so you'll need to have at
-least the following in your <.vimrc>: (or see |netrw-activate|) >
+Netrw makes reading files, writing files, browsing over a network, and
+browsing locally easy!  First, make sure that you have plugins enabled, so
+you'll need to have at least the following in your <.vimrc>:
+(or see |netrw-activate|) >
 
        set nocp                    " 'compatible' is not set
        filetype plugin on          " plugins are enabled
@@ -96,14 +102,13 @@ least the following in your <.vimrc>: (or see |netrw-activate|) >
 
 Netrw supports "transparent" editing of files on other machines using urls
 (see |netrw-transparent|). As an example of this, let's assume you have an
-account on some other machine; try >
+account on some other machine; if you can use scp, try: >
 
        vim scp://hostname/path/to/file
 <
-if you have an ssh connection.  Want to make ssh/scp easier to use? Check
-out |netrw-listhack|!
+Want to make ssh/scp easier to use? Check out |netrw-ssh-hack|!
 
-What if you have ftp, not ssh/scp?  That's easy, too; try >
+So, what if you have ftp, not ssh/scp?  That's easy, too; try >
 
        vim ftp://hostname/path/to/file
 <
@@ -117,7 +122,7 @@ and has lines resembling >
        ...
        default          login USERID password "PASSWORD"
 <
-Now about browsing -- ie. when you just want to look around before editing a
+Now about browsing -- when you just want to look around before editing a
 file.  For browsing on your current host, just "edit" a directory: >
 
        vim .
@@ -131,28 +136,49 @@ the directory name is followed by a "/"): >
 <
 See |netrw-browse| for more!
 
-There's more protocols supported than scp and ftp, too: see the next
-section, |netrw-externapp|.
+There are more protocols supported by netrw just than scp and ftp, too: see the
+next section, |netrw-externapp|, for how to use these external applications.
+
+If you want to use plugins, but for some reason don't wish to use netrw, then
+you need to avoid loading both the plugin and the autoload portions of netrw.
+You may do so by placing the following two lines in your <.vimrc>: >
+
+       :let g:loaded_netrw       = 1
+       :let g:loaded_netrwPlugin = 1
+<
 
 ==============================================================================
-3. Netrw Reference                                             *netrw-ref*
+3. Netrw Reference                                     *netrw-ref* {{{1
+
+   Netrw supports several protocols in addition to scp and ftp mentioned
+   in |netrw-start|.  These include dav, fetch, http,... well, just look
+   at the list in |netrw-externapp|.  Each protocol is associated with a
+   variable which holds the default command supporting that protocol.
 
-CONTROLLING EXTERNAL APPLICATIONS                      *netrw-externapp*
+EXTERNAL APPLICATIONS AND PROTOCOLS                    *netrw-externapp* {{{2
 
        Protocol  Variable          Default Value
        --------  ----------------  -------------
           dav:    *g:netrw_dav_cmd*  = "cadaver"
         fetch:  *g:netrw_fetch_cmd*  = "fetch -o"    if fetch is available
           ftp:    *g:netrw_ftp_cmd*  = "ftp"
-         http:   *g:netrw_http_cmd*  = "curl -o"     if      curl  is available
-         http:    g:netrw_http_cmd   = "wget -q -O"  else if wget  is available
-          http:    g:netrw_http_cmd   = "fetch -o"    else if fetch is available
+         http:   *g:netrw_http_cmd*  = "curl -o"     if     curl  is available
+         http:    g:netrw_http_cmd   = "wget -q -O"  elseif wget  is available
+          http:    g:netrw_http_cmd   = "fetch -o"    elseif fetch is available
           rcp:    *g:netrw_rcp_cmd*  = "rcp"
         rsync:  *g:netrw_rsync_cmd*  = "rsync -a"
           scp:    *g:netrw_scp_cmd*  = "scp -q"
          sftp:   *g:netrw_sftp_cmd*  = "sftp"
 
-READING                                                *netrw-read* *netrw-nread*
+READING                                                *netrw-read* *netrw-nread* {{{2
+
+       Generally, one may just use the url notation with a normal editing
+       command, such as >
+
+               :e ftp://[user@]machine/path
+<
+       Netrw also provides the Nread command:
+
        :Nread ?                                        give help
        :Nread "machine:path"                           uses rcp
        :Nread "machine path"                           uses ftp w/ <.netrc>
@@ -166,7 +192,15 @@ READING                                            *netrw-read* *netrw-nread*
        :Nread "scp://[user@]machine[[:#]port]/path"    uses scp
        :Nread "sftp://[user@]machine/path"             uses sftp
 
-WRITING                                                *netrw-write* *netrw-nwrite*
+WRITING                                        *netrw-write* *netrw-nwrite* {{{2
+
+       One may just use the url notation with a normal file writing
+       command, such as >
+
+               :w ftp://[user@]machine/path
+<
+       Netrw also provides the Nwrite command:
+
        :Nwrite ?                                       give help
        :Nwrite "machine:path"                          uses rcp
        :Nwrite "machine path"                          uses ftp w/ <.netrc>
@@ -179,7 +213,15 @@ WRITING                                            *netrw-write* *netrw-nwrite*
        :Nwrite "sftp://[user@]machine/path"            uses sftp
        http: not supported!
 
-SOURCING                                       *netrw-source*
+SOURCING                                       *netrw-source* {{{2
+
+       One may just use the url notation with the normal file sourcing
+       command, such as >
+
+               :so ftp://[user@]machine/path
+<
+       Netrw also provides the Nsource command:
+
        :Nsource ?                                      give help
        :Nsource "dav://machine[:port]/path"            uses cadaver
        :Nsource "fetch://[user@]machine/path"          uses fetch
@@ -190,30 +232,48 @@ SOURCING                                  *netrw-source*
        :Nsource "scp://[user@]machine[[:#]port]/path"  uses scp
        :Nsource "sftp://[user@]machine/path"           uses sftp
 
-DIRECTORY LISTING                                      *netrw-dirlist*
+DIRECTORY LISTING                                      *netrw-dirlist* {{{2
+
+       One may browse a directory to get a listing by simply attempting to
+       edit the directory: >
+
+               :e scp://[user]@hostname/path/
+               :e ftp://[user]@hostname/path/
+<
+       For remote directories (ie. those using scp or ftp), that trailing
+       "/" is necessary (it tells netrw that its to treat it as a directory
+       to browse instead of a file to download).
+
+       However, the Nread command can also be used to accomplish this:
+
        :Nread [protocol]://[user]@hostname/path/
 
-                                               *netrw-login* *netrw-password*
- CHANGING USERID AND PASSWORD                  *netrw-chgup* *netrw-userpass*
+                                       *netrw-login* *netrw-password*
+CHANGING USERID AND PASSWORD           *netrw-chgup* *netrw-userpass* {{{2
 
        Attempts to use ftp will prompt you for a user-id and a password.
        These will be saved in global variables g:netrw_uid and
-       g:netrw_passwd; subsequent uses of ftp will re-use those two items to
+       s:netrw_passwd; subsequent uses of ftp will re-use those two items to
        simplify the further use of ftp.  However, if you need to use a
        different user id and/or password, you'll want to call NetUserPass()
        first.  To work around the need to enter passwords, check if your ftp
        supports a <.netrc> file in your home directory.  Also see
        |netrw-passwd| (and if you're using ssh/scp hoping to figure out how
-       to not need to use passwords, look at |netrw-listhack|).
+       to not need to use passwords, look at |netrw-ssh-hack|).
 
        :NetUserPass [uid [password]]           -- prompts as needed
        :call NetUserPass()                     -- prompts for uid and password
        :call NetUserPass("uid")                -- prompts for password
        :call NetUserPass("uid","password")     -- sets global uid and password
 
-VARIABLES                                              *netrw-variables*
+NETRW VARIABLES AND SETTINGS                           *netrw-variables* {{{2
+(also see: |netrw-browser-var| |netrw-protocol| |netrw-settings| |netrw-var|)
 
-(also see: |netrw-browse-var| |netrw-protocol| |netrw-settings| |netrw-var|)
+Netrw provides a lot of variables which allow you to customize netrw to your
+preferences.  One way to look at them is via the command :NetrwSettings (see
+|netrw-settings|) which will display your current netrw settings.  Most such
+settings are described below, in |netrw-browser-options|, and in
+|netrw-externapp|:
 
  *b:netrw_lastfile*    last file Network-read/written retained on a per-buffer
                        basis           (supports plain :Nw )
@@ -236,8 +296,8 @@ VARIABLES                                           *netrw-variables*
 
  *g:netrw_ignorenetrc* =0 (default for linux, cygwin)
                        =1 If you have a <.netrc> file but it doesn't work and
-                          you want it ignored, then set this variable as shown.
-                          (default for Windows + cmd.exe)
+                          you want it ignored, then set this variable as
+                          shown. (default for Windows + cmd.exe)
 
  *g:netrw_menu*                =0 disable netrw's menu
                        =1 (default) netrw's menu enabled
@@ -246,7 +306,13 @@ VARIABLES                                          *netrw-variables*
                        be available (see |netrw-gx|)
 
  *g:netrw_uid*         (ftp) user-id,      retained on a per-session basis
- *g:netrw_passwd*      (ftp) password,     retained on a per-session basis
+ *s:netrw_passwd*      (ftp) password,     retained on a per-session basis
+
+ *g:netrw_preview*     =0 (default) preview window shown in a horizontally
+                           split window
+                       =1 preview window shown in a vertically split window.
+                       Also affects the "previous window" (see |netrw-P|) in
+                       the same way.
 
  *g:netrw_shq*         = "'" for Unix/Linux systems (ie. a single quote)
                        = "'" for Windows + cygwin systems (ie. a single quote)
@@ -258,6 +324,9 @@ VARIABLES                                           *netrw-variables*
  *g:netrw_scpport*      = "-P" : option to use to set port for scp
  *g:netrw_sshport*      = "-p" : option to use to set port for ssh
 
+  *g:netrw_silent*     =0 : transfers done normally
+                       =1 : transfers done silently
+
  *g:netrw_use_errorwindow* =1 : messages from netrw will use a separate one
                                 line window.  This window provides reliable
                                delivery of messages. (default)
@@ -279,7 +348,7 @@ VARIABLES                                           *netrw-variables*
  *g:netrw_use_nt_rcp*  =0 don't use the rcp of WinNT, Win2000 and WinXP
                        =1 use WinNT's rcp in binary mode         (default)
 
-PATHS                                                          *netrw-path*
+PATHS                                                  *netrw-path* {{{2
 
 Paths to files are generally user-directory relative for most protocols.
 It is possible that some protocol will make paths relative to some
@@ -288,7 +357,7 @@ associated directory, however.
        example:  vim scp://user@host/somefile
        example:  vim scp://user@host/subdir1/subdir2/somefile
 <
-where "somefile" is the "user"'s home directory.  If you wish to get a
+where "somefile" is in the "user"'s home directory.  If you wish to get a
 file using root-relative paths, use the full path:
 >
        example:  vim scp://user@host//somefile
@@ -296,7 +365,7 @@ file using root-relative paths, use the full path:
 <
 
 ==============================================================================
-4. Network-Oriented File Transfer                              *netrw-xfer*
+4. Network-Oriented File Transfer                      *netrw-xfer* {{{1
 
 Network-oriented file transfer under Vim is implemented by a VimL-based script
 (<netrw.vim>) using plugin techniques.  It currently supports both reading and
@@ -312,7 +381,7 @@ FileReadCmd, BufWriteCmd) to intercept reads/writes with url-like filenames. >
        ex. vim ftp://hostname/path/to/file
 <
 The characters preceding the colon specify the protocol to use; in the
-example, its ftp.  The <netrw.vim> script then formulates a command or a
+example, it's ftp.  The <netrw.vim> script then formulates a command or a
 series of commands (typically ftp) which it issues to an external program
 (ftp, scp, etc) which does the actual file transfer/protocol.  Files are read
 from/written to a temporary file (under Unix/Linux, /tmp/...) which the
@@ -364,6 +433,10 @@ additional prompting.
   |  dav://host/path                |                            | cadaver    |
   |  :Nread dav://host/path         | :Nwrite dav://host/path    | cadaver    |
   +---------------------------------+----------------------------+------------+
+  | DAV + SSL:                      |                            |            |
+  |  davs://host/path               |                            | cadaver    |
+  |  :Nread davs://host/path        | :Nwrite davs://host/path   | cadaver    |
+  +---------------------------------+----------------------------+------------+
   | FETCH:                          |                            |            |
   |  fetch://[user@]host/path       |                            |            |
   |  fetch://[user@]host:http/path  |  Not Available             | fetch      |
@@ -419,6 +492,10 @@ Both the :Nread and the :Nwrite ex-commands can accept multiple filenames.
 
 NETRC                                                  *netrw-netrc*
 
+The <.netrc> file, typically located in your home directory, contains lines
+therein which map a hostname (machine name) to the user id and password you
+prefer to use with it.
+
 The typical syntax for lines in a <.netrc> file is given as shown below.
 Ftp under Unix usually supports <.netrc>; ftp under Windows usually doesn't.
 >
@@ -433,7 +510,7 @@ password.
        Since this file contains passwords, make very sure nobody else can
        read this file!  Most programs will refuse to use a .netrc that is
        readable for others.  Don't forget that the system administrator can
-       still read the file!
+       still read the file!  Ie. for Linux/Unix: chmod 600 .netrc
 
 
 PASSWORD                                               *netrw-passwd*
@@ -444,17 +521,19 @@ after one has set it.
 
 Unfortunately there doesn't appear to be a way for netrw to feed a password to
 scp.  Thus every transfer via scp will require re-entry of the password.
-However, |netrw-listhack| can help with this problem.
+However, |netrw-ssh-hack| can help with this problem.
 
 
 ==============================================================================
-5. Activation                                          *netrw-activate*
+5. Activation                                          *netrw-activate* {{{1
 
 Network-oriented file transfers are available by default whenever Vim's
-|'nocompatible'| mode is enabled.  The <netrw.vim> file resides in your
-system's vim-plugin directory and is sourced automatically whenever you bring
-up vim.  I suggest that, at a minimum, you have at least the following in your
-<.vimrc> customization file: >
+|'nocompatible'| mode is enabled.  Netrw's script files reside in your
+system's plugin, autoload, and syntax directories; just the
+plugin/netrwPlugin.vim script is sourced automatically whenever you bring up
+vim.  The main script in autoload/netrw.vim is only loaded when you actually
+use netrw.  I suggest that, at a minimum, you have at least the following in
+your <.vimrc> customization file: >
 
        set nocp
        if version >= 600
@@ -463,11 +542,12 @@ up vim.  I suggest that, at a minimum, you have at least the following in your
 <
 
 ==============================================================================
-6. Transparent File Transfer                           *netrw-transparent*
+6. Transparent File Editing                    *netrw-transparent* {{{1
 
 Transparent file transfers occur whenever a regular file read or write
-(invoked via an |:autocmd| for |BufReadCmd| or |BufWriteCmd| events) is made.
-Thus one may use files across networks just as simply as if they were local. >
+(invoked via an |:autocmd| for |BufReadCmd|, |BufWriteCmd|, or |SourceCmd|
+events) is made.  Thus one may read, write, or source  files across networks
+just as easily as if they were local files! >
 
        vim ftp://[user@]machine/path
        ...
@@ -478,10 +558,10 @@ such as netrw.
 
 
 ==============================================================================
-7. Ex Commands                                         *netrw-ex*
+7. Ex Commands                                         *netrw-ex* {{{1
 
 The usual read/write commands are supported.  There are also a few
-additional commands available.  Often you won't need to use Nw or
+additional commands available.  Often you won't need to use Nwrite or
 Nread as shown in |netrw-transparent| (ie. simply use >
   :e url
   :r url
@@ -489,20 +569,20 @@ Nread as shown in |netrw-transparent| (ie. simply use >
 instead, as appropriate) -- see |netrw-urls|.  In the explanations
 below, a {netfile} is an url to a remote file.
 
-:[range]Nw     Write the specified lines to the current
+:[range]Nw[rite]       Write the specified lines to the current
                file as specified in b:netrw_lastfile.
 
-:[range]Nw {netfile} [{netfile}]...
+:[range]Nw[rite] {netfile} [{netfile}]...
                Write the specified lines to the {netfile}.
 
-:Nread         Read the specified lines into the current
+:Nr[ead]               Read the specified lines into the current
                buffer from the file specified in
                b:netrw_lastfile.
 
-:Nread {netfile} {netfile}...
+:Nr[ead] {netfile} {netfile}...
                Read the {netfile} after the current line.
 
-:Nsource {netfile}
+:Ns[ource] {netfile}
                Source the {netfile}.
                To start up vim using a remote .vimrc, one may use
                the following (all on one line) (tnx to Antoine Mechelynck) >
@@ -511,31 +591,33 @@ below, a {netfile} is an url to a remote file.
                 --cmd "source scp://HOSTNAME/.vimrc"
 <                                                              *netrw-uidpass*
 :call NetUserPass()
-               If b:netrw_uid and b:netrw_passwd don't exist,
-               this function query the user for them.
+               If g:netrw_uid and s:netrw_passwd don't exist,
+               this function will query the user for them.
 
 :call NetUserPass("userid")
-               This call will set the b:netrw_uid and, if
+               This call will set the g:netrw_uid and, if
                the password doesn't exist, will query the user for it.
 
 :call NetUserPass("userid","passwd")
-               This call will set both the b:netrw_uid and b:netrw_passwd.
+               This call will set both the g:netrw_uid and s:netrw_passwd.
                The user-id and password are used by ftp transfers.  One may
-               effectively remove the user-id and password by using ""
-               strings.
+               effectively remove the user-id and password by using empty
+               strings (ie. "").
 
 :NetrwSettings  This command is described in |netrw-settings| -- used to
                 display netrw settings and change netrw behavior.
 
 
 ==============================================================================
-8. Variables and Options                       *netrw-options* *netrw-var*
+8. Variables and Options               *netrw-options* *netrw-var* {{{1
+
+(if you're interested in the netrw browser settings, see: |netrw-browser-var|)
 
 The <netrw.vim> script provides several variables which act as options to
-ffect <netrw.vim>'s behavior.  These variables typically may be set in the
-user's <.vimrc> file:
-(also see:
-|netrw-settings| |netrw-browse-var| |netrw-protocol| |netrw-settings|) >
+affect <netrw.vim>'s file transfer behavior.  These variables typically may be
+set in the user's <.vimrc> file: (see also |netrw-settings| |netrw-protocol|)
+
+>
 
                         -------------
                         Netrw Options
@@ -584,7 +666,7 @@ temporarily.
        g:netrw_fname           Holds filename being accessed >
        ------------------------------------------------------------
 <
-                                                               *netrw-protocol*
+                                                       *netrw-protocol*
 
 Netrw supports a number of protocols.  These protocols are invoked using the
 variables listed below, and may be modified by the user.
@@ -706,297 +788,460 @@ itself:
 >
 
 ==============================================================================
-9. Directory Browsing  *netrw-browse* *netrw-dir* *netrw-list* *netrw-help*
-
-MAPS                                                           *netrw-maps*
-     <F1>.............Help.......................................|netrw-help|
-     <cr>.............Browsing...................................|netrw-cr|
-     <del>............Deleting Files or Directories..............|netrw-delete|
-     -................Going Up...................................|netrw--|
-     a................Hiding Files or Directories................|netrw-a|
-     mb...............Bookmarking a Directory....................|netrw-mb|
-     gb...............Changing to a Bookmarked Directory.........|netrw-gb|
-     c................Make Browsing Directory The Current Dir....|netrw-c|
-     d................Make A New Directory.......................|netrw-d|
-     D................Deleting Files or Directories..............|netrw-D|
-     <c-h>............Edit File/Directory Hiding List............|netrw-ctrl-h|
-     i................Change Listing Style.......................|netrw-i|
-     <c-l>............Refreshing the Listing.....................|netrw-ctrl-l|
-     o................Browsing with a Horizontal Split...........|netrw-o|
-     p................Preview Window.............................|netrw-p|
-     q................Listing Bookmarks and History..............|netrw-q|
-     r................Reversing Sorting Order....................|netrw-r|
-     R................Renaming Files or Directories..............|netrw-R|
-     s................Selecting Sorting Style....................|netrw-s|
-     S................Editing the Sorting Sequence...............|netrw-S|
-     t................Browsing with a new tab....................|netrw-t|
-     u................Changing to a Predecessor Directory........|netrw-u|
-     U................Changing to a Successor Directory..........|netrw-U|
-     v................Browsing with a Vertical Split.............|netrw-v|
-     x................Customizing Browsing.......................|netrw-x|
-
-    COMMANDS                                           *netrw-explore-cmds*
-     :Explore[!]  [dir] Explore directory of current file........|netrw-explore|
-     :Sexplore[!] [dir] Split & Explore directory ...............|netrw-explore|
-     :Hexplore[!] [dir] Horizontal Split & Explore...............|netrw-explore|
-     :Vexplore[!] [dir] Vertical Split & Explore.................|netrw-explore|
-     :Texplore[!] [dir] Tab & Explore............................|netrw-explore|
-     :Pexplore[!] [dir] Vertical Split & Explore.................|netrw-explore|
-     :Nexplore[!] [dir] Vertical Split & Explore.................|netrw-explore|
-     :NetrwSettings.............................................|netrw-settings|
-
-QUICK REFERENCE COMMANDS TABLE                         *netrw-browse-cmds*
+9. Browsing            *netrw-browsing* *netrw-browse* *netrw-help* {{{1
+                       *netrw-browser*  *netrw-dir*    *netrw-list*
+
+INTRODUCTION TO BROWSING                       *netrw-intro-browse* {{{2
+       (Quick References: |netrw-quickmaps| |netrw-quickcoms|)
+
+Netrw supports the browsing of directories on your local system and on remote
+hosts; browsing includes listing files and directories, entering directories,
+editing files therein, deleting files/directories, making new directories,
+moving (renaming) files and directories, copying files and directories, etc.
+One may mark files and execute any system command on them!  The Netrw browser
+generally implements the previous explorer's maps and commands for remote
+directories, although details (such as pertinent global variable names)
+necessarily differ.  To browse a directory, simply "edit" it! >
+
+       vim /your/directory/
+       vim .
+       vim c:\your\directory\
+<
+(Related topics: |netrw-cr|  |netrw-o|  |netrw-p| |netrw-P| |netrw-t|
+                 |netrw-mf|  |netrw-mx| |netrw-D| |netrw-R| |netrw-v| )
+
+The Netrw remote file and directory browser handles two protocols: ssh and
+ftp.  The protocol in the url, if it is ftp, will cause netrw also to use ftp
+in its remote browsing.  Specifying any other protocol will cause it to be
+used for file transfers; but the ssh protocol will be used to do remote
+browsing.
+
+To use Netrw's remote directory browser, simply attempt to read a "file" with
+a trailing slash and it will be interpreted as a request to list a directory:
 >
-        -------        -----------
-       Command Explanation
-        -------        -----------
-<      <F1>    Causes Netrw to issue help
-        <cr>   Netrw will enter the directory or read the file |netrw-cr|
-        <del>  Netrw will attempt to remove the file/directory |netrw-del|
-          -    Makes Netrw go up one directory |netrw--|
-          a    Toggles between normal display, |netrw-a|
-                hiding (suppress display of files matching g:netrw_list_hide)
-                showing (display only files which match g:netrw_list_hide)
-          mb   bookmark current directory
-          gb   go to previous bookmarked directory
-          c    Make current browsing directory the current directory |netrw-c|
-          d    Make a directory |netrw-d|
-          D    Netrw will attempt to remove the file(s)/directory(ies) |netrw-D|
-        <c-h>  Edit file hiding list |netrw-ctrl-h|
-          i    Cycle between thin, long, wide, and tree listings|netrw-i|
-        <c-l>  Causes Netrw to refresh the directory listing |netrw-ctrl-l|
-          o    Enter the file/directory under the cursor in a new browser
-                window.  A horizontal split is used. |netrw-o|
-          O    Obtain a file specified by cursor |netrw-O|
-          p    Preview the file |netrw-p|
-          P    Browse in the previously used window |netrw-P|
-          q    List bookmarked directories and history |netrw-q|
-          r    Reverse sorting order |netrw-r|
-          R    Rename the designed file(s)/directory(ies) |netrw-R|
-          s    Select sorting style: by name, time, or file size |netrw-s|
-          S    Specify suffix priority for name-sorting |netrw-S|
-          t    Enter the file/directory under the cursor in a new tab|netrw-t|
-          u    Change to recently-visited directory |netrw-u|
-          U    Change to subsequently-visited directory |netrw-U|
-          v    Enter the file/directory under the cursor in a new browser
-                window.  A vertical split is used. |netrw-v|
-          x    Apply a function to a file. (special browsers) |netrw-x|
+       vim [protocol]://[user@]hostname/path/
+<
+where [protocol] is typically scp or ftp.  As an example, try: >
 
-NETRW BROWSER VARIABLES                                        *netrw-browse-var*
+       vim ftp://ftp.home.vim.org/pub/vim/
+<
+For local directories, the trailing slash is not required.  Again, because its
+easy to miss: to browse remote directories, the url must terminate with a
+slash!
+
+If you'd like to avoid entering the password repeatedly for remote directory
+listings with ssh or scp, see |netrw-ssh-hack|.  To avoid password entry with
+ftp, see |netrw-netrc| (if your ftp supports it).
+
+There are several things you can do to affect the browser's display of files:
+
+       * To change the listing style, press the "i" key (|netrw-i|).
+         Currently there are four styles: thin, long, wide, and tree.
+
+       * To hide files (don't want to see those xyz~ files anymore?) see
+         |netrw-ctrl-h|.
+
+       * Press s to sort files by name, time, or size.
+
+See |netrw-browse-cmds| for all the things you can do with netrw!
+
+
+QUICK HELP                                             *netrw-quickhelp* {{{2
+                       (Use ctrl-] to select a topic)~
+       Intro to Browsing...............................|netrw-intro-browse|
+         Quick Reference: Maps.........................|netrw-quickmap|
+         Quick Reference: Commands.....................|netrw-browse-cmds|
+       Hiding
+         Edit hiding list..............................|netrw-ctrl-h|
+         Hiding Files or Directories...................|netrw-a|
+         Hiding/Unhiding by suffix.....................|netrw-mh|
+         Hiding  dot-files.............................|netrw-gh|
+       Listing Style
+         Select listing style (thin/long/wide/tree)....|netrw-i|
+         Associated setting variable...................|g:netrw_liststyle|
+         Shell command used to perform listing.........|g:netrw_list_cmd|
+         Quick file info...............................|netrw-qf|
+       Sorted by
+         Select sorting style (name/time/size).........|netrw-s|
+         Editing the sorting sequence..................|netrw-S|
+         Associated setting variable...................|g:netrw_sort_sequence|
+         Reverse sorting order.........................|netrw-r|
+
+
+                               *netrw-quickmap* *netrw-quickmaps*
+QUICK REFERENCE: MAPS                          *netrw-browse-maps* {{{2
 >
-   ---                         -----------
-   Var                         Explanation
-   ---                         -----------
-< *g:netrw_alto*               change from above splitting to below splitting
-                               by setting this variable (see |netrw-o|)
-                                default: =&sb           (see |'sb'|)
+         ---                   -----------------                       ----
+         Map                   Quick Explanation                       Link
+         ---                   -----------------                       ----
+<       <F1>   Causes Netrw to issue help
+        <cr>   Netrw will enter the directory or read the file      |netrw-cr|
+        <del>  Netrw will attempt to remove the file/directory      |netrw-del|
+          -    Makes Netrw go up one directory                      |netrw--|
+          a    Toggles between normal display,                      |netrw-a|
+               hiding (suppress display of files matching g:netrw_list_hide)
+               showing (display only files which match g:netrw_list_hide)
+          c    Make browsing directory the current directory        |netrw-c|
+          d    Make a directory                                     |netrw-d|
+          D    Attempt to remove the file(s)/directory(ies)         |netrw-D|
+          gb   Go to previous bookmarked directory                  |netrw-gb|
+          gh   Quick hide/unhide of dot-files                       |netrw-gh|
+          gi   Display information on file                          |netrw-qf|
+        <c-h>  Edit file hiding list                             |netrw-ctrl-h|
+          i    Cycle between thin, long, wide, and tree listings    |netrw-i|
+        <c-l>  Causes Netrw to refresh the directory listing     |netrw-ctrl-l|
+          mb   Bookmark current directory                           |netrw-mb|
+          mc   Copy marked files to marked-file target directory    |netrw-mc|
+          md   Apply diff to marked files (up to 3)                 |netrw-md|
+          me   Place marked files on arg list and edit them         |netrw-me|
+          mf   Mark a file                                          |netrw-mf|
+          mh   Toggle marked file suffices' presence on hiding list |netrw-mh|
+          mm   Move marked files to marked-file target directory    |netrw-mm|
+          mp   Print marked files                                   |netrw-mp|
+          mr   Mark files satisfying a |regexp|                     |netrw-mr|
+          mt   Current browsing directory becomes markfile target   |netrw-mt|
+          mT   Apply ctags to marked files                          |netrw-mT|
+          mu   Unmark all marked files                              |netrw-mu|
+          mx   Apply arbitrary shell command to marked files        |netrw-mx|
+          mz   Compress/decompress marked files                     |netrw-mz|
+          o    Enter the file/directory under the cursor in a new   |netrw-o|
+               browser window.  A horizontal split is used.
+          O    Obtain a file specified by cursor                    |netrw-O|
+          p    Preview the file                                     |netrw-p|
+          P    Browse in the previously used window                 |netrw-P|
+          q    List bookmarked directories and history              |netrw-qb|
+          r    Reverse sorting order                                |netrw-r|
+          R    Rename the designed file(s)/directory(ies)           |netrw-R|
+          s    Select sorting style: by name, time, or file size    |netrw-s|
+          S    Specify suffix priority for name-sorting             |netrw-S|
+          t    Enter the file/directory under the cursor in a new tab|netrw-t|
+          u    Change to recently-visited directory                 |netrw-u|
+          U    Change to subsequently-visited directory             |netrw-U|
+          v    Enter the file/directory under the cursor in a new   |netrw-v|
+               browser window.  A vertical split is used.
+          x    View file with an associated program                 |netrw-x|
+
+       <leftmouse>     (gvim only) selects word under mouse as if a <cr>
+                       had been pressed (ie. edit file, change directory)
+       <middlemouse>   (gvim only) same as P selecting word under mouse;
+                       see |netrw-P|
+       <rightmouse>    (gvim only) delete file/directory using word under
+                       mouse
+       <2-leftmouse>   (gvim only) when:
+                        * in a netrw-selected file, AND
+                        * |g:netrw_retmap| == 1     AND
+                        * the user doesn't already have a <2-leftmouse> mapping
+                          defined before netrw is autoloaded,
+                       then a double clicked leftmouse button will return
+                       to the netrw browser window.
+       <s-leftmouse>   (gvim only) like mf, will mark files
+
+                               *netrw-quickcom* *netrw-quickcoms*
+QUICK REFERENCE: COMMANDS      *netrw-explore-cmds* *netrw-browse-cmds* {{{2
+     :NetrwClean[!] ...........................................|netrw-clean|
+     :NetrwSettings ...........................................|netrw-settings|
+     :Explore[!]  [dir] Explore directory of current file......|netrw-explore|
+     :Hexplore[!] [dir] Horizontal Split & Explore.............|netrw-explore|
+     :Nexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
+     :Pexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
+     :Rexplore          Return to Explorer.....................|netrw-explore|
+     :Sexplore[!] [dir] Split & Explore directory .............|netrw-explore|
+     :Texplore[!] [dir] Tab & Explore..........................|netrw-explore|
+     :Vexplore[!] [dir] Vertical Split & Explore...............|netrw-explore|
+
+BOOKMARKING A DIRECTORY        *netrw-mb* *netrw-bookmark* *netrw-bookmarks* {{{2
+One may easily "bookmark" a directory by using >
 
-  *g:netrw_altv*               change from left splitting to right splitting
-                               by setting this variable (see |netrw-v|)
-                                default: =&spr          (see |'spr'|)
+       {cnt}mb
+<
+Any count may be used.  One may use viminfo's "!" option (|'viminfo'|) to
+retain bookmarks between vim sessions.  See |netrw-gb| for how to return
+to a bookmark and |netrw-qb| for how to list them.
 
-  *g:netrw_browse_split*       when browsing, <cr> will open the file by:
-                               =0: re-using the same window
-                               =1: horizontally splitting the window first  
-                               =2: vertically   splitting the window first  
-                               =3: open file in new tab
 
-  *g:netrw_browsex_viewer*     specify user's preference for a viewer: >
-                                       "kfmclient exec"
-                                       "gnome-open"
-<                              If >
-                                       "-"
-<                              is used, then netrwFileHandler() will look for
-                               a script/function to handle the given
-                               extension.  (see |netrw_filehandler|).
+BROWSING                                               *netrw-cr* {{{2
 
-  *g:netrw_fastbrowse*         =0: slow speed browsing, never re-use
-                                   directory listings; always obtain
-                                   directory listings.
-                               =1: medium speed browsing, re-use directory
-                                   listings only when remote browsing.
-                                   (default value)
-                               =2: fast browsing, only obtains directory
-                                   listings when the directory hasn't been
-                                   seen before (or |netrw-ctrl-l| is used).
-                               Fast browsing retains old directory listing
-                               buffers so that they don't need to be
-                               re-acquired.  This feature is especially
-                               important for remote browsing.  However, if
-                               a file is introduced or deleted into or from
-                               such directories, the old directory buffer
-                               becomes out-of-date.  One may always refresh
-                               such a directory listing with |netrw-ctrl-l|.
-                               This option gives the choice of the trade-off
-                               between accuracy and speed to the user.
+Browsing is simple: move the cursor onto a file or directory of interest.
+Hitting the <cr> (the return key) will select the file or directory.
+Directories will themselves be listed, and files will be opened using the
+protocol given in the original read request.  
 
-  *g:netrw_ftp_browse_reject*  ftp can produce a number of errors and warnings
-                               that can show up as "directories" and "files"
-                               in the listing.  This pattern is used to
-                               remove such embedded messages.  By default its
-                               value is:
-                                '^total\s\+\d\+$\|
-                                ^Trying\s\+\d\+.*$\|
-                                ^KERBEROS_V\d rejected\|
-                                ^Security extensions not\|
-                                No such file\|
-                                : connect to address [0-9a-fA-F:]*
-                                : No route to host$'
+  CAVEAT: There are four forms of listing (see |netrw-i|).  Netrw assumes that
+  two or more spaces delimit filenames and directory names for the long and
+  wide listing formats.  Thus, if your filename or directory name has two or
+  more sequential spaces embedded in it, or any trailing spaces, then you'll
+  need to use the "thin" format to select it.
 
-  *g:netrw_ftp_list_cmd*       options for passing along to ftp for directory
-                               listing.  Defaults:
-                                unix or g:netrw_cygwin set: : "ls -lF"
-                                otherwise                     "dir"
+The |g:netrw_browse_split| option, which is zero by default, may be used to
+cause the opening of files to be done in a new window or tab instead of the
+default.  When the option is one or two, the splitting will be taken
+horizontally or vertically, respectively.  When the option is set to three, a
+<cr> will cause the file to appear in a new tab.
 
 
-  *g:netrw_ftp_sizelist_cmd*   options for passing along to ftp for directory
-                               listing, sorted by size of file.
-                               Defaults:
-                                unix or g:netrw_cygwin set: : "ls -slF"
-                                otherwise                     "dir"
+When using the gui (gvim) one may select a file by pressing the <leftmouse>
+button.  In addtion, if
 
-  *g:netrw_ftp_timelist_cmd*   options for passing along to ftp for directory
-                               listing, sorted by time of last modification.
-                               Defaults:
-                                unix or g:netrw_cygwin set: : "ls -tlF"
-                                otherwise                     "dir"
+ *|g:netrw_retmap| == 1      AND   (its default value is 0)
+ * in a netrw-selected file, AND
+ * the user doesn't already have a <2-leftmouse> mapping defined before
+   netrw is loaded
 
-  *g:netrw_hide*               if true, the hiding list is used
-                                default: =0
+then a doubly-clicked leftmouse button will return to the netrw browser
+window.
 
-  *g:netrw_keepdir*            =1 (default) keep current directory immune from
-                                  the browsing directory.
-                               =0 keep the current directory the same as the
-                                  browsing directory.
-                               The current browsing directory is contained in
-                               b:netrw_curdir (also see |netrw-c|)
+Netrw attempts to speed up browsing, especially for remote browsing where one
+may have to enter passwords, by keeping and re-using previously obtained
+directory listing buffers.  The |g:netrw_fastbrowse| variable is used to
+control this behavior; one may have slow browsing (no buffer re-use), medium
+speed browsing (re-use directory buffer listings only for remote directories),
+and fast browsing (re-use directory buffer listings as often as possible).
+The price for such re-use is that when changes are made (such as new files
+are introduced into a directory), the listing may become out-of-date.  One may
+always refresh directory listing buffers by pressing ctrl-L (see
+|netrw-ctrl-l|).
 
-  *g:netrw_list_cmd*           command for listing remote directories
-                                default: (if ssh is executable)
-                                         "ssh HOSTNAME ls -FLa"
 
-  *g:netrw_liststyle*          Set the default listing style:
-                                = 0: thin listing (one file per line)
-                                = 1: long listing (one file per line with time
-                                    stamp information and file size)
-                               = 2: wide listing (multiple files in columns)
-                               = 3: tree style listing
-  *g:netrw_list_hide*          comma separated pattern list for hiding files
-                                default: ""
+Related topics: |netrw-o| |netrw-p| |netrw-P| |netrw-t| |netrw-v|
+Associated setting variables: |g:netrw_browse_split|      |g:netrw_fastbrowse|
+                              |g:netrw_ftp_list_cmd| |g:netrw_ftp_sizelist_cmd|
+                             |g:netrw_ftp_timelist_cmd|  |g:netrw_ssh_cmd|
+                             |g:netrw_ssh_browse_reject| |g:netrw_use_noswf|
 
-  *g:netrw_local_mkdir*                command for making a local directory
-                                default: "mkdir"
 
-  *g:netrw_local_rmdir*                remove directory command (rmdir)
-                                default: "rmdir"
+BROWSING WITH A HORIZONTALLY SPLIT WINDOW      *netrw-o* *netrw-horiz* {{{2
 
-  *g:netrw_maxfilenamelen*     =32 by default, selected so as to make long
-                                   listings fit on 80 column displays.
-                               If your screen is wider, and you have file
-                               or directory names longer than 32 bytes,
-                               you may set this option to keep listings
-                               columnar.
+Normally one enters a file or directory using the <cr>.  However, the "o" map
+allows one to open a new window to hold the new directory listing or file.  A
+horizontal split is used.  (for vertical splitting, see |netrw-v|)
 
-  *g:netrw_mkdir_cmd*          command for making a remote directory
-                                default: "ssh USEPORT HOSTNAME mkdir"
+Normally, the o key splits the window horizontally with the new window and
+cursor at the top.  To change to splitting the window horizontally with the
+new window and cursor at the bottom, have
 
-  *g:netrw_rm_cmd*             command for removing files
-                                default: "ssh USEPORT HOSTNAME rm"
+       let g:netrw_alto = 1
 
-  *g:netrw_rmdir_cmd*          command for removing directories
-                                default: "ssh USEPORT HOSTNAME rmdir"
+in your <.vimrc>.  (also see |netrw-t| |netrw-v|)
 
-  *g:netrw_rmf_cmd*             command for removing softlinks
-                                default: "ssh USEPORT HOSTNAME rm -f"
+There is only one tree listing buffer; using "o" on a displayed subdirectory 
+will split the screen, but the same buffer will be shown twice.
 
-  *g:netrw_sort_by*            sort by "name", "time", or "size"
-                                default: "name"
+Associated setting variables: |g:netrw_alto| |g:netrw_winsize|
 
-  *g:netrw_sort_direction*     sorting direction: "normal" or "reverse"
-                                default: "normal"
 
-  *g:netrw_sort_sequence*      when sorting by name, first sort by the
-                               comma-separated pattern sequence
-                                default: '[\/]$,*,\.bak$,\.o$,\.h$,
-                                          \.info$,\.swp$,\.obj$'
+BROWSING WITH A NEW TAB                                *netrw-t* {{{2
 
-  *g:netrw_ssh_cmd*            One may specify an executable command
-                               to use instead of ssh for remote actions
-                               such as listing, file removal, etc.
-                                default: ssh
+Normally one enters a file or directory using the <cr>.  The "t" map
+allows one to open a new window hold the new directory listing or file in a
+new tab. (also see: |netrw-o| |netrw-v|)
 
-  *g:netrw_ssh_browse_reject*  ssh can sometimes produce unwanted lines,
-                               messages, banners, and whatnot that one doesn't
-                               want masquerading as "directories" and "files".
-                               Use this pattern to remove such embedded
-                               messages.  By default its value is:
-                                        '^total\s\+\d\+$'
 
-  *g:netrw_use_noswf*          netrw normally avoids writing swapfiles
-                               for browser buffers.  However, under some
-                               systems this apparently is causing nasty
-                               ml_get errors to appear; if you're getting
-                               ml_get errors, try putting
-                                 let g:netrw_use_noswf= 0
-                               in your .vimrc.
+BROWSING WITH A VERTICALLY SPLIT WINDOW                        *netrw-v* {{{2
 
-  *g:netrw_timefmt*            specify format string to strftime() (%c)
-                                default: "%c"
+Normally one enters a file or directory using the <cr>.  However, the "v" map
+allows one to open a new window to hold the new directory listing or file.  A
+vertical split is used.  (for horizontal splitting, see |netrw-o|)
 
-  *g:netrw_winsize*            specify initial size of new o/v windows
-                                default: ""
+Normally, the v key splits the window vertically with the new window and
+cursor at the left.  To change to splitting the window vertically with the new
+window and cursor at the right, have
 
-  *g:NetrwTopLvlMenu*          This variable specifies the top level
-                               menu name; by default, its "Netrw.".  If
-                               you wish to change this, do so in your
-                               .vimrc.
+       let g:netrw_altv = 1
 
-INTRODUCTION TO DIRECTORY BROWSING                     *netrw-browse-intro*
+in your <.vimrc>.  (also see: |netrw-o| |netrw-t|)
 
-Netrw supports the browsing of directories on the local system and on remote
-hosts, including listing files and directories, entering directories, editing
-files therein, deleting files/directories, making new directories, and moving
-(renaming) files and directories.  The Netrw browser generally implements the
-previous explorer maps and commands for remote directories, although details
-(such as pertinent global variable names) necessarily differ.
+There is only one tree listing buffer; using "v" on a displayed subdirectory 
+will split the screen, but the same buffer will be shown twice.
 
-The Netrw remote file and directory browser handles two protocols: ssh and
-ftp.  The protocol in the url, if it is ftp, will cause netrw to use ftp
-in its remote browsing.  Any other protocol will be used for file transfers,
-but otherwise the ssh protocol will be used to do remote directory browsing.
+Associated setting variable: |g:netrw_altv| |g:netrw_winsize|
 
-To use Netrw's remote directory browser, simply attempt to read a "file" with a
-trailing slash and it will be interpreted as a request to list a directory:
+CHANGE LISTING STYLE                                   *netrw-i* {{{2
 
-       vim [protocol]://[user@]hostname/path/
+The "i" map cycles between the thin, long, wide, and tree listing formats.
 
-For local directories, the trailing slash is not required.
+The short listing format gives just the files' and directories' names.
 
-If you'd like to avoid entering the password in for remote directory listings
-with ssh or scp, see |netrw-listhack|.
+The long listing is either based on the "ls" command via ssh for remote
+directories or displays the filename, file size (in bytes), and the time and
+date of last modification for local directories.  With the long listing
+format, netrw is not able to recognize filenames which have trailing spaces.
+Use the thin listing format for such files.
 
+The wide listing format uses two or more contiguous spaces to delineate
+filenames; when using that format, netrw won't be able to recognize or use
+filenames which have two or more contiguous spaces embedded in the name or any
+trailing spaces.  The thin listing format will, however, work with such files.
+This listing format is the most compact.
 
-NETRW BROWSING AND OPTION INCOMPATIBILITIES            *netrw-incompatible*
+The tree listing format has a top directory followed by files and directories
+preceded by a "|".  One may open and close directories by pressing the <cr>
+key while atop the directory name.  There is only one tree listing buffer;
+hence, using "v" or "o" on a subdirectory will only show the same buffer,
+twice.
 
-Netrw will not work properly with >
+Associated setting variables: |g:netrw_liststyle| |g:netrw_maxfilenamelen|
+                              |g:netrw_timefmt|   |g:netrw_list_cmd|
 
-       :set acd
-       :set fo=...ta...
-<
-If either of these options are present when browsing is attempted, netrw
-will change them by using noacd and removing the ta suboptions from the
-|'formatoptions'|.
 
-                       *netrw-explore*  *netrw-pexplore* *netrw-texplore*
-                       *netrw-hexplore* *netrw-sexplore* *netrw-nexplore*
-                       *netrw-vexplore*
-DIRECTORY EXPLORING COMMANDS 
+CHANGING TO A BOOKMARKED DIRECTORY                     *netrw-gb*  {{{2
 
-     :Explore[!]   [dir]... Explore directory of current file       *:Explore*
-     :Sexplore[!]  [dir]... Split&Explore directory of current file *:Sexplore*
+To change directory back to a bookmarked directory, use
+
+       {cnt}gb
+
+Any count may be used to reference any of the bookmarks.  See |netrw-mb| on
+how to bookmark a directory and |netrw-qb| on how to list bookmarks.
+
+
+CHANGING TO A PREDECESSOR DIRECTORY    *netrw-u* *netrw-updir* {{{2
+
+Every time you change to a new directory (new for the current session),
+netrw will save the directory in a recently-visited directory history
+list (unless g:netrw_dirhistmax is zero; by default, it's ten).  With the
+"u" map, one can change to an earlier directory (predecessor).  To do
+the opposite, see |netrw-U|.
+
+
+CHANGING TO A SUCCESSOR DIRECTORY              *netrw-U* *netrw-downdir* {{{2
+
+With the "U" map, one can change to a later directory (successor).
+This map is the opposite of the "u" map. (see |netrw-u|)  Use the
+q map to list both the bookmarks and history. (see |netrw-qb|)
+
+
+NETRW CLEAN                                    *netrw-clean* *:NetrwClean*
+
+With :NetrwClean one may easily remove netrw from one's home directory;
+more precisely, from the first directory on your |'runtimepath'|.
+
+With :NetrwClean!, netrw will remove netrw from all directories on your
+|'runtimepath'|.
+
+With either form of the command, netrw will first ask for confirmation
+that the removal is in fact what you want to do.  If netrw doesn't have
+permission to remove a file, it will issue an error message.
+
+                                               *netrw-gx*
+CUSTOMIZING BROWSING WITH A USER FUNCTION      *netrw-x* *netrw-handler* {{{2
+                                               (also see |netrw_filehandler|)
+
+Certain files, such as html, gif, jpeg, (word/office) doc, etc, files, are
+best seen with a special handler (ie. a tool provided with your computer).
+Netrw allows one to invoke such special handlers by: >
+
+       * when Exploring, hit the "x" key
+       * when editing, hit gx with the cursor atop the special filename
+<        (not available if the |g:netrw_nogx| variable exists)
+
+Netrw determines which special handler by the following method:
+
+  * if |g:netrw_browsex_viewer| exists, then it will be used to attempt to
+    view files.  Examples of useful settings (place into your <.vimrc>): >
+
+       :let g:netrw_browsex_viewer= "kfmclient exec"
+<   or >
+       :let g:netrw_browsex_viewer= "gnome-open"
+<
+    If g:netrw_browsex_viewer == '-', then netrwFileHandler() will be
+    invoked first (see |netrw_filehandler|).
+
+  * for Windows 32 or 64, the url and FileProtocolHandler dlls are used.  
+  * for Gnome (with gnome-open): gnome-open is used.
+  * for KDE (with kfmclient)   : kfmclient is used.
+  * for Mac OS X               : open is used.
+  * otherwise the netrwFileHandler plugin is used.
+
+The file's suffix is used by these various approaches to determine an
+appropriate application to use to "handle" these files.  Such things as
+OpenOffice (*.sfx), visualization (*.jpg, *.gif, etc), and PostScript (*.ps,
+*.eps) can be handled.
+
+                                                       *netrw_filehandler*
+
+The "x" map applies a function to a file, based on its extension.  Of course,
+the handler function must exist for it to be called!
+>
+ Ex. mypgm.html   x ->
+                  NFH_html("scp://user@host/some/path/mypgm.html")
+<
+Users may write their own netrw File Handler functions to support more
+suffixes with special handling.  See <plugin/netrwFileHandlers.vim> for
+examples on how to make file handler functions.   As an example: >
+
+       " NFH_suffix(filename)
+       fun! NFH_suffix(filename)
+       ..do something special with filename..
+       endfun
+<
+These functions need to be defined in some file in your .vim/plugin
+(vimfiles\plugin) directory.  Vim's function names may not have punctuation
+characters (except for the underscore) in them.  To support suffices that
+contain such characters, netrw will first convert the suffix using the
+following table: >
+
+    @ -> AT       ! -> EXCLAMATION    % -> PERCENT  
+    : -> COLON    = -> EQUAL          ? -> QUESTION 
+    , -> COMMA    - -> MINUS          ; -> SEMICOLON
+    $ -> DOLLAR   + -> PLUS           ~ -> TILDE    
+<    
+So, for example: >
+
+       file.rcs,v  ->  NFH_rcsCOMMAv()
+<
+If more such translations are necessary, please send me email: >
+               NdrOchip at ScampbellPfamily.AbizM - NOSPAM
+with a request.
+
+Associated setting variable: |g:netrw_browsex_viewer|
+
+                                                       *netrw-curdir*
+DELETING FILES OR DIRECTORIES  *netrw-delete* *netrw-D* *netrw-del* {{{2
+
+If files have not been marked with |netrw-mf|:   (local marked file list)
+
+    Deleting/removing files and directories involves moving the cursor to the
+    file/directory to be deleted and pressing "D".  Directories must be empty
+    first before they can be successfully removed.  If the directory is a
+    softlink to a directory, then netrw will make two requests to remove the
+    directory before succeeding.  Netrw will ask for confirmation before doing
+    the removal(s).  You may select a range of lines with the "V" command
+    (visual selection), and then pressing "D".
+
+If files have been marked with |netrw-mf|:   (local marked file list)
+
+    Marked files (and empty directories) will be deleted; again, you'll be
+    asked to confirm the deletion before it actually takes place.
+
+The |g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, and |g:netrw_rmdir_cmd| variables are
+used to control the attempts to remove files and directories.  The
+g:netrw_rm_cmd is used with files, and its default value is:
+
+       g:netrw_rm_cmd: ssh HOSTNAME rm
+
+The g:netrw_rmdir_cmd variable is used to support the removal of directories.
+Its default value is:
+
+       g:netrw_rmdir_cmd: ssh HOSTNAME rmdir
+
+If removing a directory fails with g:netrw_rmdir_cmd, netrw then will attempt
+to remove it again using the g:netrw_rmf_cmd variable.  Its default value is:
+
+       g:netrw_rmf_cmd: ssh HOSTNAME rm -f
+
+Associated setting variable: |g:netrw_local_rmdir| |g:netrw_rm_cmd|
+                             |g:netrw_rmdir_cmd|   |g:netrw_ssh_cmd|
+
+
+*netrw-explore*  *netrw-hexplore* *netrw-nexplore* *netrw-pexplore*
+*netrw-rexplore* *netrw-sexplore* *netrw-texplore* *netrw-vexplore*
+DIRECTORY EXPLORATION COMMANDS  {{{2
+
+     :Explore[!]   [dir]... Explore directory of current file       *:Explore*
      :Hexplore[!]  [dir]... Horizontal Split & Explore              *:Hexplore*
-     :Vexplore[!]  [dir]... Vertical   Split & Explore              *:Vexplore*
+     :Rexplore          ... Return to Explorer                      *:Rexplore*
+     :Sexplore[!]  [dir]... Split&Explore directory of current file *:Sexplore*
      :Texplore     [dir]... Tab              & Explore              *:Texplore*
+     :Vexplore[!]  [dir]... Vertical   Split & Explore              *:Vexplore*
 
      Used with :Explore **/pattern : (also see |netrw-starstar|)
      :Nexplore............. go to next matching file                *:Nexplore*
@@ -1021,32 +1266,51 @@ DIRECTORY EXPLORING COMMANDS
 By default, these commands use the current file's directory.  However, one
 may explicitly provide a directory (path) to use.
 
-                                                       *netrw-starstar*
-When Explore, Sexplore, Hexplore, or Vexplore are used with a **/filepat,
-such as:
->
-       :Explore **/filename_pattern
-<
-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
+The |g:netrw_winsize| variable also is used, if specified by the user, to
+size Hexplore and Vexplore windows.
+
+:Rexplore  This command is a little different from the others.  When one
+           edits a file, for example by pressing <cr> when atop a file in
+          a netrw browser window, :Rexplore will return the display to
+          that of the last netrw browser window.  Its a command version
+          of <2-leftmouse> (which is only available under gvim and
+          cooperative terms).
+
+
+*netrw-star* *netrw-starpat* *netrw-starstar* *netrw-starstarpat*
+EXPLORING WITH STARS AND PATTERNS
+
+When Explore, Sexplore, Hexplore, or Vexplore are used with one of the
+following four styles, Explore generates a list of files which satisfy
+the request. >
+
+    */filepat  files in current directory which satisfy filepat
+    **/filepat files in current directory or below which satisfy the
+               file pattern
+    *//pattern files in the current directory which contain the
+               pattern (vimgrep is used)
+    **//pattern        files in the current directory or below which contain
+               the pattern (vimgrep is used)
 <
-The directory display is updated to show the subdirectory containing a
-matching file.  One may then proceed to the next (or previous) matching files'
-directories by using Nexplore or Pexplore, respectively.  If your console or
-gui produces recognizable shift-up or shift-down sequences, then you'll likely
-find using shift-downarrow and shift-uparrow convenient.  They're mapped by
-netrw:
+The cursor will be placed on the first file in the list.  One may then
+continue to go to subsequent files on that list via |:Nexplore| or to
+preceding files on that list with |:Pexplore|.  Explore will update the
+directory and place the cursor appropriately.
+
+A plain >
+       :Explore
+will clear the explore list.
+
+If your console or gui produces recognizable shift-up or shift-down sequences,
+then you'll likely find using shift-downarrow and shift-uparrow convenient.
+They're mapped by netrw:
 
        <s-down>  == Nexplore, and
        <s-up>    == Pexplore.
 
 As an example, consider
 >
-       :Explore **/*.c
+       :Explore */*.c
        :Nexplore
        :Nexplore
        :Pexplore
@@ -1054,38 +1318,55 @@ 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.
-
-                                               *netrw-starstarpat*
-When Explore, Sexplore, Hexplore, or Vexplore are used with a **//pattern,
-such as:
->
-       :Explore **//pattern
-<
-then Explore will use |:vimgrep| to find files like |netrw-starpat|;
-however, Explore will also search subdirectories as well as the current
-directory.
+Associated setting variables: |g:netrw_keepdir|      |g:netrw_browse_split|
+                              |g:netrw_fastbrowse|   |g:netrw_ftp_browse_reject|
+                             |g:netrw_ftp_list_cmd| |g:netrw_ftp_sizelist_cmd|
+                             |g:netrw_ftp_timelist_cmd| |g:netrw_list_cmd|
+                             |g:netrw_liststyle|
 
 
-REFRESHING THE LISTING                         *netrw-ctrl-l* *netrw-ctrl_l*
+DISPLAYING INFORMATION ABOUT FILE                              *netrw-qf* {{{2
+
+With the cursor atop a filename, pressing "qf" will reveal the file's size
+and last modification timestamp.  Currently this capability is only available
+for local files.
 
-To refresh either a local or remote directory listing, press ctrl-l (<c-l>) or
-hit the <cr> when atop the ./ directory entry in the listing.  One may also
-refresh a local directory by using ":e .".
 
+EDIT FILE OR DIRECTORY HIDING LIST     *netrw-ctrl-h* *netrw-edithide* {{{2
+
+The "<ctrl-h>" map brings up a requestor allowing the user to change the
+file/directory hiding list contained in |g:netrw_list_hide|.  The hiding list
+consists of one or more patterns delimited by commas.  Files and/or
+directories satisfying these patterns will either be hidden (ie. not shown) or
+be the only ones displayed (see |netrw-a|).
 
-GOING UP                                               *netrw--*
+The "gh" mapping (see |netrw-gh|) quickly alternates between the usual
+hiding list and the hiding of files or directories that begin with ".".
+
+Associated setting variables: |g:netrw_hide| |g:netrw_list_hide|
+Associated topics: |netrw-a| |netrw-gh| |netrw-mh|
+
+
+EDITING THE SORTING SEQUENCE           *netrw-S* *netrw-sortsequence* {{{2
+
+When "Sorted by" is name, one may specify priority via the sorting sequence
+(g:netrw_sort_sequence).  The sorting sequence typically prioritizes the
+name-listing by suffix, although any pattern will do.  Patterns are delimited
+by commas.  The default sorting sequence is (all one line):
+>
+       '[\/]$,\.[a-np-z]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,
+       \.swp$,\.bak$,\~$'
+<
+The lone * is where all filenames not covered by one of the other patterns
+will end up.  One may change the sorting sequence by modifying the
+g:netrw_sort_sequence variable (either manually or in your <.vimrc>) or by
+using the "S" map.
+
+Related topics:              |netrw-s|
+Associated setting variable: |g:netrw_sort_sequence|
+
+
+GOING UP                                                       *netrw--* {{{2
 
 To go up a directory, press "-" or press the <cr> when atop the ../ directory
 entry in the listing.
@@ -1098,78 +1379,111 @@ user-provided url.  By default netrw provides the command as:
 
 where the HOSTNAME becomes the [user@]hostname as requested by the attempt to
 read.  Naturally, the user may override this command with whatever is
-preferred.  The NetList function which implements remote directory browsing
+preferred.  The NetList function which implements remote browsing
 expects that directories will be flagged by a trailing slash.
 
 
-BROWSING                                                       *netrw-cr*
+HIDING FILES OR DIRECTORIES                    *netrw-a* *netrw-hiding* {{{2
 
-Browsing is simple: move the cursor onto a file or directory of interest.
-Hitting the <cr> (the return key) will select the file or directory.
-Directories will themselves be listed, and files will be opened using the
-protocol given in the original read request.  
+Netrw's browsing facility allows one to use the hiding list in one of three
+ways: ignore it, hide files which match, and show only those files which
+match.
 
-  CAVEAT: There are four forms of listing (see |netrw-i|).  Netrw assumes
-  that two or more spaces delimit filenames and directory names for the long
-  and wide listing formats.  Thus, if your filename or directory name has two
-  or more spaces embedded in it, or any trailing spaces, then you'll need to
-  use the "thin" format to select it.
+If no files have been marked via |netrw-mf|:
 
-The |g:netrw_browse_split| option, which is zero by default, may be used to
-cause the opening of files to be done in a new window or tab.  When the option
-is one or two, the splitting will be taken horizontally or vertically,
-respectively.  When the option is set to three, a <cr> will cause the file
-to appear in a new tab.
+The "a" map allows the user to cycle through the three hiding modes.
 
+The |g:netrw_list_hide| variable holds a comma delimited list of patterns
+based on regular expressions (ex. ^.*\.obj$,^\.) which specify the hiding list.
+(also see |netrw-ctrl-h|)  To set the hiding list, use the <c-h> map.  As an
+example, to hide files which begin with a ".", one may use the <c-h> map to
+set the hiding list to '^\..*' (or one may put let g:netrw_list_hide= '^\..*'
+in one's <.vimrc>).  One may then use the "a" key to show all files, hide
+matching files, or to show only the matching files.
 
-OBTAINING A FILE                                               *netrw-O*
+       Example: \.[ch]$
+               This hiding list command will hide/show all *.c and *.h files.
 
-When browsing a remote directory, one may obtain a file under the cursor (ie.
-get a copy on your local machine, but not edit it) by pressing the O key.
-Only ftp and scp are supported for this operation (but since these two are
-available for browsing, that shouldn't be a problem).  The status bar
-will then show, on its right hand side, a message like "Obtaining filename".
-The statusline will be restored after the transfer is complete.
+       Example: \.c$,\.h$
+               This hiding list command will also hide/show all *.c and *.h
+               files.
 
-Netrw can also "obtain" a file using the local browser.  Netrw's display
-of a directory is not necessarily the same as Vim's "current directory",
-unless |g:netrw_keepdir| is set to 0 in the user's <.vimrc>.  One may select
-a file using the local browser (by putting the cursor on it) and pressing
-"O" will then "obtain" the file; ie. copy it to Vim's current directory.
+Don't forget to use the "a" map to select the mode (normal/hiding/show) you
+want!
 
-Related topics:
- * To see what the current directory is, use |:pwd|
- * To make the currently browsed directory the current directory, see |netrw-c|
- * To automatically make the currently browsed directory the current
-   directory, see |g:netrw_keepdir|.
+If files have been marked using |netrw-mf|, then this command will:
 
+  if showing all files or non-hidden files:
+   modify the g:netrw_list_hide list by appending the marked files to it
+   and showing only non-hidden files.
 
-CHANGE LISTING STYLE                                           *netrw-i*
+  else if showing hidden files only:
+   modify the g:netrw_list_hide list by removing the marked files from it
+   and showing only non-hidden files.
+  endif
 
-The "i" map cycles between the thin, long, wide, and tree listing formats.
+                                       *netrw-gh* *netrw-hide*
+As a quick shortcut, one may press >
+       gh
+to toggle between hiding files which begin with a period (dot) and not hiding
+them.
 
-The short listing format gives just the files' and directories' names.
+Associated setting variable: |g:netrw_list_hide|
+Associated topics: |netrw-a| |netrw-ctrl-h| |netrw-mh|
 
-The long listing is either based on the "ls" command via ssh for remote
-directories or displays the filename, file size (in bytes), and the time and
-date of last modification for local directories.  With the long listing
-format, netrw is not able to recognize filenames which have trailing spaces.
-Use the thin listing format for such files.
+IMPROVING BROWSING                     *netrw-listhack* *netrw-ssh-hack* {{{2
 
-The wide listing format uses two or more contiguous spaces to delineate
-filenames; when using that format, netrw won't be able to recognize or use
-filenames which have two or more contiguous spaces embedded in the name or any
-trailing spaces.  The thin listing format will, however, work with such files.
-This listing format is the most compact.
+Especially with the remote directory browser, constantly entering the password
+is tedious.
 
-The tree listing format has a top directory followed by files and directories
-preceded by a "|".  One may open and close directories by pressing the <cr>
-key while atop the directory name.  There is only one tree listing buffer;
-hence, using "v" or "o" on a subdirectory will only show the same buffer,
-twice.
+For Linux/Unix systems, the book "Linux Server Hacks - 100 industrial strength
+tips & tools" by Rob Flickenger (O'Reilly, ISBN 0-596-00461-3) gives a tip
+for setting up no-password ssh and scp and discusses associated security
+issues.  It used to be available at http://hacks.oreilly.com/pub/h/66 ,
+but apparently that address is now being redirected to some "hackzine".
+I'll attempt a summary:
+
+       1. Generate a public/private key pair on the ssh server:
+          ssh-keygen -t rsa
+          (saving the file in ~/.ssh/id_rsa is ok)
+       2. Just hit the <CR> when asked for passphrase (twice).
+       3. This creates two files:
+            ~/.ssh/id_rsa
+            ~/.ssh/id_rsa.pub
+       4. On the client:
+           cd
+           mkdir .ssh
+           chmod 0700 .ssh
+           scp {serverhostname}:.ssh/id_rsa.pub .
+           cat id_rsa.pub >> .ssh/authorized_keys2
+
+For Windows, folks on the vim mailing list have mentioned that Pageant helps
+with avoiding the constant need to enter the password.
+
+Kingston Fung wrote about another way to avoid constantly needing to enter
+passwords:
 
+    In order to avoid the need to type in the password for scp each time, you
+    provide a hack in the docs to set up a non password ssh account. I found a
+    better way to do that: I can use a regular ssh account which uses a
+    password to access the material without the need to key-in the password
+    each time. It's good for security and convenience. I tried ssh public key
+    authorization + ssh-agent, implementing this, and it works! Here are two
+    links with instructions:
 
-MAKING A NEW DIRECTORY                                         *netrw-d*
+    http://www.ibm.com/developerworks/library/l-keyc2/
+    http://sial.org/howto/openssh/publickey-auth/
+
+
+LISTING BOOKMARKS AND HISTORY          *netrw-qb* *netrw-listbookmark* {{{2
+
+Pressing "qb" (query bookmarks) will list the bookmarked directories and
+directory traversal history (query).
+
+(see |netrw-mb|, |netrw-gb|, |netrw-u|, and |netrw-U|)
+
+
+MAKING A NEW DIRECTORY                                 *netrw-d* {{{2
 
 With the "d" map one may make a new directory either remotely (which depends
 on the global variable g:netrw_mkdir_cmd) or locally (which depends on the
@@ -1178,345 +1492,625 @@ directory's name.  A bare <CR> at that point will abort the making of the
 directory.  Attempts to make a local directory that already exists (as either
 a file or a directory) will be detected, reported on, and ignored.
 
+Currently, making a directory via ftp is not supported.
 
-DELETING FILES OR DIRECTORIES          *netrw-delete* *netrw-D* *netrw-del*
+Associated setting variable: |g:netrw_local_mkdir| |g:netrw_mkdir_cmd|
 
-Deleting/removing files and directories involves moving the cursor to the
-file/directory to be deleted and pressing "D".  Directories must be empty
-first before they can be successfully removed.  If the directory is a softlink
-to a directory, then netrw will make two requests to remove the directory
-before succeeding.  Netrw will ask for confirmation before doing the
-removal(s).  You may select a range of lines with the "V" command (visual
-selection), and then pressing "D".
 
-The g:netrw_rm_cmd, g:netrw_rmf_cmd, and g:netrw_rmdir_cmd variables are used
-to control the attempts to remove files and directories.  The g:netrw_rm_cmd
-is used with files, and its default value is:
+MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY    *netrw-c* {{{2
 
-       g:netrw_rm_cmd: ssh HOSTNAME rm
+By default, |g:netrw_keepdir| is 1.  This setting means that the current
+directory will not track the browsing directory.
 
-The g:netrw_rmdir_cmd variable is used to support the removal of directories.
-Its default value is:
+Setting g:netrw_keepdir to 0 tells netrw to make vim's current directory to
+track netrw's browsing directory.
 
-       g:netrw_rmdir_cmd: ssh HOSTNAME rmdir
+However, given 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 netrw's current browsing
+directory.
 
-If removing a directory fails with g:netrw_rmdir_cmd, netrw then will attempt
-to remove it again using the g:netrw_rmf_cmd variable.  Its default value is:
+Associated setting variable: |g:netrw_keepdir|
 
-       g:netrw_rmf_cmd: ssh HOSTNAME rm -f
+MARKING FILES                                                  *netrw-mf* {{{2
+       (also see |netrw-mr|)
 
+One may mark files with the cursor atop a filename and then pressing "mf".
+With gvim, one may also mark files with <s-leftmouse>.  The following netrw
+maps make use of marked files:
 
-RENAMING FILES OR DIRECTORIES          *netrw-move* *netrw-rename* *netrw-R*
+    |netrw-a|  Hide marked files/directories
+    |netrw-D|  Delete marked files/directories
+    |netrw-mc| Copy marked files to target
+    |netrw-md| Apply vimdiff to marked files
+    |netrw-me| Edit marked files
+    |netrw-mg| Apply vimgrep to marked files
+    |netrw-mm| Move marked files
+    |netrw-mp| Print marked files
+    |netrw-mt| Set target for |netrw-mm| and |netrw-mc|
+    |netrw-mT| Generate tags using marked files
+    |netrw-mx| Apply shell command to marked files
+    |netrw-mz| Compress/Decompress marked files
+    |netrw-O|  Obtain marked files
+    |netrw-R|  Rename marked files
 
-Renaming/moving files and directories involves moving the cursor to the
-file/directory to be moved (renamed) and pressing "R".  You will then be
-queried for where you want the file/directory to be moved.  You may select a
-range of lines with the "V" command (visual selection), and then pressing "R".
+One may unmark files one at a time the same way one marks them; ie. place
+the cursor atop a marked file and press "mf".  This process also works
+with <s-leftmouse> using gvim.  One may unmark all files by pressing
+"mu" (see |netrw-mu|).
 
-The g:netrw_rename_cmd variable is used to implement renaming.  By default its
-value is:
+*markfilelist* *global_markfilelist* *local_markfilelist*
+All marked files are entered onto the global marked file list; there is only
+one such list.  In addition, every netrw buffer also has its own local marked
+file list; since netrw buffers are associated with specific directories, this
+means that each directory has its own local marked file list.  The various
+commands which operate on marked files use one or the other of the marked file
+lists.
 
-       ssh HOSTNAME mv
 
-One may rename a block of files and directories by selecting them with
-the V (|linewise-visual|).
+MARKING FILES BY REGULAR EXPRESSION                            *netrw-mr* {{{2
+       (also see |netrw-mf|)
 
+One may also mark files by pressing "mr"; netrw will then issue a prompt,
+"Enter regexp: ".  You may then enter a regular expression such as \.c$ .
+All files in the current directory will then be marked.  Note that the
+regular expressions are vim-style |regexp| ones, not shell ones.  So
+entering *.c probably isn't what you want!
 
-HIDING FILES OR DIRECTORIES                    *netrw-a* *netrw-hiding*
 
-Netrw's browsing facility allows one to use the hiding list in one of three
-ways: ignore it, hide files which match, and show only those files which
-match.  The "a" map allows the user to cycle about these three ways.
+MARKED FILES: ARBITRARY COMMAND                                *netrw-mx* {{{2
+           (See |netrw-mf| and |netrw-mr| for how to mark files)
+                     (uses the local marked-file list)
 
-The g:netrw_list_hide variable holds a comma delimited list of patterns (ex.
-\.obj) which specify the hiding list. (also see |netrw-ctrl-h|)  To set the
-hiding list, use the <c-h> map.  As an example, to hide files which begin with
-a ".", one may use the <c-h> map to set the hiding list to '^\..*' (or one may
-put let g:netrw_list_hide= '^\..*' in one's <.vimrc>).  One may then use the
-"a" key to show all files, hide matching files, or to show only the matching
-files.
+Upon activation of the "mx" map, netrw will query the user for some (external)
+command to be applied to all marked files.  All "%"s in the command will be
+substituted with the name of each marked file in turn.  If no "%"s are in the
+command, then the command will be followed by a space and a marked filename.
 
-       Example: ^.*\.[ch]
-               This hiding list command will hide/show all *.c and *.h files.
 
-       Example: ^.*\.c,^.*\.h
-               This hiding list command will also hide/show all *.c and *.h
-               files.
+MARKED FILES: COMPRESSION AND DECOMPRESSION            *netrw-mz* {{{2
+           (See |netrw-mf| and |netrw-mr| for how to mark files)
+                     (uses the local marked file list)
 
-Don't forget to use the "a" map to select the normal/hiding/show mode you want!
+If any marked files are compressed,   then "mz" will decompress them.
+If any marked files are decompressed, then "mz" will compress them
+using the command specified by |g:netrw_compress|; by default,
+that's "gzip".
 
-                                               *netrw-ctrl_h*
-EDIT FILE OR DIRECTORY HIDING LIST             *netrw-ctrl-h* *netrw-edithide*
+For decompression, netrw provides a |Dictionary| of suffices and their
+associated decompressing utilities; see |g:netrw_decompress|.
 
-The "<ctrl-h>" map brings up a requestor allowing the user to change the
-file/directory hiding list.  The hiding list consists of one or more patterns
-delimited by commas.  Files and/or directories satisfying these patterns will
-either be hidden (ie. not shown) or be the only ones displayed (see
-|netrw-a|).
+Associated setting variables: |g:netrw_compress| |g:netrw_decompress|
 
+MARKED FILES: COPYING                                          *netrw-mc* {{{2
+           (See |netrw-mf| and |netrw-mr| for how to mark files)
+                     (Uses the global marked file list)
 
-BROWSING WITH A HORIZONTALLY SPLIT WINDOW              *netrw-o* *netrw-horiz*
+Select a target directory with mt (|netrw-mt|).  Then change directory,
+select file(s) (see |netrw-mf|), and press "mc".
 
-Normally one enters a file or directory using the <cr>.  However, the "o" map
-allows one to open a new window to hold the new directory listing or file.  A
-horizontal split is used.  (for vertical splitting, see |netrw-v|)
+Associated setting variable: |g:netrw_localcopycmd| |g:netrw_ssh_cmd|
 
-Normally, the o key splits the window horizontally with the new window and
-cursor at the top.  To change to splitting the window horizontally with the
-new window and cursor at the bottom, have
+MARKED FILES: DIFF                                             *netrw-md* {{{2
+           (See |netrw-mf| and |netrw-mr| for how to mark files)
+                     (uses the global marked file list)
 
-       let g:netrw_alto = 1
+Use |vimdiff| to visualize difference between selected files (two or
+three may be selected for this).  Uses the global marked file list.
 
-in your <.vimrc>.  (also see |netrw-t| |netrw-v| |g:netrw_alto|)
+MARKED FILES: EDITING                                          *netrw-me* {{{2
+           (See |netrw-mf| and |netrw-mr| for how to mark files)
+                     (uses the global marked file list)
 
-There is only one tree listing buffer; using "o" on a displayed subdirectory 
-will split the screen, but the same buffer will be shown twice.
+This command will place the marked files on the |arglist| and commence
+editing them.  One may return the to explorer window with |:Rexplore|.
 
+MARKED FILES: GREP                                             *netrw-mg* {{{2
+           (See |netrw-mf| and |netrw-mr| for how to mark files)
+                     (uses the global marked file list)
 
-BROWSING WITH A VERTICALLY SPLIT WINDOW                                *netrw-v*
+This command will apply |:vimgrep| to the marked files.  The command will ask
+for the requested pattern; one may enter: >
+       /pattern/[g][j]
+       ! /pattern/[g][j]
+       pattern
+<
+MARKED FILES: HIDING AND UNHIDING BY SUFFIX                    *netrw-mh* {{{2
+           (See |netrw-mf| and |netrw-mr| for how to mark files)
+                     (uses the local marked file list)
 
-Normally one enters a file or directory using the <cr>.  However, the "v" map
-allows one to open a new window to hold the new directory listing or file.  A
-vertical split is used.  (for horizontal splitting, see |netrw-o|)
+This command extracts the suffices of the marked files and toggles their
+presence on the hiding list.  Please note that marking the same suffix
+this way multiple times will result in the suffix's presence being toggled
+for each file (so an even quantity of marked files having the same suffix
+is the same as not having bothered to select them at all).
+
+Related topics: |netrw-a| |g:netrw_list_hide|
+
+MARKED FILES: MOVING                                           *netrw-mm* {{{2
+           (See |netrw-mf| and |netrw-mr| for how to mark files)
+                     (uses the global marked file list)
+
+Select a target directory with mT (|netrw-mt|).  Then change directory,
+select file(s) (see |netrw-mf|), and press "mm".
+
+Associated setting variable: |g:netrw_localmovecmd| |g:netrw_ssh_cmd|
+
+MARKED FILES: PRINTING                                         *netrw-mp* {{{2
+           (See |netrw-mf| and |netrw-mr| for how to mark files)
+                     (uses the local marked file list)
+
+Netrw will apply the |:hardcopy| command to marked files.  What it does
+is open each file in a one-line window, execute hardcopy, then close the
+one-line window.
+
+
+MARKED FILES: SOURCING                                         *netrw-ms* {{{2
+           (See |netrw-mf| and |netrw-mr| for how to mark files)
+                     (uses the local marked file list)
+
+Netrw will source the marked files (using vim's |:source| command)
+
+
+MARKED FILES: TAGGING                                          *netrw-mT* {{{2
+           (See |netrw-mf| and |netrw-mr| for how to mark files)
+                     (uses the global marked file list)
+
+The "mt" mapping will apply the command in g:netrw_ctags (by default, its
+"ctags") to marked files.  For remote browsing, in order to create a tags file
+netrw will use ssh (see |g:netrw_ssh_cmd|), and so ssh must be available for
+this to work on remote systems.  For your local system, see |ctags| on how to
+get a version.  I myself use hdrtags, currently available at
+http://mysite.verizon.net/astronaut/src/index.html , and have >
+
+       let g:netrw_ctags= "hdrtag"
+<
+in my <.vimrc>.
+
+When a remote set of files are tagged, the resulting tags file is "obtained";
+ie. a copy is transferred to the local system's directory.  The local tags
+file is then modified so that one may use it through the network.  The
+modification is concerns the names of the files in the tags; each filename is
+preceded by the netrw-compatible url used to obtain it.  When one subsequently
+uses one of the go to tag actions (|tags|), the url will be used by netrw to
+edit the desired file and go to the tag.
+
+Associated setting variables: |g:netrw_ssh_cmd|
+
+
+MARKED FILES: SETTING THE TARGET DIRECTORY                     *netrw-mt* {{{2
+     (See |netrw-mf| and |netrw-mr| for how to mark files)
+
+Set the marked file copy/move-to target (see |netrw-mc| and |netrw-mm|):
+
+  * if the cursor is atop a file name, then the netrw window's currently
+    displayed directory is used for the copy/move-to target.
+
+  * also, if the cursor is in the banner, then the netrw window's currently
+    displayed directory is used for the copy/move-to target.
+
+  * however, if the cursor is atop a directory name, then that directory is
+    used for the copy/move-to target
+
+There is only one copy/move-to target per vim session; ie. the target is a
+script variable (see |s:var|) and is shared between all netrw windows (in an
+instance of vim).
+
+MARKED FILES: UNMARKING                                                *netrw-mu* {{{2
+     (See |netrw-mf| and |netrw-mr| for how to mark files)
+
+The "mu" mapping will unmark all currently marked files.
+
+
+NETRW BROWSER VARIABLES                *netrw-browser-options* *netrw-browser-var* {{{2
+
+(if you're interestd in the netrw file transfer settings, see |netrw-options|)
+
+The <netrw.vim> browser provides settings in the form of variables which
+you may modify; by placing these settings in your <.vimrc>, you may customize
+your browsing preferences.  (see also: |netrw-settings|)
+>
+   ---                         -----------
+   Var                         Explanation
+   ---                         -----------
+< *g:netrw_alto*               change from above splitting to below splitting
+                               by setting this variable (see |netrw-o|)
+                                default: =&sb           (see |'sb'|)
+
+  *g:netrw_altv*               change from left splitting to right splitting
+                               by setting this variable (see |netrw-v|)
+                                default: =&spr          (see |'spr'|)
+
+  *g:netrw_browse_split*       when browsing, <cr> will open the file by:
+                               =0: re-using the same window
+                               =1: horizontally splitting the window first  
+                               =2: vertically   splitting the window first  
+                               =3: open file in new tab
+                               =4: act like "P" (ie. open previous window)
+
+  *g:netrw_browsex_viewer*     specify user's preference for a viewer: >
+                                       "kfmclient exec"
+                                       "gnome-open"
+<                              If >
+                                       "-"
+<                              is used, then netrwFileHandler() will look for
+                               a script/function to handle the given
+                               extension.  (see |netrw_filehandler|).
+
+  *g:netrw_cd_escape*          ="[]#*$%'\" ?`!&();<>\\"
+                               This option is used to escape directory names
+                               before changing directory to them.
+
+  *g:netrw_compress*           ="gzip"
+                                   Will compress marked files with this
+                                   command
+
+  *g:netrw_decompress*         = { ".gz" : "gunzip" ,
+                                   ".bz2" : "bunzip2" ,
+                                   ".zip" : "unzip" ,
+                                   ".tar" : "tar -xf"}
+                                 A dictionary mapping suffices to
+                                 decompression programs.
+
+  *g:netrw_fastbrowse*         =0: slow speed directory browsing;
+                                   never re-uses directory listings,
+                                   always obtains directory listings.
+                               =1: medium speed directory browsing;
+                                   re-use directory listings only
+                                   when remote directory browsing.
+                                   (default value)
+                               =2: fast directory browsing;
+                                   only obtains directory listings when the
+                                   directory hasn't been seen before
+                                   (or |netrw-ctrl-l| is used).
+
+                               Fast browsing retains old directory listing
+                               buffers so that they don't need to be
+                               re-acquired.  This feature is especially
+                               important for remote browsing.  However, if
+                               a file is introduced or deleted into or from
+                               such directories, the old directory buffer
+                               becomes out-of-date.  One may always refresh
+                               such a directory listing with |netrw-ctrl-l|.
+                               This option gives the user the choice of
+                               trading off accuracy (ie. up-to-date listing)
+                               versus speed.
+
+  *g:netrw_fname_escape*       =' ?&;%'
+                               Used on filenames before remote reading/writing
+
+  *g:netrw_ftp_browse_reject*  ftp can produce a number of errors and warnings
+                               that can show up as "directories" and "files"
+                               in the listing.  This pattern is used to
+                               remove such embedded messages.  By default its
+                               value is:
+                                '^total\s\+\d\+$\|
+                                ^Trying\s\+\d\+.*$\|
+                                ^KERBEROS_V\d rejected\|
+                                ^Security extensions not\|
+                                No such file\|
+                                : connect to address [0-9a-fA-F:]*
+                                : No route to host$'
+
+  *g:netrw_ftp_list_cmd*       options for passing along to ftp for directory
+                               listing.  Defaults:
+                                unix or g:netrw_cygwin set: : "ls -lF"
+                                otherwise                     "dir"
+
+
+  *g:netrw_ftp_sizelist_cmd*   options for passing along to ftp for directory
+                               listing, sorted by size of file.
+                               Defaults:
+                                unix or g:netrw_cygwin set: : "ls -slF"
+                                otherwise                     "dir"
+
+  *g:netrw_ftp_timelist_cmd*   options for passing along to ftp for directory
+                               listing, sorted by time of last modification.
+                               Defaults:
+                                unix or g:netrw_cygwin set: : "ls -tlF"
+                                otherwise                     "dir"
+
+  *g:netrw_glob_escape*                ='[]*?`{~$'
+                               These characters in directory names are
+                               escaped before applying glob()
+
+  *g:netrw_hide*               if true, the hiding list is used
+                                default: =0
 
-Normally, the v key splits the window vertically with the new window and
-cursor at the left.  To change to splitting the window vertically with the new
-window and cursor at the right, have
+  *g:netrw_keepdir*            =1 (default) keep current directory immune from
+                                  the browsing directory.
+                               =0 keep the current directory the same as the
+                                  browsing directory.
+                               The current browsing directory is contained in
+                               b:netrw_curdir (also see |netrw-c|)
 
-       let g:netrw_altv = 1
+  *g:netrw_list_cmd*           command for listing remote directories
+                                default: (if ssh is executable)
+                                         "ssh HOSTNAME ls -FLa"
 
-in your <.vimrc>.  (also see: |netrw-o| |netrw-t| |g:netrw_altv|)
+  *g:netrw_liststyle*          Set the default listing style:
+                                = 0: thin listing (one file per line)
+                                = 1: long listing (one file per line with time
+                                    stamp information and file size)
+                               = 2: wide listing (multiple files in columns)
+                               = 3: tree style listing
+  *g:netrw_list_hide*          comma separated pattern list for hiding files
+                               Patterns are regular expressions (see |regexp|)
+                               Example: let g:netrw_list_hide= '.*\.swp$'
+                                default: ""
 
-There is only one tree listing buffer; using "v" on a displayed subdirectory 
-will split the screen, but the same buffer will be shown twice.
+  *g:netrw_localcopycmd*       ="cp" Linux/Unix/MacOS/Cygwin
+                               ="copy" Windows
+                               Copies marked files (|netrw-mf|) to target
+                               directory (|netrw-mt|, |netrw-mc|)
 
+  *g:netrw_localmovecmd*       ="mv" Linux/Unix/MacOS/Cygwin
+                               ="move" Windows
+                               Moves marked files (|netrw-mf|) to target
+                               directory (|netrw-mt|, |netrw-mm|)
 
-BROWSING WITH A NEW TAB                                        *netrw-t*
+  *g:netrw_local_mkdir*                command for making a local directory
+                                default: "mkdir"
 
-Normally one enters a file or directory using the <cr>.  The "t" map
-allows one to open a new window hold the new directory listing or file in a
-new tab. (also see: |netrw-o| |netrw-v|)
+  *g:netrw_local_rmdir*                remove directory command (rmdir)
+                                default: "rmdir"
 
+  *g:netrw_maxfilenamelen*     =32 by default, selected so as to make long
+                                   listings fit on 80 column displays.
+                               If your screen is wider, and you have file
+                               or directory names longer than 32 bytes,
+                               you may set this option to keep listings
+                               columnar.
 
-PREVIEW WINDOW                                 *netrw-p* *netrw-preview*
+  *g:netrw_mkdir_cmd*          command for making a remote directory
+                                default: "ssh USEPORT HOSTNAME mkdir"
 
-One may use a preview window by using the "p" key when the cursor is atop the
-desired filename to be previewed.
+  *g:netrw_retmap*             if it exists and is set to one, then
+                               <2-leftmouse> will be mapped for easy
+                               return to the netrw browser window.
+                               (example: click once to select and open
+                               a file, double-click to return)
+                                 default: =0
 
+  *g:netrw_rm_cmd*             command for removing files
+                                default: "ssh USEPORT HOSTNAME rm"
 
-PREVIOUS WINDOW                                        *netrw-P* *netrw-prvwin*
+  *g:netrw_rmdir_cmd*          command for removing directories
+                                default: "ssh USEPORT HOSTNAME rmdir"
 
-To edit a file or directory in the previously used window (see :he |CTRL-W_P|),
-press a "P".  If there's only one window, then the one window will be
-horizontally split (above/below splitting is controlled by |g:netrw_alto|,
-and its initial size is controlled by |g:netrw_winsize|).
+  *g:netrw_rmf_cmd*             command for removing softlinks
+                                default: "ssh USEPORT HOSTNAME rm -f"
 
-If there's more than one window, the previous window will be re-used on
-the selected file/directory.  If the previous window's associated buffer
-has been modified, and there's only one window with that buffer, then
-the user will be asked if s/he wishes to save the buffer first (yes,
-no, or cancel).
+  *g:netrw_sort_by*            sort by "name", "time", or "size"
+                                default: "name"
 
+  *g:netrw_sort_direction*     sorting direction: "normal" or "reverse"
+                                default: "normal"
 
-SELECTING SORTING STYLE                                *netrw-s* *netrw-sort*
+  *g:netrw_sort_sequence*      when sorting by name, first sort by the
+                               comma-separated pattern sequence
+                                default: '[\/]$,*,\.bak$,\.o$,\.h$,
+                                          \.info$,\.swp$,\.obj$'
 
-One may select the sorting style by name, time, or (file) size.  The "s" map
-allows one to circulate amongst the three choices; the directory listing will
-automatically be refreshed to reflect the selected style.
+  *g:netrw_special_syntax*     If true, then certain files will be shown
+                               in special syntax in the browser:
+
+                                       netrwBak     : *.bak
+                                       netrwCompress: *.gz *.bz2 *.Z *.zip
+                                       netrwData    : *.dat
+                                       netrwHdr     : *.h
+                                       netrwLib     : *.a *.so *.lib *.dll
+                                       netrwMakefile: [mM]akefile *.mak
+                                       netrwObj     : *.o *.obj
+                                       netrwTags    : tags ANmenu ANtags
+                                       netrwTilde   : *~ 
+                                       netrwTmp     : tmp* *tmp
+
+                               These syntax highlighting groups are linked
+                               to Folded or DiffChange by default
+                               (see |hl-Folded| and |hl-DiffChange|), but
+                               one may put lines like >
+                                       hi link netrwCompress Visual
+<                              into one's <.vimrc> to use one's own
+                               preferences.
 
+  *g:netrw_ssh_cmd*            One may specify an executable command
+                               to use instead of ssh for remote actions
+                               such as listing, file removal, etc.
+                                default: ssh
 
-EDITING THE SORTING SEQUENCE           *netrw-S* *netrw-sortsequence*
+  *g:netrw_ssh_browse_reject*  ssh can sometimes produce unwanted lines,
+                               messages, banners, and whatnot that one doesn't
+                               want masquerading as "directories" and "files".
+                               Use this pattern to remove such embedded
+                               messages.  By default its value is:
+                                        '^total\s\+\d\+$'
 
-When "Sorted by" is name, one may specify priority via the sorting sequence
-(g:netrw_sort_sequence).  The sorting sequence typically prioritizes the
-name-listing by suffix, although any pattern will do.  Patterns are delimited
-by commas.  The default sorting sequence is:
->
-       [\/]$,*,\.bak$,\.o$,\.h$,\.info$,\.swp$,\.obj$
-<
-The lone * is where all filenames not covered by one of the other patterns
-will end up.  One may change the sorting sequence by modifying the
-g:netrw_sort_sequence variable (either manually or in your <.vimrc>) or by
-using the "S" map.
 
+  *g:netrw_tmpfile_escape*     =' &;'
+                               escape() is applied to all temporary files
+                               to escape these characters.
 
-REVERSING SORTING ORDER                        *netrw-r* *netrw-reverse*
+  *g:netrw_timefmt*            specify format string to vim's strftime().
+                               The default, "%c", is "the preferred date
+                               and time representation for the current
+                               locale" according to my manpage entry for
+                               strftime(); however, not all are satisfied
+                               with it.  Some alternatives:
+                                "%a %d %b %Y %T",
+                                " %a %Y-%m-%d  %I-%M-%S %p"
+                                default: "%c"
 
-One may toggle between normal and reverse sorting order by pressing the
-"r" key.
+  *g:netrw_use_noswf*          netrw normally avoids writing swapfiles
+                               for browser buffers.  However, under some
+                               systems this apparently is causing nasty
+                               ml_get errors to appear; if you're getting
+                               ml_get errors, try putting
+                                 let g:netrw_use_noswf= 0
+                               in your .vimrc.
 
+  *g:netrw_winsize*            specify initial size of new windows made with
+                               "o" (see |netrw-o|), "v" (see |netrw-v|),
+                               |:Hexplore| or |:Vexplore|.
+                                default: ""
 
-CHANGING TO A PREDECESSOR DIRECTORY            *netrw-u* *netrw-updir*
+  *g:netrw_xstrlen*            Controls how netrw computes a string
+                               including multi-byte characters' string
+                               length. (thanks to N Weibull, T Mechelynck)
+                               =0: uses Vim's built-in strlen()
+                               =1: number of codepoints (Latin + a combining
+                                   circumflex is two codepoints)  (DEFAULT)
+                               =2: number of spacing codepoints (Latin a +
+                                   combining circumflex is one spacing 
+                                   codepoint; a hard tab is one; wide and
+                                   narrow CJK are one each; etc.)
+                               =3: virtual length (counting tabs as anything
+                                   between 1 and |'tabstop'|, wide CJJK as 2
+                                   rather than 1, Arabic alif as zero when
+                                   immediately preceded by lam, one
+                                   otherwise, etc)
 
-Every time you change to a new directory (new for the current session),
-netrw will save the directory in a recently-visited directory history
-list (unless g:netrw_dirhistmax is zero; by default, its ten).  With the
-"u" map, one can change to an earlier directory (predecessor).  To do
-the opposite, see |netrw-U|.
+  *g:NetrwTopLvlMenu*          This variable specifies the top level
+                               menu name; by default, it's "Netrw.".  If
+                               you wish to change this, do so in your
+                               .vimrc.
 
+NETRW BROWSING AND OPTION INCOMPATIBILITIES    *netrw-incompatible* {{{2
 
-CHANGING TO A SUCCESSOR DIRECTORY              *netrw-U* *netrw-downdir*
+Netrw has been designed to handle user options by saving them, setting the
+options to something that's compatible with netrw's needs, and then restoring
+them.  However, the autochdir option: >
+       :set acd
+is problematical.  Autochdir sets the current directory to that containing the
+file you edit; this apparently also applies to directories.  In other words,
+autochdir sets the current directory to that containing the "file" (even if
+that "file" is itself a directory).
 
-With the "U" map, one can change to a later directory (successor).
-This map is the opposite of the "u" map. (see |netrw-u|)  Use the
-q map to list both the bookmarks and history. (see |netrw-q|)
+NETRW SETTINGS                                         *netrw-settings* {{{2
 
-                                               *netrw-gx*
-CUSTOMIZING BROWSING WITH A USER FUNCTION      *netrw-x* *netrw-handler*
-                                               (also see |netrw_filehandler|)
+With the NetrwSettings.vim plugin, >
+       :NetrwSettings
+will bring up a window with the many variables that netrw uses for its
+settings.  You may change any of their values; when you save the file, the
+settings therein will be used.  One may also press "?" on any of the lines for
+help on what each of the variables do.
 
-Certain files, such as html, gif, jpeg, (word/office) doc, etc, files, are
-best seen with a special handler (ie. a tool provided with your computer).
-Netrw allows one to invoke such special handlers by: >
+(also see: |netrw-browser-var| |netrw-protocol| |netrw-var| |netrw-variables|)
 
-       * when Exploring, hit the "x" key
-       * when editing, hit gx with the cursor atop the special filename
-<        (not available if the |g:netrw_nogx| variable exists)
 
-Netrw determines which special handler by the following method:
+==============================================================================
+OBTAINING A FILE                                       *netrw-O* {{{2
 
-  * if |g:netrw_browsex_viewer| exists, then it will be used to attempt to
-    view files.  Examples of useful settings (place into your <.vimrc>): >
+If there are no marked files:
 
-       :let g:netrw_browsex_viewer= "kfmclient exec"
-<   or >
-       :let g:netrw_browsex_viewer= "gnome-open"
-<
-    If g:netrw_browsex_viewer == '-', then netrwFileHandler() will be
-    invoked first (see |netrw_filehandler|).
+    When browsing a remote directory, one may obtain a file under the cursor
+    (ie.  get a copy on your local machine, but not edit it) by pressing the O
+    key.
 
-  * for Windows 32 or 64, the url and FileProtocolHandler dlls are used.  
-  * for Gnome (with gnome-open): gnome-open is used.
-  * for KDE (with kfmclient): kfmclient is used.
-  * otherwise the netrwFileHandler plugin is used.
+If there are marked files:
 
-The file's suffix is used by these various approaches to determine an
-appropriate application to use to "handle" these files.  Such things as
-OpenOffice (*.sfx), visualization (*.jpg, *.gif, etc), and PostScript (*.ps,
-*.eps) can be handled.
+    The marked files will be obtained (ie. a copy will be transferred to your
+    local machine, but not set up for editing).
 
-                                                       *netrw_filehandler*
+Only ftp and scp are supported for this operation (but since these two are
+available for browsing, that shouldn't be a problem).  The status bar will
+then show, on its right hand side, a message like "Obtaining filename".  The
+statusline will be restored after the transfer is complete.
 
-The "x" map applies a function to a file, based on its extension.  Of course,
-the handler function must exist for it to be called!
->
- Ex. mypgm.html   x ->
-                  NFH_html("scp://user@host/some/path/mypgm.html")
-<
-Users may write their own netrw File Handler functions to support more
-suffixes with special handling.  See <plugin/netrwFileHandlers.vim> for
-examples on how to make file handler functions.   As an example: >
+Netrw can also "obtain" a file using the local browser.  Netrw's display
+of a directory is not necessarily the same as Vim's "current directory",
+unless |g:netrw_keepdir| is set to 0 in the user's <.vimrc>.  One may select
+a file using the local browser (by putting the cursor on it) and pressing
+"O" will then "obtain" the file; ie. copy it to Vim's current directory.
 
-       " NFH_suffix(filename)
-       fun! NFH_suffix(filename)
-       ..do something special with filename..
-       endfun
-<
-These functions need to be defined in some file in your .vim/plugin
-(vimfiles\plugin) directory.  Vim's function names may not have punctuation
-characters (except for the underscore) in them.  To support suffices that
-contain such characters, netrw will first convert the suffix using the
-following table: >
+Related topics:
+ * To see what the current directory is, use |:pwd|
+ * To make the currently browsed directory the current directory, see |netrw-c|
+ * To automatically make the currently browsed directory the current
+   directory, see |g:netrw_keepdir|.
 
-    @ -> AT       ! -> EXCLAMATION    % -> PERCENT  
-    : -> COLON    = -> EQUAL          ? -> QUESTION 
-    , -> COMMA    - -> MINUS          ; -> SEMICOLON
-    $ -> DOLLAR   + -> PLUS           ~ -> TILDE    
-<    
-So, for example: >
 
-       file.rcs,v  ->  NFH_rcsCOMMAv()
-<
-If more such translations are necessary, please send me email: >
-               NdrOchip at ScampbellPfamily.AbizM - NOSPAM
-with a request.
+PREVIEW WINDOW                         *netrw-p* *netrw-preview* {{{2
 
+One may use a preview window by using the "p" key when the cursor is atop the
+desired filename to be previewed.  The display will then split to show both
+the browser (where the cursor will remain) and the file (see |:pedit|).
+By default, the split will be taken horizontally; one may use vertical
+splitting if one has set |g:netrw_preview| first.
 
-MAKING THE BROWSING DIRECTORY THE CURRENT DIRECTORY    *netrw-c* *netrw-curdir*
 
-By default, |g:netrw_keepdir| is 1.  This setting means that the current
-directory will not track the browsing directory.
+PREVIOUS WINDOW                                *netrw-P* *netrw-prvwin* {{{2
 
-Setting g:netrw_keepdir to 0 tells netrw to make vim's current directory to
-track netrw's browsing directory.
+To edit a file or directory in the previously used (last accessed) window (see
+:he |CTRL-W_p|), press a "P".  If there's only one window, then the one window
+will be horizontally split (above/below splitting is controlled by
+|g:netrw_alto|, and its initial size is controlled by |g:netrw_winsize|).
 
-However, given 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 netrw's current browsing
-directory.
+If there's more than one window, the previous window will be re-used on
+the selected file/directory.  If the previous window's associated buffer
+has been modified, and there's only one window with that buffer, then
+the user will be asked if s/he wishes to save the buffer first (yes,
+no, or cancel).
 
 
-BOOKMARKING A DIRECTORY                *netrw-mb* *netrw-bookmark* *netrw-bookmarks*
-One may easily "bookmark" a directory by using >
+REFRESHING THE LISTING                 *netrw-ctrl-l* *netrw-ctrl_l* {{{2
 
-       {cnt}mb
-<
-Any count may be used.  One may use viminfo's "!" option to retain bookmarks
-between vim sessions.  See |netrw-gb| for how to return to a bookmark and
-|netrw-q| for how to list them.
+To refresh either a local or remote directory listing, press ctrl-l (<c-l>) or
+hit the <cr> when atop the ./ directory entry in the listing.  One may also
+refresh a local directory by using ":e .".
 
 
-CHANGING TO A BOOKMARKED DIRECTORY                     *netrw-gb* 
+RENAMING FILES OR DIRECTORIES  *netrw-move* *netrw-rename* *netrw-R* {{{2
 
-To change directory back to a bookmarked directory, use
+If there are no marked files: (see |netrw-mf|)
 
-       {cnt}gb
+    Renaming/moving files and directories involves moving the cursor to the
+    file/directory to be moved (renamed) and pressing "R".  You will then be
+    queried for where you want the file/directory to be moved.  You may select
+    a range of lines with the "V" command (visual selection), and then
+    pressing "R".
 
-Any count may be used to reference any of the bookmarks.  See |netrw-mb| on
-how to bookmark a directory and |netrw-q| on how to list bookmarks.
+If there are marked files:  (see |netrw-mf|)
 
+    Marked files will be renamed (moved).  You will be queried as above in
+    order to specify where you want the file/directory to be moved.
 
-LISTING BOOKMARKS AND HISTORY                  *netrw-q* *netrw-listbookmark*
+    WARNING:~
 
-Pressing "q" will list the bookmarked directories and directory traversal
-history (query). (see |netrw-mb|, |netrw-gb|, |netrw-u|, and |netrw-U|)
+    Note that moving files is a dangerous operation; copies are safer.  That's
+    because a "move" for remote files is actually a copy + delete -- and if
+    the copy fails and the delete does not, you may lose the file.
 
+The g:netrw_rename_cmd variable is used to implement renaming.  By default its
+value is:
 
-IMPROVING DIRECTORY BROWSING                           *netrw-listhack*
+       ssh HOSTNAME mv
 
-Especially with the remote directory browser, constantly entering the password
-is tedious.
+One may rename a block of files and directories by selecting them with
+the V (|linewise-visual|).
 
-For Linux/Unix systems, the book "Linux Server Hacks - 100 industrial strength
-tips & tools" by Rob Flickenger (O'Reilly, ISBN 0-596-00461-3) gives a tip
-for setting up no-password ssh and scp and discusses associated security
-issues.  It used to be available at http://hacks.oreilly.com/pub/h/66 ,
-but apparently that address is now being redirected to some "hackzine".
-I'll attempt a summary:
 
-       1. Generate a public/private key pair on the ssh server:
-          ssh-keygen -t rsa
-          (saving the file in ~/.ssh/id_rsa is ok)
-       2. Just hit the <CR> when asked for passphrase (twice).
-       3. This creates two files:
-            ~/.ssh/id_rsa
-            ~/.ssh/id_rsa.pub
-       4. On the client:
-           cd
-           mkdir .ssh
-           chmod 0700 .ssh
-           scp {serverhostname}:.ssh/id_rsa.pub .
-           cat id_rsa.pub >> .ssh/authorized_keys2
+REVERSING SORTING ORDER                *netrw-r* *netrw-reverse* {{{2
 
-For Windows, folks on the vim mailing list have mentioned that Pageant helps
-with avoiding the constant need to enter the password.
+One may toggle between normal and reverse sorting order by pressing the
+"r" key.
 
+Related topics:              |netrw-s|
+Associated setting variable: |g:netrw_sort_direction|
 
-NETRW SETTINGS                                         *netrw-settings*
 
-With the NetrwSettings.vim plugin, >
-       :NetrwSettings
-will bring up a window with the many variables that netrw uses for its
-settings.  You may change any of their values; when you save the file, the
-settings therein will be used.  One may also press "?" on any of the lines for
-help on what each of the variables do.
+SELECTING SORTING STYLE                        *netrw-s* *netrw-sort* {{{2
+
+One may select the sorting style by name, time, or (file) size.  The "s" map
+allows one to circulate amongst the three choices; the directory listing will
+automatically be refreshed to reflect the selected style.
 
-(also see: |netrw-browse-var| |netrw-protocol| |netrw-var| |netrw-variables|)
+Related topics:               |netrw-r| |netrw-S|
+Associated setting variables: |g:netrw_sort_by| |g:netrw_sort_sequence|
 
 
-==============================================================================
-10. Problems and Fixes                                         *netrw-problems*
+10. Problems and Fixes                                 *netrw-problems* {{{1
 
        (This section is likely to grow as I get feedback)
        (also see |netrw-debug|)
@@ -1568,9 +2162,11 @@ help on what each of the variables do.
                                                                *netrw-p4*
        P4. I would like long listings to be the default.
 
-                       let g:netrw_liststyle= 1
+               Put the following statement into your |.vimrc|: >
 
-               Check out |netrw-browse-var| for more customizations that
+                       let g:netrw_liststyle= 1
+<
+               Check out |netrw-browser-var| for more customizations that
                you can set.
 
                                                                *netrw-p5*
@@ -1579,15 +2175,18 @@ help on what each of the variables do.
                Does your system's strftime() accept the "%c" to yield dates
                such as "Sun Apr 27 11:49:23 1997"?  If not, do a "man strftime"
                and find out what option should be used.  Then put it into
-               your <.vimrc>:
-                       let g:netrw_timefmt= "%X"  (where X is the option)
+               your |.vimrc|: >
 
+                       let g:netrw_timefmt= "%X"  (where X is the option)
+<
                                                                *netrw-p6*
        P6. I want my current directory to track my browsing.
            How do I do that?
 
+           Put the following line in your |.vimrc|:
+>
                let g:netrw_keepdir= 0
-       
+<      
                                                                *netrw-p7*
        P7. I use Chinese (or other non-ascii) characters in my filenames, and
            netrw (Explore, Sexplore, Hexplore, etc) doesn't display them!
@@ -1652,9 +2251,9 @@ help on what each of the variables do.
                          {asterisk}.{asterisk} (all files), or whatever types
                          you want (cec: change {asterisk} to * ; I had to
                          write it that way because otherwise the helptags
-                         system thinks its a tag)
-                       - Make sure its at the top of the listbox (click it,
-                         then click "Up" if its not)
+                         system thinks it's a tag)
+                       - Make sure it's at the top of the listbox (click it,
+                         then click "Up" if it's not)
                If using the Norton Commander style, you just have to hit <F4>
                to edit a file in a local copy of gvim.
 
@@ -1663,16 +2262,24 @@ help on what each of the variables do.
   http://www.tartarus.org/~simon/puttydoc/Chapter8.html#pubkey-gettingready
                        8.3 Getting ready for public key authentication
 <
-               How to use private key with 'pscp': >
+               How to use a private key with 'pscp': >
+
                        http://www.tartarus.org/~simon/puttydoc/Chapter5.html
                        5.2.4 Using public key authentication with PSCP 
 <
+               (Ben Schmidt) I find the ssh included with cwRsync is
+               brilliant, and install cwRsync or cwRsyncServer on most
+               Windows systems I come across these days. I guess COPSSH,
+               packed by the same person, is probably even better for use as
+               just ssh on Windows, and probably includes sftp, etc. which I
+               suspect the cwRsync doesn't, though it might
+
                (cec) To make proper use of these suggestions above, you will
                need to modify the following user-settable variables in your
                .vimrc:
 
-                       |g:netrw_ssh_cmd| |g:netrw_list_cmd|  |g:netrw_mkdir_cmd|
-                       |g:netrw_rm_cmd|  |g:netrw_rmdir_cmd| |g:netrw_rmf_cmd|
+               |g:netrw_ssh_cmd| |g:netrw_list_cmd|  |g:netrw_mkdir_cmd|
+               |g:netrw_rm_cmd|  |g:netrw_rmdir_cmd| |g:netrw_rmf_cmd|
 
                The first one (|g:netrw_ssh_cmd|) is the most important; most
                of the others will use the string in g:netrw_ssh_cmd by
@@ -1688,52 +2295,77 @@ help on what each of the variables do.
                in your <.vimrc>: >
                        let g:netrw_use_noswf= 0
 <
+                                                               *netrw-p10*
+       P10. I'm being pestered with "[something] is a directory" and
+            "Press ENTER or type command to continue" prompts...
+
+               The "[something] is a directory" prompt is issued by Vim,
+               not by netrw, and there appears to be no way to work around
+               it.  Coupled with the default cmdheight of 1, this message
+               causes the "Press ENTER..." prompt.  So:  read |hit-enter|;
+               I also suggest that you set your |'cmdheight'| to 2 (or more) in
+               your <.vimrc> file.
+
+                                                               *netrw-p11*
+       P11. I want to have two windows; a thin one on the left and my editing
+            window on the right.  How can I do this?
+
+               * Put the following line in your <.vimrc>:
+                       let g:netrw_altv = 1
+               * Edit the current directory:  :e .
+               * Select some file, press v
+               * Resize the windows as you wish (see |CTRL-W_<| and
+                 |CTRL-W_>|).  If you're using gvim, you can drag
+                 the separating bar with your mouse.
+               * When you want a new file, use  ctrl-w h  to go back to the
+                 netrw browser, select a file, then press P  (see |CTRL-W_h|
+                 and |netrw-P|).  If you're using gvim, you can press
+                 <leftmouse> in the browser window and then press the
+                 <middlemouse> to select the file.
 
 ==============================================================================
-11. Debugging                                          *netrw-debug*
+11. Debugging Netrw Itself                             *netrw-debug* {{{1
 
 The <netrw.vim> script is typically available as:
 >
-       /usr/local/share/vim/vim6x/plugin/netrw.vim
+       /usr/local/share/vim/vim6x/plugin/netrwPlugin.vim
+       /usr/local/share/vim/vim6x/autoload/netrw.vim
 < -or- >
-       /usr/local/share/vim/vim7x/plugin/netrw.vim
+       /usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
+       /usr/local/share/vim/vim7x/autoload/netrw.vim
 <
 which is loaded automatically at startup (assuming :set nocp).
 
        1. Get the <Decho.vim> script, available as:
 
-            http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_scripts
-            as "Decho, a vimL debugging aid"
+            http://mysite.verizon.net/astronaut/vim/index.html#DECHO
           or
             http://vim.sourceforge.net/scripts/script.php?script_id=120
 
-          and put it into your local plugin directory.
-
-       2. <Decho.vim> itself needs the <cecutil.vim> script, so you'll need
-          to put it into your .vim/plugin, too.  You may obtain it from:
+         It now comes as a "vimball"; if you're using vim 7.0 or earlier,
+         you'll need to update vimball, too.  See
+            http://mysite.verizon.net/astronaut/vim/index.html#VIMBALL
 
-               http://mysite.verizon.net/astronaut/vim/index.html#VimFuncs
-               as "DrC's Utilities"
-
-       3. Edit the <netrw.vim> file by typing:
+       2. Edit the <netrw.vim> file by typing: >
 
                vim netrw.vim
                :DechoOn
                :wq
-
-          To restore to normal non-debugging behavior, edit <netrw.vim>
-          by typing
+<
+          To restore to normal non-debugging behavior, re-edit <netrw.vim>
+          and type >
 
                vim netrw.vim
                :DechoOff
                :wq
-
+<
           This command, provided by <Decho.vim>, will comment out all
           Decho-debugging statements (Dfunc(), Dret(), Decho(), Dredir()).
 
-       4. Then bring up vim and attempt a transfer or do browsing.  A set of
-          messages should appear concerning the steps that <netrw.vim> took
-          in attempting to read/write your file over the network.
+       3. Then bring up vim and attempt to evoke the problem by doing a
+          transfer or doing some browsing.  A set of messages should appear
+          concerning the steps that <netrw.vim> took in attempting to
+          read/write your file over the network in a separate tab.
 
           To save the file, use >
                :wincmd j
@@ -1745,15 +2377,218 @@ which is loaded automatically at startup (assuming :set nocp).
 ==============================================================================
 12. History                                            *netrw-history* {{{1
 
+       v125: Apr 07, 2008 * (Cristian Rigamonti) CR provides a patch; he
+                            noted that gx was failing since its call to
+                            netrw#NetBrowseX() wasn't updated to
+                            netrw#NetrwBrowseX().
+                          * (Stanis Trendelenburg) ST provides a patch to
+                            supports davs: (dav + ssl)
+                          * (Rick Choi) noted that directory names comprised
+                            of three digits were not being displayed by
+                            the internal browser.  Fixed.
+                          * (Erik Falor) provided a patch to handle problems
+                            with changing directory and |'acd'| option.
+                          * (James Vega, Teemu Likonen) noted that netrw
+                            wasn't handling multi-byte filenames/directories
+                            correctly.  Fixed.
+                          * (Rick) found problem with g:netrw_maxfilenamelen
+                            being overridden.
+                          * (James Vega) pointed out that netrw was
+                            misidentifying all files in a symbolically linked
+                            directory as being symbolically linked
+                            themselves.  This particular problem was fixed;
+                            however, there are now situations where
+                            symbolically linked files will not be detected.
+                            Really need an internal vim function to do this
+                            identification.
+             Apr 17, 2008 * When g:netrw_keepdir==0, current directory
+                            doesn't necessarily equal b:netrw_curdir
+                            initially.  Problem is due to the patch directly
+                            above.
+                          * Fixed qf to handle case where b:netrw_curdir
+                            isn't the same as the current directory under
+                            linux/macosx.
+                          * New: |netrw-mg| (apply vimgrep to marked files)
+             May 05, 2008 * (Rick) pointed out that a "setlocal ts=32" was
+                            interfering with g:netrw_maxfilenamelen
+             May 05, 2008 * (James Vega) a file inside a linked directory
+                            was showing up as a symbolic link itself.
+             May 22, 2008 * symbolic links, fifos, and sockets are now
+                            indicated by a trailing @, |, or =, respectively.
+             Jun 06, 2008 * Removed numerous bugs from the marked file
+                            move and copy.  Tested these changes under
+                            Unix only thus far.
+                          * :Rexplore returns to the screen position in the
+                            netrw listing from whence the file was edited
+       v124: Apr 02, 2008 * (Adrian Rollett) change the line supporting the
+                           "x" action for mac to use g:netrw_shq
+       v123: Feb 27, 2008 * Marked files now keeps a "global" marked file
+                            list.  The global marked file list is used to
+                            support tag processing and vimdiff'ing
+                            (|netrw-md| |netrw-mt|)
+                          * Been insuring that mm and mc works with various
+                            combinations of local and remote directories
+                          * (Stefan Bittner) http://.../ should always have
+                            filetype "html" -- fixed.
+                          * (Stefan Bittner) a "?" in a http://.../ request
+                            wasn't being handled correctly.  Fixed by
+                            removing ? from default |g:netrw_tmpfile_escape|.
+                          * (Nico Weber) % codes in http://.../ requests
+                            weren't being handled correctly.  Fixed by
+                            including % in default |g:netrw_fname_escape|.
+                          * (Stefan Bittner) attempts to update Buffers.Refresh
+                            were failing because locale use changed the menu
+                            names.  I implemented a workaround.
+       v122: Feb 12, 2008 * bugfix - first sorting sequence match now has
+                            priority
+             Feb 14, 2008 * bugfix - sorting sequence was effectively ignoring
+                            sequencing priority of anything following '*'
+                          * toggling a marked file was showing incorrect list
+                            (list was correct, but displayed matches weren't)
+                          * |g:netrw_special_syntax| implemented
+       v121: Feb 11, 2008 * Bram M reported that :e file ... :e . would not
+                            retain the alternate file.  Fixed -- I hope!
+                          * bugfix -- apparently v120 broke an explicit
+                            :Explore dirname
+       v120: Jan 21, 2008 * |netrw-mt| changed to allow for target selection
+                            based on whether or not word under cursor is a
+                            directory or file, or if cursor is in banner
+                            area.
+                          * |netrw-mh| included (hiding by marked-file suffix)
+                          * functions moved about a bit (improved
+                            categorization)
+                          * executable files now displayed with trailing (*)
+                          * symbolically linked files now displayed with
+                            trailing (@)
+                          * Somewhen, s:NetrwMarkFileMove() got damaged.  Its
+                            now restored (missing an endif, for example).
+                          * |netrw-mu| implemented (unmarking marked files)
+                          * many bugs have been removed from the marked file
+                            system (tnx to Mark S. for feedback)
+                          * |netrw-ms| implemented (sourcing marked files)
+                          * fixed use of P with tree listing style
+                          * multiple tree listing now supported
+                          * ./ suppressed
+                          * changed q -> qb (query bookmarks)
+                          * implemented |netrw-qf|
+                          * Explore now has four special list-generation
+                            modes: */filepat **/filepat
+                                  *//pattern **//pattern
+                          * gh (|netrw-gh|) is a shortcut for toggling the
+                            hiding of files and directories beginning with a
+                            dot
+       v119: Jan 10, 2008 * When g:netrw_keepdir is false,
+                            NetrwOptionsRestore() had a problem
+                            (Bill McCarthy)
+             Jan 11, 2008 * Netrw now shows symbolic links with a trailing
+                            "@" and special highlighting.
+             Jan 15, 2008 * Changed g:netrw_noretmap -> |g:netrw_retmap|.
+                            Changed: disabled by default at Bram's
+                            preference.
+       v118: Jan 02, 2008 * Fixed a problem with Windows;
+                            :Explore c:/path/ would not work,
+                            but :Explore c:/path would.
+                          * Fixed a bug in s:NetrwOptionRestore() - lcd's
+                            argument wasn't being properly escaped so it
+                            wouldn't handle spaces in directory names.
+                            (Gary Johnson)
+       v117: Jan 02, 2008 * Fixed a problem with P; had to include
+                            a b:netrw_curdir bypass (Bram Moolenaar)
+       v116: Nov 27, 2007 * netrw#LocalBrowseCheck() has &ft=="netrw"
+                            check to prevent doing a directory listing
+                            (was getting unexpected directory refreshes
+                            in the middle of some function calls)
+                          * NetrwOptionRestore moved after e! filename
+                            in order to retain user options for editing
+                            in s:NetrwBrowseChgDir()
+             Dec 12, 2007 * Bug fix -- netrw does a better job of retaining
+                            user options when editing files under the aegis
+                            of the browser
+       v115: Oct 04, 2007 * Erik Remmelzwaal pointed out that the use of
+                            shellslash in s:GetTempfile() was incorrect
+             Oct 11, 2007 * Tracked down and eliminated a bug with editing
+                            remote *.tar.gz and *.tar.bz2 files
+             Oct 11, 2007 * g:netrw_localmovecmd wasn't being initialized
+                            properly, and g:netrw_localcopycmd was being
+                            overwritten.
+             Oct 12, 2007 * Placed all :Rexplore and <2-leftmouse> setup
+                            in a new support function (s:SetRexDir()).
+             Oct 15, 2007 * new: g:netrw_browse_split == 4; means <cr>
+                            based selection will use previous window
+             Oct 20, 2007 * also checks on |'shellxquote'| to set g:netrw_shq
+             Oct 24, 2007 * Explore handles path/**/filename
+             Oct 27, 2007 * sourcing remote files often didn't work with ftp,
+                            turns out that b:netrw_method was undefined, so
+                            s:SaveBufVars and s:RestoreBufVars() fixed it.
+       v114: Sep 28, 2007 * mT, the map that invokes tags, has been improved
+                            to support use of remote tags files.
+             Oct 02, 2007 * changed Netrw menu to use more submenus
+       v113: Sep 07, 2007 * worked out why the cursor position wasn't being
+                            saved and restored as intended after doing such
+                            things as deleting and renaming files.
+             Sep 11, 2007 * Fixed bug which effectively disabled <c-l> and
+                            <c-h> maps
+             Sep 18, 2007 * there used to be one NetrwOptionRestore() call at
+                            the end of the s:NetrwBrowseChgDir() function;
+                            they're now at the end of every if..elseif..else
+                            block.  The edit-a-file one is not quite at the end
+                            of its block; instead, its just before the edit.
+                            Restores user options, then this new placement
+                            allows ftplugins, autocmds, etc to change settings
+                            (ex. ftplugin/cpp.vim sets cindent).
+             Sep 19, 2007 * changed all strlen() calls to use s:Strlen(), a
+                            function which handles utf-8 wide characters
+                            correctly.
+             Sep 20, 2007 * (Nico Weber) the "x" command has been extended
+                            to Mac's OS/X (macunix); it now uses open to
+                            handle |netrw-x| browsing with special files.
+             Sep 22, 2007 * Added g:netrw_noretmap to netrw at Tony M's
+                            request.
+                          * Included path to NetrwRemoteRmFile()
+       v112: Aug 18, 2007 * added mx (|netrw-mx|) for executing arbitrary
+                            commands on marked files
+             Aug 22, 2007 * more option save/restore work for
+                            s:NetrwBrowseChgDir(); s:NetrwOptionSave()
+                            and s:NetrwOptionRestore() now take a parameter
+                            specifying the type of variables to be used for
+                            saving and restoring (either "w:" or "s:")
+             Sep 04, 2007 * added the :NetrwClean[!] command
+       v111: Jul 25, 2007 * using Windows but not using Cygwin, netrw does a
+                            "file bufname" where the bufname uses /s
+                            instead of \s; Vim "fixes" it by changing the
+                            bufname to use \s anyway.  This meant that
+                            NetrwGetBuffer() didn't find the appropriately
+                            named buffer, and so would generate a new
+                            buffer listing; hence the cursor would appear
+                            to have been moved when doing a preview.
+                          * added <2-leftmouse> map to return to netrw's
+                            browser display
+             Aug 16, 2007 * added the mark-file system, including
+                            maps for mf mp mt mz and mu.  Modifications
+                            made to maps for a D O and R to support
+                            marked files.
+       v110: May 10, 2007 * added [ and ] maps to NetrwTreeListing
+             May 25, 2007 * |g:netrw_preview| included
+             May 29, 2007 * modifed netrw#NetBrowseX to consistently use
+                           |g:netrw_shq| instead of hardcoded quotes,
+                            and modified the snippet that sets up redir
+                            so Windows machines use "nul" instead of
+                            "/dev/null".
+             Jun 01, 2007 * fixed bug -- NetGetBuffer() wasn't always
+                            recognizing a buffer name match when it should,
+                            thus resulting in [Scratch] buffers.
+             Jun 04, 2007 * Gary Johnson found a bugfix for the "c" mapping
+                            when the directory is to be made current but
+                            the name contains spaces.
        v109: Mar 26, 2007 * if a directory name includes a "$" character,
                             Explore() will use expand() in an attempt to
                             decipher the name.
              May 07, 2007 * g:netrw_use_errorwindow now allows one to
-                            have error messages go to a reliable window
+                            have error messages go to a reliable window
                             or to use a less reliable but recallable 
                             echoerr method
              May 07, 2007 * g:netrw_scpport and g:netrw_sshport support
-                            use of -P and -p, respectively, to set port
+                            use of -P and -p, respectively, to set port
                             for scp/ssh.
        v108: Jan 03, 2007 * included preview map (|netrw-p|), supporting
                             remote browsing
@@ -1879,257 +2714,319 @@ which is loaded automatically at startup (assuming :set nocp).
        v97: May 01, 2006  * exists("&acd") now used to determine if
                             the 'acd' option exists
                           * "obtain" now works again under Windows
-       v96: * bugfix - the |'acd'| option is not always defined but is
-              now bypassed only when it is
-       v95: * bugfix - Hiding mode worked correctly (don't show any file
-              matching any of the g:netrw_hide patterns), but
-              showing mode was showing only those files that didn't
-              match any of the g:netrw_hide patterns.  Instead, it now
-              shows all files that match any of the g:netrw_hide patterns
-              (the difference between a logical and and logical or).
-       v94: * bugfix - a Decho() had a missing quote; only affects things
-              when debugging was enabled.
-       v93: * bugfix - removed FocusGained event from causing a slow-browser
-              refresh for Windows
-       v92: * :Explore **//pattern implemented  (**/filepattern already taken)
-       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.
-            * Changed filetype for browser displays from netrwlist to netrw.
-       v87: * bug fix -- menus were partially disappearing
-       v85: * bug fix -- missing an endif
-            * bug fix -- handles spaces in names and directories when using
-              ftp-based browsing
-       v83: * disabled stop-acd handling; the change in directory handling
-              may allow acd to be used again.  Awaiting feedback.
-            * D was refusing to delete remote files/directories in wide
-              listing mode.
-       v81: * FocusGained also used to refresh/wipe local browser directory
-              buffers
-            * (bugfix) netrw was leaving [Scratch] buffers behind when the
-              user had the "hidden" option set.  The 'hidden' option is
-              now bypassed.
-       v80: * ShellCmdPost event used in conjunction with g:netrw_fastbrowse
-              to refresh/wipe local browser directory buffers.
-       v79: * directories are now displayed with nowrap
-            * (bugfix) if the column width was smaller than the largest
-              file's name, then netrw would hang when using wide-listing
-              mode - fixed
-            * g:netrw_fastbrowse introduced
-       v78: * progress has been made on allowing spaces inside directory
-              names for remote work (reading, writing, browsing).  (scp)
-       v77: * Mikolaj Machowski fixed a bug in a substitute command
-            * g:netrw_browsex_viewer implemented
-            * Mikolaj Machowski pointed out that gnome-open is often
-              executable under KDE systems, although it is effectively
-              not functional.  NetBrowseX now looks for "kicker" as 
-              a running process to determine if KDE is actually the
-              really running.
-            * Explorer's O functionality was inadvertently left out.
-              Netrw now does the same thing, but with the "P" key.
-            * added g:netrw_browse_split option
-            * fixed a bug where the directory contained a "." but
-              the file didn't (was treating the dirname from "."
-              onwards as a suffix)
-       v76: * "directory is missing" error message now restores echo
-              highlighting
-       v75: * file://... now conforms to RFC2396 (thanks to S. Zacchiroli)
-            * if the binary option is set, then NetWrite() will only write
-              the whole file (line numbers don't make sense with this).
-              Supports writing of tar and zip files.
-       v74: * bugfix (vim, then :Explore) now works
-            * ctrl-L keeps cursor at same screen location (both local and
-              remote browsing)
-            * netrw now can read remote zip and tar files
-            * Obtain now uses WinXP ftp+.netrc successfully
-       v73: * bugfix -- scp://host/path/file was getting named incorrectly
-            * netrw detects use of earlier-than-7.0 version of vim and issues
-              a pertinent error message.
-            * netrwSettings.vim is now uses autoloading.  Only
-              <netrwPlugin.vim> is needed as a pure plugin
-              (ie. always loaded).
-       v72: * bugfix -- formerly, one could prevent the loading of netrw
-              by "let g:loaded_netrw=1"; when autoloading became supported,
-              this feature was lost.  It is now restored.
-       v71: * bugfix -- made some "set nomodifiable"s into setlocal variants
-              (allows :e somenewfile  to be modifiable as usual)
-            * NetrwSettings calls a netrw function, thereby assuring that
-              netrw has loaded.  However, if netrw does not load for whatever
-              reason, then NetrwSettings will now issue a warning message.
-            * For what reason I don't recall, when wget and fetch are both
-              not present, and an attempt to read a http://... url is made,
-              netrw exited.  It now only returns.
-            * When ch=1, on the second and subsequent uses of browsing Netrw
-              would issue a blank line to clear the echo'd messages.  This
-              caused an annoying "Hit-Enter" prompt; now a blank line message
-              is echo'd only if &ch>1.
-       v70: * when using |netrw-O|, the "Obtaining filename" message is now
-              shown using |hl-User9|.  If User9 has not been defined, netrw
-              will define it.
-       v69: * Bugfix: win95/98 machines were experiencing a
-              "E121: Undefined variable: g:netrw_win95ftp" message
-       v68: * double-click-leftmouse selects word under mouse
-       v67: * Passwords which contain blanks will now be surrounded by
-              double-quotes automatically (Yongwei)
-       v66: * Netrw now seems to work with a few more Windows situations
-            * O now obtains a file: remote browsing file -> local copy,
-              locally browsing file -> current directory (see :pwd)
-            * i now cycles between thin, long, and wide listing styles
-            * NB and Nb are maps that are always available; corresponding
-              B and b maps are only available when not using wide listing
-              in order to allow them to be used for motions
-       v65: * Browser functions now use NetOptionSave/Restore; in particular,
-              netrw now works around the report setting
-       v64: * Bugfix - browsing a "/" directory (Unix) yielded buffers 
-              named "[Scratch]" instead of "/"
-            * Bugfix - remote browsing with ftp was omitting the ./ and ../
-       v63: * netrw now takes advantage of autoload (and requires 7.0)
-            * Bugfix - using r (to reverse sort) working again
-       v62: * Bugfix - spaces allowed again in directory names with
-              g:netrw_keepdir=0.  In fact, I've tested netrw (again)
-              with most ANSI punctuation marks for directory names.
-            * Bugfix - NetrwSettings gave errors when g:netrw_silent
-              had not be set.
-       v61: * document upgrade -- netrw variable-based settings all should
-              have tags.  Supports NetrwSettings command.
-            * several important variables are window-oriented.  Netrw has
-              to transfer these across a window split.  See s:BufWinVars()
-              and s:UseBufWinVars().
-       v60: * when using the i map to switch between long and short listings,
-              netrw will now keep cursor on same line
-            * "Match # of #" now uses status line
-            * :Explore **/*.c  will now work from a non-netrw-browser window
-            * :Explore **/patterns can now be run in separate browser windows
-            * active banner (hit <cr> will cause various things to happen)
-       v59: * bugfix -- another keepalt work-around installed (for vim6.3)
-            * "Match # of #" for Explore **/pattern matches
-       v58: * Explore and relatives can now handle **/somefilepattern (v7)
-            * Nexplore and Pexplore introduced (v7).  shift-down and shift-up
-              cursor keys will invoke Nexplore and Pexplore, respectively.
-            * bug fixed with o and v
-            * autochdir only worked around for vim when it has been
-              compiled with either |+netbeans_intg| or |+sun_workshop|
-            * Under Windows, all directories and files were being preceded
-              with a "/" when local browsing.  Fixed.
-            * When: syntax highlighting is off, laststatus=2, and remote
-              browsing is used, sometimes the laststatus highlighting
-              bleeds into the entire display.  Work around - do an extra
-              redraw in that case.
-            * Bugfix: when g:netrw_keepdir=0, due to re-use of buffers,
-              netrw didn't change the directory when it should've
-            * Bugfix: D and R commands work again
-       v57: * Explore and relatives can now handle RO files
-            * reverse sort restored with vim7's sort command
-            * g:netrw_keepdir now being used to keep the current directory
-              unchanged as intended (sense change)
-            * vim 6.3 still supported
-       v56: * LocalBrowse now saves autochdir setting, unsets it, and
-              restores it before returning.
-            * using vim's rename() instead of system + local_rename variable
-            * avoids changing directory when g:netrw_keepdir is false
-       v55: * -bar used with :Explore :Sexplore etc to allow multiple
-              commands to be separated by |s
-            * browser listings now use the "nowrap" option
-            * browser: some unuseful error messages now suppressed
-       v54: * For backwards compatibility, Explore and Sexplore have been
-              implemented.  In addition, Hexplore and Vexplore commands
-              are available, too.
-            * <amatch> used instead of <afile> in the transparency
-              support (BufReadCmd, FileReadCmd, FileWriteCmd)
-            * ***netrw*** prepended to various error messages netrw may emit
-            * g:netrw_port used instead of b:netrw_port for scp
-            * any leading [:#] is removed from port numbers
-       v53: * backslashes as well as slashes placed in various patterns
-              (ex. g:netrw_sort_sequence) to better support Windows
-       v52: * nonumber'ing now set for browsing buffers
-            * when the hiding list hid all files, error messages ensued. Fixed
-            * when browsing, swf is set, but directory is not set, when netrw
-              was attempting to restore options, vim wanted to save a swapfile
-              to a local directory using an url-style path.  Fixed
-       v51: * cygwin detection now automated (using windows and &shell is bash)
-            * customizable browser "file" rejection patterns
-            * directory history
-            * :[range]w url  now supported (ie. netrw has a FileWriteCmd event)
-            * error messages have a "Press <cr> to continue" to allow them
-              to be seen
-            * directory browser displays no longer bother the swapfile
-            * u/U commands to go up and down the history stack
-            * history stack may be saved with viminfo with its "!" option
-            * bugfixes associated with unwanted [No Files] entries
-       v50: * directories now displayed using buftype=nofile; should keep the
-              directory names as-is
-            * attempts to remove empty "[No File]" buffers leftover
-              from :file ..name.. commands
-            * bugfix: a "caps-lock" editing difficulty left in v49 was fixed
-            * syntax highlighting for "Showing:" the hiding list included
-            * bookmarks can now be retained if "!" is in the viminfo option
-       v49: * will use ftp for http://.../ browsing v48:
-            * One may use ftp to do remote host file browsing
-            * (windows and !cygwin) remote browsing with ftp can now use
-              the "dir" command internally to provide listings
-            * g:netrw_keepdir now allows one to keep the initial current
-              directory as the current directory (normally the local file
-              browser makes the currently viewed directory the current
-              directory)
-            * g:netrw_alto and g:netrw_altv now support alternate placement
-              of windows started with o or v
-            * Nread ? and Nwrite ?  now uses echomsg (instead of echo) so
-              :messages can repeat showing the help
-            * bugfix: avoids problems with partial matches of directory names
-              to prior buffers with longer names
-            * one can suppress error messages with g:netrw_quiet ctrl-h used
-            * instead of <Leader>h for editing hiding list one may edit the
-            * sorting sequence with the S map now allows confirmation of
-            * deletion with [y(es) n(o) a(ll) q(uit)] the "x" map now handles
-            * special file viewing with:
-              (windows) rundll32 url.dll (gnome)   gnome-open (kde)
-              kfmclient If none of these are on the executable path, then
-              netrwFileHandlers.vim is used.
-            * directory bookmarking during both local and remote browsing
-              implemented
-            * one may view all, use the hiding list to suppress, or use the
-              hiding list to show-only remote and local file/directory
-              listings
-            * improved unusual file and directory name handling preview
-            * window support
-       v47: * now handles local directory browsing.
-       v46: * now handles remote directory browsing
-            * g:netrw_silent (if 1) will cause all transfers to be silent
-       v45: * made the [user@]hostname:path form a bit more restrictive to
-              better handle errors in using protocols (e.g. scp:usr@host:file
-              was being recognized as an rcp request) v44: * changed from
-              "rsync -a" to just "rsync"
-            * somehow an editing error messed up the test to recognize
-              use of the fetch method for NetRead.
-            * more debugging statements included
-       v43: * moved "Explanation" comments to <pi_netrw.txt> help file as
-              "Network Reference" (|netrw-ref|)
-            * <netrw.vim> now uses Dfunc() Decho() and Dret() for debugging
-            * removed superfluous NetRestorePosn() calls
-       v42: * now does BufReadPre and BufReadPost events on file:///* and
-              file://localhost/* v41: * installed file:///* and
-              file://localhost/* handling v40: * prevents redraw when a
-              protocol error occurs so that the user may see it v39: * sftp
-              support v38: * Now uses NetRestorePosn() calls with
-              Nread/Nwrite commands
-            * Temporary files now removed via bwipe! instead of bwipe
-              (thanks to Dave Roberts) v37: * Claar's modifications which
-              test if ftp is successful, otherwise give an error message
-            * After a read, the alternate file was pointing to the temp file.
-              The temp file buffer is now wiped out.
-            * removed silent from transfer methods so user can see what's
-              happening
+       v96:               * bugfix - the |'acd'| option is not always defined
+                            but is now bypassed only when it is
+       v95:               * bugfix - Hiding mode worked correctly (don't show
+                            any file matching any of the g:netrw_hide
+                            patterns), but showing mode was showing only those
+                            files that didn't match any of the g:netrw_hide
+                            patterns.  Instead, it now shows all files that
+                            match any of the g:netrw_hide patterns (the
+                            difference between a logical and and logical or).
+       v94:               * bugfix - a Decho() had a missing quote; only
+                            affects things when debugging was enabled.
+       v93:               * bugfix - removed FocusGained event from causing a
+                            slow-browser refresh for Windows
+       v92:               * :Explore **//pattern implemented
+                             (**/filepattern was already taken)
+       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 given by
+                            g:NetrwMenuPriority.
+                          * Changed filetype for browser displays from
+                            netrwlist to netrw.
+       v87:               * bug fix -- menus were partially disappearing
+       v85:               * bug fix -- missing an endif
+                          * bug fix -- handles spaces in names and directories
+                            when using ftp-based browsing
+       v83:               * disabled stop-acd handling; the change in directory
+                            handling may allow acd to be used again.
+                          * D was refusing to delete remote files/directories
+                            in wide listing mode.
+       v81:               * FocusGained also used to refresh/wipe local browser
+                            directory buffers
+                          * (bugfix) netrw was leaving [Scratch] buffers behind
+                            when the user had the "hidden" option set.  The
+                            'hidden' option is now bypassed.
+       v80:               * ShellCmdPost event used in conjunction with
+                            g:netrw_fastbrowse to refresh/wipe local browser
+                            directory buffers.
+       v79:               * directories are now displayed with nowrap
+                          * (bugfix) if the column width was smaller than the
+                            largest file's name, then netrw would hang when
+                            using wide-listing mode - fixed
+                          * g:netrw_fastbrowse introduced
+       v78:               * progress has been made on allowing spaces inside
+                            directory names for remote work (reading, writing,
+                            browsing).  (scp)
+       v77:               * Mikolaj Machowski fixed a bug in a substitute cmd
+                          * g:netrw_browsex_viewer implemented
+                          * Mikolaj Machowski pointed out that gnome-open is
+                            often executable under KDE systems, although it is
+                            effectively not functional.  NetBrowseX now looks
+                            for "kicker" as a running process to determine if
+                            KDE is actually running.
+                          * Explorer's O functionality was inadvertently left
+                            out.  Netrw now does the same thing, but with the
+                            "P" key.
+                          * added g:netrw_browse_split option
+                          * fixed a bug where the directory contained a "." but
+                            the file didn't (was treating the dirname from "."
+                            onwards as a suffix)
+       v76:               * "directory is missing" error message now restores
+                             echo highlighting
+       v75:               * file://... now conforms to RFC2396 (thanks to
+                            S. Zacchiroli)
+                          * if the binary option is set, then NetWrite() will
+                            only write the whole file (line numbers don't make
+                            sense with this).  Supports writing of tar and zip
+                            files.
+       v74:               * bugfix (vim, then :Explore) now works
+                          * ctrl-L keeps cursor at same screen location (both
+                            local and remote browsing)
+                          * netrw now can read remote zip and tar files
+                          * Obtain now uses WinXP ftp+.netrc successfully
+       v73:               * bugfix -- scp://host/path/file was getting named
+                            incorrectly
+                          * netrw detects use of earlier-than-7.0 version of
+                            vim and issues a pertinent error message.
+                          * netrwSettings.vim is now uses autoloading.  Only
+                            <netrwPlugin.vim> is needed as a pure plugin
+                            (ie. always loaded).
+       v72:               * bugfix -- formerly, one could prevent the loading
+                            of netrw by "let g:loaded_netrw=1"; when
+                            autoloading became supported, this feature was
+                            lost.  It is now restored.
+       v71:               * bugfix -- made some "set nomodifiable"s into
+                            setlocal variants (allows :e somenewfile  to be
+                            modifiable as usual)
+                          * NetrwSettings calls a netrw function, thereby
+                            assuring that netrw has loaded.  However, if netrw
+                            does not load for whatever reason, then
+                            NetrwSettings will now issue a warning message.
+                          * For what reason I don't recall, when wget and fetch
+                            are both not present, and an attempt to read a
+                            http://... url is made, netrw exited.  It now only
+                            returns.
+                          * When ch=1, on the second and subsequent uses of
+                            browsing Netrw would issue a blank line to clear
+                            the echo'd messages.  This caused an annoying
+                            "Hit-Enter" prompt; now a blank line message
+                            is echo'd only if &ch>1.
+       v70:               * when using |netrw-O|, the "Obtaining filename"
+                            message is now shown using |hl-User9|.  If User9
+                            has not been defined, netrw itself will define it.
+       v69:               * Bugfix: win95/98 machines were experiencing a
+                            "E121: Undefined variable: g:netrw_win95ftp"
+                            message
+       v68:               * double-click-leftmouse selects word under mouse
+       v67:               * Passwords which contain blanks will now be
+                            surrounded by double-quotes automatically (Yongwei)
+       v66:               * Netrw now seems to work with a few more Windows
+                            situations
+                          * O now obtains a file: remote browsing
+                            file -> local copy, locally browsing
+                            file -> current directory (see :pwd)
+                          * i now cycles between thin, long, and wide listing
+                            styles
+                          * NB and Nb are maps that are always available;
+                            corresponding B and b maps are only available when
+                            not using wide listing in order to allow them to
+                            be used for motions
+       v65:               * Browser functions now use NetOptionSave/Restore; in
+                            particular, netrw now works around the report
+                            setting
+       v64:               * Bugfix - browsing a "/" directory (Unix) yielded
+                            buffers named "[Scratch]" instead of "/"
+                          * Bugfix - remote browsing with ftp was omitting
+                            the ./ and ../
+       v63:               * netrw now takes advantage of autoload (needs 7.0)
+                          * Bugfix - using r (to reverse sort) working again
+       v62:               * Bugfix - spaces allowed again in directory names
+                            with g:netrw_keepdir=0.  In fact, I've tested netrw
+                            with most ANSI punctuation marks for directory
+                            names.
+                          * Bugfix - NetrwSettings gave errors when
+                            g:netrw_silent had not be set.
+       v61:               * Document upgrade -- netrw variable-based settings
+                            all should have tags.  Supports NetrwSettings cmd.
+                          * Several important variables are window-oriented.
+                            Netrw has to transfer these across a window split.
+                            See s:BufWinVars() and s:UseBufWinVars().
+       v60:               * When using the i map to switch between long and
+                            short listings, netrw will now keep cursor on same
+                            line
+                          * "Match # of #" now uses status line
+                          * :Explore **/*.c  will now work from a
+                            non-netrw-browser window
+                          * :Explore **/patterns can now be run in separate
+                            browser windows
+                          * active banner (hit <cr> will cause various things
+                            to happen)
+       v59:               * bugfix -- another keepalt work-around installed
+                            (for vim6.3)
+                          * "Match # of #" for Explore **/pattern matches
+       v58:               * Explore and relatives can now handle
+                            **/somefilepattern (v7)
+                          * Nexplore and Pexplore introduced (v7).  shift-down
+                            and shift-up cursor keys will invoke Nexplore and
+                            Pexplore, respectively.
+                          * bug fixed with o and v
+                          * autochdir only worked around for vim when it has
+                            been compiled with either
+                            |+netbeans_intg| or |+sun_workshop|
+                          * Under Windows, all directories and files were
+                            being preceded with a "/" when local browsing.
+                            Fixed.
+                          * When: syntax highlighting is off, laststatus=2, and
+                            remote browsing is used, sometimes the laststatus
+                            highlighting bleeds into the entire display.  Work
+                            around - do an extra redraw in that case.
+                          * Bugfix: when g:netrw_keepdir=0, due to re-use of
+                            buffers, netrw didn't change the directory when it
+                            should've
+                          * Bugfix: D and R commands work again
+       v57:               * Explore and relatives can now handle RO files
+                          * reverse sort restored with vim7's sort command
+                          * g:netrw_keepdir now being used to keep the current
+                            directory unchanged as intended (sense change)
+                          * vim 6.3 still supported
+       v56:               * LocalBrowse now saves autochdir setting, unsets it,
+                            and restores it before returning.
+                          * using vim's rename() instead of system +
+                            local_rename variable
+                          * avoids changing directory when g:netrw_keepdir is
+                            false
+       v55:               * -bar used with :Explore :Sexplore etc to allow
+                            multiple commands to be separated by |s
+                          * browser listings now use the "nowrap" option
+                          * browser: some unuseful error messages now
+                            suppressed
+       v54:               * For backwards compatibility, Explore and Sexplore
+                            have been implemented.  In addition, Hexplore and
+                            Vexplore commands are available, too.
+                          * <amatch> used instead of <afile> in the
+                            transparency support (BufReadCmd, FileReadCmd,
+                            FileWriteCmd)
+                          * ***netrw*** prepended to various error messages
+                            netrw may emit
+                          * g:netrw_port used instead of b:netrw_port for scp
+                          * any leading [:#] is removed from port numbers
+       v53:               * backslashes as well as slashes placed in various
+                            patterns (ex. g:netrw_sort_sequence) to better
+                            support Windows
+       v52:               * nonumber'ing now set for browsing buffers
+                          * when the hiding list hid all files, error messages
+                            ensued. Fixed
+                          * when browsing, swf is set, but directory is not
+                            set, when netrw was attempting to restore options,
+                            vim wanted to save a swapfile to a local directory
+                            using an url-style path.  Fixed
+       v51:               * cygwin detection now automated
+                            (using windows and &shell is bash)
+                          * customizable browser "file" rejection patterns
+                          * directory history
+                          * :[range]w url  now supported (ie. netrw uses a
+                            FileWriteCmd event)
+                          * error messages have a "Press <cr> to continue" to
+                            allow them to be seen
+                          * directory browser displays no longer bother the
+                            swapfile
+                          * u/U commands to go up and down the history stack
+                          * history stack may be saved with viminfo with it's
+                            "!" option
+                          * bugfixes associated with unwanted [No Files]
+                            entries
+       v50:               * directories now displayed using buftype=nofile;
+                            should keep the directory names as-is
+                          * attempts to remove empty "[No File]" buffers
+                            leftover from :file ..name.. commands
+                          * bugfix: a "caps-lock" editing difficulty left in
+                            v49 was fixed
+                          * syntax highlighting for "Showing:" the hiding list
+                            included
+                          * bookmarks can now be retained if "!" is in the
+                            viminfo option
+       v49:               * will use ftp for http://.../ browsing
+       v48:               * One may use ftp to do remote host file browsing
+                          * (windows and !cygwin) remote browsing with ftp can
+                            now use the "dir" command internally to provide
+                            listings
+                          * g:netrw_keepdir now allows one to keep the initial
+                            current directory as the current directory
+                            (normally the local file browser makes the
+                            currently viewed directory the current directory)
+                          * g:netrw_alto and g:netrw_altv now support
+                            alternate placement of windows started with o or v
+                          * Nread ? and Nwrite ?  now uses echomsg (instead of
+                            echo) so :messages can repeat showing the help
+                          * bugfix: avoids problems with partial matches of
+                            directory names to prior buffers with longer names
+                          * one can suppress error messages with g:netrw_quiet
+                            ctrl-h used
+                          * instead of <Leader>h for editing hiding list one
+                            may edit the sorting sequence with the S map, which
+                            now allows confirmation of deletion with
+                            [y(es) n(o) a(ll) q(uit)]
+                          * the "x" map now handles special file viewing with:
+                            (windows) rundll32 url.dll (gnome) gnome-open (kde)
+                            kfmclient If none of these are on the executable
+                            path, then netrwFileHandlers.vim is used.
+                          * directory bookmarking during both local and remote
+                            browsing implemented
+                          * one may view all, use the hiding list to suppress,
+                            or use the hiding list to show-only remote and
+                            local file/directory listings
+                          * improved unusual file and directory name handling
+                            preview window support
+       v47:               * now handles local browsing.
+       v46:               * now handles remote browsing
+                          * g:netrw_silent (if 1) will cause all transfers to
+                            be silent
+       v45:               * made the [user@]hostname:path form a bit more
+                            restrictive to better handle errors in using
+                            protocols (e.g. scp:usr@host:file was being
+                            recognized as an rcp request)
+       v44:               * changed from "rsync -a" to just "rsync"
+                          * somehow an editing error messed up the test to
+                            recognize use of the fetch method for NetRead.
+                          * more debugging statements included
+       v43:               * moved "Explanation" comments to <pi_netrw.txt> help
+                            file as "Network Reference" (|netrw-ref|)
+                          * <netrw.vim> now uses Dfunc() Decho() and Dret() for
+                            debugging
+                          * removed superfluous NetRestorePosn() calls
+       v42:               * now does BufReadPre and BufReadPost events on
+                            file:///* and file://localhost/*
+       v41:               * installed file:///* and file://localhost/* handling
+       v40:               * prevents redraw when a protocol error occurs so
+                            that the user may see it
+       v39:               * sftp support
+       v38:               * Now uses NetRestorePosn() calls with Nread/Nwrite
+                            commands
+                          * Temporary files now removed via bwipe! instead of
+                            bwipe (thanks to Dave Roberts)
+       v37:               * Claar's modifications which test if ftp is
+                            successful, otherwise give an error message
+                          * After a read, the alternate file was pointing to
+                            the temp file.  The temp file buffer is now wiped
+                            out.
+                          * removed silent from transfer methods so user can
+                            see what's happening
 
 
 ==============================================================================
@@ -2157,4 +3054,5 @@ which is loaded automatically at startup (assuming :set nocp).
                                   operation
 
 ==============================================================================
+Modelines: {{{1
  vim:tw=78:ts=8:ft=help:norl:fdm=marker
index 53239f742e6b7075a7fcce445c3fb7a14a0995eb..810532797dca32c1e79d3aa9d8978a4199a30277 100644 (file)
@@ -1,4 +1,4 @@
-*pi_paren.txt*  For Vim version 7.1.  Last change: 2006 Jun 14
+*pi_paren.txt*  For Vim version 7.2a.  Last change: 2008 Jun 16
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -15,6 +15,7 @@ You can avoid loading this plugin by setting the "loaded_matchparen" variable: >
 The plugin installs CursorMoved, CursorMovedI and WinEnter autocommands to
 redefine the match highlighting.
 
+                                       *:NoMatchParen* *:DoMatchParen*
 To disable the plugin after it was loaded use this command: >
 
        :NoMatchParen
@@ -46,5 +47,11 @@ are:
 - 'synmaxcol' times 2 bytes before or after the cursor to avoid a delay
   in a long line with syntax highlighting.
 
+
+If you would like the |%| command to work better, the matchit plugin can be
+used, see |matchit-install|.  This plugin also helps to skip matches in
+comments.  This is unrelated to the matchparen highlighting, they use a
+different mechanism.
+
 ==============================================================================
  vim:tw=78:ts=8:ft=help:norl:
index 2c5f13b64b0ab3244b8a3501da7e4905a8fbd80e..07b2126164461650ecb1a1445c1b392f875baf79 100644 (file)
@@ -1,4 +1,4 @@
-*quotes.txt*    For Vim version 7.1.  Last change: 2006 Apr 24
+*quotes.txt*    For Vim version 7.2a.  Last change: 2006 Apr 24
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
index 063a0d556033a9d33ed3e8afd550f5f562574caf..578c8011d6728079c26b44c7472c02513317c1b0 100644 (file)
@@ -1,4 +1,4 @@
-*recover.txt*   For Vim version 7.1.  Last change: 2006 Apr 24
+*recover.txt*   For Vim version 7.2a.  Last change: 2006 Apr 24
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
index efe80c13edaad15666cc8285a30e000cefe8ec98..d270740e224504e2df52bd713e941cfad8ca9ce4 100644 (file)
@@ -1,4 +1,4 @@
-*rileft.txt*    For Vim version 7.1.  Last change: 2006 Apr 24
+*rileft.txt*    For Vim version 7.2a.  Last change: 2006 Apr 24
 
 
                  VIM REFERENCE MANUAL    by Avner Lottem
index 6887bc656ecc2ec97f614d6958f72ea168df5a71..dabca4289fd88727b9a97f9ee4ff31697a7c9864 100644 (file)
@@ -1,4 +1,4 @@
-*russian.txt*   For Vim version 7.1.  Last change: 2006 Apr 24
+*russian.txt*   For Vim version 7.2a.  Last change: 2006 Apr 24
 
 
                  VIM REFERENCE MANUAL    by Vassily Ragosin
index b926136a29e76041114db76fbb2845e61c282b0c..5434279ec8f25d0d1c4b78510e3baf91aa3ec982 100644 (file)
@@ -1,4 +1,4 @@
-*sign.txt*      For Vim version 7.1.  Last change: 2006 Apr 24
+*sign.txt*      For Vim version 7.2a.  Last change: 2006 Apr 24
 
 
                  VIM REFERENCE MANUAL    by Gordon Prieur
index 7393006605d4db2f6575eeeb2242ba74cc38e02c..4f94fe53e98cd343c09a0572f41160d76b37f577 100644 (file)
@@ -702,8 +702,10 @@ $VIMRUNTIME        starting.txt    /*$VIMRUNTIME*
 'qe'   options.txt     /*'qe'*
 'quote motion.txt      /*'quote*
 'quoteescape'  options.txt     /*'quoteescape'*
+'rdt'  options.txt     /*'rdt'*
 'readonly'     options.txt     /*'readonly'*
 'redraw'       vi_diff.txt     /*'redraw'*
+'redrawtime'   options.txt     /*'redrawtime'*
 'remap'        options.txt     /*'remap'*
 'report'       options.txt     /*'report'*
 'restorescreen'        options.txt     /*'restorescreen'*
@@ -1114,6 +1116,7 @@ $VIMRUNTIME       starting.txt    /*$VIMRUNTIME*
 +feature-list  various.txt     /*+feature-list*
 +file_in_path  various.txt     /*+file_in_path*
 +find_in_path  various.txt     /*+find_in_path*
++float various.txt     /*+float*
 +folding       various.txt     /*+folding*
 +footer        various.txt     /*+footer*
 +fork  various.txt     /*+fork*
@@ -1138,6 +1141,7 @@ $VIMRUNTIME       starting.txt    /*$VIMRUNTIME*
 +mouse_gpm     various.txt     /*+mouse_gpm*
 +mouse_netterm various.txt     /*+mouse_netterm*
 +mouse_pterm   various.txt     /*+mouse_pterm*
++mouse_sysmouse        various.txt     /*+mouse_sysmouse*
 +mouse_xterm   various.txt     /*+mouse_xterm*
 +mouseshape    various.txt     /*+mouseshape*
 +multi_byte    various.txt     /*+multi_byte*
@@ -1227,6 +1231,7 @@ $VIMRUNTIME       starting.txt    /*$VIMRUNTIME*
 --servername   remote.txt      /*--servername*
 --socketid     starting.txt    /*--socketid*
 --version      starting.txt    /*--version*
+--windowid     starting.txt    /*--windowid*
 -A     starting.txt    /*-A*
 -C     starting.txt    /*-C*
 -D     starting.txt    /*-D*
@@ -1317,6 +1322,7 @@ $VIMRUNTIME       starting.txt    /*$VIMRUNTIME*
 /      pattern.txt     /*\/*
 /$     pattern.txt     /*\/$*
 /.     pattern.txt     /*\/.*
+//     version7.txt    /*\/\/*
 //;    pattern.txt     /*\/\/;*
 /<CR>  pattern.txt     /*\/<CR>*
 /[[.   pattern.txt     /*\/[[.*
@@ -1734,29 +1740,33 @@ $VIMRUNTIME     starting.txt    /*$VIMRUNTIME*
 :@     repeat.txt      /*:@*
 :@:    repeat.txt      /*:@:*
 :@@    repeat.txt      /*:@@*
-:AdaLines      ada.txt /*:AdaLines*
-:AdaRainbow    ada.txt /*:AdaRainbow*
-:AdaSpaces     ada.txt /*:AdaSpaces*
-:AdaTagDir     ada.txt /*:AdaTagDir*
-:AdaTagFile    ada.txt /*:AdaTagFile*
-:AdaTypes      ada.txt /*:AdaTypes*
+:AdaLines      ft_ada.txt      /*:AdaLines*
+:AdaRainbow    ft_ada.txt      /*:AdaRainbow*
+:AdaSpaces     ft_ada.txt      /*:AdaSpaces*
+:AdaTagDir     ft_ada.txt      /*:AdaTagDir*
+:AdaTagFile    ft_ada.txt      /*:AdaTagFile*
+:AdaTypes      ft_ada.txt      /*:AdaTypes*
 :CompilerSet   usr_41.txt      /*:CompilerSet*
 :DiffOrig      diff.txt        /*:DiffOrig*
+:DoMatchParen  pi_paren.txt    /*:DoMatchParen*
 :Explore       pi_netrw.txt    /*:Explore*
 :GLVS  pi_getscript.txt        /*:GLVS*
 :GetLatestVimScripts_dat       pi_getscript.txt        /*:GetLatestVimScripts_dat*
-:GnatFind      ada.txt /*:GnatFind*
-:GnatPretty    ada.txt /*:GnatPretty*
-:GnatTags      ada.txt /*:GnatTags*
+:GnatFind      ft_ada.txt      /*:GnatFind*
+:GnatPretty    ft_ada.txt      /*:GnatPretty*
+:GnatTags      ft_ada.txt      /*:GnatTags*
 :Hexplore      pi_netrw.txt    /*:Hexplore*
 :Man   filetype.txt    /*:Man*
 :MkVimball     pi_vimball.txt  /*:MkVimball*
 :N     editing.txt     /*:N*
+:NetrwClean    pi_netrw.txt    /*:NetrwClean*
 :Nexplore      pi_netrw.txt    /*:Nexplore*
 :Next  editing.txt     /*:Next*
+:NoMatchParen  pi_paren.txt    /*:NoMatchParen*
 :P     various.txt     /*:P*
 :Pexplore      pi_netrw.txt    /*:Pexplore*
 :Print various.txt     /*:Print*
+:Rexplore      pi_netrw.txt    /*:Rexplore*
 :RmVimball     pi_vimball.txt  /*:RmVimball*
 :Sexplore      pi_netrw.txt    /*:Sexplore*
 :TOhtml        syntax.txt      /*:TOhtml*
@@ -2153,6 +2163,7 @@ $VIMRUNTIME       starting.txt    /*$VIMRUNTIME*
 :highlight-link        syntax.txt      /*:highlight-link*
 :highlight-normal      syntax.txt      /*:highlight-normal*
 :highlight-verbose     syntax.txt      /*:highlight-verbose*
+:his   cmdline.txt     /*:his*
 :history       cmdline.txt     /*:history*
 :history-indexing      cmdline.txt     /*:history-indexing*
 :i     insert.txt      /*:i*
@@ -4079,8 +4090,18 @@ E794     eval.txt        /*E794*
 E795   eval.txt        /*E795*
 E796   editing.txt     /*E796*
 E797   spell.txt       /*E797*
+E798   eval.txt        /*E798*
+E799   eval.txt        /*E799*
 E80    message.txt     /*E80*
 E800   arabic.txt      /*E800*
+E801   eval.txt        /*E801*
+E802   eval.txt        /*E802*
+E803   eval.txt        /*E803*
+E804   eval.txt        /*E804*
+E805   eval.txt        /*E805*
+E806   eval.txt        /*E806*
+E807   eval.txt        /*E807*
+E808   eval.txt        /*E808*
 E81    map.txt /*E81*
 E82    message.txt     /*E82*
 E83    message.txt     /*E83*
@@ -4129,6 +4150,7 @@ FilterReadPost    autocmd.txt     /*FilterReadPost*
 FilterReadPre  autocmd.txt     /*FilterReadPre*
 FilterWritePost        autocmd.txt     /*FilterWritePost*
 FilterWritePre autocmd.txt     /*FilterWritePre*
+Float  eval.txt        /*Float*
 FocusGained    autocmd.txt     /*FocusGained*
 FocusLost      autocmd.txt     /*FocusLost*
 Folding        fold.txt        /*Folding*
@@ -4161,6 +4183,7 @@ Japanese  mbyte.txt       /*Japanese*
 K      various.txt     /*K*
 KDE    gui_x11.txt     /*KDE*
 KVim   gui_x11.txt     /*KVim*
+Kibaale        uganda.txt      /*Kibaale*
 Korean mbyte.txt       /*Korean*
 L      motion.txt      /*L*
 Linux-backspace        options.txt     /*Linux-backspace*
@@ -4195,6 +4218,7 @@ Normal    intro.txt       /*Normal*
 Normal-mode    intro.txt       /*Normal-mode*
 Nread  pi_netrw.txt    /*Nread*
 Nsource        pi_netrw.txt    /*Nsource*
+Number eval.txt        /*Number*
 Nvi    intro.txt       /*Nvi*
 Nwrite pi_netrw.txt    /*Nwrite*
 O      insert.txt      /*O*
@@ -4266,6 +4290,7 @@ Q_vm      quickref.txt    /*Q_vm*
 Q_wi   quickref.txt    /*Q_wi*
 Q_wq   quickref.txt    /*Q_wq*
 QuickFixCmdPost        autocmd.txt     /*QuickFixCmdPost*
+QuickFixCmdPost-example        quickfix.txt    /*QuickFixCmdPost-example*
 QuickFixCmdPre autocmd.txt     /*QuickFixCmdPre*
 Quickfix       quickfix.txt    /*Quickfix*
 R      change.txt      /*R*
@@ -4279,7 +4304,7 @@ Ruby      if_ruby.txt     /*Ruby*
 Russian        russian.txt     /*Russian*
 S      change.txt      /*S*
 SHELL  starting.txt    /*SHELL*
-SQLSetType     sql.txt /*SQLSetType*
+SQLSetType     ft_sql.txt      /*SQLSetType*
 Select visual.txt      /*Select*
 Select-mode    visual.txt      /*Select-mode*
 Select-mode-mapping    visual.txt      /*Select-mode-mapping*
@@ -4298,7 +4323,7 @@ Syntax    autocmd.txt     /*Syntax*
 T      motion.txt      /*T*
 TCL    if_tcl.txt      /*TCL*
 TERM   starting.txt    /*TERM*
-TSQL   sql.txt /*TSQL*
+TSQL   ft_sql.txt      /*TSQL*
 TTpro-telnet   syntax.txt      /*TTpro-telnet*
 Tab    intro.txt       /*Tab*
 TabEnter       autocmd.txt     /*TabEnter*
@@ -4306,7 +4331,7 @@ TabLeave  autocmd.txt     /*TabLeave*
 Tcl    if_tcl.txt      /*Tcl*
 TermChanged    autocmd.txt     /*TermChanged*
 TermResponse   autocmd.txt     /*TermResponse*
-Transact-SQL   sql.txt /*Transact-SQL*
+Transact-SQL   ft_sql.txt      /*Transact-SQL*
 U      undo.txt        /*U*
 UTF-8  mbyte.txt       /*UTF-8*
 UTF8-xterm     mbyte.txt       /*UTF8-xterm*
@@ -4484,18 +4509,18 @@ ab      motion.txt      /*ab*
 abandon        editing.txt     /*abandon*
 abbreviations  map.txt /*abbreviations*
 abel.vim       syntax.txt      /*abel.vim*
+abs()  eval.txt        /*abs()*
 active-buffer  windows.txt     /*active-buffer*
-ada#Create_Tags()      ada.txt /*ada#Create_Tags()*
-ada#Jump_Tag() ada.txt /*ada#Jump_Tag()*
-ada#Listtags() ada.txt /*ada#Listtags()*
-ada#Switch_Syntax_Option()     ada.txt /*ada#Switch_Syntax_Option()*
-ada#Word()     ada.txt /*ada#Word()*
-ada-compiler   ada.txt /*ada-compiler*
-ada-ctags      ada.txt /*ada-ctags*
-ada-extra-plugins      ada.txt /*ada-extra-plugins*
-ada-reference  ada.txt /*ada-reference*
-ada.txt        ada.txt /*ada.txt*
-ada.vim        ada.txt /*ada.vim*
+ada#Create_Tags()      ft_ada.txt      /*ada#Create_Tags()*
+ada#Jump_Tag() ft_ada.txt      /*ada#Jump_Tag()*
+ada#Listtags() ft_ada.txt      /*ada#Listtags()*
+ada#Switch_Syntax_Option()     ft_ada.txt      /*ada#Switch_Syntax_Option()*
+ada#Word()     ft_ada.txt      /*ada#Word()*
+ada-compiler   ft_ada.txt      /*ada-compiler*
+ada-ctags      ft_ada.txt      /*ada-ctags*
+ada-extra-plugins      ft_ada.txt      /*ada-extra-plugins*
+ada-reference  ft_ada.txt      /*ada-reference*
+ada.vim        ft_ada.txt      /*ada.vim*
 add()  eval.txt        /*add()*
 add-filetype-plugin    usr_05.txt      /*add-filetype-plugin*
 add-global-plugin      usr_05.txt      /*add-global-plugin*
@@ -4515,6 +4540,7 @@ added-6.2 version6.txt    /*added-6.2*
 added-6.3      version6.txt    /*added-6.3*
 added-6.4      version6.txt    /*added-6.4*
 added-7.1      version7.txt    /*added-7.1*
+added-7.2      version7.txt    /*added-7.2*
 added-BeOS     version5.txt    /*added-BeOS*
 added-Mac      version5.txt    /*added-Mac*
 added-VMS      version5.txt    /*added-VMS*
@@ -4551,6 +4577,7 @@ asm.vim   syntax.txt      /*asm.vim*
 asm68k syntax.txt      /*asm68k*
 asmh8300.vim   syntax.txt      /*asmh8300.vim*
 at     motion.txt      /*at*
+atan() eval.txt        /*atan()*
 athena-intellimouse    gui.txt /*athena-intellimouse*
 attr-list      syntax.txt      /*attr-list*
 author intro.txt       /*author*
@@ -4742,6 +4769,7 @@ catch-interrupt   eval.txt        /*catch-interrupt*
 catch-order    eval.txt        /*catch-order*
 catch-text     eval.txt        /*catch-text*
 cc     change.txt      /*cc*
+ceil() eval.txt        /*ceil()*
 ch.vim syntax.txt      /*ch.vim*
 change-list-jumps      motion.txt      /*change-list-jumps*
 change-tabs    change.txt      /*change-tabs*
@@ -4759,6 +4787,7 @@ changed-6.2       version6.txt    /*changed-6.2*
 changed-6.3    version6.txt    /*changed-6.3*
 changed-6.4    version6.txt    /*changed-6.4*
 changed-7.1    version7.txt    /*changed-7.1*
+changed-7.2    version7.txt    /*changed-7.2*
 changelist     motion.txt      /*changelist*
 changelog.vim  syntax.txt      /*changelog.vim*
 changenr()     eval.txt        /*changenr()*
@@ -4771,12 +4800,14 @@ characterwise-register  change.txt      /*characterwise-register*
 characterwise-visual   visual.txt      /*characterwise-visual*
 charconvert_from-variable      eval.txt        /*charconvert_from-variable*
 charconvert_to-variable        eval.txt        /*charconvert_to-variable*
+charity        uganda.txt      /*charity*
 charset        mbyte.txt       /*charset*
 charset-conversion     mbyte.txt       /*charset-conversion*
 chill.vim      syntax.txt      /*chill.vim*
 cindent()      eval.txt        /*cindent()*
 cinkeys-format indent.txt      /*cinkeys-format*
 cinoptions-values      indent.txt      /*cinoptions-values*
+clearmatches() eval.txt        /*clearmatches()*
 client-server  remote.txt      /*client-server*
 clientserver   remote.txt      /*clientserver*
 clipboard      gui.txt /*clipboard*
@@ -4809,16 +4840,17 @@ compatible-default      starting.txt    /*compatible-default*
 compile-changes-5      version5.txt    /*compile-changes-5*
 compile-changes-6      version6.txt    /*compile-changes-6*
 compile-changes-7      version7.txt    /*compile-changes-7*
-compiler-compaqada     ada.txt /*compiler-compaqada*
-compiler-decada        ada.txt /*compiler-decada*
+compiler-compaqada     ft_ada.txt      /*compiler-compaqada*
+compiler-decada        ft_ada.txt      /*compiler-decada*
 compiler-gcc   quickfix.txt    /*compiler-gcc*
-compiler-gnat  ada.txt /*compiler-gnat*
-compiler-hpada ada.txt /*compiler-hpada*
+compiler-gnat  ft_ada.txt      /*compiler-gnat*
+compiler-hpada ft_ada.txt      /*compiler-hpada*
 compiler-manx  quickfix.txt    /*compiler-manx*
+compiler-perl  quickfix.txt    /*compiler-perl*
 compiler-pyunit        quickfix.txt    /*compiler-pyunit*
 compiler-select        quickfix.txt    /*compiler-select*
 compiler-tex   quickfix.txt    /*compiler-tex*
-compiler-vaxada        ada.txt /*compiler-vaxada*
+compiler-vaxada        ft_ada.txt      /*compiler-vaxada*
 compl-current  insert.txt      /*compl-current*
 compl-define   insert.txt      /*compl-define*
 compl-dictionary       insert.txt      /*compl-dictionary*
@@ -4855,6 +4887,7 @@ copy-diffs        diff.txt        /*copy-diffs*
 copy-move      change.txt      /*copy-move*
 copying        uganda.txt      /*copying*
 copyright      uganda.txt      /*copyright*
+cos()  eval.txt        /*cos()*
 count  intro.txt       /*count*
 count()        eval.txt        /*count()*
 count-bytes    tips.txt        /*count-bytes*
@@ -4983,6 +5016,7 @@ dab       motion.txt      /*dab*
 dap    motion.txt      /*dap*
 das    motion.txt      /*das*
 dav    pi_netrw.txt    /*dav*
+davs   pi_netrw.txt    /*davs*
 daw    motion.txt      /*daw*
 dd     change.txt      /*dd*
 debug-gcc      debug.txt       /*debug-gcc*
@@ -5002,7 +5036,7 @@ debugger-integration      debugger.txt    /*debugger-integration*
 debugger-support       debugger.txt    /*debugger-support*
 debugger.txt   debugger.txt    /*debugger.txt*
 dec-mouse      options.txt     /*dec-mouse*
-decada_members ada.txt /*decada_members*
+decada_members ft_ada.txt      /*decada_members*
 deepcopy()     eval.txt        /*deepcopy()*
 definition-search      tagsrch.txt     /*definition-search*
 definitions    intro.txt       /*definitions*
@@ -5132,6 +5166,7 @@ errorformat-javac quickfix.txt    /*errorformat-javac*
 errorformat-multi-line quickfix.txt    /*errorformat-multi-line*
 errorformat-separate-filename  quickfix.txt    /*errorformat-separate-filename*
 errorformats   quickfix.txt    /*errorformats*
+errors message.txt     /*errors*
 escape intro.txt       /*escape*
 escape()       eval.txt        /*escape()*
 escape-bar     version4.txt    /*escape-bar*
@@ -5292,11 +5327,17 @@ fixed-6.2       version6.txt    /*fixed-6.2*
 fixed-6.3      version6.txt    /*fixed-6.3*
 fixed-6.4      version6.txt    /*fixed-6.4*
 fixed-7.1      version7.txt    /*fixed-7.1*
+fixed-7.2      version7.txt    /*fixed-7.2*
 flexwiki.vim   syntax.txt      /*flexwiki.vim*
+float2nr()     eval.txt        /*float2nr()*
+floating-point-format  eval.txt        /*floating-point-format*
+floating-point-precision       eval.txt        /*floating-point-precision*
+floor()        eval.txt        /*floor()*
 fname_diff-variable    eval.txt        /*fname_diff-variable*
 fname_in-variable      eval.txt        /*fname_in-variable*
 fname_new-variable     eval.txt        /*fname_new-variable*
 fname_out-variable     eval.txt        /*fname_out-variable*
+fnameescape()  eval.txt        /*fnameescape()*
 fnamemodify()  eval.txt        /*fnamemodify()*
 fo-table       change.txt      /*fo-table*
 fold-behavior  fold.txt        /*fold-behavior*
@@ -5336,18 +5377,17 @@ format-comments change.txt      /*format-comments*
 formatting     change.txt      /*formatting*
 formfeed       intro.txt       /*formfeed*
 fortran.vim    syntax.txt      /*fortran.vim*
-french-maillist        intro.txt       /*french-maillist*
 frombook       usr_01.txt      /*frombook*
 ft-abel-syntax syntax.txt      /*ft-abel-syntax*
-ft-ada-commands        ada.txt /*ft-ada-commands*
-ft-ada-constants       ada.txt /*ft-ada-constants*
-ft-ada-functions       ada.txt /*ft-ada-functions*
-ft-ada-indent  ada.txt /*ft-ada-indent*
-ft-ada-omni    ada.txt /*ft-ada-omni*
-ft-ada-options ada.txt /*ft-ada-options*
-ft-ada-plugin  ada.txt /*ft-ada-plugin*
-ft-ada-syntax  ada.txt /*ft-ada-syntax*
-ft-ada-variables       ada.txt /*ft-ada-variables*
+ft-ada-commands        ft_ada.txt      /*ft-ada-commands*
+ft-ada-constants       ft_ada.txt      /*ft-ada-constants*
+ft-ada-functions       ft_ada.txt      /*ft-ada-functions*
+ft-ada-indent  ft_ada.txt      /*ft-ada-indent*
+ft-ada-omni    ft_ada.txt      /*ft-ada-omni*
+ft-ada-options ft_ada.txt      /*ft-ada-options*
+ft-ada-plugin  ft_ada.txt      /*ft-ada-plugin*
+ft-ada-syntax  ft_ada.txt      /*ft-ada-syntax*
+ft-ada-variables       ft_ada.txt      /*ft-ada-variables*
 ft-ant-syntax  syntax.txt      /*ft-ant-syntax*
 ft-apache-syntax       syntax.txt      /*ft-apache-syntax*
 ft-asm-syntax  syntax.txt      /*ft-asm-syntax*
@@ -5384,6 +5424,7 @@ ft-fortran-indent indent.txt      /*ft-fortran-indent*
 ft-fortran-plugin      filetype.txt    /*ft-fortran-plugin*
 ft-fortran-syntax      syntax.txt      /*ft-fortran-syntax*
 ft-fvwm-syntax syntax.txt      /*ft-fvwm-syntax*
+ft-gitcommit-plugin    filetype.txt    /*ft-gitcommit-plugin*
 ft-groff-syntax        syntax.txt      /*ft-groff-syntax*
 ft-gsp-syntax  syntax.txt      /*ft-gsp-syntax*
 ft-haskell-syntax      syntax.txt      /*ft-haskell-syntax*
@@ -5417,6 +5458,7 @@ ft-nroff-syntax   syntax.txt      /*ft-nroff-syntax*
 ft-ocaml-syntax        syntax.txt      /*ft-ocaml-syntax*
 ft-papp-syntax syntax.txt      /*ft-papp-syntax*
 ft-pascal-syntax       syntax.txt      /*ft-pascal-syntax*
+ft-pdf-plugin  filetype.txt    /*ft-pdf-plugin*
 ft-perl-syntax syntax.txt      /*ft-perl-syntax*
 ft-php-omni    insert.txt      /*ft-php-omni*
 ft-php-syntax  syntax.txt      /*ft-php-syntax*
@@ -5456,6 +5498,7 @@ ft-tex-syntax     syntax.txt      /*ft-tex-syntax*
 ft-tf-syntax   syntax.txt      /*ft-tf-syntax*
 ft-vb-syntax   syntax.txt      /*ft-vb-syntax*
 ft-verilog-indent      indent.txt      /*ft-verilog-indent*
+ft-vhdl-indent indent.txt      /*ft-vhdl-indent*
 ft-vim-indent  indent.txt      /*ft-vim-indent*
 ft-vim-syntax  syntax.txt      /*ft-vim-syntax*
 ft-xf86conf-syntax     syntax.txt      /*ft-xf86conf-syntax*
@@ -5463,6 +5506,8 @@ ft-xhtml-omni     insert.txt      /*ft-xhtml-omni*
 ft-xml-omni    insert.txt      /*ft-xml-omni*
 ft-xml-syntax  syntax.txt      /*ft-xml-syntax*
 ft-xpm-syntax  syntax.txt      /*ft-xpm-syntax*
+ft_ada.txt     ft_ada.txt      /*ft_ada.txt*
+ft_sql.txt     ft_sql.txt      /*ft_sql.txt*
 ftdetect       filetype.txt    /*ftdetect*
 ftp    pi_netrw.txt    /*ftp*
 ftplugin       usr_41.txt      /*ftplugin*
@@ -5476,6 +5521,7 @@ function-argument eval.txt        /*function-argument*
 function-key   intro.txt       /*function-key*
 function-list  usr_41.txt      /*function-list*
 function-range-example eval.txt        /*function-range-example*
+function-search-undo   eval.txt        /*function-search-undo*
 function_key   intro.txt       /*function_key*
 functions      eval.txt        /*functions*
 fvwm.vim       syntax.txt      /*fvwm.vim*
@@ -5493,54 +5539,59 @@ g-      undo.txt        /*g-*
 g0     motion.txt      /*g0*
 g8     various.txt     /*g8*
 g:NetrwTopLvlMenu      pi_netrw.txt    /*g:NetrwTopLvlMenu*
-g:ada#Comment  ada.txt /*g:ada#Comment*
-g:ada#Ctags_Kinds      ada.txt /*g:ada#Ctags_Kinds*
-g:ada#DotWordRegex     ada.txt /*g:ada#DotWordRegex*
-g:ada#Keywords ada.txt /*g:ada#Keywords*
-g:ada#WordRegex        ada.txt /*g:ada#WordRegex*
-g:ada_abbrev   ada.txt /*g:ada_abbrev*
-g:ada_all_tab_usage    ada.txt /*g:ada_all_tab_usage*
-g:ada_begin_preproc    ada.txt /*g:ada_begin_preproc*
-g:ada_default_compiler ada.txt /*g:ada_default_compiler*
-g:ada_extended_completion      ada.txt /*g:ada_extended_completion*
-g:ada_extended_tagging ada.txt /*g:ada_extended_tagging*
-g:ada_folding  ada.txt /*g:ada_folding*
-g:ada_gnat_extensions  ada.txt /*g:ada_gnat_extensions*
-g:ada_line_errors      ada.txt /*g:ada_line_errors*
-g:ada_no_tab_space_error       ada.txt /*g:ada_no_tab_space_error*
-g:ada_no_trail_space_error     ada.txt /*g:ada_no_trail_space_error*
-g:ada_omni_with_keywords       ada.txt /*g:ada_omni_with_keywords*
-g:ada_rainbow_color    ada.txt /*g:ada_rainbow_color*
-g:ada_space_errors     ada.txt /*g:ada_space_errors*
-g:ada_standard_types   ada.txt /*g:ada_standard_types*
-g:ada_with_gnat_project_files  ada.txt /*g:ada_with_gnat_project_files*
-g:ada_withuse_ordinary ada.txt /*g:ada_withuse_ordinary*
-g:decada       ada.txt /*g:decada*
-g:decada.Error_Format  ada.txt /*g:decada.Error_Format*
-g:decada.Make()        ada.txt /*g:decada.Make()*
-g:decada.Make_Command  ada.txt /*g:decada.Make_Command*
-g:decada.Unit_Name()   ada.txt /*g:decada.Unit_Name()*
-g:gnat ada.txt /*g:gnat*
-g:gnat.Error_Format    ada.txt /*g:gnat.Error_Format*
-g:gnat.Find()  ada.txt /*g:gnat.Find()*
-g:gnat.Find_Program    ada.txt /*g:gnat.Find_Program*
-g:gnat.Make()  ada.txt /*g:gnat.Make()*
-g:gnat.Make_Command    ada.txt /*g:gnat.Make_Command*
-g:gnat.Pretty()        ada.txt /*g:gnat.Pretty()*
-g:gnat.Pretty_Program  ada.txt /*g:gnat.Pretty_Program*
-g:gnat.Project_File    ada.txt /*g:gnat.Project_File*
-g:gnat.Set_Project_File()      ada.txt /*g:gnat.Set_Project_File()*
-g:gnat.Tags()  ada.txt /*g:gnat.Tags()*
-g:gnat.Tags_Command    ada.txt /*g:gnat.Tags_Command*
+g:ada#Comment  ft_ada.txt      /*g:ada#Comment*
+g:ada#Ctags_Kinds      ft_ada.txt      /*g:ada#Ctags_Kinds*
+g:ada#DotWordRegex     ft_ada.txt      /*g:ada#DotWordRegex*
+g:ada#Keywords ft_ada.txt      /*g:ada#Keywords*
+g:ada#WordRegex        ft_ada.txt      /*g:ada#WordRegex*
+g:ada_abbrev   ft_ada.txt      /*g:ada_abbrev*
+g:ada_all_tab_usage    ft_ada.txt      /*g:ada_all_tab_usage*
+g:ada_begin_preproc    ft_ada.txt      /*g:ada_begin_preproc*
+g:ada_default_compiler ft_ada.txt      /*g:ada_default_compiler*
+g:ada_extended_completion      ft_ada.txt      /*g:ada_extended_completion*
+g:ada_extended_tagging ft_ada.txt      /*g:ada_extended_tagging*
+g:ada_folding  ft_ada.txt      /*g:ada_folding*
+g:ada_gnat_extensions  ft_ada.txt      /*g:ada_gnat_extensions*
+g:ada_line_errors      ft_ada.txt      /*g:ada_line_errors*
+g:ada_no_tab_space_error       ft_ada.txt      /*g:ada_no_tab_space_error*
+g:ada_no_trail_space_error     ft_ada.txt      /*g:ada_no_trail_space_error*
+g:ada_omni_with_keywords       ft_ada.txt      /*g:ada_omni_with_keywords*
+g:ada_rainbow_color    ft_ada.txt      /*g:ada_rainbow_color*
+g:ada_space_errors     ft_ada.txt      /*g:ada_space_errors*
+g:ada_standard_types   ft_ada.txt      /*g:ada_standard_types*
+g:ada_with_gnat_project_files  ft_ada.txt      /*g:ada_with_gnat_project_files*
+g:ada_withuse_ordinary ft_ada.txt      /*g:ada_withuse_ordinary*
+g:colors_name  options.txt     /*g:colors_name*
+g:decada       ft_ada.txt      /*g:decada*
+g:decada.Error_Format  ft_ada.txt      /*g:decada.Error_Format*
+g:decada.Make()        ft_ada.txt      /*g:decada.Make()*
+g:decada.Make_Command  ft_ada.txt      /*g:decada.Make_Command*
+g:decada.Unit_Name()   ft_ada.txt      /*g:decada.Unit_Name()*
+g:gnat ft_ada.txt      /*g:gnat*
+g:gnat.Error_Format    ft_ada.txt      /*g:gnat.Error_Format*
+g:gnat.Find()  ft_ada.txt      /*g:gnat.Find()*
+g:gnat.Find_Program    ft_ada.txt      /*g:gnat.Find_Program*
+g:gnat.Make()  ft_ada.txt      /*g:gnat.Make()*
+g:gnat.Make_Command    ft_ada.txt      /*g:gnat.Make_Command*
+g:gnat.Pretty()        ft_ada.txt      /*g:gnat.Pretty()*
+g:gnat.Pretty_Program  ft_ada.txt      /*g:gnat.Pretty_Program*
+g:gnat.Project_File    ft_ada.txt      /*g:gnat.Project_File*
+g:gnat.Set_Project_File()      ft_ada.txt      /*g:gnat.Set_Project_File()*
+g:gnat.Tags()  ft_ada.txt      /*g:gnat.Tags()*
+g:gnat.Tags_Command    ft_ada.txt      /*g:gnat.Tags_Command*
 g:netrw_alto   pi_netrw.txt    /*g:netrw_alto*
 g:netrw_altv   pi_netrw.txt    /*g:netrw_altv*
 g:netrw_browse_split   pi_netrw.txt    /*g:netrw_browse_split*
 g:netrw_browsex_viewer pi_netrw.txt    /*g:netrw_browsex_viewer*
+g:netrw_cd_escape      pi_netrw.txt    /*g:netrw_cd_escape*
+g:netrw_compress       pi_netrw.txt    /*g:netrw_compress*
 g:netrw_cygwin pi_netrw.txt    /*g:netrw_cygwin*
 g:netrw_dav_cmd        pi_netrw.txt    /*g:netrw_dav_cmd*
+g:netrw_decompress     pi_netrw.txt    /*g:netrw_decompress*
 g:netrw_extracmd       pi_netrw.txt    /*g:netrw_extracmd*
 g:netrw_fastbrowse     pi_netrw.txt    /*g:netrw_fastbrowse*
 g:netrw_fetch_cmd      pi_netrw.txt    /*g:netrw_fetch_cmd*
+g:netrw_fname_escape   pi_netrw.txt    /*g:netrw_fname_escape*
 g:netrw_ftp    pi_netrw.txt    /*g:netrw_ftp*
 g:netrw_ftp_browse_reject      pi_netrw.txt    /*g:netrw_ftp_browse_reject*
 g:netrw_ftp_cmd        pi_netrw.txt    /*g:netrw_ftp_cmd*
@@ -5548,6 +5599,7 @@ g:netrw_ftp_list_cmd      pi_netrw.txt    /*g:netrw_ftp_list_cmd*
 g:netrw_ftp_sizelist_cmd       pi_netrw.txt    /*g:netrw_ftp_sizelist_cmd*
 g:netrw_ftp_timelist_cmd       pi_netrw.txt    /*g:netrw_ftp_timelist_cmd*
 g:netrw_ftpmode        pi_netrw.txt    /*g:netrw_ftpmode*
+g:netrw_glob_escape    pi_netrw.txt    /*g:netrw_glob_escape*
 g:netrw_hide   pi_netrw.txt    /*g:netrw_hide*
 g:netrw_http_cmd       pi_netrw.txt    /*g:netrw_http_cmd*
 g:netrw_ignorenetrc    pi_netrw.txt    /*g:netrw_ignorenetrc*
@@ -5557,12 +5609,15 @@ g:netrw_list_hide       pi_netrw.txt    /*g:netrw_list_hide*
 g:netrw_liststyle      pi_netrw.txt    /*g:netrw_liststyle*
 g:netrw_local_mkdir    pi_netrw.txt    /*g:netrw_local_mkdir*
 g:netrw_local_rmdir    pi_netrw.txt    /*g:netrw_local_rmdir*
+g:netrw_localcopycmd   pi_netrw.txt    /*g:netrw_localcopycmd*
+g:netrw_localmovecmd   pi_netrw.txt    /*g:netrw_localmovecmd*
 g:netrw_maxfilenamelen pi_netrw.txt    /*g:netrw_maxfilenamelen*
 g:netrw_menu   pi_netrw.txt    /*g:netrw_menu*
 g:netrw_mkdir_cmd      pi_netrw.txt    /*g:netrw_mkdir_cmd*
 g:netrw_nogx   pi_netrw.txt    /*g:netrw_nogx*
-g:netrw_passwd pi_netrw.txt    /*g:netrw_passwd*
+g:netrw_preview        pi_netrw.txt    /*g:netrw_preview*
 g:netrw_rcp_cmd        pi_netrw.txt    /*g:netrw_rcp_cmd*
+g:netrw_retmap pi_netrw.txt    /*g:netrw_retmap*
 g:netrw_rm_cmd pi_netrw.txt    /*g:netrw_rm_cmd*
 g:netrw_rmdir_cmd      pi_netrw.txt    /*g:netrw_rmdir_cmd*
 g:netrw_rmf_cmd        pi_netrw.txt    /*g:netrw_rmf_cmd*
@@ -5571,25 +5626,39 @@ g:netrw_scp_cmd pi_netrw.txt    /*g:netrw_scp_cmd*
 g:netrw_scpport        pi_netrw.txt    /*g:netrw_scpport*
 g:netrw_sftp_cmd       pi_netrw.txt    /*g:netrw_sftp_cmd*
 g:netrw_shq    pi_netrw.txt    /*g:netrw_shq*
+g:netrw_silent pi_netrw.txt    /*g:netrw_silent*
 g:netrw_sort_by        pi_netrw.txt    /*g:netrw_sort_by*
 g:netrw_sort_direction pi_netrw.txt    /*g:netrw_sort_direction*
 g:netrw_sort_sequence  pi_netrw.txt    /*g:netrw_sort_sequence*
+g:netrw_special_syntax pi_netrw.txt    /*g:netrw_special_syntax*
 g:netrw_ssh_browse_reject      pi_netrw.txt    /*g:netrw_ssh_browse_reject*
 g:netrw_ssh_cmd        pi_netrw.txt    /*g:netrw_ssh_cmd*
 g:netrw_sshport        pi_netrw.txt    /*g:netrw_sshport*
 g:netrw_timefmt        pi_netrw.txt    /*g:netrw_timefmt*
+g:netrw_tmpfile_escape pi_netrw.txt    /*g:netrw_tmpfile_escape*
 g:netrw_uid    pi_netrw.txt    /*g:netrw_uid*
 g:netrw_use_errorwindow        pi_netrw.txt    /*g:netrw_use_errorwindow*
 g:netrw_use_noswf      pi_netrw.txt    /*g:netrw_use_noswf*
 g:netrw_use_nt_rcp     pi_netrw.txt    /*g:netrw_use_nt_rcp*
 g:netrw_win95ftp       pi_netrw.txt    /*g:netrw_win95ftp*
 g:netrw_winsize        pi_netrw.txt    /*g:netrw_winsize*
+g:netrw_xstrlen        pi_netrw.txt    /*g:netrw_xstrlen*
 g:tar_browseoptions    pi_tar.txt      /*g:tar_browseoptions*
 g:tar_cmd      pi_tar.txt      /*g:tar_cmd*
+g:tar_nomax    pi_tar.txt      /*g:tar_nomax*
 g:tar_readoptions      pi_tar.txt      /*g:tar_readoptions*
 g:tar_writeoptions     pi_tar.txt      /*g:tar_writeoptions*
 g:var  eval.txt        /*g:var*
 g:vimball_home pi_vimball.txt  /*g:vimball_home*
+g:vimball_mkdir        pi_vimball.txt  /*g:vimball_mkdir*
+g:vimball_path_escape  pi_vimball.txt  /*g:vimball_path_escape*
+g:vimsyn_embed syntax.txt      /*g:vimsyn_embed*
+g:vimsyn_folding       syntax.txt      /*g:vimsyn_folding*
+g:vimsyn_maxlines      syntax.txt      /*g:vimsyn_maxlines*
+g:vimsyn_minlines      syntax.txt      /*g:vimsyn_minlines*
+g:vimsyn_noerror       syntax.txt      /*g:vimsyn_noerror*
+g:zip_nomax    pi_zip.txt      /*g:zip_nomax*
+g:zip_shq      pi_zip.txt      /*g:zip_shq*
 g:zip_unzipcmd pi_zip.txt      /*g:zip_unzipcmd*
 g:zip_zipcmd   pi_zip.txt      /*g:zip_zipcmd*
 g;     motion.txt      /*g;*
@@ -5649,6 +5718,8 @@ getftype()        eval.txt        /*getftype()*
 getlatestvimscripts-install    pi_getscript.txt        /*getlatestvimscripts-install*
 getline()      eval.txt        /*getline()*
 getloclist()   eval.txt        /*getloclist()*
+getmatches()   eval.txt        /*getmatches()*
+getpid()       eval.txt        /*getpid()*
 getpos()       eval.txt        /*getpos()*
 getqflist()    eval.txt        /*getqflist()*
 getreg()       eval.txt        /*getreg()*
@@ -5674,6 +5745,7 @@ glob()    eval.txt        /*glob()*
 global-ime     mbyte.txt       /*global-ime*
 global-local   options.txt     /*global-local*
 global-variable        eval.txt        /*global-variable*
+global_markfilelist    pi_netrw.txt    /*global_markfilelist*
 globpath()     eval.txt        /*globpath()*
 glvs   pi_getscript.txt        /*glvs*
 glvs-alg       pi_getscript.txt        /*glvs-alg*
@@ -5689,10 +5761,10 @@ glvs-options    pi_getscript.txt        /*glvs-options*
 glvs-plugins   pi_getscript.txt        /*glvs-plugins*
 glvs-usage     pi_getscript.txt        /*glvs-usage*
 gm     motion.txt      /*gm*
-gnat#Insert_Tags_Header()      ada.txt /*gnat#Insert_Tags_Header()*
-gnat#New()     ada.txt /*gnat#New()*
-gnat-xref      ada.txt /*gnat-xref*
-gnat_members   ada.txt /*gnat_members*
+gnat#Insert_Tags_Header()      ft_ada.txt      /*gnat#Insert_Tags_Header()*
+gnat#New()     ft_ada.txt      /*gnat#New()*
+gnat-xref      ft_ada.txt      /*gnat-xref*
+gnat_members   ft_ada.txt      /*gnat_members*
 gnome-session  gui_x11.txt     /*gnome-session*
 go     motion.txt      /*go*
 gp     change.txt      /*gp*
@@ -5752,6 +5824,7 @@ gui-w32-dialogs   gui_w32.txt     /*gui-w32-dialogs*
 gui-w32-printing       gui_w32.txt     /*gui-w32-printing*
 gui-w32-start  gui_w32.txt     /*gui-w32-start*
 gui-w32-various        gui_w32.txt     /*gui-w32-various*
+gui-w32-windowid       gui_w32.txt     /*gui-w32-windowid*
 gui-w32s       gui_w32.txt     /*gui-w32s*
 gui-win32-maximized    gui_w32.txt     /*gui-win32-maximized*
 gui-x11        gui_x11.txt     /*gui-x11*
@@ -5828,7 +5901,6 @@ highlight-stop    syntax.txt      /*highlight-stop*
 highlight-term syntax.txt      /*highlight-term*
 highlightID()  eval.txt        /*highlightID()*
 highlight_exists()     eval.txt        /*highlight_exists()*
-his    cmdline.txt     /*his*
 hist-names     eval.txt        /*hist-names*
 histadd()      eval.txt        /*histadd()*
 histdel()      eval.txt        /*histdel()*
@@ -6062,7 +6134,7 @@ index()   eval.txt        /*index()*
 index.txt      index.txt       /*index.txt*
 info-message   starting.txt    /*info-message*
 inform.vim     syntax.txt      /*inform.vim*
-informix       sql.txt /*informix*
+informix       ft_sql.txt      /*informix*
 initialization starting.txt    /*initialization*
 input()        eval.txt        /*input()*
 inputdialog()  eval.txt        /*inputdialog()*
@@ -6191,11 +6263,13 @@ local-function  eval.txt        /*local-function*
 local-options  options.txt     /*local-options*
 local-variable eval.txt        /*local-variable*
 local-variables        eval.txt        /*local-variables*
+local_markfilelist     pi_netrw.txt    /*local_markfilelist*
 locale mbyte.txt       /*locale*
 locale-name    mbyte.txt       /*locale-name*
 localtime()    eval.txt        /*localtime()*
 location-list  quickfix.txt    /*location-list*
 location-list-window   quickfix.txt    /*location-list-window*
+log10()        eval.txt        /*log10()*
 long-lines     version5.txt    /*long-lines*
 lowercase      change.txt      /*lowercase*
 lpc.vim        syntax.txt      /*lpc.vim*
@@ -6260,11 +6334,14 @@ mapmode-x       map.txt /*mapmode-x*
 mapping        map.txt /*mapping*
 mark   motion.txt      /*mark*
 mark-motions   motion.txt      /*mark-motions*
+markfilelist   pi_netrw.txt    /*markfilelist*
 masm.vim       syntax.txt      /*masm.vim*
 match()        eval.txt        /*match()*
 match-highlight        pattern.txt     /*match-highlight*
 match-parens   tips.txt        /*match-parens*
+matchadd()     eval.txt        /*matchadd()*
 matcharg()     eval.txt        /*matcharg()*
+matchdelete()  eval.txt        /*matchdelete()*
 matchend()     eval.txt        /*matchend()*
 matchit-install        usr_05.txt      /*matchit-install*
 matchlist()    eval.txt        /*matchlist()*
@@ -6355,7 +6432,7 @@ multilang-messages        mlang.txt       /*multilang-messages*
 multilang-scripts      mlang.txt       /*multilang-scripts*
 myfiletypefile syntax.txt      /*myfiletypefile*
 myscriptsfile  syntax.txt      /*myscriptsfile*
-mysql  sql.txt /*mysql*
+mysql  ft_sql.txt      /*mysql*
 mysyntaxfile   syntax.txt      /*mysyntaxfile*
 mysyntaxfile-add       syntax.txt      /*mysyntaxfile-add*
 mysyntaxfile-replace   syntax.txt      /*mysyntaxfile-replace*
@@ -6376,14 +6453,17 @@ nb-commands     netbeans.txt    /*nb-commands*
 nb-events      netbeans.txt    /*nb-events*
 nb-functions   netbeans.txt    /*nb-functions*
 nb-messages    netbeans.txt    /*nb-messages*
+nb-protocol_errors     netbeans.txt    /*nb-protocol_errors*
 nb-special     netbeans.txt    /*nb-special*
 nb-terms       netbeans.txt    /*nb-terms*
 ncf.vim        syntax.txt      /*ncf.vim*
 netbeans       netbeans.txt    /*netbeans*
-netbeans-commands      netbeans.txt    /*netbeans-commands*
 netbeans-configure     netbeans.txt    /*netbeans-configure*
+netbeans-debugging     netbeans.txt    /*netbeans-debugging*
 netbeans-download      netbeans.txt    /*netbeans-download*
+netbeans-integration   netbeans.txt    /*netbeans-integration*
 netbeans-intro netbeans.txt    /*netbeans-intro*
+netbeans-key   netbeans.txt    /*netbeans-key*
 netbeans-keybindings   netbeans.txt    /*netbeans-keybindings*
 netbeans-messages      netbeans.txt    /*netbeans-messages*
 netbeans-preparation   netbeans.txt    /*netbeans-preparation*
@@ -6408,17 +6488,20 @@ netrw-bookmark  pi_netrw.txt    /*netrw-bookmark*
 netrw-bookmarks        pi_netrw.txt    /*netrw-bookmarks*
 netrw-browse   pi_netrw.txt    /*netrw-browse*
 netrw-browse-cmds      pi_netrw.txt    /*netrw-browse-cmds*
-netrw-browse-intro     pi_netrw.txt    /*netrw-browse-intro*
-netrw-browse-var       pi_netrw.txt    /*netrw-browse-var*
+netrw-browse-maps      pi_netrw.txt    /*netrw-browse-maps*
+netrw-browser  pi_netrw.txt    /*netrw-browser*
+netrw-browser-options  pi_netrw.txt    /*netrw-browser-options*
+netrw-browser-var      pi_netrw.txt    /*netrw-browser-var*
+netrw-browsing pi_netrw.txt    /*netrw-browsing*
 netrw-c        pi_netrw.txt    /*netrw-c*
 netrw-cadaver  pi_netrw.txt    /*netrw-cadaver*
 netrw-chgup    pi_netrw.txt    /*netrw-chgup*
+netrw-clean    pi_netrw.txt    /*netrw-clean*
 netrw-contents pi_netrw.txt    /*netrw-contents*
 netrw-cr       pi_netrw.txt    /*netrw-cr*
 netrw-credits  pi_netrw.txt    /*netrw-credits*
 netrw-ctrl-h   pi_netrw.txt    /*netrw-ctrl-h*
 netrw-ctrl-l   pi_netrw.txt    /*netrw-ctrl-l*
-netrw-ctrl_h   pi_netrw.txt    /*netrw-ctrl_h*
 netrw-ctrl_l   pi_netrw.txt    /*netrw-ctrl_l*
 netrw-curdir   pi_netrw.txt    /*netrw-curdir*
 netrw-d        pi_netrw.txt    /*netrw-d*
@@ -6437,23 +6520,40 @@ netrw-file      pi_netrw.txt    /*netrw-file*
 netrw-fixup    pi_netrw.txt    /*netrw-fixup*
 netrw-ftp      pi_netrw.txt    /*netrw-ftp*
 netrw-gb       pi_netrw.txt    /*netrw-gb*
+netrw-gh       pi_netrw.txt    /*netrw-gh*
 netrw-gx       pi_netrw.txt    /*netrw-gx*
 netrw-handler  pi_netrw.txt    /*netrw-handler*
 netrw-help     pi_netrw.txt    /*netrw-help*
 netrw-hexplore pi_netrw.txt    /*netrw-hexplore*
+netrw-hide     pi_netrw.txt    /*netrw-hide*
 netrw-hiding   pi_netrw.txt    /*netrw-hiding*
 netrw-history  pi_netrw.txt    /*netrw-history*
 netrw-horiz    pi_netrw.txt    /*netrw-horiz*
 netrw-i        pi_netrw.txt    /*netrw-i*
 netrw-incompatible     pi_netrw.txt    /*netrw-incompatible*
+netrw-intro-browse     pi_netrw.txt    /*netrw-intro-browse*
 netrw-list     pi_netrw.txt    /*netrw-list*
 netrw-listbookmark     pi_netrw.txt    /*netrw-listbookmark*
 netrw-listhack pi_netrw.txt    /*netrw-listhack*
 netrw-login    pi_netrw.txt    /*netrw-login*
-netrw-maps     pi_netrw.txt    /*netrw-maps*
+netrw-mT       pi_netrw.txt    /*netrw-mT*
 netrw-mb       pi_netrw.txt    /*netrw-mb*
+netrw-mc       pi_netrw.txt    /*netrw-mc*
+netrw-md       pi_netrw.txt    /*netrw-md*
+netrw-me       pi_netrw.txt    /*netrw-me*
+netrw-mf       pi_netrw.txt    /*netrw-mf*
+netrw-mg       pi_netrw.txt    /*netrw-mg*
+netrw-mh       pi_netrw.txt    /*netrw-mh*
 netrw-ml_get   pi_netrw.txt    /*netrw-ml_get*
+netrw-mm       pi_netrw.txt    /*netrw-mm*
 netrw-move     pi_netrw.txt    /*netrw-move*
+netrw-mp       pi_netrw.txt    /*netrw-mp*
+netrw-mr       pi_netrw.txt    /*netrw-mr*
+netrw-ms       pi_netrw.txt    /*netrw-ms*
+netrw-mt       pi_netrw.txt    /*netrw-mt*
+netrw-mu       pi_netrw.txt    /*netrw-mu*
+netrw-mx       pi_netrw.txt    /*netrw-mx*
+netrw-mz       pi_netrw.txt    /*netrw-mz*
 netrw-netrc    pi_netrw.txt    /*netrw-netrc*
 netrw-nexplore pi_netrw.txt    /*netrw-nexplore*
 netrw-nread    pi_netrw.txt    /*netrw-nread*
@@ -6462,6 +6562,8 @@ netrw-o   pi_netrw.txt    /*netrw-o*
 netrw-options  pi_netrw.txt    /*netrw-options*
 netrw-p        pi_netrw.txt    /*netrw-p*
 netrw-p1       pi_netrw.txt    /*netrw-p1*
+netrw-p10      pi_netrw.txt    /*netrw-p10*
+netrw-p11      pi_netrw.txt    /*netrw-p11*
 netrw-p2       pi_netrw.txt    /*netrw-p2*
 netrw-p3       pi_netrw.txt    /*netrw-p3*
 netrw-p4       pi_netrw.txt    /*netrw-p4*
@@ -6481,18 +6583,27 @@ netrw-prvwin    pi_netrw.txt    /*netrw-prvwin*
 netrw-pscp     pi_netrw.txt    /*netrw-pscp*
 netrw-psftp    pi_netrw.txt    /*netrw-psftp*
 netrw-putty    pi_netrw.txt    /*netrw-putty*
-netrw-q        pi_netrw.txt    /*netrw-q*
+netrw-qb       pi_netrw.txt    /*netrw-qb*
+netrw-qf       pi_netrw.txt    /*netrw-qf*
+netrw-quickcom pi_netrw.txt    /*netrw-quickcom*
+netrw-quickcoms        pi_netrw.txt    /*netrw-quickcoms*
+netrw-quickhelp        pi_netrw.txt    /*netrw-quickhelp*
+netrw-quickmap pi_netrw.txt    /*netrw-quickmap*
+netrw-quickmaps        pi_netrw.txt    /*netrw-quickmaps*
 netrw-r        pi_netrw.txt    /*netrw-r*
 netrw-read     pi_netrw.txt    /*netrw-read*
 netrw-ref      pi_netrw.txt    /*netrw-ref*
 netrw-rename   pi_netrw.txt    /*netrw-rename*
 netrw-reverse  pi_netrw.txt    /*netrw-reverse*
+netrw-rexplore pi_netrw.txt    /*netrw-rexplore*
 netrw-s        pi_netrw.txt    /*netrw-s*
 netrw-settings pi_netrw.txt    /*netrw-settings*
 netrw-sexplore pi_netrw.txt    /*netrw-sexplore*
 netrw-sort     pi_netrw.txt    /*netrw-sort*
 netrw-sortsequence     pi_netrw.txt    /*netrw-sortsequence*
 netrw-source   pi_netrw.txt    /*netrw-source*
+netrw-ssh-hack pi_netrw.txt    /*netrw-ssh-hack*
+netrw-star     pi_netrw.txt    /*netrw-star*
 netrw-starpat  pi_netrw.txt    /*netrw-starpat*
 netrw-starstar pi_netrw.txt    /*netrw-starstar*
 netrw-starstarpat      pi_netrw.txt    /*netrw-starstarpat*
@@ -6622,17 +6733,19 @@ ole-normal      if_ole.txt      /*ole-normal*
 ole-registration       if_ole.txt      /*ole-registration*
 ole-sendkeys   if_ole.txt      /*ole-sendkeys*
 ole-setforeground      if_ole.txt      /*ole-setforeground*
-omni-sql-completion    sql.txt /*omni-sql-completion*
+omap-info      map.txt /*omap-info*
+omni-sql-completion    ft_sql.txt      /*omni-sql-completion*
 online-help    various.txt     /*online-help*
 opening-window windows.txt     /*opening-window*
 operator       motion.txt      /*operator*
+operator-variable      eval.txt        /*operator-variable*
 option-backslash       options.txt     /*option-backslash*
 option-list    quickref.txt    /*option-list*
 option-summary options.txt     /*option-summary*
 options        options.txt     /*options*
 options-changed        version5.txt    /*options-changed*
 options.txt    options.txt     /*options.txt*
-oracle sql.txt /*oracle*
+oracle ft_sql.txt      /*oracle*
 os2    os_os2.txt      /*os2*
 os2ansi        os_os2.txt      /*os2ansi*
 os390  os_390.txt      /*os390*
@@ -6711,7 +6824,7 @@ pi_tar.txt        pi_tar.txt      /*pi_tar.txt*
 pi_vimball.txt pi_vimball.txt  /*pi_vimball.txt*
 pi_zip.txt     pi_zip.txt      /*pi_zip.txt*
 plaintex.vim   syntax.txt      /*plaintex.vim*
-plsql  sql.txt /*plsql*
+plsql  ft_sql.txt      /*plsql*
 plugin usr_05.txt      /*plugin*
 plugin-details filetype.txt    /*plugin-details*
 plugin-filetype        usr_41.txt      /*plugin-filetype*
@@ -6728,13 +6841,14 @@ ports-6 version6.txt    /*ports-6*
 posix  vi_diff.txt     /*posix*
 posix-compliance       vi_diff.txt     /*posix-compliance*
 posix-screen-size      vi_diff.txt     /*posix-screen-size*
-postgres       sql.txt /*postgres*
+postgres       ft_sql.txt      /*postgres*
 postscr.vim    syntax.txt      /*postscr.vim*
 postscript-cjk-printing        print.txt       /*postscript-cjk-printing*
 postscript-print-encoding      print.txt       /*postscript-print-encoding*
 postscript-print-trouble       print.txt       /*postscript-print-trouble*
 postscript-print-util  print.txt       /*postscript-print-util*
 postscript-printing    print.txt       /*postscript-printing*
+pow()  eval.txt        /*pow()*
 ppwiz.vim      syntax.txt      /*ppwiz.vim*
 press-enter    message.txt     /*press-enter*
 press-return   message.txt     /*press-return*
@@ -6745,6 +6859,18 @@ print-intro      print.txt       /*print-intro*
 print-options  print.txt       /*print-options*
 print.txt      print.txt       /*print.txt*
 printf()       eval.txt        /*printf()*
+printf-%       eval.txt        /*printf-%*
+printf-E       eval.txt        /*printf-E*
+printf-G       eval.txt        /*printf-G*
+printf-X       eval.txt        /*printf-X*
+printf-c       eval.txt        /*printf-c*
+printf-d       eval.txt        /*printf-d*
+printf-e       eval.txt        /*printf-e*
+printf-f       eval.txt        /*printf-f*
+printf-g       eval.txt        /*printf-g*
+printf-o       eval.txt        /*printf-o*
+printf-s       eval.txt        /*printf-s*
+printf-x       eval.txt        /*printf-x*
 printing       print.txt       /*printing*
 printing-formfeed      print.txt       /*printing-formfeed*
 profile        repeat.txt      /*profile*
@@ -6752,7 +6878,7 @@ profiling repeat.txt      /*profiling*
 profiling-variable     eval.txt        /*profiling-variable*
 progname-variable      eval.txt        /*progname-variable*
 progress.vim   syntax.txt      /*progress.vim*
-psql   sql.txt /*psql*
+psql   ft_sql.txt      /*psql*
 ptcap.vim      syntax.txt      /*ptcap.vim*
 pterm-mouse    options.txt     /*pterm-mouse*
 pumvisible()   eval.txt        /*pumvisible()*
@@ -6790,6 +6916,7 @@ quickfix-directory-stack  quickfix.txt    /*quickfix-directory-stack*
 quickfix-error-lists   quickfix.txt    /*quickfix-error-lists*
 quickfix-gcc   quickfix.txt    /*quickfix-gcc*
 quickfix-manx  quickfix.txt    /*quickfix-manx*
+quickfix-perl  quickfix.txt    /*quickfix-perl*
 quickfix-valid quickfix.txt    /*quickfix-valid*
 quickfix-window        quickfix.txt    /*quickfix-window*
 quickfix.txt   quickfix.txt    /*quickfix.txt*
@@ -6901,6 +7028,7 @@ riscos-remote     os_risc.txt     /*riscos-remote*
 riscos-shell   os_risc.txt     /*riscos-shell*
 riscos-temp-files      os_risc.txt     /*riscos-temp-files*
 rot13  change.txt      /*rot13*
+round()        eval.txt        /*round()*
 rsync  pi_netrw.txt    /*rsync*
 ruby   if_ruby.txt     /*ruby*
 ruby-buffer    if_ruby.txt     /*ruby-buffer*
@@ -6943,6 +7071,7 @@ s/\r      change.txt      /*s\/\\r*
 s/\t   change.txt      /*s\/\\t*
 s/\u   change.txt      /*s\/\\u*
 s/\~   change.txt      /*s\/\\~*
+s:netrw_passwd pi_netrw.txt    /*s:netrw_passwd*
 s:var  eval.txt        /*s:var*
 s<CR>  change.txt      /*s<CR>*
 sandbox        eval.txt        /*sandbox*
@@ -6980,6 +7109,7 @@ search-pattern    pattern.txt     /*search-pattern*
 search-range   pattern.txt     /*search-range*
 search-replace change.txt      /*search-replace*
 searchdecl()   eval.txt        /*searchdecl()*
+searchforward-variable eval.txt        /*searchforward-variable*
 searchpair()   eval.txt        /*searchpair()*
 searchpairpos()        eval.txt        /*searchpairpos()*
 searchpos()    eval.txt        /*searchpos()*
@@ -7000,6 +7130,7 @@ setbufvar()       eval.txt        /*setbufvar()*
 setcmdpos()    eval.txt        /*setcmdpos()*
 setline()      eval.txt        /*setline()*
 setloclist()   eval.txt        /*setloclist()*
+setmatches()   eval.txt        /*setmatches()*
 setpos()       eval.txt        /*setpos()*
 setqflist()    eval.txt        /*setqflist()*
 setreg()       eval.txt        /*setreg()*
@@ -7026,6 +7157,7 @@ signs     sign.txt        /*signs*
 simple-change  change.txt      /*simple-change*
 simplify()     eval.txt        /*simplify()*
 simulated-command      vi_diff.txt     /*simulated-command*
+sin()  eval.txt        /*sin()*
 single-repeat  repeat.txt      /*single-repeat*
 skeleton       autocmd.txt     /*skeleton*
 slow-fast-terminal     term.txt        /*slow-fast-terminal*
@@ -7035,6 +7167,7 @@ sniff     if_sniff.txt    /*sniff*
 sniff-commands if_sniff.txt    /*sniff-commands*
 sniff-compiling        if_sniff.txt    /*sniff-compiling*
 sniff-intro    if_sniff.txt    /*sniff-intro*
+socket-interface       netbeans.txt    /*socket-interface*
 sort() eval.txt        /*sort()*
 sorting        change.txt      /*sorting*
 soundfold()    eval.txt        /*soundfold()*
@@ -7147,34 +7280,34 @@ sponsor-faq     sponsor.txt     /*sponsor-faq*
 sponsor.txt    sponsor.txt     /*sponsor.txt*
 spoon  os_unix.txt     /*spoon*
 spup.vim       syntax.txt      /*spup.vim*
-sql-adding-dialects    sql.txt /*sql-adding-dialects*
-sql-completion sql.txt /*sql-completion*
-sql-completion-columns sql.txt /*sql-completion-columns*
-sql-completion-customization   sql.txt /*sql-completion-customization*
-sql-completion-dynamic sql.txt /*sql-completion-dynamic*
-sql-completion-filetypes       sql.txt /*sql-completion-filetypes*
-sql-completion-maps    sql.txt /*sql-completion-maps*
-sql-completion-procedures      sql.txt /*sql-completion-procedures*
-sql-completion-static  sql.txt /*sql-completion-static*
-sql-completion-tables  sql.txt /*sql-completion-tables*
-sql-completion-tutorial        sql.txt /*sql-completion-tutorial*
-sql-completion-views   sql.txt /*sql-completion-views*
-sql-dialects   sql.txt /*sql-dialects*
-sql-macros     sql.txt /*sql-macros*
-sql-matchit    sql.txt /*sql-matchit*
-sql-navigation sql.txt /*sql-navigation*
-sql-object-motions     sql.txt /*sql-object-motions*
-sql-predefined-objects sql.txt /*sql-predefined-objects*
-sql-type-default       sql.txt /*sql-type-default*
-sql-types      sql.txt /*sql-types*
-sql.txt        sql.txt /*sql.txt*
+sql-adding-dialects    ft_sql.txt      /*sql-adding-dialects*
+sql-completion ft_sql.txt      /*sql-completion*
+sql-completion-columns ft_sql.txt      /*sql-completion-columns*
+sql-completion-customization   ft_sql.txt      /*sql-completion-customization*
+sql-completion-dynamic ft_sql.txt      /*sql-completion-dynamic*
+sql-completion-filetypes       ft_sql.txt      /*sql-completion-filetypes*
+sql-completion-maps    ft_sql.txt      /*sql-completion-maps*
+sql-completion-procedures      ft_sql.txt      /*sql-completion-procedures*
+sql-completion-static  ft_sql.txt      /*sql-completion-static*
+sql-completion-tables  ft_sql.txt      /*sql-completion-tables*
+sql-completion-tutorial        ft_sql.txt      /*sql-completion-tutorial*
+sql-completion-views   ft_sql.txt      /*sql-completion-views*
+sql-dialects   ft_sql.txt      /*sql-dialects*
+sql-macros     ft_sql.txt      /*sql-macros*
+sql-matchit    ft_sql.txt      /*sql-matchit*
+sql-navigation ft_sql.txt      /*sql-navigation*
+sql-object-motions     ft_sql.txt      /*sql-object-motions*
+sql-predefined-objects ft_sql.txt      /*sql-predefined-objects*
+sql-type-default       ft_sql.txt      /*sql-type-default*
+sql-types      ft_sql.txt      /*sql-types*
 sql.vim        syntax.txt      /*sql.vim*
-sqlanywhere    sql.txt /*sqlanywhere*
+sqlanywhere    ft_sql.txt      /*sqlanywhere*
 sqlanywhere.vim        syntax.txt      /*sqlanywhere.vim*
 sqlinformix.vim        syntax.txt      /*sqlinformix.vim*
-sqlj   sql.txt /*sqlj*
-sqlserver      sql.txt /*sqlserver*
-sqlsettype     sql.txt /*sqlsettype*
+sqlj   ft_sql.txt      /*sqlj*
+sqlserver      ft_sql.txt      /*sqlserver*
+sqlsettype     ft_sql.txt      /*sqlsettype*
+sqrt() eval.txt        /*sqrt()*
 sscanf eval.txt        /*sscanf*
 standard-plugin        usr_05.txt      /*standard-plugin*
 standard-plugin-list   help.txt        /*standard-plugin-list*
@@ -7192,6 +7325,8 @@ startup-terminal  term.txt        /*startup-terminal*
 static-tag     tagsrch.txt     /*static-tag*
 status-line    windows.txt     /*status-line*
 statusmsg-variable     eval.txt        /*statusmsg-variable*
+sticky-type-checking   eval.txt        /*sticky-type-checking*
+str2float()    eval.txt        /*str2float()*
 str2nr()       eval.txt        /*str2nr()*
 strcasestr()   eval.txt        /*strcasestr()*
 strchr()       eval.txt        /*strchr()*
@@ -7229,7 +7364,7 @@ swapchoice-variable       eval.txt        /*swapchoice-variable*
 swapcommand-variable   eval.txt        /*swapcommand-variable*
 swapfile-changed       version4.txt    /*swapfile-changed*
 swapname-variable      eval.txt        /*swapname-variable*
-sybase sql.txt /*sybase*
+sybase ft_sql.txt      /*sybase*
 syn-sync-grouphere     syntax.txt      /*syn-sync-grouphere*
 syn-sync-groupthere    syntax.txt      /*syn-sync-groupthere*
 syn-sync-linecont      syntax.txt      /*syn-sync-linecont*
@@ -7244,6 +7379,7 @@ synload-3 syntax.txt      /*synload-3*
 synload-4      syntax.txt      /*synload-4*
 synload-5      syntax.txt      /*synload-5*
 synload-6      syntax.txt      /*synload-6*
+synstack()     eval.txt        /*synstack()*
 syntax syntax.txt      /*syntax*
 syntax-highlighting    syntax.txt      /*syntax-highlighting*
 syntax-loading syntax.txt      /*syntax-loading*
@@ -7251,6 +7387,7 @@ syntax-printing   usr_06.txt      /*syntax-printing*
 syntax.txt     syntax.txt      /*syntax.txt*
 syntax_cmd     syntax.txt      /*syntax_cmd*
 sys-file-list  help.txt        /*sys-file-list*
+sysmouse       term.txt        /*sysmouse*
 system()       eval.txt        /*system()*
 system-vimrc   starting.txt    /*system-vimrc*
 s~     change.txt      /*s~*
@@ -7523,6 +7660,7 @@ tex-error syntax.txt      /*tex-error*
 tex-folding    syntax.txt      /*tex-folding*
 tex-math       syntax.txt      /*tex-math*
 tex-morecommands       syntax.txt      /*tex-morecommands*
+tex-nospell    syntax.txt      /*tex-nospell*
 tex-package    syntax.txt      /*tex-package*
 tex-runon      syntax.txt      /*tex-runon*
 tex-slow       syntax.txt      /*tex-slow*
@@ -7551,6 +7689,7 @@ toolbar-icon      gui.txt /*toolbar-icon*
 toupper()      eval.txt        /*toupper()*
 tr()   eval.txt        /*tr()*
 trojan-horse   starting.txt    /*trojan-horse*
+trunc()        eval.txt        /*trunc()*
 try-conditionals       eval.txt        /*try-conditionals*
 try-echoerr    eval.txt        /*try-echoerr*
 try-finally    eval.txt        /*try-finally*
@@ -7668,11 +7807,13 @@ v:lnum  eval.txt        /*v:lnum*
 v:mouse_col    eval.txt        /*v:mouse_col*
 v:mouse_lnum   eval.txt        /*v:mouse_lnum*
 v:mouse_win    eval.txt        /*v:mouse_win*
+v:operator     eval.txt        /*v:operator*
 v:prevcount    eval.txt        /*v:prevcount*
 v:profiling    eval.txt        /*v:profiling*
 v:progname     eval.txt        /*v:progname*
 v:register     eval.txt        /*v:register*
 v:scrollstart  eval.txt        /*v:scrollstart*
+v:searchforward        eval.txt        /*v:searchforward*
 v:servername   eval.txt        /*v:servername*
 v:shell_error  eval.txt        /*v:shell_error*
 v:statusmsg    eval.txt        /*v:statusmsg*
@@ -7812,6 +7953,7 @@ version-6.2       version6.txt    /*version-6.2*
 version-6.3    version6.txt    /*version-6.3*
 version-6.4    version6.txt    /*version-6.4*
 version-7.1    version7.txt    /*version-7.1*
+version-7.2    version7.txt    /*version-7.2*
 version-variable       eval.txt        /*version-variable*
 version4.txt   version4.txt    /*version4.txt*
 version5.txt   version5.txt    /*version5.txt*
@@ -7843,6 +7985,7 @@ vimball   pi_vimball.txt  /*vimball*
 vimball-contents       pi_vimball.txt  /*vimball-contents*
 vimball-extract        pi_vimball.txt  /*vimball-extract*
 vimball-history        pi_vimball.txt  /*vimball-history*
+vimball-intro  pi_vimball.txt  /*vimball-intro*
 vimball-manual pi_vimball.txt  /*vimball-manual*
 vimdev intro.txt       /*vimdev*
 vimdiff        diff.txt        /*vimdiff*
@@ -8074,7 +8217,6 @@ zip-extension     pi_zip.txt      /*zip-extension*
 zip-history    pi_zip.txt      /*zip-history*
 zip-manual     pi_zip.txt      /*zip-manual*
 zip-usage      pi_zip.txt      /*zip-usage*
-zip_shq        pi_zip.txt      /*zip_shq*
 zj     fold.txt        /*zj*
 zk     fold.txt        /*zk*
 zl     scroll.txt      /*zl*
index e562d4d9103a0876cc109392cfc6a6c14ce25c9e..55a9ae100cbbc90fbbcf1a80b8a169d2b3424be8 100644 (file)
@@ -1,4 +1,4 @@
-*term.txt*      For Vim version 7.1.  Last change: 2007 Feb 28
+*term.txt*      For Vim version 7.2a.  Last change: 2008 Jun 21
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -139,7 +139,7 @@ want in either case you could use these settings: >
        :set notimeout          " don't timeout on mappings
        :set ttimeout           " do timeout on terminal key codes
        :set timeoutlen=100     " timeout after 100 msec
-This requires the key-codes to be sent within 100msec in order to recognize
+This requires the key-codes to be sent within 100 msec in order to recognize
 them as a cursor key.  When you type you normally are not that fast, so they
 are recognized as individual typed commands, even though Vim receives the same
 sequence of bytes.
@@ -583,8 +583,9 @@ Don't forget to enable the mouse with this commands: >
        :set mouse=a
 Otherwise Vim won't recognize the mouse in all modes (See 'mouse').
 
-Currently the mouse is supported for Unix in an xterm window, in a Linux
-console (with GPM |gpm-mouse|), for MS-DOS and in a Windows console.
+Currently the mouse is supported for Unix in an xterm window, in a *BSD
+console with |sysmouse|, in a Linux console (with GPM |gpm-mouse|), for
+MS-DOS and in a Windows console.
 Mouse clicks can be used to position the cursor, select an area and paste.
 
 These characters in the 'mouse' option tell in which situations the mouse will
@@ -788,6 +789,10 @@ In Insert mode, when a selection is started, Vim goes into Normal mode
 temporarily.  When Visual or Select mode ends, it returns to Insert mode.
 This is like using CTRL-O in Insert mode.  Select mode is used when the
 'selectmode' option contains "mouse".
+                                                       *sysmouse*
+The sysmouse is only supported when the |+mouse_sysmouse| feature was enabled
+at compile time.  The sysmouse driver (*BSD console) does not support keyboard
+modifiers.
 
                                                        *drag-status-line*
 When working with several windows, the size of the windows can be changed by
index 0a4d845eb9ee3575a00741b3719c8982f9961023..0bdcfa077c2a7b3d8f4d4ec4a96b1514f4f97548 100644 (file)
@@ -1,4 +1,4 @@
-*tips.txt*      For Vim version 7.1.  Last change: 2006 Jul 24
+*tips.txt*      For Vim version 7.2a.  Last change: 2006 Jul 24
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
index f996d0bd9a7cafd9e63fafc5f7fb08eef7c005b7..33d4e3178e89f8840e058d978b2c504292409101 100644 (file)
@@ -1,4 +1,4 @@
-*undo.txt*      For Vim version 7.1.  Last change: 2006 Apr 30
+*undo.txt*      For Vim version 7.2a.  Last change: 2006 Apr 30
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
index 28726fa745401b87ba7d40a0505e5780929f909c..168b089b3e70313304a2335f4e56b75b9a486932 100644 (file)
@@ -1,4 +1,4 @@
-*usr_10.txt*   For Vim version 7.1.  Last change: 2006 Nov 05
+*usr_10.txt*   For Vim version 7.2a.  Last change: 2006 Nov 05
 
                     VIM USER MANUAL - by Bram Moolenaar
 
index b68ab5e0be40578111c1e503170600f58c7b2976..3eabb6866310ba3a42548fa162204c0a05abeb51 100644 (file)
@@ -1,4 +1,4 @@
-*usr_21.txt*   For Vim version 7.1.  Last change: 2007 May 01
+*usr_21.txt*   For Vim version 7.2a.  Last change: 2007 May 01
 
                     VIM USER MANUAL - by Bram Moolenaar
 
index 4b638fc58177eb7a99e22a15668b179d2f52eb2e..35911bde5485ba8c7aae646f04bb11f7d05c21ff 100644 (file)
@@ -1,4 +1,4 @@
-*usr_24.txt*   For Vim version 7.1.  Last change: 2006 Jul 23
+*usr_24.txt*   For Vim version 7.2a.  Last change: 2006 Jul 23
 
                     VIM USER MANUAL - by Bram Moolenaar
 
index d6d5815671921d2d37cd534fde693337091daf19..6337871496e720676fcd03feee454ab71e9a189e 100644 (file)
@@ -1,4 +1,4 @@
-*usr_25.txt*   For Vim version 7.1.  Last change: 2007 May 11
+*usr_25.txt*   For Vim version 7.2a.  Last change: 2007 May 11
 
                     VIM USER MANUAL - by Bram Moolenaar
 
index baeeb371823a2550feda87933df7713eedbf8e3e..0c9f2c8cfb0d1d4afef6daa9bff46a39b6eaaac7 100644 (file)
@@ -1,4 +1,4 @@
-*usr_26.txt*   For Vim version 7.1.  Last change: 2006 Apr 24
+*usr_26.txt*   For Vim version 7.2a.  Last change: 2006 Apr 24
 
                     VIM USER MANUAL - by Bram Moolenaar
 
index 40ea33c648eea0b879a7c7532358c314cbac4462..a314256c19f06dd36b92ded697529dcdc6ce4800 100644 (file)
@@ -1,4 +1,4 @@
-*usr_29.txt*   For Vim version 7.1.  Last change: 2006 Apr 24
+*usr_29.txt*   For Vim version 7.2a.  Last change: 2007 Nov 10
 
                     VIM USER MANUAL - by Bram Moolenaar
 
@@ -384,7 +384,7 @@ pairs of {} at the same level.  "]}" jumps to the end.
 
 When writing C++ or Java, the outer {} block is for the class.  The next level
 of {} is for a method.  When somewhere inside a class use "[m" to find the
-previous start of a method.  "]m" finds the next end of a method.
+previous start of a method.  "]m" finds the next start of a method.
 
 Additionally, "[]" moves backward to the end of a function and "]]" moves
 forward to the start of the next function.  The end of a function is defined
@@ -497,7 +497,7 @@ use: >
 
        :set path+=/usr/local/X11
 
-When there are many subdirectories, you an use the "*" wildcard.  Example: >
+When there are many subdirectories, you can use the "*" wildcard.  Example: >
 
        :set path+=/usr/*/include
 
index 10794d5b432c2cabada40221aae4cdf02b264b62..941ab6895792d26123c4d427d994de4b6cc4b226 100644 (file)
@@ -1,4 +1,4 @@
-*usr_31.txt*   For Vim version 7.1.  Last change: 2007 May 08
+*usr_31.txt*   For Vim version 7.2a.  Last change: 2007 May 08
 
                     VIM USER MANUAL - by Bram Moolenaar
 
index 528e7b7382d23750d0cafd90fe95505e9837ec31..ed95a0d158e6e5b6957c1864e1add2a3e31e310b 100644 (file)
@@ -1,4 +1,4 @@
-*usr_32.txt*   For Vim version 7.1.  Last change: 2006 Apr 30
+*usr_32.txt*   For Vim version 7.2a.  Last change: 2006 Apr 30
 
                     VIM USER MANUAL - by Bram Moolenaar
 
index 29e856bbc6e83a479b8f947aabe0b4d90423e34c..d649aca99056ad0cbeef00d3975b0110a3a3a9d0 100644 (file)
@@ -1,4 +1,4 @@
-*usr_toc.txt*  For Vim version 7.1.  Last change: 2006 Apr 24
+*usr_toc.txt*  For Vim version 7.2a.  Last change: 2006 Apr 24
 
                     VIM USER MANUAL - by Bram Moolenaar
 
index 0aafae76d903bd254e62f4524e87f5ae6616a965..1f3699c1f844a597f6215ed8a6b7a28c8f0547ed 100644 (file)
@@ -1,4 +1,4 @@
-*version6.txt*  For Vim version 7.1.  Last change: 2007 May 11
+*version6.txt*  For Vim version 7.2a.  Last change: 2007 May 11
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
index 8bc4a80ced513c72361c0ab142e6c2b438f1e766..6399d23b526ec496b2ba76b2ed1b8f4e16210a59 100644 (file)
@@ -6,7 +6,7 @@ NAME
        vimtutor - the Vim tutor
 
 SYNOPSIS
-       vimtutor [language]
+       vimtutor [-g] [language]
 
 DESCRIPTION
        Vimtutor starts the Vim tutor.  It copies the tutor file first, so that
@@ -15,6 +15,10 @@ DESCRIPTION
        The Vimtutor is useful for people that want to learn  their  first  Vim
        commands.
 
+       The  optional argument -g starts vimtutor with gvim rather than vim, if
+       the GUI version of vim is available, or falls back to Vim  if  gvim  is
+       not found.
+
        The  optional [language] argument is the two-letter name of a language,
        like "it" or "es".  If the [language] argument is missing, the language
        of  the  current  locale  will be used.  If a tutor in this language is
index 48055b0ad5d3a7c272470aea00ccbf72e424ea2a..162205bcee22ab83711ac9749a69dd927e3f7800 100644 (file)
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:    C
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
-" Last Change: 2005 Sep 01
+" Last Change: 2007 Sep 25
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -34,6 +34,11 @@ if has("vms")
   setlocal iskeyword+=$
 endif
 
+" When the matchit plugin is loaded, this makes the % command skip parens and
+" braces in comments.
+let b:match_words = &matchpairs
+let b:match_skip = 's:comment\|string\|character'
+
 " Win32 can filter files in the browse dialog
 if has("gui_win32") && !exists("b:browsefilter")
   if &ft == "cpp"
index e9ec4d4282bcec8883c81dcc605c6456f071044f..924d35daedc990ece9091c46a8ef9a2093f35112 100644 (file)
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:         generic Changelog file
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2007-05-06
+" Latest Revision:  2007-05-21
 " Variables:
 "   g:changelog_timeformat (deprecated: use g:changelog_dateformat instead) -
 "       description: the timeformat used in ChangeLog entries.
@@ -131,7 +131,7 @@ if &filetype == 'changelog'
 
   " Regular expression used to find the end of a date entry
   if !exists('g:changelog_date_end_entry_search')
-    let g:changelog_date_entry_search = '^\s*$'
+    let g:changelog_date_end_entry_search = '^\s*$'
   endif
 
 
diff --git a/runtime/ftplugin/hostconf.vim b/runtime/ftplugin/hostconf.vim
new file mode 100644 (file)
index 0000000..86796eb
--- /dev/null
@@ -0,0 +1,18 @@
+" Vim filetype plugin file
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2007-09-18
+
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin = 1
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
+
+let s:cpo_save = &cpo
+set cpo&vim
index 3bc640f3f70d8c0caaccae88cde96b5925a3885f..297833f4fb71e49eff993a2d95503ee4646a5f64 100644 (file)
@@ -1,7 +1,7 @@
 " Vim filetype plugin file.
 " Language:    Lua 4.0+
 " Maintainer:  Max Ischenko <mfi@ukr.net>
-" Last Change: 2001 Sep 17
+" Last Change: 2008 Mar 25
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -16,7 +16,7 @@ let b:did_ftplugin = 1
 setlocal fo-=t fo+=croql
 
 setlocal com=:--
-setlocal cms="--%s"
+setlocal cms=--%s
 setlocal suffixesadd=.lua
 
 
diff --git a/runtime/ftplugin/pdf.vim b/runtime/ftplugin/pdf.vim
new file mode 100644 (file)
index 0000000..1ed9911
--- /dev/null
@@ -0,0 +1,89 @@
+" Vim filetype plugin file
+" Language:    PDF
+" Maintainer:  Tim Pope <vimNOSPAM@tpope.info>
+" Last Change: 2007 Dec 16
+
+if exists("b:did_ftplugin")
+    finish
+endif
+let b:did_ftplugin = 1
+
+setlocal commentstring=%%s
+setlocal comments=:%
+let b:undo_ftplugin = "setlocal cms< com< | unlet! b:match_words"
+
+if exists("g:loaded_matchit")
+    let b:match_words = '\<\%(\d\+\s\+\d\+\s\+\)obj\>:\<endobj\>,\<stream$:\<endstream\>,\<xref\>:\<trailer\>,<<:>>'
+endif
+
+if exists("g:no_plugin_maps") || exists("g:no_pdf_maps") || v:version < 700
+    finish
+endif
+
+if !exists("b:pdf_tagstack")
+    let b:pdf_tagstack = []
+endif
+
+let b:undo_ftplugin .= " | silent! nunmap <buffer> <C-]> | silent! nunmap <buffer> <C-T>"
+nnoremap <silent><buffer> <C-]> :call <SID>Tag()<CR>
+" Inline, so the error from an empty tag stack will be simple.
+nnoremap <silent><buffer> <C-T> :if len(b:pdf_tagstack) > 0 <Bar> call setpos('.',remove(b:pdf_tagstack, -1)) <Bar> else <Bar> exe "norm! \<Lt>C-T>" <Bar> endif<CR>
+
+function! s:Tag()
+    call add(b:pdf_tagstack,getpos('.'))
+    if getline('.') =~ '^\d\+$' && getline(line('.')-1) == 'startxref'
+       return s:dodigits(getline('.'))
+    elseif getline('.') =~ '/Prev\s\+\d\+\>\%(\s\+\d\)\@!' && expand("<cword>") =~ '^\d\+$'
+       return s:dodigits(expand("<cword>"))
+    elseif getline('.') =~ '^\d\{10\} \d\{5\} '
+       return s:dodigits(matchstr(getline('.'),'^\d\+'))
+    else
+       let line = getline(".")
+       let lastend = 0
+       let pat = '\<\d\+\s\+\d\+\s\+R\>'
+       while lastend >= 0
+           let beg = match(line,'\C'.pat,lastend)
+           let end = matchend(line,'\C'.pat,lastend)
+           if beg < col(".") && end >= col(".")
+               return s:doobject(matchstr(line,'\C'.pat,lastend))
+           endif
+           let lastend = end
+       endwhile
+       return s:notag()
+    endif
+endfunction
+
+function! s:doobject(string)
+    let first = matchstr(a:string,'^\s*\zs\d\+')
+    let second = matchstr(a:string,'^\s*\d\+\s\+\zs\d\+')
+    norm! m'
+    if first != '' && second != ''
+       let oldline = line('.')
+       let oldcol = col('.')
+       1
+       if !search('^\s*'.first.'\s\+'.second.'\s\+obj\>')
+           exe oldline
+           exe 'norm! '.oldcol.'|'
+           return s:notag()
+       endif
+    endif
+endfunction
+
+function! s:dodigits(digits)
+    let digits = 0 + substitute(a:digits,'^0*','','')
+    norm! m'
+    if digits <= 0
+       norm! 1go
+    else
+       " Go one character before the destination and advance.  This method
+       " lands us after a newline rather than before, if that is our target.
+       exe "goto ".(digits)."|norm! 1 "
+    endif
+endfunction
+
+function! s:notag()
+    silent! call remove(b:pdf_tagstack,-1)
+    echohl ErrorMsg
+    echo "E426: tag not found"
+    echohl NONE
+endfunction
index b3078005f99480f21df6b997edbe4661f90393a8..3f3e570b8ef69cef1d5747d1f78cbcc833046a57 100644 (file)
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:    Perl
 " Maintainer:  Dan Sharp <dwsharp at hotmail dot com>
-" Last Change:  2005 Dec 16
+" Last Change:  2007 Nov 30
 " URL:         http://mywebpage.netscape.com/sharppeople/vim/ftplugin
 
 if exists("b:did_ftplugin") | finish | endif
@@ -42,12 +42,16 @@ set isfname+=:
 " Set this once, globally.
 if !exists("perlpath")
     if executable("perl")
+      try
        if &shellxquote != '"'
            let perlpath = system('perl -e "print join(q/,/,@INC)"')
        else
            let perlpath = system("perl -e 'print join(q/,/,@INC)'")
        endif
        let perlpath = substitute(perlpath,',.$',',,','')
+      catch /E145:/
+       let perlpath = ".,,"
+      endtry
     else
        " If we can't call perl to get its path, just default to using the
        " current directory and the directory of the current file.
diff --git a/runtime/ftplugin/reva.vim b/runtime/ftplugin/reva.vim
new file mode 100644 (file)
index 0000000..05c8bc3
--- /dev/null
@@ -0,0 +1,25 @@
+" Vim ftplugin file
+" Language:    Reva Forth
+" Version:     7.1
+" Last Change: 2008/01/11
+" Maintainer:  Ron Aaron <ron@ronware.org>
+" URL:         http://ronware.org/reva/
+" Filetypes:   *.rf *.frt 
+" NOTE:        Forth allows any non-whitespace in a name, so you need to do:
+"              setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
+"
+"              This goes with the syntax/reva.vim file.
+
+" Only do this when not done yet for this buffer
+if exists("b:did_ftplugin")
+ finish
+endif
+
+" Don't load another plugin for this buffer
+let b:did_ftplugin = 1
+
+setlocal sts=4 sw=4 
+setlocal com=s1:/*,mb:*,ex:*/,:\|,:\\
+setlocal fo=tcrqol
+setlocal matchpairs+=\::;
+setlocal iskeyword=!,@,33-35,%,$,38-64,A-Z,91-96,a-z,123-126,128-255
index 694a6fd9c1506453f87d1589ccffaee6ba6dd5a4..1d4347a9a708f150186d7c2c1f1276689d65cb0e 100644 (file)
@@ -227,4 +227,4 @@ endfunction
 " differs on Windows.  Email gsinclair@soyabean.com.au if you need help.
 "
 
-" vim: nowrap sw=2 sts=2 ts=8 ff=unix:
+" vim: nowrap sw=2 sts=2 ts=8:
index 46184c688dfbf13890d11c855a3f780ba199b619..b54a8d87a2fd8042917c0b2d00a7fb9ca383bcf9 100644 (file)
@@ -1,11 +1,11 @@
 " =============================================================================
-"
+" 
 "   Program:   CMake - Cross-Platform Makefile Generator
 "   Module:    $RCSfile$
 "   Language:  VIM
 "   Date:      $Date$
 "   Version:   $Revision$
-"
+" 
 " =============================================================================
 
 " Vim indent file
@@ -65,8 +65,8 @@ fun! CMakeGetIndent(lnum)
                     \            ')\s*' .
                     \            '\(' . cmake_regex_comment . '\)\?$'
 
-  let cmake_indent_begin_regex = '^\s*\(IF\|MACRO\|FOREACH\|ELSE\|WHILE\)\s*('
-  let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\|ENDWHILE\)\s*('
+  let cmake_indent_begin_regex = '^\s*\(IF\|MACRO\|FOREACH\|ELSE\|ELSEIF\|WHILE\)\s*('
+  let cmake_indent_end_regex = '^\s*\(ENDIF\|ENDFOREACH\|ENDMACRO\|ELSE\|ELSEIF\|ENDWHILE\)\s*('
 
   " Add
   if previous_line =~? cmake_indent_comment_line " Handle comments
diff --git a/runtime/indent/dtrace.vim b/runtime/indent/dtrace.vim
new file mode 100644 (file)
index 0000000..e41d398
--- /dev/null
@@ -0,0 +1,17 @@
+" Vim indent file
+" Language: D script as described in "Solaris Dynamic Tracing Guide",
+"           http://docs.sun.com/app/docs/doc/817-6223
+" Last Change: 2008/03/20
+" Version: 1.2
+" Maintainer: Nicolas Weber <nicolasweber@gmx.de>
+
+" Only load this indent file when no other was loaded.
+if exists("b:did_indent")
+   finish
+endif
+let b:did_indent = 1
+
+" Built-in C indenting works nicely for dtrace.
+setlocal cindent
+
+let b:undo_indent = "setl cin<"
index f6d79566583b091c84dc96773672db876142dc63..0f2de567d4bf31ea8dc8c55b8991f08527c83a01 100644 (file)
@@ -370,4 +370,4 @@ endfunction
 let &cpo = s:cpo_save
 unlet s:cpo_save
 
-" vim:set sw=2 sts=2 ts=8 noet ff=unix:
+" vim:set sw=2 sts=2 ts=8 noet:
diff --git a/runtime/keymap/croatian_utf-8.vim b/runtime/keymap/croatian_utf-8.vim
new file mode 100644 (file)
index 0000000..11c005f
--- /dev/null
@@ -0,0 +1,68 @@
+" Vim Keymap file for Croatian characters, classical variant, UTF-8 encoding
+" 
+" Maintainer:   Paul B. Mahol <onemda@gmail.com>
+" Last Changed: 2007 Oct 14
+
+scriptencoding UTF-8
+
+let b:keymap_name = "croatian-UTF-8"
+" Uncomment line below if you prefer short name
+"let b:keymap_name = "hr-UTF-8"
+
+loadkeymap
+z      y
+Z      Y
+y      z
+Y      Z
+[      š
+{      Š
+]      đ
+}      Đ
+;      č
+:      Č
+\16'     ć
+\16"     Ć
+\16\     ž
+\16|     Ž
+@      \16"
+\16^     &
+\16&     \16/
+\16*     \16(
+\16(     \16)
+\16)     =
+_      \16?
++      *
+=      +
+-      \16'
+æ     [
+ç     ]
+â     {
+î     }
+\16<     ;
+\16>     :
+\16/     -
+\16?     _
+ö     @
+ñ     \16\
+÷     \16|
+å     €
+¬     \16<
+®     \16>
+±     ~
+²     ˇ
+³     ^
+´     ˘
+µ     °
+·     `
+¹     ´
+í     §
+Û     ÷
+Ü     ¤
+Ý     ×
+§     ß
+ì     ł
+Ì     Ł
+°     ˝
+`      ¸
+½     ¸
+­     ¨
diff --git a/runtime/lang/menu_eo.utf-8.vim b/runtime/lang/menu_eo.utf-8.vim
new file mode 100644 (file)
index 0000000..761ae0b
--- /dev/null
@@ -0,0 +1,457 @@
+" Menu Translations:   Esperanto
+" Maintainer:          Dominique PELLE <dominique.pelle@free.fr>
+" Last Change:         2008 Mar 01
+" 
+" Quit when menu translations have already been done.
+if exists("did_menu_trans")
+  finish
+endif
+let did_menu_trans = 1
+
+scriptencoding utf-8
+
+menutrans &Help                                &Helpo
+
+menutrans &Overview<Tab><F1>                   &Enhavtabelo<Tab><F1>
+menutrans &User\ Manual                                &Uzula\ manlibro
+menutrans &How-to\ links                       &Kiel\ fari
+menutrans &Find\.\.\.                          T&rovi\.\.\.
+" -sep1-
+menutrans &Credits                             &Dankoj
+menutrans Co&pying                             &Permisilo
+menutrans &Sponsor/Register                    &Subteni/Registriĝi
+menutrans O&rphans                             &Orfoj
+" -sep2-
+menutrans &Version                             &Versio
+menutrans &About                               Pri\ &Vim
+
+let g:menutrans_help_dialog = "Tajpu komandon aŭ serĉendan vorton en la helparo.\n\nAldonu i_ por la komandoj de la enmeta reĝimo (ekz: i_CTRL-X)\nAldonu c_ por redakto de la komanda linio (ekz: c_<Del>)\nĈirkaŭi la opciojn per apostrofoj (ekz: 'shiftwidth')"
+
+menutrans &File                                &Dosiero
+
+menutrans &Open\.\.\.<Tab>:e                   &Malfermi\.\.\.<Tab>:e
+menutrans Sp&lit-Open\.\.\.<Tab>:sp            Malfermi\ &divide\.\.\.<Tab>:sp
+menutrans Open\ Tab\.\.\.<Tab>:tabnew          Malfermi\ &langeton\.\.\.<Tab>:tabnew
+menutrans &New<Tab>:enew                       &Nova<Tab>:enew
+menutrans &Close<Tab>:close                    &Fermi<Tab>:close
+" -SEP1-
+menutrans &Save<Tab>:w                         &Konservi<Tab>:w
+menutrans Save\ &As\.\.\.<Tab>:sav             Konservi\ ki&el\.\.\.<Tab>:sav
+" -SEP2-
+menutrans Split\ &Diff\ with\.\.\.             Kom&pari\ divide\.\.\.
+menutrans Split\ Patched\ &By\.\.\.            &Testi\ flikaĵon\.\.\.
+" -SEP3-
+menutrans &Print                               &Presi
+" -SEP4-
+menutrans Sa&ve-Exit<Tab>:wqa                  Konservi\ kaj\ eli&ri<Tab>:wqa
+menutrans E&xit<Tab>:qa                                &Eliri<Tab>:qa
+
+
+menutrans &Edit                                &Redakti
+
+menutrans &Undo<Tab>u                          &Malfari<Tab>u
+menutrans &Redo<Tab>^R                         Re&fari<Tab>^R
+menutrans Rep&eat<Tab>\.                       R&ipeti<Tab>\.
+" -SEP1-
+menutrans Cu&t<Tab>"+x                         &Tondi<Tab>"+x
+menutrans &Copy<Tab>"+y                                &Kopii<Tab>"+y
+menutrans &Paste<Tab>"+gP                      Al&glui<Tab>"+gP
+menutrans Put\ &Before<Tab>[p                  Enmeti\ &antaŭ<Tab>[p
+menutrans Put\ &After<Tab>]p                   Enmeti\ ma&lantaŭ<Tab>]p
+menutrans &Delete<Tab>x                                &Forviŝi<Tab>x
+menutrans &Select\ All<Tab>ggVG                        A&partigi\ ĉion<Tab>ggVG
+" -SEP2-
+menutrans &Find\.\.\.                          &Trovi\.\.\.
+menutrans Find\ and\ Rep&lace\.\.\.            Trovi\ kaj\ a&nstataŭigi\.\.\.
+menutrans &Find<Tab>/                          &Trovi<Tab>/
+menutrans Find\ and\ Rep&lace<Tab>:%s          Trovi\ kaj\ ansta&taŭigi<Tab>:%s
+menutrans Find\ and\ Rep&lace<Tab>:s           Trovi\ kaj\ ansta&taŭigi<Tab>:s
+" -SEP3-
+menutrans Settings\ &Window                    Fenestro\ de\ a&gordoj
+menutrans Startup\ &Settings                   Agordoj\ de\ prav&aloroj
+menutrans &Global\ Settings                    Mallo&kaj\ agordoj
+
+menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls!   Baskuli\ emfazon\ de\ ŝa&blono<Tab>:set\ hls!
+menutrans Toggle\ &Ignore-case<Tab>:set\ ic!           Baskuli\ kongruon\ de\ uskle&co<Tab>:set\ ic!
+menutrans Toggle\ &Showmatch<Tab>:set\ sm!             Baskuli\ kongruon\ de\ kram&poj<Tab>:set\ sm!
+
+menutrans &Context\ lines                              Linioj\ de\ &kunteksto
+
+menutrans &Virtual\ Edit                               &Virtuala\ redakto
+menutrans Never                                                        &Neniam
+menutrans Block\ Selection                                     &Bloka\ apartigo
+menutrans Insert\ mode                                         &Enmeta\ reĝimo
+menutrans Block\ and\ Insert                                   Blo&ko\ kaj\ enmeto
+menutrans Always                                               Ĉia&m
+
+menutrans Toggle\ Insert\ &Mode<Tab>:set\ im!          Baskuli\ &enmetan\ reĝimon<Tab>:set\ im!
+menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp!                Baskuli\ kongruon\ kun\ &Vi<Tab>:set\ cp!
+menutrans Search\ &Path\.\.\.                          &Serĉvojo\ de\ dosieroj\.\.\.
+menutrans Ta&g\ Files\.\.\.                            Dosiero\ de\ etike&doj\.\.\.
+" -SEP1-
+menutrans Toggle\ &Toolbar                             Baskuli\ &ilobreton
+menutrans Toggle\ &Bottom\ Scrollbar                   Baskuli\ su&ban\ rulumskalon
+menutrans Toggle\ &Left\ Scrollbar                     Baskuli\ &maldekstran\ rulumskalon
+menutrans Toggle\ &Right\ Scrollbar                    Baskuli\ &dekstran\ rulumskalon
+
+let g:menutrans_path_dialog = "Tajpu la vojon de serĉo de dosieroj.\nDisigu la dosierujojn per komoj."
+let g:menutrans_tags_dialog = "Tajpu la nomojn de dosieroj de etikedoj.\nDisigu la nomojn per komoj."
+
+menutrans F&ile\ Settings                      A&gordoj\ de\ dosiero
+
+menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu!       Baskuli\ &numerojn\ de\ linioj<Tab>:set\ nu!
+menutrans Toggle\ &List\ Mode<Tab>:set\ list!          Baskuli\ &listan\ reĝimon<Tab>:set\ list!
+menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap!          Baskuli\ linifal&don<Tab>:set\ wrap!
+menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr!       Baskuli\ &vortofaldon<Tab>:set\ lbr!
+menutrans Toggle\ &expand-tab<Tab>:set\ et!            Baskuli\ ekspansio\ de\ &taboj<Tab>:set\ et!
+menutrans Toggle\ &auto-indent<Tab>:set\ ai!           Baskuli\ &aŭtokrommarĝenon<Tab>:set\ ai!
+menutrans Toggle\ &C-indenting<Tab>:set\ cin!          Baskuli\ &C-krommarĝenon<Tab>:set\ cin!
+" -SEP2-
+menutrans &Shiftwidth                                  &Larĝo\ de\ krommarĝeno
+menutrans Soft\ &Tabstop                               &Malm&olaj\ taboj
+menutrans Te&xt\ Width\.\.\.                           Larĝo\ de\ te&ksto\.\.\.
+menutrans &File\ Format\.\.\.                          &Formato\ de\ &dosiero\.\.\.
+
+let g:menutrans_textwidth_dialog = "Tajpu la novan larĝon de teksto\n(0 por malŝalti formatigon)."
+let g:menutrans_fileformat_dialog = "Elektu la formaton de la skribonta dosiero."
+let g:menutrans_fileformat_choices = " &Unikso \n &Dos \n &Mak \n &Rezigni "
+
+menutrans C&olor\ Scheme                       &Koloraro
+menutrans &Keymap                              Klavo&mapo
+menutrans None                                 (nenio)
+menutrans Select\ Fo&nt\.\.\.                  Elekti\ &tiparon\.\.\.
+
+
+menutrans &Tools                               &Iloj
+
+menutrans &Jump\ to\ this\ tag<Tab>g^]         &Aliri\ al\ tiu\ etikedo<Tab>g^]
+menutrans Jump\ &back<Tab>^T                   &Retroiri<Tab>^T
+menutrans Build\ &Tags\ File                   Krei\ &etikedan\ dosieron
+
+" -SEP1-
+menutrans &Spelling                            &Literumilo
+menutrans &Spell\ Check\ On                    Ŝal&ti\ literumilon
+menutrans Spell\ Check\ &Off                   &Malŝalti\ literumilon
+menutrans To\ &Next\ error<Tab>]s              Al\ sek&vonta\ eraro<Tab>]s
+menutrans To\ &Previous\ error<Tab>[s          Al\ an&taŭa\ eraro<Tab>[s
+menutrans Suggest\ &Corrections<Tab>z=         &Sugesti\ korektojn<Tab>z=
+menutrans &Repeat\ correction<Tab>:spellrepall R&ipeti\ korekton<Tab>:spellrepall
+  
+menutrans Set\ language\ to\ "en"              Angla
+menutrans Set\ language\ to\ "en_au"           Angla\ (Aŭstralio)
+menutrans Set\ language\ to\ "en_ca"           Angla\ (Kanado)
+menutrans Set\ language\ to\ "en_gb"           Angla\ (Britio)
+menutrans Set\ language\ to\ "en_nz"           Angla\ (Novzelando)
+menutrans Set\ language\ to\ "en_us"           Angla\ (Usono)
+
+menutrans &Find\ More\ Languages               &Trovi\ pli\ da\ lingvoj
+
+
+menutrans &Folding                             &Faldo
+
+menutrans &Enable/Disable\ folds<Tab>zi                        &Baskuli\ faldojn<Tab>zi
+menutrans &View\ Cursor\ Line<Tab>zv                   &Vidi\ linion\ de\ kursoro<Tab>zv
+menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx           Vidi\ nur\ &kursoran\ linion<Tab>zMzx
+menutrans C&lose\ more\ folds<Tab>zm                   F&ermi\ pli\ da\ faldoj<Tab>zm
+menutrans &Close\ all\ folds<Tab>zM                    Fermi\ ĉiu&jn\ faldojn<Tab>zM
+menutrans O&pen\ more\ folds<Tab>zr                    &Malfermi\ pli\ da\ faldoj<Tab>zr
+menutrans &Open\ all\ folds<Tab>zR                     Malfermi\ ĉiuj&n\ faldojn<Tab>zR
+" -SEP1-
+menutrans Fold\ Met&hod                                        &Metodo\ de\ faldo
+
+menutrans M&anual                                              &Permana\ metodo
+menutrans I&ndent                                              &Krommarĝeno
+menutrans E&xpression                                          &Esprimo
+menutrans S&yntax                                              &Sintakso
+menutrans &Diff                                                        &Komparo
+menutrans Ma&rker                                              Ma&rko
+
+menutrans Create\ &Fold<Tab>zf                         &Krei\ faldon<Tab>zf
+menutrans &Delete\ Fold<Tab>zd                         Forv&iŝi\ faldon<Tab>zd
+menutrans Delete\ &All\ Folds<Tab>zD                   Forviŝi\ ĉiu&jn\ faldojn<Tab>zD
+" -SEP2-
+menutrans Fold\ col&umn\ width                         &Larĝo\ de\ falda\ kolumno
+
+menutrans &Diff                                        Kom&pari
+
+menutrans &Update                                      Ĝis&datigi
+menutrans &Get\ Block                                  &Akiri\ blokon
+menutrans &Put\ Block                                  Enme&ti\ blokon
+
+" -SEP2-
+menutrans &Make<Tab>:make                      Lanĉi\ ma&ke<Tab>:make
+menutrans &List\ Errors<Tab>:cl                        Listigi\ &erarojn<Tab>:cl
+menutrans L&ist\ Messages<Tab>:cl!             Listigi\ &mesaĝojn<Tab>:cl!
+menutrans &Next\ Error<Tab>:cn                 Sek&vanta\ eraro<Tab>:cn
+menutrans &Previous\ Error<Tab>:cp             An&taŭa\ eraro<Tab>:cp
+menutrans &Older\ List<Tab>:cold               Pli\ ma&lnova\ listo<Tab>:cold
+menutrans N&ewer\ List<Tab>:cnew               Pli\ nova\ listo<Tab>:cnew
+
+menutrans Error\ &Window                       &Fenestro\ de\ eraroj
+
+menutrans &Update<Tab>:cwin                            Ĝis&datigi<Tab>:cwin
+menutrans &Open<Tab>:copen                             &Malfermi<Tab>:copen
+menutrans &Close<Tab>:cclose                           &Fermi<Tab>:cclose
+
+" -SEP3-
+menutrans &Convert\ to\ HEX<Tab>:%!xxd         Konverti\ al\ deksesuma<Tab>:%!xxd
+menutrans Conve&rt\ back<Tab>:%!xxd\ -r                Retrokonverti<Tab>:%!xxd\ -r
+
+menutrans Se&T\ Compiler                       &Elekti\ kompililon
+
+
+menutrans &Buffers                     &Bufroj
+
+menutrans Dummy                                        Fikcia
+menutrans &Refresh\ menu                       Ĝis&datigi\ menuon
+menutrans &Delete                              &Forviŝi
+menutrans &Alternate                           &Alterni
+menutrans &Next                                        &Sekvanta
+menutrans &Previous                            An&taŭa
+" -SEP-
+
+menutrans &others                              a&liaj
+menutrans &u-z                                 &u-z
+let g:menutrans_no_file = "[Neniu dosiero]"
+
+
+menutrans &Window                      Fene&stro
+
+menutrans &New<Tab>^Wn                         &Nova<Tab>^Wn
+menutrans S&plit<Tab>^Ws                       Di&vidi<Tab>^Ws
+menutrans Sp&lit\ To\ #<Tab>^W^^               Dividi\ &al\ #<Tab>^W^^
+menutrans Split\ &Vertically<Tab>^Wv           Dividi\ &vertikale<Tab>^Wv
+menutrans Split\ File\ E&xplorer               Dividi\ &dosierfoliumilo
+" -SEP1-
+menutrans &Close<Tab>^Wc                       &Fermi<Tab>^Wc
+menutrans Close\ &Other(s)<Tab>^Wo             Fermi\ &aliajn<Tab>^Wo
+" -SEP2-
+menutrans Move\ &To                            &Movu\ al
+
+menutrans &Top<Tab>^WK                                 Su&pro<Tab>^WK
+menutrans &Bottom<Tab>^WJ                              Su&bo<Tab>^WJ
+menutrans &Left\ side<Tab>^WH                          Maldekstra\ &flanko<Tab>^WH
+menutrans &Right\ side<Tab>^WL                         Dekstra\ f&lanko<Tab>^WL
+
+menutrans Rotate\ &Up<Tab>^WR                  Rota&cii\ supre<Tab>^WR
+menutrans Rotate\ &Down<Tab>^Wr                        Rotac&ii\ sube<Tab>^Wr
+" -SEP3-
+menutrans &Equal\ Size<Tab>^W=                 &Egala\ grando<Tab>^W=
+menutrans &Max\ Height<Tab>^W_                 Ma&ksimuma\ alto<Tab>^W_
+menutrans M&in\ Height<Tab>^W1_                        Mi&nimuma\ alto<Tab>^W1_
+menutrans Max\ &Width<Tab>^W\|                 Maksimuma\ &larĝo<Tab>^W\|
+menutrans Min\ Widt&h<Tab>^W1\|                        Minimuma\ lar&ĝo<Tab>^W1\|
+
+
+" PopUp
+
+menutrans &Undo                                        &Malfari
+" -SEP1-
+menutrans Cu&t                                 &Tondi
+menutrans &Copy                                        &Kopii
+menutrans &Paste                               &Al&glui
+" &Buffers.&Delete overwrites this one
+menutrans &Delete                              &Forviŝi
+" -SEP2-
+menutrans Select\ Blockwise                    Apartigi\ &bloke
+menutrans Select\ &Word                                Apartigi\ &vorton
+menutrans Select\ &Line                                Apartigi\ &linion
+menutrans Select\ &Block                       Apartigi\ blo&kon
+menutrans Select\ &All                         Apartigi\ ĉi&on
+
+
+" ToolBar
+
+menutrans Open                                 Malfermi
+menutrans Save                                 Konservi
+menutrans SaveAll                              Konservi\ ĉion
+menutrans Print                                        Presi
+" -sep1-
+menutrans Undo                                 Rezigni
+menutrans Redo                                 Refari
+" -sep2-
+menutrans Cut                                  Tondi
+menutrans Copy                                 Kopii
+menutrans Paste                                        Alglui
+" -sep3-
+menutrans Find                                 Trovi
+menutrans FindNext                             Trovi\ sekvanten
+menutrans FindPrev                             Trovi\ antaŭen
+menutrans Replace                              Anstataŭigi
+" -sep4-
+menutrans New                                  Nova
+menutrans WinSplit                             DividFen
+menutrans WinMax                               MaksFen
+menutrans WinMin                               MinFen
+menutrans WinVSplit                            VDividFen
+menutrans WinMaxWidth                          MaksLarĝFen
+menutrans WinMinWidth                          MinLarĝFen
+menutrans WinClose                             FermFen
+" -sep5-
+menutrans LoadSesn                             ŜargSeanc
+menutrans SaveSesn                             KonsSeanc
+menutrans RunScript                            LanĉSkript
+" -sep6-
+menutrans Make                                 Make
+menutrans RunCtags                             KreiEtik
+menutrans TagJump                              IriAlEtik
+" -sep7-
+menutrans Help                                 Helpo
+menutrans FindHelp                             SerĉHelp
+
+fun! Do_toolbar_tmenu()
+  let did_toolbar_tmenu = 1
+  tmenu ToolBar.Open                           Malfermi dosieron
+  tmenu ToolBar.Save                           Konservi aktualan dosieron
+  tmenu ToolBar.SaveAll                                Konservi ĉiujn dosierojn
+  tmenu ToolBar.Print                          Presi
+  tmenu ToolBar.Undo                           Rezigni
+  tmenu ToolBar.Redo                           Refari
+  tmenu ToolBar.Cut                            Tondi
+  tmenu ToolBar.Copy                           Kopii
+  tmenu ToolBar.Paste                          Alglui
+  if !has("gui_athena")
+    tmenu ToolBar.Find                         Trovi
+    tmenu ToolBar.FindNext                     Trovi sekvanten
+    tmenu ToolBar.FindPrev                     Trovi antaŭen
+    tmenu ToolBar.Replace                      Anstataŭigi
+  endif
+ if 0  " disabled; These are in the Windows menu
+  tmenu ToolBar.New                            Nova fenestro
+  tmenu ToolBar.WinSplit                       Dividi fenestron
+  tmenu ToolBar.WinMax                         Maksimumi fenestron
+  tmenu ToolBar.WinMin                         Minimumi fenestron
+  tmenu ToolBar.WinVSplit                      Dividi vertikale
+  tmenu ToolBar.WinMaxWidth                    Maksimumi larĝon de fenestro
+  tmenu ToolBar.WinMinWidth                    Minimumi larĝon de fenestro
+  tmenu ToolBar.WinClose                       Fermi fenestron
+ endif
+  tmenu ToolBar.LoadSesn                       Malfermi seancon
+  tmenu ToolBar.SaveSesn                       Konservi aktualan seancon
+  tmenu ToolBar.RunScript                      Ruli skripton Vim
+  tmenu ToolBar.Make                           Lanĉi make
+  tmenu ToolBar.RunCtags                       Krei etikedojn
+  tmenu ToolBar.TagJump                                Atingi tiun etikedon
+  tmenu ToolBar.Help                           Helpo de Vim
+  tmenu ToolBar.FindHelp                       Serĉo en helparo
+endfun
+
+
+menutrans &Syntax                      &Sintakso
+
+menutrans &Off                                 &Malŝalti
+menutrans &Manual                              &Permana
+menutrans A&utomatic                           &Aŭtomata
+menutrans on/off\ for\ &This\ file             Ŝalti/Malŝalti\ por\ &tiu\ dosiero
+
+" The Start Of The Syntax Menu
+menutrans ABC\ music\ notation         ABC\ (muzika\ notacio)
+menutrans AceDB\ model                 Modelo\ AceDB
+menutrans Apache\ config               Konfiguro\ de\ Apache
+menutrans Apache-style\ config         Konfiguro\ de\ stilo\ Apache
+menutrans ASP\ with\ VBScript          ASP\ kun\ VBScript
+menutrans ASP\ with\ Perl              ASP\ kun\ Perl
+menutrans Assembly                     Asemblilo
+menutrans BC\ calculator               Kalkulilo\ BC
+menutrans BDF\ font                    Tiparo\ BDF
+menutrans BIND\ config                 Konfiguro\ de\ BIND
+menutrans BIND\ zone                   Zone\ BIND
+menutrans Cascading\ Style\ Sheets     CSS
+menutrans Cfg\ Config\ file            Konfigura\ dosiero\ \.cfg
+menutrans Cheetah\ template            Ŝablono\ Cheetah
+menutrans commit\ file                 Dosiero\ commit
+menutrans Generic\ Config\ file                Dosiero\ de\ ĝenerala\ konfiguro
+menutrans Digital\ Command\ Lang       DCL
+menutrans DNS/BIND\ zone               Regiono\ BIND/DNS
+menutrans Dylan\ interface             Interfaco\ Dylan
+menutrans Dylan\ lid                   Dylan\ lid
+menutrans Elm\ filter\ rules           Reguloj\ de\ filtrado\ Elm
+menutrans ERicsson\ LANGuage           Erlang\ (Lingvo\ de\ Ericsson)
+menutrans Essbase\ script              Skripto\ Essbase
+menutrans Eterm\ config                        Konfiguro\ de\ Eterm
+menutrans Exim\ conf                   Konfiguro\ de\ Exim
+menutrans Fvwm\ configuration          Konfiguro\ de\ Fvwm
+menutrans Fvwm2\ configuration         Konfiguro\ de\ Fvwm2
+menutrans Fvwm2\ configuration\ with\ M4       Konfiguro\ de\ Fvwm2\ kun\ M4
+menutrans GDB\ command\ file           Komanda\ dosiero\ de\ GDB
+menutrans HTML\ with\ M4               HTML\ kun\ M4
+menutrans Cheetah\ HTML\ template      Ŝablono\ Cheetah\ HTML
+menutrans IDL\Generic\ IDL             Ĝenerala\ IDL\IDL
+menutrans IDL\Microsoft\ IDL           IDL\IDL\ Mikrosofto
+menutrans Indent\ profile              Profilo\ Indent
+menutrans Inno\ setup                  Konfiguro\ de\ Inno
+menutrans InstallShield\ script                Skripto\ InstallShield
+menutrans KDE\ script                  Skripto\ KDE
+menutrans LFTP\ config                 Konfiguro\ de\ LFTP
+menutrans LifeLines\ script            Skripto\ LifeLines
+menutrans Lynx\ Style                  Stilo\ de\ Lynx
+menutrans Lynx\ config                 Konfiguro\ de\ Lynx
+menutrans Man\ page                    Manlibra\ paĝo
+menutrans MEL\ (for\ Maya)             MEL\ (por\ Maya)
+menutrans 4DOS\ \.bat\ file            Dosiero\ \.bat\ 4DOS
+menutrans \.bat\/\.cmd\ file           Dosiero\ \.bat\/\.cmd
+menutrans \.ini\ file                  Dosiero\ \.ini
+menutrans Module\ Definition           Difino\ de\ modulo
+menutrans Registry                     Registraro
+menutrans Resource\ file               Dosiero\ de\ rimedoj
+menutrans Novell\ NCF\ batch           Staplo\ Novell\ NCF
+menutrans NSIS\ script                 Skripto\ NSIS
+menutrans Oracle\ config               Konfiguro\ de\ Oracle
+menutrans Palm\ resource\ compiler     Tradukilo\ de\ rimedoj\ Palm
+menutrans PHP\ 3-4                     PHP\ 3\ et\ 4
+menutrans Postfix\ main\ config                Ĉefa\ konfiguro\ de\ Postfix
+menutrans Povray\ scene\ descr         Scenejo\ Povray
+menutrans Povray\ configuration                Konfiguro\ de\ Povray
+menutrans Purify\ log                  Protokolo\ de\ Purify
+menutrans Readline\ config             Konfiguro\ de\ Readline
+menutrans RCS\ log\ output             Protokola\ eligo\ de\ RCS
+menutrans RCS\ file                    Dosiero\ RCS
+menutrans RockLinux\ package\ desc\.   Priskribo\ de\ pakaĵoj\ RockLinux
+menutrans Samba\ config                        Konfiguro\ de\ Samba
+menutrans SGML\ catalog                        Katalogo\ SGML
+menutrans SGML\ DTD                    DTD\ SGML
+menutrans SGML\ Declaration            Deklaracio\ SGML
+menutrans Shell\ script                        Skripto-ŝelo
+menutrans sh\ and\ ksh                 sh\ kaj\ ksh
+menutrans Sinda\ compare               Komparo\ Sinda
+menutrans Sinda\ input                 Enigo\ Sinda
+menutrans Sinda\ output                        Eligo\ Sinda
+menutrans SKILL\ for\ Diva             SKILL\ por\ Diva
+menutrans Smarty\ Templates            Ŝablono\ Smarty
+menutrans SNNS\ network                        Reto\ SNNS
+menutrans SNNS\ pattern                        Ŝablono\ SNNS
+menutrans SNNS\ result                 Rezulto\ SNNS
+menutrans Snort\ Configuration         Konfiguro\ de\ Snort
+menutrans Squid\ config                        Konfiguro\ de\ Squid
+menutrans Subversion\ commit           Commit\ Subversion
+menutrans TAK\ compare                 Komparo\ TAK
+menutrans TAK\ input                   Enigo\ TAK
+menutrans TAK\ output                  Eligo\ TAK
+menutrans TeX\ configuration           Konfiguro\ de\ TeX
+menutrans TF\ mud\ client              TF\ (client\ MUD)
+menutrans Tidy\ configuration          Konfiguro\ de\ Tidy
+menutrans Trasys\ input                        Enigo\ Trasys
+menutrans Command\ Line                        Komanda\ linio
+menutrans Geometry                     Geometrio
+menutrans Optics                       Optiko
+menutrans Vim\ help\ file              Helpa\ dosiero\ de\ Vim
+menutrans Vim\ script                  Skripto\ Vim
+menutrans Viminfo\ file                        Dosiero\ Viminfo
+menutrans Virata\ config               Konfiguro\ de\ Virata
+menutrans Wget\ config                 Konfiguro\ de\ wget
+menutrans Whitespace\ (add)            Spacetoj
+menutrans WildPackets\ EtherPeek\ Decoder      Malkodilo\ WildPackets\ EtherPeek
+menutrans X\ resources                 Rimedoj\ X
+menutrans XXD\ hex\ dump               Eligo\ deksesuma\.\ de\ xxd
+menutrans XFree86\ Config              Konfiguro\ de\ XFree86
+" The End Of The Syntax Menu
+
+menutrans &Show\ filetypes\ in\ menu           &Montri\ dosiertipojn\ en\ menuo
+" -SEP1-
+menutrans Set\ '&syntax'\ only                 Ŝalti\ nur\ '&syntax'
+menutrans Set\ '&filetype'\ too                        Ŝalti\ ankaŭ\ '&filetype'
+menutrans &Off                                 M&alŝaltita
+" -SEP3-
+menutrans Co&lor\ test                         Testo\ de\ &koloroj
+menutrans &Highlight\ test                     Testo\ de\ &emfazo
+menutrans &Convert\ to\ HTML                   Konverti\ al\ &HTML
diff --git a/runtime/lang/menu_eo_xx.utf-8.vim b/runtime/lang/menu_eo_xx.utf-8.vim
new file mode 100644 (file)
index 0000000..7a2b9ee
--- /dev/null
@@ -0,0 +1,3 @@
+" Menu Translations:   Esperanto for UTF-8 encoding
+
+source <sfile>:p:h/menu_eo.utf-8.vim
diff --git a/runtime/lang/menu_fi.utf-8.vim b/runtime/lang/menu_fi.utf-8.vim
new file mode 100644 (file)
index 0000000..b33639c
--- /dev/null
@@ -0,0 +1,3 @@
+" Menu Translations:   Finnish for UTF-8 encoding
+
+source <sfile>:p:h/menu_fi_fi.latin1.vim
diff --git a/runtime/lang/menu_finnish_finland.1252.vim b/runtime/lang/menu_finnish_finland.1252.vim
new file mode 100644 (file)
index 0000000..ad62e03
--- /dev/null
@@ -0,0 +1,3 @@
+" Menu Translations:   Finnish for Windows CodePage 1252 encoding
+
+source <sfile>:p:h/menu_fi_fi.latin1.vim
index 57373fe5ebf27cc1ab078e2244353037a073c61f..8a3a96e2602c30bf2bcd19e9974571c145de98c6 100644 (file)
@@ -4,7 +4,7 @@ For instructions on installing this file, type
        :help matchit-install
 inside Vim.
 
-For Vim version 6.3.  Last change:  2006 Feb 23
+For Vim version 6.3.  Last change:  2007 Aug 29
 
 
                  VIM REFERENCE MANUAL    by Benji Fisher
@@ -34,7 +34,7 @@ in your |vimrc| file: >
 
                                                        *g%* *v_g%* *o_g%*
 g%     Cycle backwards through matching groups, as specified by
-       |b:match_words|.  For example, go from "endif" to "else" to "if".
+       |b:match_words|.  For example, go from "if" to "endif" to "else".
 
                                                        *[%* *v_[%* *o_[%*
 [%     Go to [count] previous unmatched group, as specified by
@@ -64,9 +64,9 @@ option.  The matchit plugin extends this in several ways:
            By default, words inside comments and strings are ignored, unless
        the cursor is inside a comment or string when you type "%".  If the
        only thing you want to do is modify the behavior of "%" so that it
-       behaves this way, you can >
-               :let b:match_words = &matchpairs
-<
+       behaves this way, you do not have to define |b:match_words|, since the
+       script uses the 'matchpairs' option as well as this variable.
+
 See |matchit-details| for details on what the script does, and |b:match_words|
 for how to specify matching patterns.
 
@@ -84,7 +84,7 @@ LANGUAGES:                                    *matchit-languages*
 Currently, the following languages are supported:  Ada, ASP with VBS, Csh,
 DTD, Entity, Essbase, Fortran, HTML, JSP (same as HTML), LaTeX, Lua, Pascal,
 SGML, Shell, Tcsh, Vim, XML.  Other languages may already have support via
-|filetype-plugin|s.
+the default |filetype-plugin|s in the standard vim distribution.
 
 To support a new language, see |matchit-newlang| below.
 
@@ -109,7 +109,6 @@ The script follows these rules:
        Prefer a match that includes the cursor position (that is, one that
                starts on or before the cursor).
        Prefer a match that starts as close to the cursor as possible.
-       Prefer a match in |b:match_words| to a match in 'matchpairs'.
        If more than one pattern in |b:match_words| matches, choose the one
                that is listed first.
 
@@ -131,9 +130,10 @@ Examples:
        cursor starts on the "end " then "end if" is chosen.  (You can avoid
        this problem by using a more complicated pattern.)
 
-If there is no match, the script falls back on the usual behavior of |%|.  If
-debugging is turned on, the matched bit of text is saved as |b:match_match|
-and the cursor column of the start of the match is saved as |b:match_col|.
+If there is no match, the cursor does not move.  (Before version 1.13 of the
+script, it would fall back on the usual behavior of |%|).  If debugging is
+turned on, the matched bit of text is saved as |b:match_match| and the cursor
+column of the start of the match is saved as |b:match_col|.
 
 Next, the script looks through |b:match_words| (original and parsed versions)
 for the group and pattern that match.  If debugging is turned on, the group is
@@ -160,11 +160,13 @@ or >
        :runtime macros/matchit.vim
 Either way, the script should start working the next time you start up Vim.
 
-The script does nothing unless it finds a |buffer-variable| named
-|b:match_words|.  The script contains autocommands that set this variable for
-various file types:  see |matchit-languages| above.  For a new language, you
-can add autocommands to the script or to your vimrc file, but the recommended
-method is to add a line such as >
+(Earlier versions of the script did nothing unless a |buffer-variable| named
+|b:match_words| was defined.  Even earlier versions contained autocommands
+that set this variable for various file types.  Now, |b:match_words| is
+defined in many of the default |filetype-plugin|s instead.)
+
+For a new language, you can add autocommands to the script or to your vimrc
+file, but the recommended method is to add a line such as >
        let b:match_words = '\<foo\>:\<bar\>'
 to the |filetype-plugin| for your language.  See |b:match_words| below for how
 this variable is interpreted.
index 8f443272f03f90e52120675470b72ce153b27550..bd4016615e30794d13dd76e7ee441a9dc00728e5 100644 (file)
@@ -1,6 +1,6 @@
 " Vim syntax support file
 " Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2007 Mar 10
+" Last Change: 2007 Aug 31
 "             (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>)
 "             (XHTML support by Panagiotis Issaris <takis@lumumba.luc.ac.be>)
 "             (made w3 compliant by Edd Barrett <vext01@gmail.com>)
@@ -162,9 +162,9 @@ else
     let s:html_encoding = 'iso-8859-1'
   elseif s:vim_encoding =~ "^cp12"
     let s:html_encoding = substitute(s:vim_encoding, 'cp', 'windows-', '')
-  elseif s:vim_encoding == 'sjis'
+  elseif s:vim_encoding == 'sjis' || s:vim_encoding == 'cp932'
     let s:html_encoding = 'Shift_JIS'
-  elseif s:vim_encoding == 'big5'
+  elseif s:vim_encoding == 'big5' || s:vim_encoding == 'cp950'
     let s:html_encoding = "Big5"
   elseif s:vim_encoding == 'euc-cn'
     let s:html_encoding = 'GB_2312-80'
index 377eba98fe48f435a2ed46bf5a681115fff69520..58de7aaf13ae043b8bac8cbdc7d7acfa53f6b018 100644 (file)
@@ -1,7 +1,7 @@
 " Vim script for testing colors
 " Maintainer:  Bram Moolenaar <Bram@vim.org>
 " Contributors:        Rafael Garcia-Suarez, Charles Campbell
-" Last Change: 2006 Feb 20
+" Last Change: 2008 Jun 04
 
 " edit this file, then do ":source %", and check if the colors match
 
 " Open this file in a window if it isn't edited yet.
 " Use the current window if it's empty.
 if expand('%:p') != expand('<sfile>:p')
+  let s:fname = expand('<sfile>')
+  if exists('*fnameescape')
+    let s:fname = fnameescape(s:fname)
+  else
+    let s:fname = escape(s:fname, ' \|')
+  endif
   if &mod || line('$') != 1 || getline(1) != ''
-    exe "new " . expand('<sfile>')
+    exe "new " . s:fname
   else
-    exe "edit " . expand('<sfile>')
+    exe "edit " . s:fname
   endif
+  unlet s:fname
 endif
 
 syn clear
index a360022b2e5d32436f373a076a91f55c69eee214..48518d7416779bacd5f4f5fb3a6a8fd6338cc804 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    Microsoft Module-Definition (.def) File
-" Maintainer:  Rob Brady <robb@datatone.com>
+" Orig Author: Rob Brady <robb@datatone.com>
+" Maintainer:  Wu Yongwei <wuyongwei@gmail.com>
 " Last Change: $Date$
-" URL: http://www.datatone.com/~robb/vim/syntax/def.vim
 " $Revision$
 
 " For version 5.x: Clear all syntax items
@@ -23,7 +23,7 @@ syn keyword defKeyword        HEAPSIZE DATA
 syn keyword defStorage LOADONCALL MOVEABLE DISCARDABLE SINGLE
 syn keyword defStorage FIXED PRELOAD
 
-syn match   defOrdinal "@\d\+"
+syn match   defOrdinal "\s\+@\d\+"
 
 syn region  defString  start=+'+ end=+'+
 
diff --git a/runtime/syntax/dtrace.vim b/runtime/syntax/dtrace.vim
new file mode 100644 (file)
index 0000000..2f2d6e2
--- /dev/null
@@ -0,0 +1,150 @@
+" DTrace D script syntax file. To avoid confusion with the D programming
+" language, I call this script dtrace.vim instead of d.vim.
+" Language: D script as described in "Solaris Dynamic Tracing Guide",
+"           http://docs.sun.com/app/docs/doc/817-6223
+" Version: 1.5
+" Last Change: 2008/04/05
+" Maintainer: Nicolas Weber <nicolasweber@gmx.de>
+
+" dtrace lexer and parser are at
+" http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libdtrace/common/dt_lex.l
+" http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libdtrace/common/dt_grammar.y
+
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+" Read the C syntax to start with
+if version < 600
+  so <sfile>:p:h/c.vim
+else
+  runtime! syntax/c.vim
+  unlet b:current_syntax
+endif
+
+syn clear cCommentL  " dtrace doesn't support // style comments
+
+" First line may start with #!, also make sure a '-s' flag is somewhere in
+" that line.
+syn match dtraceComment "\%^#!.*-s.*"
+
+" Probe descriptors need explicit matches, so that keywords in probe
+" descriptors don't show up as errors. Note that this regex detects probes
+" as "something with three ':' in it". This works in practice, but it's not
+" really correct. Also add special case code for BEGIN, END and ERROR, since
+" they are common.
+" Be careful not to detect '/*some:::node*/\n/**/' as probe, as it's
+" commented out.
+" XXX: This allows a probe description to end with ',', even if it's not
+" followed by another probe.
+" XXX: This doesn't work if followed by a comment.
+let s:oneProbe = '\%(BEGIN\|END\|ERROR\|\S\{-}:\S\{-}:\S\{-}:\S\{-}\)\_s*'
+exec 'syn match dtraceProbe "'.s:oneProbe.'\%(,\_s*'.s:oneProbe.'\)*\ze\_s\%({\|\/[^*]\|\%$\)"'
+
+" Note: We have to be careful to not make this match /* */ comments.
+" Also be careful not to eat `c = a / b; b = a / 2;`. We use the same
+" technique as the dtrace lexer: a predicate has to be followed by {, ;, or
+" EOF. Also note that dtrace doesn't allow an empty predicate // (we do).
+" This regex doesn't allow a divison operator in the predicate.
+" Make sure that this matches the empty predicate as well.
+" XXX: This doesn't work if followed by a comment.
+syn match dtracePredicate "/\*\@!\_[^/]*/\ze\_s*\%({\|;\|\%$\)"
+  "contains=ALLBUT,dtraceOption  " this lets the region contain too much stuff
+
+" Pragmas.
+" dtrace seems not to support whitespace before or after the '='.  dtrace
+" supports only one option per #pragma, and no continuations of #pragma over
+" several lines with '\'.
+" Note that dtrace treats units (Hz etc) as case-insenstive, we allow only
+" sane unit capitalization in this script (ie 'ns', 'us', 'ms', 's' have to be
+" small, Hertz can be 'Hz' or 'hz')
+" XXX: "cpu" is always highlighted as builtin var, not as option
+
+"   auto or manual: bufresize
+syn match dtraceOption contained "bufresize=\%(auto\|manual\)\s*$"
+
+"   scalar: cpu jstackframes jstackstrsize nspec stackframes stackindent ustackframes
+syn match dtraceOption contained "\%(cpu\|jstackframes\|jstackstrsize\|nspec\|stackframes\|stackindent\|ustackframes\)=\d\+\s*$"
+
+"   size: aggsize bufsize dynvarsize specsize strsize 
+"   size defaults to something if no unit is given (ie., having no unit is ok)
+syn match dtraceOption contained "\%(aggsize\|bufsize\|dynvarsize\|specsize\|strsize\)=\d\+\%(k\|m\|g\|t\|K\|M\|G\|T\)\=\s*$"
+
+"   time: aggrate cleanrate statusrate switchrate
+"   time defaults to hz if no unit is given
+syn match dtraceOption contained "\%(aggrate\|cleanrate\|statusrate\|switchrate\)=\d\+\%(hz\|Hz\|ns\|us\|ms\|s\)\=\s*$"
+
+"   No type: defaultargs destructive flowindent grabanon quiet rawbytes
+syn match dtraceOption contained "\%(defaultargs\|destructive\|flowindent\|grabanon\|quiet\|rawbytes\)\s*$"
+
+
+" Turn reserved but unspecified keywords into errors
+syn keyword dtraceReservedKeyword auto break case continue counter default do
+syn keyword dtraceReservedKeyword else for goto if import probe provider
+syn keyword dtraceReservedKeyword register restrict return static switch while
+
+" Add dtrace-specific stuff
+syn keyword dtraceOperator   sizeof offsetof stringof xlate
+syn keyword dtraceStatement  self inline xlate this translator
+
+" Builtin variables
+syn keyword dtraceIdentifier arg0 arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9 
+syn keyword dtraceIdentifier args caller chip cpu curcpu curlwpsinfo curpsinfo
+syn keyword dtraceIdentifier curthread cwd epid errno execname gid id ipl lgrp
+syn keyword dtraceIdentifier pid ppid probefunc probemod probename probeprov
+syn keyword dtraceIdentifier pset root stackdepth tid timestamp uid uregs
+syn keyword dtraceIdentifier vtimestamp walltimestamp
+syn keyword dtraceIdentifier ustackdepth
+
+" Macro Variables
+syn match dtraceConstant     "$[0-9]\+"
+syn match dtraceConstant     "$\(egid\|euid\|gid\|pgid\|ppid\)"
+syn match dtraceConstant     "$\(projid\|sid\|target\|taskid\|uid\)"
+
+" Data Recording Actions
+syn keyword dtraceFunction   trace tracemem printf printa stack ustack jstack
+
+" Process Destructive Actions
+syn keyword dtraceFunction   stop raise copyout copyoutstr system
+
+" Kernel Destructive Actions
+syn keyword dtraceFunction   breakpoint panic chill
+
+" Special Actions
+syn keyword dtraceFunction   speculate commit discard exit
+
+" Subroutines
+syn keyword dtraceFunction   alloca basename bcopy cleanpath copyin copyinstr
+syn keyword dtraceFunction   copyinto dirname msgdsize msgsize mutex_owned
+syn keyword dtraceFunction   mutex_owner mutex_type_adaptive progenyof
+syn keyword dtraceFunction   rand rw_iswriter rw_write_held speculation
+syn keyword dtraceFunction   strjoin strlen
+
+" Aggregating Functions
+syn keyword dtraceAggregatingFunction count sum avg min max lquantize quantize
+
+syn keyword dtraceType int8_t int16_t int32_t int64_t intptr_t
+syn keyword dtraceType uint8_t uint16_t uint32_t uint64_t uintptr_t
+syn keyword dtraceType string
+syn keyword dtraceType pid_t id_t
+
+
+" Define the default highlighting.
+" We use `hi def link` directly, this requires 5.8.
+hi def link dtraceReservedKeyword Error
+hi def link dtracePredicate String
+hi def link dtraceProbe dtraceStatement
+hi def link dtraceStatement Statement
+hi def link dtraceConstant Constant
+hi def link dtraceIdentifier Identifier
+hi def link dtraceAggregatingFunction dtraceFunction
+hi def link dtraceFunction Function
+hi def link dtraceType Type
+hi def link dtraceOperator Operator
+hi def link dtraceComment Comment
+hi def link dtraceNumber Number
+hi def link dtraceOption Identifier
+
+let b:current_syntax = "dtrace"
index a8ffb3939f609cb7e6eee0e95990cba6a91e1db5..e3d68363d57d87797e5227fa936eb114ae1c18c2 100644 (file)
@@ -1,11 +1,11 @@
 " Vim syntax file
 " Language:    erlang (ERicsson LANGuage)
-"             http://www.erlang.se
-"             http://www.erlang.org
-" Maintainer:  Kre¹imir Mar¾iæ (Kresimir Marzic) <kmarzic@fly.srk.fer.hr>
-" Last update: Fri, 15-Feb-2002
+"              http://www.erlang.se
+"              http://www.erlang.org
+" Maintainer:  Csaba Hoch <csaba.hoch@gmail.com>
+" Former Maintainer:  Kreąimir Marľić (Kresimir Marzic) <kmarzic@fly.srk.fer.hr>
+" Last update: 12-Mar-2008
 " Filenames:   .erl
-" URL:        http://www.srk.fer.hr/~kmarzic/vim/syntax/erlang.vim
 
 
 " There are three sets of highlighting in here:
@@ -24,9 +24,9 @@
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
 if version < 600
-       syntax clear
+    syntax clear
 elseif exists ("b:current_syntax")
-       finish
+    finish
 endif
 
 
@@ -35,136 +35,140 @@ syn case match
 
 
 if ! exists ("erlang_characters")
-       " Basic elements
-       syn match   erlangComment          +%.*$+
-       syn match   erlangModifier         "\~\a\|\\\a" contained
-       syn match   erlangSpecialCharacter ":\|_\|@\|\\\|\"\|\."
-       syn match   erlangSeparator        "(\|)\|{\|}\|\[\|]\||\|||\|;\|,\|?\|->\|#" contained
-       syn region  erlangString           start=+"+ skip=+\\"+ end=+"+ contains=erlangModifier
-       syn region  erlangAtom             start=+'+ skip=+\\'+ end=+'+
-
-       " Operators
-       syn match   erlangOperator         "+\|-\|\*\|\/"
-       syn keyword erlangOperator         div rem or xor bor bxor bsl bsr
-       syn keyword erlangOperator         and band not bnot
-       syn match   erlangOperator         "==\|/=\|=:=\|=/=\|<\|=<\|>\|>="
-       syn match   erlangOperator         "++\|--\|=\|!\|<-"
-
-       " Numbers
-       syn match   erlangNumberInteger    "[+-]\=\d\+" contains=erlangSeparator
-       syn match   erlangNumberFloat1     "[+-]\=\d\+.\d\+" contains=erlangSeparator
-       syn match   erlangNumberFloat2     "[+-]\=\d\+\(.\d\+\)\=[eE][+-]\=\d\+\(.\d\+\)\=" contains=erlangSeparator
-       syn match   erlangNumberFloat3     "[+-]\=\d\+[#]\x\+" contains=erlangSeparator
-       syn match   erlangNumberFloat4     "[+-]\=[eE][+-]\=\d\+" contains=erlangSeparator
-       syn match   erlangNumberHex        "$\x\+" contains=erlangSeparator
-
-       " Ignore '_' and '-' in words
-       syn match   erlangWord             "\w\+[_-]\+\w\+"
-
-       " Ignore numbers in words
-       syn match   erlangWord             "\w\+\d\+\(\(.\d\+\)\=\(\w\+\)\=\)\="
+
+    " Basic elements
+    syn match   erlangComment          "%.*$" contains=erlangAnnotation,erlangTodo
+    syn match   erlangAnnotation       " \@<=@\%(clear\|docfile\|end\|headerfile\|todo\|TODO\|type\|author\|copyright\|doc\|reference\|see\|since\|title\|version\|deprecated\|hidden\|private\|equiv\|spec\|throws\)" contained
+    syn match   erlangAnnotation       "`[^']*'" contained
+    syn keyword erlangTodo             TODO FIXME XXX contained
+    syn match   erlangModifier         "\~\a\|\\\a\|\\\\" contained
+    syn match   erlangSpecialCharacter ":\|_\|@\|\\\|\"\|\."
+    syn match   erlangSeparator        "(\|)\|{\|}\|\[\|]\||\|||\|;\|,\|?\|->\|#" contained
+    syn region  erlangString           start=+"+ skip=+\\.+ end=+"+ contains=erlangModifier
+    syn region  erlangAtom             start=+'+ skip=+\\'+ end=+'+
+
+    " Operators
+    syn match   erlangOperator         "+\|-\|\*\|\/"
+    syn keyword erlangOperator         div rem or xor bor bxor bsl bsr
+    syn keyword erlangOperator         and band not bnot
+    syn match   erlangOperator         "==\|/=\|=:=\|=/=\|<\|=<\|>\|>="
+    syn match   erlangOperator         "++\|--\|=\|!\|<-"
+
+    " Numbers
+    syn match   erlangNumberInteger    "\d\+" contains=erlangSeparator
+    syn match   erlangNumberFloat1     "\d\+\.\d\+" contains=erlangSeparator
+    syn match   erlangNumberFloat2     "\d\+\(\.\d\+\)\=[eE][+-]\=\d\+\(\.\d\+\)\=" contains=erlangSeparator
+    syn match   erlangNumberFloat3     "\d\+[#]\x\+" contains=erlangSeparator
+    syn match   erlangNumberHex        "$\x\+" contains=erlangSeparator
+
+    " Ignore '_' and '-' in words
+    syn match   erlangWord             "\h\+\w*"
+
+    syn match   erlangChar             /\$./
 endif
 
 if ! exists ("erlang_functions")
-       " Functions call
-       syn match   erlangFCall      "\w\+\(\s\+\)\=[:@]\(\s\+\)\=\w\+" contains=ALLBUT,erlangFunction,erlangBIF,erlangWord
-
-       " build-in-functions (BIFs)
-       syn keyword erlangBIF        abs alive apply atom_to_list
-       syn keyword erlangBIF        binary_to_list binary_to_term
-       syn keyword erlangBIF        concat_binary
-       syn keyword erlangBIF        date disconnect_node
-       syn keyword erlangBIF        element erase exit
-       syn keyword erlangBIF        float float_to_list
-       syn keyword erlangBIF        get get_keys group_leader
-       syn keyword erlangBIF        halt hd
-       syn keyword erlangBIF        integer_to_list is_alive
-       syn keyword erlangBIF        length link list_to_atom list_to_binary
-       syn keyword erlangBIF        list_to_float list_to_integer list_to_pid
-       syn keyword erlangBIF        list_to_tuple load_module
-       syn keyword erlangBIF        make_ref monitor_node
-       syn keyword erlangBIF        node nodes now
-       syn keyword erlangBIF        open_port
-       syn keyword erlangBIF        pid_to_list process_flag
-       syn keyword erlangBIF        process_info process put
-       syn keyword erlangBIF        register registered round
-       syn keyword erlangBIF        self setelement size spawn
-       syn keyword erlangBIF        spawn_link split_binary statistics
-       syn keyword erlangBIF        term_to_binary throw time tl trunc
-       syn keyword erlangBIF        tuple_to_list
-       syn keyword erlangBIF        unlink unregister
-       syn keyword erlangBIF        whereis
-
-       " Other BIFs
-       syn keyword erlangBIF        atom binary constant function integer
-       syn keyword erlangBIF        list number pid ports port_close port_info
-       syn keyword erlangBIF        reference record
-
-       " erlang:BIFs
-       syn keyword erlangBIF        check_process_code delete_module
-       syn keyword erlangBIF        get_cookie hash math module_loaded
-       syn keyword erlangBIF        preloaded processes purge_module set_cookie
-       syn keyword erlangBIF        set_node
-
-       " functions of math library
-       syn keyword erlangFunction   acos asin atan atan2 cos cosh exp
-       syn keyword erlangFunction   log log10 pi pow power sin sinh sqrt
-       syn keyword erlangFunction   tan tanh
-
-       " Other functions
-       syn keyword erlangFunction   call module_info parse_transform
-       syn keyword erlangFunction   undefined_function
-
-       " Modules
-       syn keyword erlangModule     error_handler
+    " Functions call
+    syn match   erlangFCall      "\%(\w\+\s*\.\s*\)*\w\+\s*[:@]\s*\w\+"
+
+    " build-in-functions (BIFs)
+    syn keyword erlangBIF        abs alive apply atom_to_list
+    syn keyword erlangBIF        binary_to_list binary_to_term
+    syn keyword erlangBIF        concat_binary
+    syn keyword erlangBIF        date disconnect_node
+    syn keyword erlangBIF        element erase exit
+    syn keyword erlangBIF        float float_to_list
+    syn keyword erlangBIF        get get_keys group_leader
+    syn keyword erlangBIF        halt hd
+    syn keyword erlangBIF        integer_to_list is_alive
+    syn keyword erlangBIF        length link list_to_atom list_to_binary
+    syn keyword erlangBIF        list_to_float list_to_integer list_to_pid
+    syn keyword erlangBIF        list_to_tuple load_module
+    syn keyword erlangBIF        make_ref monitor_node
+    syn keyword erlangBIF        node nodes now
+    syn keyword erlangBIF        open_port
+    syn keyword erlangBIF        pid_to_list process_flag
+    syn keyword erlangBIF        process_info process put
+    syn keyword erlangBIF        register registered round
+    syn keyword erlangBIF        self setelement size spawn
+    syn keyword erlangBIF        spawn_link split_binary statistics
+    syn keyword erlangBIF        term_to_binary throw time tl trunc
+    syn keyword erlangBIF        tuple_to_list
+    syn keyword erlangBIF        unlink unregister
+    syn keyword erlangBIF        whereis
+
+    " Other BIFs
+    syn keyword erlangBIF        atom binary constant function integer
+    syn keyword erlangBIF        list number pid ports port_close port_info
+    syn keyword erlangBIF        reference record
+
+    " erlang:BIFs
+    syn keyword erlangBIF        check_process_code delete_module
+    syn keyword erlangBIF        get_cookie hash math module_loaded
+    syn keyword erlangBIF        preloaded processes purge_module set_cookie
+    syn keyword erlangBIF        set_node
+
+    " functions of math library
+    syn keyword erlangFunction   acos asin atan atan2 cos cosh exp
+    syn keyword erlangFunction   log log10 pi pow power sin sinh sqrt
+    syn keyword erlangFunction   tan tanh
+
+    " Other functions
+    syn keyword erlangFunction   call module_info parse_transform
+    syn keyword erlangFunction   undefined_function
+
+    " Modules
+    syn keyword erlangModule     error_handler
 endif
 
 if ! exists ("erlang_keywords")
-       " Constants and Directives
-       syn match   erlangDirective  "-compile\|-define\|-else\|-endif\|-export\|-file"
-       syn match   erlangDirective  "-ifdef\|-ifndef\|-import\|-include\|-include_lib"
-       syn match   erlangDirective  "-module\|-record\|-undef"
-
-       syn match   erlangConstant   "-author\|-copyright\|-doc"
-
-       " Keywords
-       syn keyword erlangKeyword    after begin case catch
-       syn keyword erlangKeyword    cond end fun if
-       syn keyword erlangKeyword    let of query receive
-       syn keyword erlangKeyword    when
-
-       " Processes
-       syn keyword erlangProcess    creation current_function dictionary
-       syn keyword erlangProcess    group_leader heap_size high initial_call
-       syn keyword erlangProcess    linked low memory_in_use message_queue
-       syn keyword erlangProcess    net_kernel node normal priority
-       syn keyword erlangProcess    reductions registered_name runnable
-       syn keyword erlangProcess    running stack_trace status timer
-       syn keyword erlangProcess    trap_exit waiting
-
-       " Ports
-       syn keyword erlangPort       command count_in count_out creation in
-       syn keyword erlangPort       in_format linked node out owner packeting
-
-       " Nodes
-       syn keyword erlangNode       atom_tables communicating creation
-       syn keyword erlangNode       current_gc current_reductions current_runtime
-       syn keyword erlangNode       current_wall_clock distribution_port
-       syn keyword erlangNode       entry_points error_handler friends
-       syn keyword erlangNode       garbage_collection magic_cookie magic_cookies
-       syn keyword erlangNode       module_table monitored_nodes name next_ref
-       syn keyword erlangNode       ports preloaded processes reductions
-       syn keyword erlangNode       ref_state registry runtime wall_clock
-
-       " Reserved
-       syn keyword erlangReserved   apply_lambda module_info module_lambdas
-       syn keyword erlangReserved   record record_index record_info
-
-       " Extras
-       syn keyword erlangExtra      badarg nocookie false fun true
-
-       " Signals
-       syn keyword erlangSignal     badsig kill killed exit normal
+    " Constants and Directives
+    syn match   erlangDirective  "-behaviour\|-behaviour"
+    syn match   erlangDirective  "-compile\|-define\|-else\|-endif\|-export\|-file"
+    syn match   erlangDirective  "-ifdef\|-ifndef\|-import\|-include_lib\|-include"
+    syn match   erlangDirective  "-module\|-record\|-undef"
+
+    syn match   erlangConstant   "-author\|-copyright\|-doc\|-vsn"
+
+    " Keywords
+    syn keyword erlangKeyword    after begin case catch
+    syn keyword erlangKeyword    cond end fun if
+    syn keyword erlangKeyword    let of query receive
+    syn keyword erlangKeyword    when
+    syn keyword erlangKeyword    try
+
+    " Processes
+    syn keyword erlangProcess    creation current_function dictionary
+    syn keyword erlangProcess    group_leader heap_size high initial_call
+    syn keyword erlangProcess    linked low memory_in_use message_queue
+    syn keyword erlangProcess    net_kernel node normal priority
+    syn keyword erlangProcess    reductions registered_name runnable
+    syn keyword erlangProcess    running stack_trace status timer
+    syn keyword erlangProcess    trap_exit waiting
+
+    " Ports
+    syn keyword erlangPort       command count_in count_out creation in
+    syn keyword erlangPort       in_format linked node out owner packeting
+
+    " Nodes
+    syn keyword erlangNode       atom_tables communicating creation
+    syn keyword erlangNode       current_gc current_reductions current_runtime
+    syn keyword erlangNode       current_wall_clock distribution_port
+    syn keyword erlangNode       entry_points error_handler friends
+    syn keyword erlangNode       garbage_collection magic_cookie magic_cookies
+    syn keyword erlangNode       module_table monitored_nodes name next_ref
+    syn keyword erlangNode       ports preloaded processes reductions
+    syn keyword erlangNode       ref_state registry runtime wall_clock
+
+    " Reserved
+    syn keyword erlangReserved   apply_lambda module_info module_lambdas
+    syn keyword erlangReserved   record record_index record_info
+
+    " Extras
+    syn keyword erlangExtra      badarg nocookie false fun true
+
+    " Signals
+    syn keyword erlangSignal     badsig kill killed exit normal
 endif
 
 
@@ -173,52 +177,53 @@ endif
 " For version 5.7 and earlier: only when not done already
 " For version 5.8 and later: only when an item doesn't have highlighting yet
 if version >= 508 || !exists ("did_erlang_inits")
-       if version < 508
-               let did_erlang_inits = 1
-               command -nargs=+ HiLink hi link <args>
-       else
-               command -nargs=+ HiLink hi def link <args>
-       endif
-
-       " erlang_characters
-       HiLink erlangComment Comment
-       HiLink erlangSpecialCharacter Special
-       HiLink erlangSeparator Normal
-       HiLink erlangModifier Special
-       HiLink erlangOperator Operator
-       HiLink erlangString String
-       HiLink erlangAtom Type
-
-       HiLink erlangNumberInteger Number
-       HiLink erlangNumberFloat1 Float
-       HiLink erlangNumberFloat2 Float
-       HiLink erlangNumberFloat3 Float
-       HiLink erlangNumberFloat4 Float
-       HiLink erlangNumberHex Number
-
-       HiLink erlangWord Normal
-
-       " erlang_functions
-       HiLink erlangFCall Function
-       HiLink erlangBIF Function
-       HiLink erlangFunction Function
-       HiLink erlangModuleFunction Function
-
-       " erlang_keywords
-       HiLink erlangDirective Type
-       HiLink erlangConstant Type
-       HiLink erlangKeyword Keyword
-       HiLink erlangProcess Special
-       HiLink erlangPort Special
-       HiLink erlangNode Special
-       HiLink erlangReserved Statement
-       HiLink erlangExtra Statement
-       HiLink erlangSignal Statement
-
-       delcommand HiLink
+    if version < 508
+        let did_erlang_inits = 1
+        command -nargs=+ HiLink hi link <args>
+    else
+        command -nargs=+ HiLink hi def link <args>
+    endif
+
+    " erlang_characters
+    HiLink erlangComment Comment
+    HiLink erlangAnnotation Special
+    HiLink erlangTodo Todo
+    HiLink erlangSpecialCharacter Special
+    HiLink erlangSeparator Normal
+    HiLink erlangModifier Special
+    HiLink erlangOperator Operator
+    HiLink erlangString String
+    HiLink erlangAtom Type
+
+    HiLink erlangNumberInteger Number
+    HiLink erlangNumberFloat1 Float
+    HiLink erlangNumberFloat2 Float
+    HiLink erlangNumberFloat3 Float
+    HiLink erlangNumberFloat4 Float
+    HiLink erlangNumberHex Number
+
+    HiLink erlangWord Normal
+
+    " erlang_functions
+    HiLink erlangFCall Function
+    HiLink erlangBIF Function
+    HiLink erlangFunction Function
+    HiLink erlangModuleFunction Function
+
+    " erlang_keywords
+    HiLink erlangDirective Type
+    HiLink erlangConstant Type
+    HiLink erlangKeyword Keyword
+    HiLink erlangProcess Special
+    HiLink erlangPort Special
+    HiLink erlangNode Special
+    HiLink erlangReserved Statement
+    HiLink erlangExtra Statement
+    HiLink erlangSignal Statement
+
+    delcommand HiLink
 endif
 
 
 let b:current_syntax = "erlang"
 
-" eof
index f85e0093d3b3a36fea35605c3c0d777bf2f44997..22a84537c811b84cf1471dccbd5bf42d3815ba16 100644 (file)
@@ -82,4 +82,4 @@ if main_syntax == 'eruby'
   unlet main_syntax
 endif
 
-" vim: nowrap sw=2 sts=2 ts=8 ff=unix:
+" vim: nowrap sw=2 sts=2 ts=8 :
index cc3c4d7305f9c2b4b3aa4ec45a157f75067f9e48..d853e75208f25b4e2e51221fdb19f78641d6a030 100644 (file)
@@ -1,10 +1,10 @@
 " Vim syntax file
 " Language:                    ESTEREL
 " Maintainer:          Maurizio Tranchero <maurizio.tranchero@polito.it> - <maurizio.tranchero@gmail.com>
-" Credits:                     Luca Necchi     <luca.necchi@polito.it>
+" Credits:                     Luca Necchi     <luca.necchi@polito.it>, Nikos Andrikos <nick.andrik@gmail.com>
 " First Release:       Tue May 17 23:49:39 CEST 2005
-" Last Change:         Sat Apr 22 14:56:41 CEST 2006
-" Version:                     0.5
+" Last Change:         Tue May  6 13:29:56 CEST 2008
+" Version:                     0.8
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -28,7 +28,7 @@ syn region esterelIfThen                                      start=/if/                      end=/then/                      oneline
 " Esterel Keywords
 syn keyword esterelIO                  input output inputoutput constant
 syn keyword esterelBoolean             and or not xor xnor nor nand
-syn keyword esterelExpressions mod 
+syn keyword esterelExpressions mod pre
 syn keyword esterelStatement   nothing halt
 syn keyword esterelStatement   module signal sensor end
 syn keyword esterelStatement   every do loop abort weak
@@ -43,20 +43,26 @@ syn keyword esterelStatement        relation
 syn keyword esterelFunctions   function procedure task
 syn keyword esterelSysCall             call trap exit exec
 " Esterel Types
-syn keyword esterelType integer float bolean
+syn keyword esterelType                integer float bolean
 " Esterel Comment
-syn match esterelComment       "%.*$"
+syn match esterelComment               "%.*$"
 " Operators and special characters
-syn match esterelSpecial       ":"
-syn match esterelSpecial       "<="
-syn match esterelSpecial       ">="
-syn match esterelSpecial       ";"
-syn match esterelOperator      "\["
-syn match esterelOperator      "\]"
-syn match esterelOperator      ":="
-syn match esterelStatement     "\<\(if\|else\)\>"
-syn match esterelNone          "\<else\s\+if\>$"
-syn match esterelNone          "\<else\s\+if\>\s"
+syn match esterelSpecial               ":"
+syn match esterelSpecial               "<="
+syn match esterelSpecial               ">="
+syn match esterelSpecial               "+"
+syn match esterelSpecial               "-"
+syn match esterelSpecial               "="
+syn match esterelSpecial               ";"
+syn match esterelSpecial               "/"
+syn match esterelSpecial               "?"
+syn match esterelOperator              "\["
+syn match esterelOperator              "\]"
+syn match esterelOperator              ":="
+syn match esterelOperator              "||"
+syn match esterelStatement             "\<\(if\|else\)\>"
+syn match esterelNone                  "\<else\s\+if\>$"
+syn match esterelNone                  "\<else\s\+if\>\s"
 
 " Class Linking
 if version >= 508 || !exists("did_esterel_syntax_inits")
index 43b7abcfc553e40dd04552dde0147c85f3a9b210..29112fcc7ebd3c119b3a3bd068f675de12ca4bf3 100644 (file)
@@ -1,8 +1,8 @@
-" Vim syntax file
+" Vim syntax file for Fvwm-2.5.22
 " Language:            Fvwm{1,2} configuration file
 " Maintainer:          Gautam Iyer <gi1242@users.sourceforge.net>
 " Previous Maintainer: Haakon Riiser <hakonrk@fys.uio.no>
-" Last Change:         Sat 04 Nov 2006 11:28:37 PM PST
+" Last Change:         Sat 29 Sep 2007 11:08:34 AM PDT
 "
 " Thanks to David Necas (Yeti) for adding Fvwm 2.4 support.
 "
@@ -43,7 +43,9 @@ syn match   fvwmRGBValue      "#\x\{9}"
 syn match   fvwmRGBValue       "#\x\{12}"
 syn match   fvwmRGBValue       "rgb:\x\{1,4}/\x\{1,4}/\x\{1,4}"
 
-syn region  fvwmComment                contains=@Spell start="^\s*#" skip='\\$' end='$'
+syn region  fvwmComment                contains=@Spell
+                               \ start='^\s*#\s' skip='\\$' end='$'
+syn region  fvwmComment                start="\v^\s*#(\S|$)" skip='\\$' end='$'
 
 if (exists("b:fvwm_version") && b:fvwm_version == 1)
            \ || (exists("use_fvwm_1") && use_fvwm_1)
@@ -130,12 +132,16 @@ else
     syn match   fvwmShortcutKey        contained "&."
 
     syn keyword fvwmModuleName FvwmAnimate FvwmAudio FvwmAuto FvwmBacker
-                               \ FvwmBanner FvwmButtons FvwmCommandS
-                               \ FvwmConsole FvwmCpp FvwmDebug FvwmDragWell
-                               \ FvwmEvent FvwmForm FvwmGtk FvwmIconBox
+                               \ FvwmBanner FvwmButtons FvwmCascade
+                               \ FvwmCommandS FvwmConsole FvwmConsoleC
+                               \ FvwmCpp FvwmDebug FvwmDragWell FvwmEvent
+                               \ FvwmForm FvwmGtkDebug FvwmIconBox
                                \ FvwmIconMan FvwmIdent FvwmM4 FvwmPager
-                               \ FvwmSave FvwmSaveDesk FvwmScript FvwmScroll
-                               \ FvwmTaskBar FvwmWinList FvwmWharf
+                               \ FvwmPerl FvwmProxy FvwmRearrange FvwmSave
+                               \ FvwmSaveDesk FvwmScript FvwmScroll FvwmTabs
+                               \ FvwmTalk FvwmTaskBar FvwmTheme FvwmTile
+                               \ FvwmWharf FvwmWindowMenu FvwmWinList
+
     " Obsolete fvwmModuleName: FvwmTheme
 
     syn keyword fvwmKeyword    AddToMenu ChangeMenuStyle CopyMenuStyle
@@ -162,21 +168,22 @@ else
                                \ WindowShadeAnimate IgnoreModifiers
                                \ EdgeCommand EdgeLeaveCommand GnomeButton
                                \ Stroke StrokeFunc FocusStyle DestroyStyle
-                               \ UpdateStyles AddToDecor BorderStyle
-                               \ ChangeDecor DestroyDecor UpdateDecor
-                               \ DesktopName DeskTopSize EdgeResistance
-                               \ EdgeScroll EdgeThickness EwmhBaseStruts
-                               \ EWMHNumberOfDesktops GotoDeskAndPage
-                               \ GotoPage Scroll Xinerama
+                               \ DestroyWindowStyle UpdateStyles AddToDecor
+                               \ BorderStyle ChangeDecor DestroyDecor
+                               \ UpdateDecor DesktopName DeskTopSize
+                               \ EdgeResistance EdgeScroll EdgeThickness
+                               \ EwmhBaseStruts EWMHNumberOfDesktops
+                               \ GotoDeskAndPage GotoPage Scroll Xinerama
                                \ XineramaPrimaryScreen XineramaSls
                                \ XineramaSlsSize XineramaSlsScreens AddToFunc
                                \ Beep DestroyFunc Echo Exec ExecUseShell
                                \ Function Nop PipeRead Read SetEnv Silent
                                \ UnsetEnv Wait DestroyModuleConfig KillModule
-                               \ Module ModuleSynchronous ModuleTimeout
-                               \ SendToModule Quit QuitScreen QuitSession
-                               \ Restart SaveSession SaveQuitSession KeepRc
-                               \ NoWindow Break CleanupColorsets
+                               \ Module ModuleListenOnly ModuleSynchronous
+                               \ ModuleTimeout SendToModule Quit QuitScreen
+                               \ QuitSession Restart SaveSession
+                               \ SaveQuitSession KeepRc NoWindow Break
+                               \ CleanupColorsets EchoFuncDefinition
 
     " Conditional commands
     syn keyword fvwmKeyword    nextgroup=fvwmCondition skipwhite
@@ -200,9 +207,12 @@ else
                                \ CurrentPageAnyDesk CurrentScreen FixedSize
                                \ Focused HasHandles HasPointer Iconic
                                \ Iconifiable Maximizable Maximized
-                               \ Overlapped PlacedByButton3 PlacedByFvwm Raised
-                               \ Shaded Sticky StickyAcrossDesks
-                               \ StickyAcrossPages Transient Visible
+                               \ Overlapped PlacedByButton PlacedByButton3
+                               \ PlacedByFvwm Raised Shaded Sticky
+                               \ StickyAcrossDesks StickyAcrossPages
+                               \ Transient Visible StickyIcon
+                               \ StickyAcrossPagesIcon StickyAcrossDesksIcon
+
     syn keyword fvwmCondNames  contained skipwhite nextgroup=@fvwmConstants
                                \ State Layer
 
@@ -288,7 +298,7 @@ else
                                \ MinOverlapPlacement
                                \ MinOverlapPercentPlacement
                                \ TileManualPlacement TileCascadePlacement
-                               \ CenterPlacement MinOverlapPlacementPenalties
+                               \ MinOverlapPlacementPenalties
                                \ MinOverlapPercentPlacementPenalties
                                \ DecorateTransient NakedTransient
                                \ DontRaiseTransient RaiseTransient
@@ -353,7 +363,8 @@ else
                                \ EWMHUseStackingOrderHints
                                \ EWMHIgnoreStackingOrderHints
                                \ EWMHIgnoreStateHints EWMHUseStateHints
-                               \ EWMHIgnoreStrutHints EWMHUseStrutHints
+                               \ EWMHIgnoreStrutHints EWMHIgnoreWindowType
+                               \ EWMHUseStrutHints
                                \ EWMHMaximizeIgnoreWorkingArea
                                \ EWMHMaximizeUseWorkingArea
                                \ EWMHMaximizeUseDynamicWorkingArea
@@ -361,6 +372,14 @@ else
                                \ EWMHPlacementUseWorkingArea
                                \ EWMHPlacementUseDynamicWorkingArea
                                \ MoveByProgramMethod Unmanaged State
+                               \ StippledIconTitle StickyStippledTitle
+                               \ StickyStippledIconTitle
+                               \ PositionPlacement
+                               \ UnderMousePlacementHonorsStartsOnPage
+                               \ UnderMousePlacementIgnoresStartsOnPage
+                               \ MinOverlapPlacementPenalties
+                               \ MinOverlapPercentPlacementPenalties
+                               \ MinWindowSize StartShaded
 
     " Cursor styles
     syn keyword fvwmKeyword    nextgroup=fvwmCursorStyle skipwhite
@@ -400,6 +419,7 @@ else
                                \ SelectOnRelease ItemFormat
                                \ VerticalItemSpacing VerticalTitleSpacing
                                \ AutomaticHotkeys AutomaticHotkeysOff
+                               \ TitleFont TitleColorset HilightTitleBack
 
     " Button style
     syn keyword fvwmKeyword    nextgroup=fvwmBNum      skipwhite
index 4934d018e719ac148b5af5975711c26e19ba22c4..4070769fc4cc708b8ddb23bb1ede9358b7e34097 100644 (file)
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         indent(1) configuration file
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2007-05-10
+" Latest Revision:  2007-06-17
 "   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+=-,+
 
 syn match   indentError   '\S\+'
 
index 85ea0810acd1f87c5dc0e7d6624eac02d9a8b90a..d5e32faed41f55c57199456a91dd1d9b70f01f64 100644 (file)
@@ -2,7 +2,7 @@
 " Language:     Java
 " Maintainer:   Claudio Fleiner <claudio@fleiner.com>
 " URL:         http://www.fleiner.com/vim/syntax/java.vim
-" Last Change:  2006 Apr 30
+" Last Change:  2007 Dec 21
 
 " Please check :help java.vim for comments on some of the options available.
 
@@ -121,6 +121,11 @@ syn match   javaUserLabel       "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contai
 syn keyword javaLabel          default
 
 if !exists("java_allow_cpp_keywords")
+  " The default used to be to highlight C++ keywords.  But several people
+  " don't like that, so default to not highlighting these.
+  let java_allow_cpp_keywords = 1
+endif
+if !java_allow_cpp_keywords
   syn keyword javaError auto delete extern friend inline redeclared
   syn keyword javaError register signed sizeof struct template typedef union
   syn keyword javaError unsigned operator
index 347180c8daedaefe66695e0c7971aa55044a3a5a..6167b2379a51aacf13e156e30025cf8a0346df34 100644 (file)
@@ -3,7 +3,7 @@
 " Maintainer:  Nam SungHyun <namsh@kldp.org>
 " Previous Maintainer: Gautam H. Mudunuri <gmudunur@informatica.com>
 " Version Info:
-" Last Change: 2004 May 16
+" Last Change: 2007 Dec 30
 
 " Additional highlighting by Johannes Tanzler <johannes.tanzler@aon.at>:
 "      * manSubHeading
@@ -36,7 +36,7 @@ syn match  manLongOptionDesc  "^\s*--[a-z0-9-]\S*"
 if getline(1) =~ '^[a-zA-Z_]\+([23])'
   syntax include @cCode <sfile>:p:h/c.vim
   syn match manCFuncDefinition  display "\<\h\w*\>\s*("me=e-1 contained
-  syn region manSynopsis start="^SYNOPSIS"hs=s+8 end="^\u\+\s*$"he=e-12 keepend contains=manSectionHeading,@cCode,manCFuncDefinition
+  syn region manSynopsis start="^SYNOPSIS"hs=s+8 end="^\u\+\s*$"me=e-12 keepend contains=manSectionHeading,@cCode,manCFuncDefinition
 endif
 
 
index 55f7e1a5836ebdbb8d7929836386fac0433ffdd1..b348327f9002b6bc0a9f211f9f70123cf64cab05 100644 (file)
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         mplayer(1) configuration file
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2006-04-19
+" Latest Revision:  2007-06-17
 
 if exists("b:current_syntax")
   finish
@@ -10,7 +10,7 @@ endif
 let s:cpo_save = &cpo
 set cpo&vim
 
-setlocal iskeyword=@,48-57,-
+setlocal iskeyword+=-
 
 syn keyword mplayerconfTodo     contained TODO FIXME XXX NOTE
 
index fb88f6afdfb3a959fbed8cf9b3373f42bc8d6c5c..0b1d16164e95daf24835b781a8ab77617d125626 100644 (file)
@@ -2,9 +2,9 @@
 " Language:    Mutt setup files
 " Original:    Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
 " Maintainer:  Kyle Wheeler <kyle-muttrc.vim@memoryhole.net>
-" Last Change: 5 Mar 2007
+" Last Change: 15 Aug 2007
 
-" This file covers mutt version 1.5.14 (and most of CVS HEAD)
+" This file covers mutt version 1.5.16 (and most of CVS HEAD)
 " Included are also a few features from 1.4.2.1
 
 " For version 5.x: Clear all syntax items
@@ -30,18 +30,19 @@ syn match muttrcComment             "[^\\]#.*$"lc=1
 " Escape sequences (back-tick and pipe goes here too)
 syn match muttrcEscape         +\\[#tnr"'Cc ]+
 syn match muttrcEscape         +[`|]+
+syn match muttrcEscape         +\\$+
 
 " The variables takes the following arguments
 syn match  muttrcString                "=\s*[^ #"'`]\+"lc=1 contains=muttrcEscape
-syn region muttrcString                start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction
+syn region muttrcString                start=+"+ms=e skip=+\\"+ end=+"+ contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction,muttrcShellString
 syn region muttrcString                start=+'+ms=e skip=+\\'+ end=+'+ contains=muttrcEscape,muttrcSet,muttrcUnset,muttrcReset,muttrcToggle,muttrcCommand,muttrcAction
 
 syn region muttrcShellString   matchgroup=muttrcEscape keepend start=+`+ skip=+\\`+ end=+`+ contains=muttrcVarStr,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcCommand,muttrcSet
 
 syn match  muttrcRXChars       contained /[^\\][][.*?+]\+/hs=s+1
 syn match  muttrcRXChars       contained /[][|()][.*?+]*/
-syn match  muttrcRXChars       contained /'^/ms=s+1
-syn match  muttrcRXChars       contained /$'/me=e-1
+syn match  muttrcRXChars       contained /['"]^/ms=s+1
+syn match  muttrcRXChars       contained /$['"]/me=e-1
 syn match  muttrcRXChars       contained /\\/
 " Why does muttrcRXString2 work with one \ when muttrcRXString requires two?
 syn region muttrcRXString      contained start=+'+ skip=+\\'+ end=+'+ contains=muttrcRXChars
@@ -78,21 +79,21 @@ syn match   muttrcKeyName   contained "\c<\%(BackSpace\|Delete\|Down\|End\|Enter\|
 
 syn keyword muttrcVarBool      contained allow_8bit allow_ansi arrow_cursor ascii_chars askbcc
 syn keyword muttrcVarBool      contained askcc attach_split auto_tag autoedit beep beep_new
-syn keyword muttrcVarBool      contained bounce_delivered braille_friendly check_new collapse_unread
+syn keyword muttrcVarBool      contained bounce_delivered braille_friendly check_new check_mbox_size collapse_unread
 syn keyword muttrcVarBool      contained confirmappend confirmcreate crypt_autoencrypt crypt_autopgp
 syn keyword muttrcVarBool      contained crypt_autosign crypt_autosmime crypt_replyencrypt
 syn keyword muttrcVarBool      contained crypt_replysign crypt_replysignencrypted crypt_timestamp
-syn keyword muttrcVarBool      contained crypt_use_gpgme delete_untag digest_collapse duplicate_threads
+syn keyword muttrcVarBool      contained crypt_use_gpgme crypt_use_pka delete_untag digest_collapse duplicate_threads
 syn keyword muttrcVarBool      contained edit_hdrs edit_headers encode_from envelope_from fast_reply
 syn keyword muttrcVarBool      contained fcc_attach fcc_clear followup_to force_name forw_decode
 syn keyword muttrcVarBool      contained forw_decrypt forw_quote forward_decode forward_decrypt
 syn keyword muttrcVarBool      contained forward_quote hdrs header help hidden_host hide_limited
 syn keyword muttrcVarBool      contained hide_missing hide_thread_subject hide_top_limited
-syn keyword muttrcVarBool      contained hide_top_missing ignore_list_reply_to imap_check_subscribed
+syn keyword muttrcVarBool      contained hide_top_missing ignore_linear_white_space ignore_list_reply_to imap_check_subscribed
 syn keyword muttrcVarBool      contained imap_list_subscribed imap_passive imap_peek imap_servernoise
 syn keyword muttrcVarBool      contained implicit_autoview include_onlyfirst keep_flagged
 syn keyword muttrcVarBool      contained mailcap_sanitize maildir_header_cache_verify maildir_trash
-syn keyword muttrcVarBool      contained mark_old markers menu_move_off menu_scroll meta_key
+syn keyword muttrcVarBool      contained mark_old markers menu_move_off menu_scroll message_cache_clean meta_key
 syn keyword muttrcVarBool      contained metoo mh_purge mime_forward_decode narrow_tree pager_stop
 syn keyword muttrcVarBool      contained pgp_auto_decode pgp_auto_traditional pgp_autoencrypt
 syn keyword muttrcVarBool      contained pgp_autoinline pgp_autosign pgp_check_exit
@@ -206,37 +207,133 @@ syn keyword muttrcVarNum contained connect_timeout history imap_keepalive mail_c
 syn keyword muttrcVarNum       contained pager_context pager_index_lines pgp_timeout pop_checkinterval read_inc
 syn keyword muttrcVarNum       contained save_history score_threshold_delete score_threshold_flag
 syn keyword muttrcVarNum       contained score_threshold_read sendmail_wait sleep_time smime_timeout
-syn keyword muttrcVarNum       contained ssl_min_dh_prime_bits timeout wrap wrapmargin write_inc
+syn keyword muttrcVarNum       contained ssl_min_dh_prime_bits timeout time_inc wrap wrapmargin write_inc
+
+syn match muttrcStrftimeEscapes contained /%[AaBbCcDdeFGgHhIjklMmnpRrSsTtUuVvWwXxYyZz+%]/
+syn match muttrcStrftimeEscapes contained /%E[cCxXyY]/
+syn match muttrcStrftimeEscapes contained /%O[BdeHImMSuUVwWy]/
+
+syn match muttrcFormatErrors contained /%./
+
+syn region muttrcIndexFormatStr        contained keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes
+syn region muttrcIndexFormatStr        contained keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcIndexFormatEscapes,muttrcIndexFormatConditionals,muttrcFormatErrors,muttrcTimeEscapes
+syn region muttrcAliasFormatStr        contained keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors
+syn region muttrcAliasFormatStr        contained keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAliasFormatEscapes,muttrcFormatErrors
+syn region muttrcAttachFormatStr       contained keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors
+syn region muttrcAttachFormatStr       contained keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcAttachFormatEscapes,muttrcAttachFormatConditionals,muttrcFormatErrors
+syn region muttrcComposeFormatStr      contained keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors
+syn region muttrcComposeFormatStr      contained keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcComposeFormatEscapes,muttrcFormatErrors
+syn region muttrcFolderFormatStr       contained keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors
+syn region muttrcFolderFormatStr       contained keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcFolderFormatEscapes,muttrcFolderFormatConditionals,muttrcFormatErrors
+syn region muttrcMixFormatStr  contained keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors
+syn region muttrcMixFormatStr  contained keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcMixFormatEscapes,muttrcMixFormatConditionals,muttrcFormatErrors
+syn region muttrcPGPFormatStr  contained keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes
+syn region muttrcPGPFormatStr  contained keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPFormatEscapes,muttrcPGPFormatConditionals,muttrcFormatErrors,muttrcPGPTimeEscapes
+syn region muttrcPGPCmdFormatStr       contained keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors
+syn region muttrcPGPCmdFormatStr       contained keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPCmdFormatEscapes,muttrcPGPCmdFormatConditionals,muttrcVariable,muttrcFormatErrors
+syn region muttrcStatusFormatStr       contained keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors
+syn region muttrcStatusFormatStr       contained keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcStatusFormatEscapes,muttrcStatusFormatConditionals,muttrcFormatErrors
+syn region muttrcPGPGetKeysFormatStr   contained keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors
+syn region muttrcPGPGetKeysFormatStr   contained keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPGPGetKeysFormatEscapes,muttrcFormatErrors
+syn region muttrcSmimeFormatStr        contained keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors
+syn region muttrcSmimeFormatStr        contained keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcSmimeFormatEscapes,muttrcSmimeFormatConditionals,muttrcVariable,muttrcFormatErrors
+
+" The following info was pulled from hdr_format_str in hdrline.c
+syn match muttrcIndexFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[aAbBcCdDeEfFHilLmMnNOPsStTuvXyYZ%]/
+syn match muttrcIndexFormatConditionals contained /%?[EFHlLMNOXyY]?/ nextgroup=muttrcFormatConditionals2
+" The following info was pulled from alias_format_str in addrbook.c
+syn match muttrcAliasFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[afnrt%]/
+" The following info was pulled from mutt_attach_fmt in recvattach.c
+syn match muttrcAttachFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[CcDdefImMnQstTuX%]/
+syn match muttrcAttachFormatEscapes contained /%[>|*]./
+syn match muttrcAttachFormatConditionals contained /%?[CcdDefInmMQstTuX]?/ nextgroup=muttrcFormatConditionals2
+syn match muttrcFormatConditionals2 contained /[^?]*?/
+" The following info was pulled from compose_format_str in compose.c
+syn match muttrcComposeFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[ahlv%]/
+syn match muttrcComposeFormatEscapes contained /%[>|*]./
+" The following info was pulled from folder_format_str in browser.c
+syn match muttrcFolderFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[CdfFglNstu%]/
+syn match muttrcFolderFormatEscapes contained /%[>|*]./
+syn match muttrcFolderFormatConditionals contained /%?[N]?/
+" The following info was pulled from mix_entry_fmt in remailer.c
+syn match muttrcMixFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[ncsa%]/
+syn match muttrcMixFormatConditionals contained /%?[ncsa]?/
+" The following info was pulled from crypt_entry_fmt in crypt-gpgme.c 
+" and pgp_entry_fmt in pgpkey.c (note that crypt_entry_fmt supports 
+" 'p', but pgp_entry_fmt does not).
+syn match muttrcPGPFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[nkualfctp%]/
+syn match muttrcPGPFormatConditionals contained /%?[nkualfct]?/
+" The following info was pulled from _mutt_fmt_pgp_command in 
+" pgpinvoke.c
+syn match muttrcPGPCmdFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[pfsar%]/
+syn match muttrcPGPCmdFormatConditionals contained /%?[pfsar]?/ nextgroup=muttrcFormatConditionals2
+" The following info was pulled from status_format_str in status.c
+syn match muttrcStatusFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[bdfFhlLmMnopPrsStuvV%]/
+syn match muttrcStatusFormatEscapes contained /%[>|*]./
+syn match muttrcStatusFormatConditionals contained /%?[bdFlLmMnoptuV]?/ nextgroup=muttrcFormatConditionals2
+" This matches the documentation, but directly contradicts the code 
+" (according to the code, this should be identical to the 
+" muttrcPGPCmdFormatEscapes
+syn match muttrcPGPGetKeysFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[r%]/
+" The following info was pulled from _mutt_fmt_smime_command in 
+" smime.c
+syn match muttrcSmimeFormatEscapes contained /%\%(\%(-\?[0-9]\+\)\?\%(\.[0-9]\+\)\?\)\?[:_]\?[Cciskaf%]/
+syn match muttrcSmimeFormatConditionals contained /%?[Cciskaf]?/ nextgroup=muttrcFormatConditionals2
+
+syn region muttrcTimeEscapes contained start=+%{+ end=+}+ contains=muttrcStrftimeEscapes
+syn region muttrcTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes
+syn region muttrcTimeEscapes contained start=+%(+ end=+)+ contains=muttrcStrftimeEscapes
+syn region muttrcTimeEscapes contained start=+%<+ end=+>+ contains=muttrcStrftimeEscapes
+syn region muttrcPGPTimeEscapes contained start=+%\[+ end=+\]+ contains=muttrcStrftimeEscapes
+
+syn keyword muttrcVarStr       contained attribution index_format message_format pager_format nextgroup=muttrcVarEqualsIdxFmt
+syn match muttrcVarEqualsIdxFmt contained "=" nextgroup=muttrcIndexFormatStr
+syn keyword muttrcVarStr       contained alias_format nextgroup=muttrcVarEqualsAliasFmt
+syn match muttrcVarEqualsAliasFmt contained "=" nextgroup=muttrcAliasFormatStr
+syn keyword muttrcVarStr       contained attach_format nextgroup=muttrcVarEqualsAttachFmt
+syn match muttrcVarEqualsAttachFmt contained "=" nextgroup=muttrcAttachFormatStr
+syn keyword muttrcVarStr       contained compose_format nextgroup=muttrcVarEqualsComposeFmt
+syn match muttrcVarEqualsComposeFmt contained "=" nextgroup=muttrcComposeFormatStr
+syn keyword muttrcVarStr       contained folder_format nextgroup=muttrcVarEqualsFolderFmt
+syn match muttrcVarEqualsFolderFmt contained "=" nextgroup=muttrcFolderFormatStr
+syn keyword muttrcVarStr       contained mix_entry_format nextgroup=muttrcVarEqualsMixFmt
+syn match muttrcVarEqualsMixFmt contained "=" nextgroup=muttrcMixFormatStr
+syn keyword muttrcVarStr       contained pgp_entry_format nextgroup=muttrcVarEqualsPGPFmt
+syn match muttrcVarEqualsPGPFmt contained "=" nextgroup=muttrcPGPFormatStr
+syn keyword muttrcVarStr       contained pgp_decode_command pgp_verify_command pgp_decrypt_command pgp_clearsign_command pgp_sign_command pgp_encrypt_sign_command pgp_encrypt_only_command pgp_import_command pgp_export_command pgp_verify_key_command pgp_list_secring_command pgp_list_pubring_command nextgroup=muttrcVarEqualsPGPCmdFmt
+syn match muttrcVarEqualsPGPCmdFmt contained "=" nextgroup=muttrcPGPCmdFormatStr
+syn keyword muttrcVarStr       contained status_format nextgroup=muttrcVarEqualsStatusFmt
+syn match muttrcVarEqualsStatusFmt contained "=" nextgroup=muttrcStatusFormatStr
+syn keyword muttrcVarStr       contained pgp_getkeys_command nextgroup=muttrcVarEqualsPGPGetKeysFmt
+syn match muttrcVarEqualsPGPGetKeysFmt contained "=" nextgroup=muttrcPGPGetKeysFormatStr
+syn keyword muttrcVarStr       contained smime_decrypt_command smime_verify_command smime_verify_opaque_command smime_sign_command smime_sign_opaque_command smime_encrypt_command smime_pk7out_command smime_get_cert_command smime_get_signer_cert_command smime_import_cert_command smime_get_cert_email_command nextgroup=muttrcVarEqualsSmimeFmt
+syn match muttrcVarEqualsSmimeFmt contained "=" nextgroup=muttrcSmimeFormatStr
 
 syn match muttrcVarStr         contained 'my_[a-zA-Z0-9_]\+'
-syn keyword muttrcVarStr       contained alias_file alias_format assumed_charset attach_format attach_sep attribution
-syn keyword muttrcVarStr       contained certificate_file charset compose_format config_charset content_type
+syn keyword muttrcVarStr       contained alias_file assumed_charset attach_charset attach_sep
+syn keyword muttrcVarStr       contained certificate_file charset config_charset content_type
 syn keyword muttrcVarStr       contained date_format default_hook display_filter dotlock_program dsn_notify
 syn keyword muttrcVarStr       contained dsn_return editor entropy_file envelope_from_address escape folder
-syn keyword muttrcVarStr       contained folder_format forw_format forward_format from gecos_mask hdr_format
+syn keyword muttrcVarStr       contained forw_format forward_format from gecos_mask hdr_format
 syn keyword muttrcVarStr       contained header_cache header_cache_pagesize history_file hostname imap_authenticators
-syn keyword muttrcVarStr       contained imap_delim_chars imap_headers imap_home_namespace imap_idle imap_login imap_pass
-syn keyword muttrcVarStr       contained imap_user indent_str indent_string index_format ispell locale mailcap_path
-syn keyword muttrcVarStr       contained mask mbox mbox_type message_format message_cachedir mh_seq_flagged mh_seq_replied
-syn keyword muttrcVarStr       contained mh_seq_unseen mix_entry_format mixmaster msg_format pager pager_format
-syn keyword muttrcVarStr       contained pgp_clearsign_command pgp_decode_command pgp_decrypt_command
-syn keyword muttrcVarStr       contained pgp_encrypt_only_command pgp_encrypt_sign_command pgp_entry_format
-syn keyword muttrcVarStr       contained pgp_export_command pgp_getkeys_command pgp_good_sign pgp_import_command
-syn keyword muttrcVarStr       contained pgp_list_pubring_command pgp_list_secring_command pgp_mime_signature_filename
+syn keyword muttrcVarStr       contained imap_delim_chars imap_headers imap_idle imap_login imap_pass
+syn keyword muttrcVarStr       contained imap_user indent_str indent_string ispell locale mailcap_path
+syn keyword muttrcVarStr       contained mask mbox mbox_type message_cachedir mh_seq_flagged mh_seq_replied
+syn keyword muttrcVarStr       contained mh_seq_unseen mixmaster msg_format pager
+syn keyword muttrcVarStr       contained pgp_good_sign 
+syn keyword muttrcVarStr       contained pgp_mime_signature_filename
 syn keyword muttrcVarStr       contained pgp_mime_signature_description pgp_sign_as
-syn keyword muttrcVarStr       contained pgp_sign_command pgp_sort_keys pgp_verify_command pgp_verify_key_command
+syn keyword muttrcVarStr       contained pgp_sort_keys
 syn keyword muttrcVarStr       contained pipe_sep pop_authenticators pop_host pop_pass pop_user post_indent_str
 syn keyword muttrcVarStr       contained post_indent_string postponed preconnect print_cmd print_command
 syn keyword muttrcVarStr       contained query_command quote_regexp realname record reply_regexp send_charset
 syn keyword muttrcVarStr       contained sendmail shell signature simple_search smileys smime_ca_location
-syn keyword muttrcVarStr       contained smime_certificates smime_decrypt_command smime_default_key
-syn keyword muttrcVarStr       contained smime_encrypt_command smime_encrypt_with smime_get_cert_command
-syn keyword muttrcVarStr       contained smime_get_cert_email_command smime_get_signer_cert_command
-syn keyword muttrcVarStr       contained smime_import_cert_command smime_keys smime_pk7out_command smime_sign_as
-syn keyword muttrcVarStr       contained smime_sign_command smime_sign_opaque_command smime_verify_command
-syn keyword muttrcVarStr       contained smime_verify_opaque_command smtp_url smtp_authenticators sort sort_alias sort_aux
+syn keyword muttrcVarStr       contained smime_certificates smime_default_key
+syn keyword muttrcVarStr       contained smime_encrypt_with
+syn keyword muttrcVarStr       contained smime_keys smime_sign_as
+syn keyword muttrcVarStr       contained smtp_url smtp_authenticators smtp_pass sort sort_alias sort_aux
 syn keyword muttrcVarStr       contained sort_browser spam_separator spoolfile ssl_ca_certificates_file ssl_client_cert
-syn keyword muttrcVarStr       contained status_chars status_format tmpdir to_chars tunnel visual
+syn keyword muttrcVarStr       contained status_chars tmpdir to_chars tunnel visual
 
 " Present in 1.4.2.1 (pgp_create_traditional was a bool then)
 syn keyword muttrcVarBool      contained imap_force_ssl imap_force_ssl noinvimap_force_ssl
@@ -372,12 +469,13 @@ syn match muttrcUnAlias           /^\s*unalias\s\?/ nextgroup=muttrcUnAliasKey,muttrcUnAl
 
 syn match muttrcSimplePat contained "!\?\^\?[~][ADEFgGklNOpPQRSTuUvV=$]"
 syn match muttrcSimplePat contained "!\?\^\?[~][mnXz]\s\+\%([<>-][0-9]\+\|[0-9]\+[-][0-9]*\)"
-syn match muttrcSimplePat contained "!\?\^\?[~][dr]\s\+\%(\%(-\?[0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)*\)\|\%(\%([0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)*\)-\%([0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)\?\)\?\)\|\%([<>=][0-9]\+[ymwd]\)\)"
+syn match muttrcSimplePat contained "!\?\^\?[~][dr]\s\+\%(\%(-\?[0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)*\)\|\%(\%([0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)*\)-\%([0-9]\{1,2}\%(/[0-9]\{1,2}\%(/[0-9]\{2}\%([0-9]\{2}\)\?\)\?\)\?\%([+*-][0-9]\+[ymwd]\)\?\)\?\)\|\%([<>=][0-9]\+[ymwd]\)\|\%(`[^`]\+`\)\|\%(\$[a-zA-Z0-9_-]\+\)\)" contains=muttrcShellString,muttrcVariable
 syn match muttrcSimplePat contained "!\?\^\?[~][bBcCefhHiLstxy]\s\+" nextgroup=muttrcSimplePatRXContainer
 syn match muttrcSimplePat contained "!\?\^\?[%][bBcCefhHiLstxy]\s\+" nextgroup=muttrcSimplePatString
 syn match muttrcSimplePat contained "!\?\^\?[=][bh]\s\+" nextgroup=muttrcSimplePatString
-"syn match muttrcSimplePat contained /"[^~=%][^"]*/ contains=muttrcRXPat
-"syn match muttrcSimplePat contained /'[^~=%][^']*/ contains=muttrcRXPat
+syn region muttrcSimplePat contained keepend start=+!\?\^\?[~](+ end=+)+ contains=muttrcSimplePat
+"syn match muttrcSimplePat contained /'[^~=%][^']*/ 
+"contains=muttrcRXPat
 syn match muttrcSimplePatString contained /[a-zA-Z0-9]\+/
 syn region muttrcSimplePatString contained keepend start=+"+ end=+"+ skip=+\\"+
 syn region muttrcSimplePatString contained keepend start=+'+ end=+'+ skip=+\\'+
@@ -388,7 +486,7 @@ syn match muttrcSimplePatMetas contained /[(|)]/
 
 syn region muttrcPattern contained keepend start=+"+ skip=+\\"+ end=+"+ contains=muttrcPatternInner
 syn region muttrcPattern contained keepend start=+'+ skip=+\\'+ end=+'+ contains=muttrcPatternInner
-syn match muttrcPattern contained "[~][A-Za-z]" contains=muttrcSimplePat
+syn match muttrcPattern contained "[~]\([A-Za-z]\|([^)]\+)\)" contains=muttrcSimplePat
 syn region muttrcPatternInner contained keepend start=+"[~=%!(^]+ms=s+1 skip=+\\"+ end=+"+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
 syn region muttrcPatternInner contained keepend start=+'[~=%!(^]+ms=s+1 skip=+\\'+ end=+'+me=e-1 contains=muttrcSimplePat,muttrcUnHighlightSpace,muttrcSimplePatMetas
 
@@ -535,6 +633,41 @@ if version >= 508 || !exists("did_muttrc_syntax_inits")
   HiLink muttrcRXHookNot       Type
   HiLink muttrcPatHooks                muttrcCommand
   HiLink muttrcPatHookNot      Type
+  HiLink muttrcFormatConditionals2 Type
+  HiLink muttrcIndexFormatStr  muttrcString
+  HiLink muttrcIndexFormatEscapes muttrcEscape
+  HiLink muttrcIndexFormatConditionals muttrcFormatConditionals2
+  HiLink muttrcAliasFormatStr  muttrcString
+  HiLink muttrcAliasFormatEscapes muttrcEscape
+  HiLink muttrcAttachFormatStr muttrcString
+  HiLink muttrcAttachFormatEscapes muttrcEscape
+  HiLink muttrcAttachFormatConditionals muttrcFormatConditionals2
+  HiLink muttrcComposeFormatStr        muttrcString
+  HiLink muttrcComposeFormatEscapes muttrcEscape
+  HiLink muttrcFolderFormatStr muttrcString
+  HiLink muttrcFolderFormatEscapes muttrcEscape
+  HiLink muttrcFolderFormatConditionals muttrcFormatConditionals2
+  HiLink muttrcMixFormatStr    muttrcString
+  HiLink muttrcMixFormatEscapes muttrcEscape
+  HiLink muttrcMixFormatConditionals muttrcFormatConditionals2
+  HiLink muttrcPGPFormatStr    muttrcString
+  HiLink muttrcPGPFormatEscapes muttrcEscape
+  HiLink muttrcPGPFormatConditionals muttrcFormatConditionals2
+  HiLink muttrcPGPCmdFormatStr muttrcString
+  HiLink muttrcPGPCmdFormatEscapes muttrcEscape
+  HiLink muttrcPGPCmdFormatConditionals muttrcFormatConditionals2
+  HiLink muttrcStatusFormatStr muttrcString
+  HiLink muttrcStatusFormatEscapes muttrcEscape
+  HiLink muttrcStatusFormatConditionals muttrcFormatConditionals2
+  HiLink muttrcPGPGetKeysFormatStr     muttrcString
+  HiLink muttrcPGPGetKeysFormatEscapes muttrcEscape
+  HiLink muttrcSmimeFormatStr  muttrcString
+  HiLink muttrcSmimeFormatEscapes muttrcEscape
+  HiLink muttrcSmimeFormatConditionals muttrcFormatConditionals2
+  HiLink muttrcTimeEscapes     muttrcEscape
+  HiLink muttrcPGPTimeEscapes  muttrcEscape
+  HiLink muttrcStrftimeEscapes Type
+  HiLink muttrcFormatErrors Error
 
   HiLink muttrcBindFunctionNL  SpecialChar
   HiLink muttrcBindKeyNL       SpecialChar
@@ -564,4 +697,4 @@ endif
 
 let b:current_syntax = "muttrc"
 
-"EOF   vim: ts=8 noet tw=100 sw=8 sts=0
+"EOF   vim: ts=8 noet tw=100 sw=8 sts=0 ft=vim
index 3bb39b1733e0320d603f8ee71fde7474cf3fc044..124d524578fe448a173afb6d1fe475ff4545b3bf 100644 (file)
@@ -1,7 +1,10 @@
 " Vim syntax file
 " Language:    po (gettext)
 " Maintainer:  Dwayne Bailey <dwayne@translate.org.za>
-" Last Change: 2004 Nov 13
+" Last Change: 2008 Jan 08
+" Contributors: Dwayne Bailey (Most advanced syntax highlighting)
+"               Leonardo Fontenelle (Spell checking)
+"               Nam SungHyun <namsh@kldp.org> (Original maintainer)
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -14,26 +17,30 @@ endif
 syn sync minlines=10
 
 " Identifiers
+syn match  poStatementMsgCTxt "^msgctxt"
 syn match  poStatementMsgidplural "^msgid_plural" contained
 syn match  poPluralCaseN "[0-9]" contained
 syn match  poStatementMsgstr "^msgstr\(\[[0-9]\]\)" contains=poPluralCaseN
 
 " Simple HTML and XML highlighting
-syn match  poHtml "<[^<>]\+>" contains=poHtmlTranslatables
+syn match  poHtml "<\_[^<>]\+>" contains=poHtmlTranslatables,poLineBreak
 syn match  poHtmlNot +"<[^<]\+>"+ms=s+1,me=e-1
-syn region poHtmlTranslatables start=+alt=\\"+ms=e-1 end=+\\"+ contained
+syn region poHtmlTranslatables start=+\(abbr\|alt\|content\|summary\|standby\|title\)=\\"+ms=e-1 end=+\\"+ contained contains=@Spell
+syn match poLineBreak +"\n"+ contained
 
 " Translation blocks
+syn region     poMsgCTxt       matchgroup=poStatementMsgCTxt start=+^msgctxt "+rs=e-1 matchgroup=poStringCTxt end=+^msgid "+me=s-1 contains=poStringCTxt
 syn region     poMsgID matchgroup=poStatementMsgid start=+^msgid "+rs=e-1 matchgroup=poStringID end=+^msgstr\(\|\[[\]0\[]\]\) "+me=s-1 contains=poStringID,poStatementMsgidplural,poStatementMsgid
 syn region     poMsgSTR        matchgroup=poStatementMsgstr start=+^msgstr\(\|\[[\]0\[]\]\) "+rs=e-1 matchgroup=poStringSTR end=+\n\n+me=s-1 contains=poStringSTR,poStatementMsgstr
+syn region poStringCTxt        start=+"+ skip=+\\\\\|\\"+ end=+"+
 syn region poStringID  start=+"+ skip=+\\\\\|\\"+ end=+"+ contained 
-                            \ contains=poSpecial,poFormat,poCommentKDE,poPluralKDE,poKDEdesktopFile,poHtml,poAccelerator,poHtmlNot,poVariable
+                            \ contains=poSpecial,poFormat,poCommentKDE,poPluralKDE,poKDEdesktopFile,poHtml,poAcceleratorId,poHtmlNot,poVariable
 syn region poStringSTR start=+"+ skip=+\\\\\|\\"+ end=+"+ contained 
-                            \ contains=poSpecial,poFormat,poHeaderItem,poCommentKDEError,poHeaderUndefined,poPluralKDEError,poMsguniqError,poKDEdesktopFile,poHtml,poAccelerator,poHtmlNot,poVariable
+                            \ contains=@Spell,poSpecial,poFormat,poHeaderItem,poCommentKDEError,poHeaderUndefined,poPluralKDEError,poMsguniqError,poKDEdesktopFile,poHtml,poAcceleratorStr,poHtmlNot,poVariable
 
 " Header and Copyright
 syn match     poHeaderItem "\(Project-Id-Version\|Report-Msgid-Bugs-To\|POT-Creation-Date\|PO-Revision-Date\|Last-Translator\|Language-Team\|MIME-Version\|Content-Type\|Content-Transfer-Encoding\|Plural-Forms\|X-Generator\): " contained
-syn match     poHeaderUndefined "\(PACKAGE VERSION\|YEAR-MO-DA HO:MI+ZONE\|FULL NAME <EMAIL@ADDRESS>\|LANGUAGE <LL@li.org>\|text/plain; charset=CHARSET\|ENCODING\)" contained
+syn match     poHeaderUndefined "\(PACKAGE VERSION\|YEAR-MO-DA HO:MI+ZONE\|FULL NAME <EMAIL@ADDRESS>\|LANGUAGE <LL@li.org>\|CHARSET\|ENCODING\|INTEGER\|EXPRESSION\)" contained
 syn match     poCopyrightUnset "SOME DESCRIPTIVE TITLE\|FIRST AUTHOR <EMAIL@ADDRESS>, YEAR\|Copyright (C) YEAR Free Software Foundation, Inc\|YEAR THE PACKAGE\'S COPYRIGHT HOLDER\|PACKAGE" contained
 
 " Translation comment block including: translator comment, automatic coments, flags and locations
@@ -63,7 +70,8 @@ syn match poObsolete "^#\~.*$"
 syn match poKDEdesktopFile "\"\(Name\|Comment\|GenericName\|Description\|Keywords\|About\)="ms=s+1,me=e-1
 
 " Accelerator keys - this messes up if the preceding or following char is a multibyte unicode char
-syn match poAccelerator  contained "[^&_~][&_~]\(\a\|\d\)[^:]"ms=s+1,me=e-1 
+syn match poAcceleratorId  contained "[^&_~][&_~]\(\a\|\d\)[^:]"ms=s+1,me=e-1 
+syn match poAcceleratorStr  contained "[^&_~][&_~]\(\a\|\d\)[^:]"ms=s+1,me=e-1 contains=@Spell
 
 " Variables simple
 syn match poVariable contained "%\d"
@@ -91,8 +99,10 @@ if version >= 508 || !exists("did_po_syn_inits")
   HiLink poStatementMsgid   Statement
   HiLink poStatementMsgstr  Statement
   HiLink poStatementMsgidplural  Statement
+  HiLink poStatementMsgCTxt Statement
   HiLink poPluralCaseN      Constant
 
+  HiLink poStringCTxt      Comment
   HiLink poStringID        String
   HiLink poStringSTR       String
   HiLink poCommentKDE       Comment
@@ -106,11 +116,13 @@ if version >= 508 || !exists("did_po_syn_inits")
   HiLink poHtml              Identifier
   HiLink poHtmlNot           String
   HiLink poHtmlTranslatables String
+  HiLink poLineBreak         String
 
   HiLink poFormat          poSpecial
   HiLink poSpecial         Special
-  HiLink poAccelerator       Special
-  HiLink poVariable          Special
+  HiLink poAcceleratorId    Special
+  HiLink poAcceleratorStr   Special
+  HiLink poVariable         Special
 
   HiLink poMsguniqError        Special
   HiLink poMsguniqErrorMarkers Comment
index 81175fee19de8312e13800a8d43fd297d3d7cd5b..1972e5af5df224ea8728aa4b835a7f00d2eabcb0 100644 (file)
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         readline(3) configuration file
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2006-04-19
+" Latest Revision:  2007-06-17
 "   readline_has_bash - if defined add support for bash specific
 "                       settings/functions
 
@@ -12,7 +12,7 @@ endif
 let s:cpo_save = &cpo
 set cpo&vim
 
-setlocal iskeyword=@,48-57,-
+setlocal iskeyword+=-
 
 syn keyword readlineTodo        contained TODO FIXME XXX NOTE
 
index c0f0ff272bd862eb76f196f321d13bb47357df41..f1b8d88e1c1241658971ed6a5f99a1141fa551e8 100644 (file)
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:    R Help File
 " Maintainer:  Johannes Ranke <jranke@uni-bremen.de>
-" Last Change: 2006 Apr 24
-" Version:     0.7
+" Last Change: 2008 Apr 10
+" Version:     0.7.1
 " SVN:            $Id$
 " Remarks:     - Now includes R syntax highlighting in the appropriate
 "                sections if an r.vim file is in the same directory or in the
@@ -107,6 +107,7 @@ syn match rhelpSection              "\\tabular{[lcr]*}"
 syn match rhelpSection         "\\dontrun\>"
 syn match rhelpSection         "\\dontshow\>"
 syn match rhelpSection         "\\testonly\>"
+syn match rhelpSection         "\\donttest\>"
 
 " Freely named Sections {{{1
 syn region rhelpFreesec matchgroup=Delimiter start="\\section{" matchgroup=Delimiter transparent end=/}/ 
index b69da0bde11460d906e93d3d80f336d0dce9ef1d..81fa060f4a2b42def30277ee2976a074b871c732 100644 (file)
@@ -1,12 +1,14 @@
+
 " Vim syntax file
 " Language:    SQL, Adaptive Server Anywhere
 " Maintainer:  David Fishburn <fishburn at ianywhere dot com>
-" Last Change: Thu Sep 15 2005 10:30:09 AM
-" Version:     9.0.2
+" Last Change: Tue 29 Jan 2008 12:54:19 PM Eastern Standard Time
+" Version:     10.0.1
 
-" Description: Updated to Adaptive Server Anywhere 9.0.2
-"              Updated to Adaptive Server Anywhere 9.0.1
-"              Updated to Adaptive Server Anywhere 9.0.0
+" Description: Updated to Adaptive Server Anywhere 10.0.1
+"              Updated to Adaptive Server Anywhere  9.0.2
+"              Updated to Adaptive Server Anywhere  9.0.1
+"              Updated to Adaptive Server Anywhere  9.0.0
 "
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -23,459 +25,460 @@ syn case ignore
 syn keyword sqlSpecial  false null true
 
 " common functions
-syn keyword sqlFunction        count sum avg min max debug_eng isnull
-syn keyword sqlFunction        greater lesser argn string ymd todate
-syn keyword sqlFunction        totimestamp date today now utc_now
-syn keyword sqlFunction        number identity years months weeks days
-syn keyword sqlFunction        hours minutes seconds second minute hour
-syn keyword sqlFunction        day month year dow date_format substr
-syn keyword sqlFunction        substring byte_substr length byte_length
-syn keyword sqlFunction        datalength ifnull evaluate list
-syn keyword sqlFunction        soundex similar difference like_start
-syn keyword sqlFunction        like_end regexp_compile
-syn keyword sqlFunction        regexp_compile_patindex remainder abs
-syn keyword sqlFunction        graphical_plan plan explanation ulplan
-syn keyword sqlFunction        graphical_ulplan long_ulplan
-syn keyword sqlFunction        short_ulplan rewrite watcomsql
-syn keyword sqlFunction        transactsql dialect estimate
-syn keyword sqlFunction        estimate_source index_estimate
-syn keyword sqlFunction        experience_estimate traceback wsql_state
-syn keyword sqlFunction        lang_message dateadd datediff datepart
-syn keyword sqlFunction        datename dayname monthname quarter
-syn keyword sqlFunction        tsequal hextoint inttohex rand textptr
-syn keyword sqlFunction        rowid grouping stddev variance rank
-syn keyword sqlFunction        dense_rank density percent_rank user_name
-syn keyword sqlFunction        user_id str stuff char_length nullif
-syn keyword sqlFunction        sortkey compare ts_index_statistics
-syn keyword sqlFunction        ts_table_statistics isdate isnumeric
-syn keyword sqlFunction        get_identity lookup newid uuidtostr
-syn keyword sqlFunction        strtouuid varexists
+syn keyword sqlFunction         count sum avg min max debug_eng isnull
+syn keyword sqlFunction         greater lesser argn string ymd todate
+syn keyword sqlFunction         totimestamp date today now utc_now
+syn keyword sqlFunction         number identity years months weeks days
+syn keyword sqlFunction         hours minutes seconds second minute hour
+syn keyword sqlFunction         day month year dow date_format substr
+syn keyword sqlFunction         substring byte_substr length byte_length
+syn keyword sqlFunction         datalength ifnull evaluate list
+syn keyword sqlFunction         soundex similar difference like_start
+syn keyword sqlFunction         like_end regexp_compile
+syn keyword sqlFunction         regexp_compile_patindex remainder abs
+syn keyword sqlFunction         graphical_plan plan explanation ulplan
+syn keyword sqlFunction         graphical_ulplan long_ulplan
+syn keyword sqlFunction         short_ulplan rewrite watcomsql
+syn keyword sqlFunction         transactsql dialect estimate
+syn keyword sqlFunction         estimate_source index_estimate
+syn keyword sqlFunction         experience_estimate traceback wsql_state
+syn keyword sqlFunction         lang_message dateadd datediff datepart
+syn keyword sqlFunction         datename dayname monthname quarter
+syn keyword sqlFunction         tsequal hextoint inttohex rand textptr
+syn keyword sqlFunction         rowid grouping stddev variance rank
+syn keyword sqlFunction         dense_rank density percent_rank user_name
+syn keyword sqlFunction         user_id str stuff char_length nullif
+syn keyword sqlFunction         sortkey compare ts_index_statistics
+syn keyword sqlFunction         ts_table_statistics isdate isnumeric
+syn keyword sqlFunction         get_identity lookup newid uuidtostr
+syn keyword sqlFunction         strtouuid varexists
 
 " 9.0.1 functions
-syn keyword sqlFunction        acos asin atan atn2 cast ceiling convert cos cot 
-syn keyword sqlFunction        char_length coalesce dateformat datetime degrees exp
-syn keyword sqlFunction        floor getdate insertstr 
-syn keyword sqlFunction        log log10 lower mod pi power
-syn keyword sqlFunction        property radians replicate round sign sin 
-syn keyword sqlFunction        sqldialect tan truncate truncnum
-syn keyword sqlFunction        base64_encode base64_decode
-syn keyword sqlFunction        hash compress decompress encrypt decrypt
+syn keyword sqlFunction         acos asin atan atn2 cast ceiling convert cos cot 
+syn keyword sqlFunction         char_length coalesce dateformat datetime degrees exp
+syn keyword sqlFunction         floor getdate insertstr 
+syn keyword sqlFunction         log log10 lower mod pi power
+syn keyword sqlFunction         property radians replicate round sign sin 
+syn keyword sqlFunction         sqldialect tan truncate truncnum
+syn keyword sqlFunction         base64_encode base64_decode
+syn keyword sqlFunction         hash compress decompress encrypt decrypt
 
 " string functions
-syn keyword sqlFunction        ascii char left ltrim repeat
-syn keyword sqlFunction        space right rtrim trim lcase ucase
-syn keyword sqlFunction        locate charindex patindex replace
-syn keyword sqlFunction        errormsg csconvert 
+syn keyword sqlFunction         ascii char left ltrim repeat
+syn keyword sqlFunction         space right rtrim trim lcase ucase
+syn keyword sqlFunction         locate charindex patindex replace
+syn keyword sqlFunction         errormsg csconvert 
 
 " property functions
-syn keyword sqlFunction        db_id db_name property_name
-syn keyword sqlFunction        property_description property_number
-syn keyword sqlFunction        next_connection next_database property
-syn keyword sqlFunction        connection_property db_property db_extended_property
-syn keyword sqlFunction        event_parmeter event_condition event_condition_name
+syn keyword sqlFunction         db_id db_name property_name
+syn keyword sqlFunction         property_description property_number
+syn keyword sqlFunction         next_connection next_database property
+syn keyword sqlFunction         connection_property db_property db_extended_property
+syn keyword sqlFunction         event_parmeter event_condition event_condition_name
 
 " sa_ procedures
-syn keyword sqlFunction        sa_add_index_consultant_analysis
-syn keyword sqlFunction        sa_add_workload_query
-syn keyword sqlFunction sa_app_deregister
-syn keyword sqlFunction sa_app_get_infoStr
-syn keyword sqlFunction sa_app_get_status
-syn keyword sqlFunction sa_app_register
-syn keyword sqlFunction sa_app_registration_unlock
-syn keyword sqlFunction sa_app_set_infoStr
-syn keyword sqlFunction sa_audit_string
-syn keyword sqlFunction sa_check_commit
-syn keyword sqlFunction sa_checkpoint_execute
-syn keyword sqlFunction sa_conn_activity
-syn keyword sqlFunction sa_conn_compression_info
-syn keyword sqlFunction sa_conn_deregister
-syn keyword sqlFunction sa_conn_info
-syn keyword sqlFunction sa_conn_properties
-syn keyword sqlFunction sa_conn_properties_by_conn
-syn keyword sqlFunction sa_conn_properties_by_name
-syn keyword sqlFunction sa_conn_register
-syn keyword sqlFunction sa_conn_set_status
-syn keyword sqlFunction sa_create_analysis_from_query
-syn keyword sqlFunction sa_db_info
-syn keyword sqlFunction sa_db_properties
-syn keyword sqlFunction sa_disable_auditing_type
-syn keyword sqlFunction sa_disable_index
-syn keyword sqlFunction sa_disk_free_space
-syn keyword sqlFunction sa_enable_auditing_type
-syn keyword sqlFunction sa_enable_index
-syn keyword sqlFunction sa_end_forward_to
-syn keyword sqlFunction sa_eng_properties
-syn keyword sqlFunction sa_event_schedules
-syn keyword sqlFunction sa_exec_script
-syn keyword sqlFunction sa_flush_cache
-syn keyword sqlFunction sa_flush_statistics
-syn keyword sqlFunction sa_forward_to
-syn keyword sqlFunction sa_get_dtt
-syn keyword sqlFunction sa_get_histogram
-syn keyword sqlFunction sa_get_request_profile
-syn keyword sqlFunction sa_get_request_profile_sub
-syn keyword sqlFunction sa_get_request_times
-syn keyword sqlFunction sa_get_server_messages
-syn keyword sqlFunction sa_get_simulated_scale_factors
-syn keyword sqlFunction sa_get_workload_capture_status
-syn keyword sqlFunction sa_index_density
-syn keyword sqlFunction sa_index_levels
-syn keyword sqlFunction sa_index_statistics
-syn keyword sqlFunction sa_internal_alter_index_ability
-syn keyword sqlFunction sa_internal_create_analysis_from_query
-syn keyword sqlFunction sa_internal_disk_free_space
-syn keyword sqlFunction sa_internal_get_dtt
-syn keyword sqlFunction sa_internal_get_histogram
-syn keyword sqlFunction sa_internal_get_request_times
-syn keyword sqlFunction sa_internal_get_simulated_scale_factors
-syn keyword sqlFunction sa_internal_get_workload_capture_status
-syn keyword sqlFunction sa_internal_index_density
-syn keyword sqlFunction sa_internal_index_levels
-syn keyword sqlFunction sa_internal_index_statistics
-syn keyword sqlFunction sa_internal_java_loaded_classes
-syn keyword sqlFunction sa_internal_locks
-syn keyword sqlFunction sa_internal_pause_workload_capture
-syn keyword sqlFunction sa_internal_procedure_profile
-syn keyword sqlFunction sa_internal_procedure_profile_summary
-syn keyword sqlFunction sa_internal_read_backup_history
-syn keyword sqlFunction sa_internal_recommend_indexes
-syn keyword sqlFunction sa_internal_reset_identity
-syn keyword sqlFunction sa_internal_resume_workload_capture
-syn keyword sqlFunction sa_internal_start_workload_capture
-syn keyword sqlFunction sa_internal_stop_index_consultant
-syn keyword sqlFunction sa_internal_stop_workload_capture
-syn keyword sqlFunction sa_internal_table_fragmentation
-syn keyword sqlFunction sa_internal_table_page_usage
-syn keyword sqlFunction sa_internal_table_stats
-syn keyword sqlFunction sa_internal_virtual_sysindex
-syn keyword sqlFunction sa_internal_virtual_sysixcol
-syn keyword sqlFunction sa_java_loaded_classes
-syn keyword sqlFunction sa_jdk_version
-syn keyword sqlFunction sa_locks
-syn keyword sqlFunction sa_make_object
-syn keyword sqlFunction sa_pause_workload_capture
-syn keyword sqlFunction sa_proc_debug_attach_to_connection
-syn keyword sqlFunction sa_proc_debug_connect
-syn keyword sqlFunction sa_proc_debug_detach_from_connection
-syn keyword sqlFunction sa_proc_debug_disconnect
-syn keyword sqlFunction sa_proc_debug_get_connection_name
-syn keyword sqlFunction sa_proc_debug_release_connection
-syn keyword sqlFunction sa_proc_debug_request
-syn keyword sqlFunction sa_proc_debug_version
-syn keyword sqlFunction sa_proc_debug_wait_for_connection
-syn keyword sqlFunction sa_procedure_profile
-syn keyword sqlFunction sa_procedure_profile_summary
-syn keyword sqlFunction sa_read_backup_history
-syn keyword sqlFunction sa_recommend_indexes
-syn keyword sqlFunction sa_recompile_views
-syn keyword sqlFunction sa_remove_index_consultant_analysis
-syn keyword sqlFunction sa_remove_index_consultant_workload
-syn keyword sqlFunction sa_reset_identity
-syn keyword sqlFunction sa_resume_workload_capture
-syn keyword sqlFunction sa_server_option
-syn keyword sqlFunction sa_set_simulated_scale_factor
-syn keyword sqlFunction sa_setremoteuser
-syn keyword sqlFunction sa_setsubscription
-syn keyword sqlFunction sa_start_recording_commits
-syn keyword sqlFunction sa_start_workload_capture
-syn keyword sqlFunction sa_statement_text
-syn keyword sqlFunction sa_stop_index_consultant
-syn keyword sqlFunction sa_stop_recording_commits
-syn keyword sqlFunction sa_stop_workload_capture
-syn keyword sqlFunction sa_sync
-syn keyword sqlFunction sa_sync_sub
-syn keyword sqlFunction sa_table_fragmentation
-syn keyword sqlFunction sa_table_page_usage
-syn keyword sqlFunction sa_table_stats
-syn keyword sqlFunction sa_update_index_consultant_workload
-syn keyword sqlFunction sa_validate
-syn keyword sqlFunction sa_virtual_sysindex
-syn keyword sqlFunction sa_virtual_sysixcol
+syn keyword sqlFunction         sa_add_index_consultant_analysis
+syn keyword sqlFunction         sa_add_workload_query
+syn keyword sqlFunction  sa_app_deregister
+syn keyword sqlFunction  sa_app_get_infoStr
+syn keyword sqlFunction  sa_app_get_status
+syn keyword sqlFunction  sa_app_register
+syn keyword sqlFunction  sa_app_registration_unlock
+syn keyword sqlFunction  sa_app_set_infoStr
+syn keyword sqlFunction  sa_audit_string
+syn keyword sqlFunction  sa_check_commit
+syn keyword sqlFunction  sa_checkpoint_execute
+syn keyword sqlFunction  sa_conn_activity
+syn keyword sqlFunction  sa_conn_compression_info
+syn keyword sqlFunction  sa_conn_deregister
+syn keyword sqlFunction  sa_conn_info
+syn keyword sqlFunction  sa_conn_properties
+syn keyword sqlFunction  sa_conn_properties_by_conn
+syn keyword sqlFunction  sa_conn_properties_by_name
+syn keyword sqlFunction  sa_conn_register
+syn keyword sqlFunction  sa_conn_set_status
+syn keyword sqlFunction  sa_create_analysis_from_query
+syn keyword sqlFunction  sa_db_info
+syn keyword sqlFunction  sa_db_properties
+syn keyword sqlFunction  sa_disable_auditing_type
+syn keyword sqlFunction  sa_disable_index
+syn keyword sqlFunction  sa_disk_free_space
+syn keyword sqlFunction  sa_enable_auditing_type
+syn keyword sqlFunction  sa_enable_index
+syn keyword sqlFunction  sa_end_forward_to
+syn keyword sqlFunction  sa_eng_properties
+syn keyword sqlFunction  sa_event_schedules
+syn keyword sqlFunction  sa_exec_script
+syn keyword sqlFunction  sa_flush_cache
+syn keyword sqlFunction  sa_flush_statistics
+syn keyword sqlFunction  sa_forward_to
+syn keyword sqlFunction  sa_get_dtt
+syn keyword sqlFunction  sa_get_histogram
+syn keyword sqlFunction  sa_get_request_profile
+syn keyword sqlFunction  sa_get_request_profile_sub
+syn keyword sqlFunction  sa_get_request_times
+syn keyword sqlFunction  sa_get_server_messages
+syn keyword sqlFunction  sa_get_simulated_scale_factors
+syn keyword sqlFunction  sa_get_workload_capture_status
+syn keyword sqlFunction  sa_index_density
+syn keyword sqlFunction  sa_index_levels
+syn keyword sqlFunction  sa_index_statistics
+syn keyword sqlFunction  sa_internal_alter_index_ability
+syn keyword sqlFunction  sa_internal_create_analysis_from_query
+syn keyword sqlFunction  sa_internal_disk_free_space
+syn keyword sqlFunction  sa_internal_get_dtt
+syn keyword sqlFunction  sa_internal_get_histogram
+syn keyword sqlFunction  sa_internal_get_request_times
+syn keyword sqlFunction  sa_internal_get_simulated_scale_factors
+syn keyword sqlFunction  sa_internal_get_workload_capture_status
+syn keyword sqlFunction  sa_internal_index_density
+syn keyword sqlFunction  sa_internal_index_levels
+syn keyword sqlFunction  sa_internal_index_statistics
+syn keyword sqlFunction  sa_internal_java_loaded_classes
+syn keyword sqlFunction  sa_internal_locks
+syn keyword sqlFunction  sa_internal_pause_workload_capture
+syn keyword sqlFunction  sa_internal_procedure_profile
+syn keyword sqlFunction  sa_internal_procedure_profile_summary
+syn keyword sqlFunction  sa_internal_read_backup_history
+syn keyword sqlFunction  sa_internal_recommend_indexes
+syn keyword sqlFunction  sa_internal_reset_identity
+syn keyword sqlFunction  sa_internal_resume_workload_capture
+syn keyword sqlFunction  sa_internal_start_workload_capture
+syn keyword sqlFunction  sa_internal_stop_index_consultant
+syn keyword sqlFunction  sa_internal_stop_workload_capture
+syn keyword sqlFunction  sa_internal_table_fragmentation
+syn keyword sqlFunction  sa_internal_table_page_usage
+syn keyword sqlFunction  sa_internal_table_stats
+syn keyword sqlFunction  sa_internal_virtual_sysindex
+syn keyword sqlFunction  sa_internal_virtual_sysixcol
+syn keyword sqlFunction  sa_java_loaded_classes
+syn keyword sqlFunction  sa_jdk_version
+syn keyword sqlFunction  sa_locks
+syn keyword sqlFunction  sa_make_object
+syn keyword sqlFunction  sa_pause_workload_capture
+syn keyword sqlFunction  sa_proc_debug_attach_to_connection
+syn keyword sqlFunction  sa_proc_debug_connect
+syn keyword sqlFunction  sa_proc_debug_detach_from_connection
+syn keyword sqlFunction  sa_proc_debug_disconnect
+syn keyword sqlFunction  sa_proc_debug_get_connection_name
+syn keyword sqlFunction  sa_proc_debug_release_connection
+syn keyword sqlFunction  sa_proc_debug_request
+syn keyword sqlFunction  sa_proc_debug_version
+syn keyword sqlFunction  sa_proc_debug_wait_for_connection
+syn keyword sqlFunction  sa_procedure_profile
+syn keyword sqlFunction  sa_procedure_profile_summary
+syn keyword sqlFunction  sa_read_backup_history
+syn keyword sqlFunction  sa_recommend_indexes
+syn keyword sqlFunction  sa_recompile_views
+syn keyword sqlFunction  sa_remove_index_consultant_analysis
+syn keyword sqlFunction  sa_remove_index_consultant_workload
+syn keyword sqlFunction  sa_reset_identity
+syn keyword sqlFunction  sa_resume_workload_capture
+syn keyword sqlFunction  sa_server_option
+syn keyword sqlFunction  sa_set_simulated_scale_factor
+syn keyword sqlFunction  sa_setremoteuser
+syn keyword sqlFunction  sa_setsubscription
+syn keyword sqlFunction  sa_start_recording_commits
+syn keyword sqlFunction  sa_start_workload_capture
+syn keyword sqlFunction  sa_statement_text
+syn keyword sqlFunction  sa_stop_index_consultant
+syn keyword sqlFunction  sa_stop_recording_commits
+syn keyword sqlFunction  sa_stop_workload_capture
+syn keyword sqlFunction  sa_sync
+syn keyword sqlFunction  sa_sync_sub
+syn keyword sqlFunction  sa_table_fragmentation
+syn keyword sqlFunction  sa_table_page_usage
+syn keyword sqlFunction  sa_table_stats
+syn keyword sqlFunction  sa_update_index_consultant_workload
+syn keyword sqlFunction  sa_validate
+syn keyword sqlFunction  sa_virtual_sysindex
+syn keyword sqlFunction  sa_virtual_sysixcol
 
 " sp_ procedures
-syn keyword sqlFunction sp_addalias
-syn keyword sqlFunction sp_addauditrecord
-syn keyword sqlFunction sp_adddumpdevice
-syn keyword sqlFunction sp_addgroup
-syn keyword sqlFunction sp_addlanguage
-syn keyword sqlFunction sp_addlogin
-syn keyword sqlFunction sp_addmessage
-syn keyword sqlFunction sp_addremotelogin
-syn keyword sqlFunction sp_addsegment
-syn keyword sqlFunction sp_addserver
-syn keyword sqlFunction sp_addthreshold
-syn keyword sqlFunction sp_addtype
-syn keyword sqlFunction sp_adduser
-syn keyword sqlFunction sp_auditdatabase
-syn keyword sqlFunction sp_auditlogin
-syn keyword sqlFunction sp_auditobject
-syn keyword sqlFunction sp_auditoption
-syn keyword sqlFunction sp_auditsproc
-syn keyword sqlFunction sp_bindefault
-syn keyword sqlFunction sp_bindmsg
-syn keyword sqlFunction sp_bindrule
-syn keyword sqlFunction sp_changedbowner
-syn keyword sqlFunction sp_changegroup
-syn keyword sqlFunction sp_checknames
-syn keyword sqlFunction sp_checkperms
-syn keyword sqlFunction sp_checkreswords
-syn keyword sqlFunction sp_clearstats
-syn keyword sqlFunction sp_column_privileges
-syn keyword sqlFunction sp_columns
-syn keyword sqlFunction sp_commonkey
-syn keyword sqlFunction sp_configure
-syn keyword sqlFunction sp_cursorinfo
-syn keyword sqlFunction sp_databases
-syn keyword sqlFunction sp_datatype_info
-syn keyword sqlFunction sp_dboption
-syn keyword sqlFunction sp_dbremap
-syn keyword sqlFunction sp_depends
-syn keyword sqlFunction sp_diskdefault
-syn keyword sqlFunction sp_displaylogin
-syn keyword sqlFunction sp_dropalias
-syn keyword sqlFunction sp_dropdevice
-syn keyword sqlFunction sp_dropgroup
-syn keyword sqlFunction sp_dropkey
-syn keyword sqlFunction sp_droplanguage
-syn keyword sqlFunction sp_droplogin
-syn keyword sqlFunction sp_dropmessage
-syn keyword sqlFunction sp_dropremotelogin
-syn keyword sqlFunction sp_dropsegment
-syn keyword sqlFunction sp_dropserver
-syn keyword sqlFunction sp_dropthreshold
-syn keyword sqlFunction sp_droptype
-syn keyword sqlFunction sp_dropuser
-syn keyword sqlFunction sp_estspace
-syn keyword sqlFunction sp_extendsegment
-syn keyword sqlFunction sp_fkeys
-syn keyword sqlFunction sp_foreignkey
-syn keyword sqlFunction sp_getmessage
-syn keyword sqlFunction sp_help
-syn keyword sqlFunction sp_helpconstraint
-syn keyword sqlFunction sp_helpdb
-syn keyword sqlFunction sp_helpdevice
-syn keyword sqlFunction sp_helpgroup
-syn keyword sqlFunction sp_helpindex
-syn keyword sqlFunction sp_helpjoins
-syn keyword sqlFunction sp_helpkey
-syn keyword sqlFunction sp_helplanguage
-syn keyword sqlFunction sp_helplog
-syn keyword sqlFunction sp_helpprotect
-syn keyword sqlFunction sp_helpremotelogin
-syn keyword sqlFunction sp_helpsegment
-syn keyword sqlFunction sp_helpserver
-syn keyword sqlFunction sp_helpsort
-syn keyword sqlFunction sp_helptext
-syn keyword sqlFunction sp_helpthreshold
-syn keyword sqlFunction sp_helpuser
-syn keyword sqlFunction sp_indsuspect
-syn keyword sqlFunction sp_lock
-syn keyword sqlFunction sp_locklogin
-syn keyword sqlFunction sp_logdevice
-syn keyword sqlFunction sp_login_environment
-syn keyword sqlFunction sp_modifylogin
-syn keyword sqlFunction sp_modifythreshold
-syn keyword sqlFunction sp_monitor
-syn keyword sqlFunction sp_password
-syn keyword sqlFunction sp_pkeys
-syn keyword sqlFunction sp_placeobject
-syn keyword sqlFunction sp_primarykey
-syn keyword sqlFunction sp_procxmode
-syn keyword sqlFunction sp_recompile
-syn keyword sqlFunction sp_remap
-syn keyword sqlFunction sp_remote_columns
-syn keyword sqlFunction sp_remote_exported_keys
-syn keyword sqlFunction sp_remote_imported_keys
-syn keyword sqlFunction sp_remote_pcols
-syn keyword sqlFunction sp_remote_primary_keys
-syn keyword sqlFunction sp_remote_procedures
-syn keyword sqlFunction sp_remote_tables
-syn keyword sqlFunction sp_remoteoption
-syn keyword sqlFunction sp_rename
-syn keyword sqlFunction sp_renamedb
-syn keyword sqlFunction sp_reportstats
-syn keyword sqlFunction sp_reset_tsql_environment
-syn keyword sqlFunction sp_role
-syn keyword sqlFunction sp_server_info
-syn keyword sqlFunction sp_servercaps
-syn keyword sqlFunction sp_serverinfo
-syn keyword sqlFunction sp_serveroption
-syn keyword sqlFunction sp_setlangalias
-syn keyword sqlFunction sp_setreplicate
-syn keyword sqlFunction sp_setrepproc
-syn keyword sqlFunction sp_setreptable
-syn keyword sqlFunction sp_spaceused
-syn keyword sqlFunction sp_special_columns
-syn keyword sqlFunction sp_sproc_columns
-syn keyword sqlFunction sp_statistics
-syn keyword sqlFunction sp_stored_procedures
-syn keyword sqlFunction sp_syntax
-syn keyword sqlFunction sp_table_privileges
-syn keyword sqlFunction sp_tables
-syn keyword sqlFunction sp_tsql_environment
-syn keyword sqlFunction sp_tsql_feature_not_supported
-syn keyword sqlFunction sp_unbindefault
-syn keyword sqlFunction sp_unbindmsg
-syn keyword sqlFunction sp_unbindrule
-syn keyword sqlFunction sp_volchanged
-syn keyword sqlFunction sp_who
-syn keyword sqlFunction xp_scanf
-syn keyword sqlFunction xp_sprintf
+syn keyword sqlFunction  sp_addalias
+syn keyword sqlFunction  sp_addauditrecord
+syn keyword sqlFunction  sp_adddumpdevice
+syn keyword sqlFunction  sp_addgroup
+syn keyword sqlFunction  sp_addlanguage
+syn keyword sqlFunction  sp_addlogin
+syn keyword sqlFunction  sp_addmessage
+syn keyword sqlFunction  sp_addremotelogin
+syn keyword sqlFunction  sp_addsegment
+syn keyword sqlFunction  sp_addserver
+syn keyword sqlFunction  sp_addthreshold
+syn keyword sqlFunction  sp_addtype
+syn keyword sqlFunction  sp_adduser
+syn keyword sqlFunction  sp_auditdatabase
+syn keyword sqlFunction  sp_auditlogin
+syn keyword sqlFunction  sp_auditobject
+syn keyword sqlFunction  sp_auditoption
+syn keyword sqlFunction  sp_auditsproc
+syn keyword sqlFunction  sp_bindefault
+syn keyword sqlFunction  sp_bindmsg
+syn keyword sqlFunction  sp_bindrule
+syn keyword sqlFunction  sp_changedbowner
+syn keyword sqlFunction  sp_changegroup
+syn keyword sqlFunction  sp_checknames
+syn keyword sqlFunction  sp_checkperms
+syn keyword sqlFunction  sp_checkreswords
+syn keyword sqlFunction  sp_clearstats
+syn keyword sqlFunction  sp_column_privileges
+syn keyword sqlFunction  sp_columns
+syn keyword sqlFunction  sp_commonkey
+syn keyword sqlFunction  sp_configure
+syn keyword sqlFunction  sp_cursorinfo
+syn keyword sqlFunction  sp_databases
+syn keyword sqlFunction  sp_datatype_info
+syn keyword sqlFunction  sp_dboption
+syn keyword sqlFunction  sp_dbremap
+syn keyword sqlFunction  sp_depends
+syn keyword sqlFunction  sp_diskdefault
+syn keyword sqlFunction  sp_displaylogin
+syn keyword sqlFunction  sp_dropalias
+syn keyword sqlFunction  sp_dropdevice
+syn keyword sqlFunction  sp_dropgroup
+syn keyword sqlFunction  sp_dropkey
+syn keyword sqlFunction  sp_droplanguage
+syn keyword sqlFunction  sp_droplogin
+syn keyword sqlFunction  sp_dropmessage
+syn keyword sqlFunction  sp_dropremotelogin
+syn keyword sqlFunction  sp_dropsegment
+syn keyword sqlFunction  sp_dropserver
+syn keyword sqlFunction  sp_dropthreshold
+syn keyword sqlFunction  sp_droptype
+syn keyword sqlFunction  sp_dropuser
+syn keyword sqlFunction  sp_estspace
+syn keyword sqlFunction  sp_extendsegment
+syn keyword sqlFunction  sp_fkeys
+syn keyword sqlFunction  sp_foreignkey
+syn keyword sqlFunction  sp_getmessage
+syn keyword sqlFunction  sp_help
+syn keyword sqlFunction  sp_helpconstraint
+syn keyword sqlFunction  sp_helpdb
+syn keyword sqlFunction  sp_helpdevice
+syn keyword sqlFunction  sp_helpgroup
+syn keyword sqlFunction  sp_helpindex
+syn keyword sqlFunction  sp_helpjoins
+syn keyword sqlFunction  sp_helpkey
+syn keyword sqlFunction  sp_helplanguage
+syn keyword sqlFunction  sp_helplog
+syn keyword sqlFunction  sp_helpprotect
+syn keyword sqlFunction  sp_helpremotelogin
+syn keyword sqlFunction  sp_helpsegment
+syn keyword sqlFunction  sp_helpserver
+syn keyword sqlFunction  sp_helpsort
+syn keyword sqlFunction  sp_helptext
+syn keyword sqlFunction  sp_helpthreshold
+syn keyword sqlFunction  sp_helpuser
+syn keyword sqlFunction  sp_indsuspect
+syn keyword sqlFunction  sp_lock
+syn keyword sqlFunction  sp_locklogin
+syn keyword sqlFunction  sp_logdevice
+syn keyword sqlFunction  sp_login_environment
+syn keyword sqlFunction  sp_modifylogin
+syn keyword sqlFunction  sp_modifythreshold
+syn keyword sqlFunction  sp_monitor
+syn keyword sqlFunction  sp_password
+syn keyword sqlFunction  sp_pkeys
+syn keyword sqlFunction  sp_placeobject
+syn keyword sqlFunction  sp_primarykey
+syn keyword sqlFunction  sp_procxmode
+syn keyword sqlFunction  sp_recompile
+syn keyword sqlFunction  sp_remap
+syn keyword sqlFunction  sp_remote_columns
+syn keyword sqlFunction  sp_remote_exported_keys
+syn keyword sqlFunction  sp_remote_imported_keys
+syn keyword sqlFunction  sp_remote_pcols
+syn keyword sqlFunction  sp_remote_primary_keys
+syn keyword sqlFunction  sp_remote_procedures
+syn keyword sqlFunction  sp_remote_tables
+syn keyword sqlFunction  sp_remoteoption
+syn keyword sqlFunction  sp_rename
+syn keyword sqlFunction  sp_renamedb
+syn keyword sqlFunction  sp_reportstats
+syn keyword sqlFunction  sp_reset_tsql_environment
+syn keyword sqlFunction  sp_role
+syn keyword sqlFunction  sp_server_info
+syn keyword sqlFunction  sp_servercaps
+syn keyword sqlFunction  sp_serverinfo
+syn keyword sqlFunction  sp_serveroption
+syn keyword sqlFunction  sp_setlangalias
+syn keyword sqlFunction  sp_setreplicate
+syn keyword sqlFunction  sp_setrepproc
+syn keyword sqlFunction  sp_setreptable
+syn keyword sqlFunction  sp_spaceused
+syn keyword sqlFunction  sp_special_columns
+syn keyword sqlFunction  sp_sproc_columns
+syn keyword sqlFunction  sp_statistics
+syn keyword sqlFunction  sp_stored_procedures
+syn keyword sqlFunction  sp_syntax
+syn keyword sqlFunction  sp_table_privileges
+syn keyword sqlFunction  sp_tables
+syn keyword sqlFunction  sp_tsql_environment
+syn keyword sqlFunction  sp_tsql_feature_not_supported
+syn keyword sqlFunction  sp_unbindefault
+syn keyword sqlFunction  sp_unbindmsg
+syn keyword sqlFunction  sp_unbindrule
+syn keyword sqlFunction  sp_volchanged
+syn keyword sqlFunction  sp_who
+syn keyword sqlFunction  xp_scanf
+syn keyword sqlFunction  xp_sprintf
 
 " server functions
-syn keyword sqlFunction col_length
-syn keyword sqlFunction col_name
-syn keyword sqlFunction index_col
-syn keyword sqlFunction object_id
-syn keyword sqlFunction object_name
-syn keyword sqlFunction proc_role
-syn keyword sqlFunction show_role
-syn keyword sqlFunction xp_cmdshell
-syn keyword sqlFunction xp_msver
-syn keyword sqlFunction xp_read_file
-syn keyword sqlFunction xp_real_cmdshell
-syn keyword sqlFunction xp_real_read_file
-syn keyword sqlFunction xp_real_sendmail
-syn keyword sqlFunction xp_real_startmail
-syn keyword sqlFunction xp_real_startsmtp
-syn keyword sqlFunction xp_real_stopmail
-syn keyword sqlFunction xp_real_stopsmtp
-syn keyword sqlFunction xp_real_write_file
-syn keyword sqlFunction xp_scanf
-syn keyword sqlFunction xp_sendmail
-syn keyword sqlFunction xp_sprintf
-syn keyword sqlFunction xp_startmail
-syn keyword sqlFunction xp_startsmtp
-syn keyword sqlFunction xp_stopmail
-syn keyword sqlFunction xp_stopsmtp
-syn keyword sqlFunction xp_write_file
+syn keyword sqlFunction  col_length
+syn keyword sqlFunction  col_name
+syn keyword sqlFunction  index_col
+syn keyword sqlFunction  object_id
+syn keyword sqlFunction  object_name
+syn keyword sqlFunction  proc_role
+syn keyword sqlFunction  show_role
+syn keyword sqlFunction  xp_cmdshell
+syn keyword sqlFunction  xp_msver
+syn keyword sqlFunction  xp_read_file
+syn keyword sqlFunction  xp_real_cmdshell
+syn keyword sqlFunction  xp_real_read_file
+syn keyword sqlFunction  xp_real_sendmail
+syn keyword sqlFunction  xp_real_startmail
+syn keyword sqlFunction  xp_real_startsmtp
+syn keyword sqlFunction  xp_real_stopmail
+syn keyword sqlFunction  xp_real_stopsmtp
+syn keyword sqlFunction  xp_real_write_file
+syn keyword sqlFunction  xp_scanf
+syn keyword sqlFunction  xp_sendmail
+syn keyword sqlFunction  xp_sprintf
+syn keyword sqlFunction  xp_startmail
+syn keyword sqlFunction  xp_startsmtp
+syn keyword sqlFunction  xp_stopmail
+syn keyword sqlFunction  xp_stopsmtp
+syn keyword sqlFunction  xp_write_file
 
 " http functions
-syn keyword sqlFunction        http_header http_variable
-syn keyword sqlFunction        next_http_header next_http_variable
-syn keyword sqlFunction        sa_set_http_header sa_set_http_option
-syn keyword sqlFunction        sa_http_variable_info sa_http_header_info
+syn keyword sqlFunction         http_header http_variable
+syn keyword sqlFunction         next_http_header next_http_variable
+syn keyword sqlFunction         sa_set_http_header sa_set_http_option
+syn keyword sqlFunction         sa_http_variable_info sa_http_header_info
 
 " http functions 9.0.1 
-syn keyword sqlFunction        http_encode http_decode
-syn keyword sqlFunction        html_encode html_decode
+syn keyword sqlFunction         http_encode http_decode
+syn keyword sqlFunction         html_encode html_decode
 
 " keywords
-syn keyword sqlKeyword absolute action activ add address after
-syn keyword sqlKeyword algorithm allow_dup_row
-syn keyword sqlKeyword alter and any as asc ascii ase at atomic
-syn keyword sqlKeyword attended audit authorization 
-syn keyword sqlKeyword autoincrement autostop bcp before
-syn keyword sqlKeyword between blank
-syn keyword sqlKeyword blanks block bottom unbounded break bufferpool
-syn keyword sqlKeyword bulk by byte cache calibrate calibration
-syn keyword sqlKeyword capability cascade cast
-syn keyword sqlKeyword catalog changes char char_convert check
-syn keyword sqlKeyword class classes client 
-syn keyword sqlKeyword cluster clustered collation column
-syn keyword sqlKeyword command comment comparisons
-syn keyword sqlKeyword compatible component compressed compute
-syn keyword sqlKeyword concat confirm connection
-syn keyword sqlKeyword console consolidate consolidated
-syn keyword sqlKeyword constraint constraints continue
-syn keyword sqlKeyword convert count crc cross cube
-syn keyword sqlKeyword current cursor data data database
-syn keyword sqlKeyword current_timestamp current_user
-syn keyword sqlKeyword datatype dba dbfile
-syn keyword sqlKeyword dbspace debug
-syn keyword sqlKeyword decrypted default defaults definition
-syn keyword sqlKeyword delay deleting delimited desc
-syn keyword sqlKeyword description deterministic directory
-syn keyword sqlKeyword disable distinct do domain 
-syn keyword sqlKeyword dsetpass dttm dynamic each editproc ejb
-syn keyword sqlKeyword else elseif enable encrypted end endif
-syn keyword sqlKeyword engine erase error escape escapes event
-syn keyword sqlKeyword every exception exclusive exec 
-syn keyword sqlKeyword existing exists expanded express
-syn keyword sqlKeyword external externlogin factor false
-syn keyword sqlKeyword fastfirstrow fieldproc file filler
-syn keyword sqlKeyword fillfactor finish first first_keyword 
-syn keyword sqlKeyword following force foreign format 
-syn keyword sqlKeyword freepage full function go global
-syn keyword sqlKeyword group handler hash having hexadecimal 
-syn keyword sqlKeyword hidden high hng hold holdlock
-syn keyword sqlKeyword hours id identified identity ignore
-syn keyword sqlKeyword ignore_dup_key ignore_dup_row immediate
-syn keyword sqlKeyword in inactive incremental index info inner
-syn keyword sqlKeyword inout insensitive inserting
-syn keyword sqlKeyword instead integrated
-syn keyword sqlKeyword internal into iq is isolation jar java
-syn keyword sqlKeyword jconnect jdk join kb key language last
-syn keyword sqlKeyword last_keyword lateral left level like
-syn keyword sqlKeyword limit local location log
-syn keyword sqlKeyword logging login long low main
-syn keyword sqlKeyword match max maximum membership 
-syn keyword sqlKeyword minutes mirror mode modify monitor 
-syn keyword sqlKeyword name named native natural new next no
-syn keyword sqlKeyword noholdlock nolock nonclustered none not
-syn keyword sqlKeyword notify null nulls of off old on
-syn keyword sqlKeyword only optimization optimizer option
-syn keyword sqlKeyword or order others out outer over
-syn keyword sqlKeyword package packetsize padding page pages
-syn keyword sqlKeyword paglock parallel part partition path
-syn keyword sqlKeyword pctfree plan preceding precision prefetch prefix
-syn keyword sqlKeyword preserve preview primary 
-syn keyword sqlKeyword prior priqty private privileges
-syn keyword sqlKeyword procedure public publication publish publisher
-syn keyword sqlKeyword quotes range readcommitted
-syn keyword sqlKeyword readpast readuncommitted 
-syn keyword sqlKeyword received recompile recursive references
-syn keyword sqlKeyword referencing relative 
-syn keyword sqlKeyword rename repeatableread
-syn keyword sqlKeyword replicate rereceive resend reset
-syn keyword sqlKeyword resolve resource respect
-syn keyword sqlKeyword restrict result retain
-syn keyword sqlKeyword returns right 
-syn keyword sqlKeyword rollup row rowlock rows save 
-syn keyword sqlKeyword schedule schema scroll seconds secqty
-syn keyword sqlKeyword send sensitive sent serializable
-syn keyword sqlKeyword server server session sets 
-syn keyword sqlKeyword share since site size skip
-syn keyword sqlKeyword some sorted_data sqlcode sqlid
-syn keyword sqlKeyword sqlstate stacker statement
-syn keyword sqlKeyword statistics status stogroup store
-syn keyword sqlKeyword strip subpages subscribe subscription
-syn keyword sqlKeyword subtransaction synchronization
-syn keyword sqlKeyword syntax_error table tablock
-syn keyword sqlKeyword tablockx tb temp template temporary then
-syn keyword sqlKeyword timezone to top
-syn keyword sqlKeyword transaction transactional tries true 
-syn keyword sqlKeyword tsequal type unconditionally unenforced
-syn keyword sqlKeyword unique union unknown unload 
-syn keyword sqlKeyword updating updlock upgrade use user
-syn keyword sqlKeyword using utc utilities validproc
-syn keyword sqlKeyword value values varchar variable
-syn keyword sqlKeyword varying vcat verify view virtual wait 
-syn keyword sqlKeyword warning wd when where window with within
-syn keyword sqlKeyword with_lparen work writefile 
-syn keyword sqlKeyword xlock zeros
+syn keyword sqlKeyword  absolute accent action activ add address after
+syn keyword sqlKeyword  algorithm allow_dup_row
+syn keyword sqlKeyword  alter and any as append asc ascii ase at atomic
+syn keyword sqlKeyword  attach attended audit authorization 
+syn keyword sqlKeyword  autoincrement autostop batch bcp before
+syn keyword sqlKeyword  between blank blanks block
+syn keyword sqlKeyword  both bottom unbounded break bufferpool
+syn keyword sqlKeyword  build bulk by byte bytes cache calibrate calibration
+syn keyword sqlKeyword  cancel capability cascade cast
+syn keyword sqlKeyword  catalog changes char char_convert check checksum
+syn keyword sqlKeyword  class classes client cmp
+syn keyword sqlKeyword  cluster clustered collation column columns
+syn keyword sqlKeyword  command comment committed comparisons
+syn keyword sqlKeyword  compatible component compressed compute computes
+syn keyword sqlKeyword  concat confirm conflict connection
+syn keyword sqlKeyword  console consolidate consolidated
+syn keyword sqlKeyword  constraint constraints continue
+syn keyword sqlKeyword  convert copy count crc cross cube
+syn keyword sqlKeyword  current cursor data data database
+syn keyword sqlKeyword  current_timestamp current_user
+syn keyword sqlKeyword  datatype dba dbfile
+syn keyword sqlKeyword  dbspace dbspacename debug decoupled
+syn keyword sqlKeyword  decrypted default defaults deferred definition
+syn keyword sqlKeyword  delay deleting delimited dependencies desc
+syn keyword sqlKeyword  description detach deterministic directory
+syn keyword sqlKeyword  disable disabled distinct do domain download
+syn keyword sqlKeyword  dsetpass dttm dynamic each editproc ejb
+syn keyword sqlKeyword  else elseif enable encapsulated encrypted end 
+syn keyword sqlKeyword  encoding endif engine erase error escape escapes event
+syn keyword sqlKeyword  every except exception exclude exclusive exec 
+syn keyword sqlKeyword  existing exists expanded express
+syn keyword sqlKeyword  external externlogin factor failover false
+syn keyword sqlKeyword  fastfirstrow fieldproc file filler
+syn keyword sqlKeyword  fillfactor finish first first_keyword 
+syn keyword sqlKeyword  following force foreign format 
+syn keyword sqlKeyword  freepage french fresh full function go global
+syn keyword sqlKeyword  group handler hash having header hexadecimal 
+syn keyword sqlKeyword  hidden high history hold holdlock
+syn keyword sqlKeyword  hours id identified identity ignore
+syn keyword sqlKeyword  ignore_dup_key ignore_dup_row immediate
+syn keyword sqlKeyword  in inactive inactivity incremental index info 
+syn keyword sqlKeyword  inline inner inout insensitive inserting
+syn keyword sqlKeyword  instead integrated
+syn keyword sqlKeyword  internal into introduced iq is isolation jar java
+syn keyword sqlKeyword  jconnect jdk join kb key keep kerberos language last
+syn keyword sqlKeyword  last_keyword lateral left level like
+syn keyword sqlKeyword  limit local location log 
+syn keyword sqlKeyword  logging login logscan long low lru main
+syn keyword sqlKeyword  match materialized max maximum membership 
+syn keyword sqlKeyword  minutes mirror mode modify monitor  mru
+syn keyword sqlKeyword  name named national native natural new next no
+syn keyword sqlKeyword  noholdlock nolock nonclustered none not
+syn keyword sqlKeyword  notify null nulls of off old on
+syn keyword sqlKeyword  only optimization optimizer option
+syn keyword sqlKeyword  or order others out outer over
+syn keyword sqlKeyword  package packetsize padding page pages
+syn keyword sqlKeyword  paglock parallel part partition partner password path
+syn keyword sqlKeyword  pctfree plan preceding precision prefetch prefix
+syn keyword sqlKeyword  preserve preview primary 
+syn keyword sqlKeyword  prior priqty private privileges procedure profile
+syn keyword sqlKeyword  public publication publish publisher
+syn keyword sqlKeyword  quote quotes range readcommitted readonly
+syn keyword sqlKeyword  readpast readuncommitted readwrite rebuild
+syn keyword sqlKeyword  received recompile recover recursive references
+syn keyword sqlKeyword  referencing refresh relative relocate
+syn keyword sqlKeyword  rename repeatable repeatableread
+syn keyword sqlKeyword  replicate rereceive resend reserve reset
+syn keyword sqlKeyword  resizing resolve resource respect
+syn keyword sqlKeyword  restrict result retain
+syn keyword sqlKeyword  returns right 
+syn keyword sqlKeyword  rollup root row rowlock rows save 
+syn keyword sqlKeyword  schedule schema scripted scroll seconds secqty
+syn keyword sqlKeyword  send sensitive sent serializable
+syn keyword sqlKeyword  server server session sets 
+syn keyword sqlKeyword  share simple since site size skip
+syn keyword sqlKeyword  snapshot soapheader some sorted_data 
+syn keyword sqlKeyword  sqlcode sqlid sqlstate stacker stale statement
+syn keyword sqlKeyword  statistics status stogroup store
+syn keyword sqlKeyword  strip subpages subscribe subscription
+syn keyword sqlKeyword  subtransaction synchronization
+syn keyword sqlKeyword  syntax_error table tablock
+syn keyword sqlKeyword  tablockx tb temp template temporary then
+syn keyword sqlKeyword  ties timezone to top tracing
+syn keyword sqlKeyword  transaction transactional tries true 
+syn keyword sqlKeyword  tsequal type tune uncommitted unconditionally
+syn keyword sqlKeyword  unenforced unique union unknown unload 
+syn keyword sqlKeyword  updating updlock upgrade upload use user
+syn keyword sqlKeyword  using utc utilities validproc
+syn keyword sqlKeyword  value values varchar variable
+syn keyword sqlKeyword  varying vcat verify view virtual wait 
+syn keyword sqlKeyword  warning web when where window with with_auto
+syn keyword sqlKeyword  with_auto with_cube with_rollup without
+syn keyword sqlKeyword  with_lparen within word work workload writefile 
+syn keyword sqlKeyword  writers writeserver xlock zeros
 " XML function support
-syn keyword sqlFunction        openxml xmlelement xmlforest xmlgen xmlconcat xmlagg 
-syn keyword sqlFunction        xmlattributes 
-syn keyword sqlKeyword raw auto elements explicit
+syn keyword sqlFunction         openxml xmlelement xmlforest xmlgen xmlconcat xmlagg 
+syn keyword sqlFunction         xmlattributes 
+syn keyword sqlKeyword  raw auto elements explicit
 " HTTP support
-syn keyword sqlKeyword authorization secure url service
+syn keyword sqlKeyword  authorization secure url service
 " HTTP 9.0.2 new procedure keywords
-syn keyword sqlKeyword namespace certificate clientport proxy
+syn keyword sqlKeyword  namespace certificate clientport proxy
 " OLAP support 9.0.0
-syn keyword sqlKeyword covar_pop covar_samp corr regr_slope regr_intercept 
-syn keyword sqlKeyword regr_count regr_r2 regr_avgx regr_avgy
-syn keyword sqlKeyword regr_sxx regr_syy regr_sxy
+syn keyword sqlKeyword  covar_pop covar_samp corr regr_slope regr_intercept 
+syn keyword sqlKeyword  regr_count regr_r2 regr_avgx regr_avgy
+syn keyword sqlKeyword  regr_sxx regr_syy regr_sxy
 
 " Alternate keywords
-syn keyword sqlKeyword character dec options proc reference
-syn keyword sqlKeyword subtrans tran syn keyword 
+syn keyword sqlKeyword  character dec options proc reference
+syn keyword sqlKeyword  subtrans tran syn keyword 
 
 
-syn keyword sqlOperator        in any some all between exists
-syn keyword sqlOperator        like escape not is and or 
-syn keyword sqlOperator intersect minus
-syn keyword sqlOperator prior distinct
+syn keyword sqlOperator         in any some all between exists
+syn keyword sqlOperator         like escape not is and or 
+syn keyword sqlOperator  intersect minus
+syn keyword sqlOperator  prior distinct
 
 syn keyword sqlStatement allocate alter backup begin call case
 syn keyword sqlStatement checkpoint clear close commit configure connect
@@ -492,171 +495,173 @@ syn keyword sqlStatement system trigger truncate unload update
 syn keyword sqlStatement validate waitfor whenever while writetext
 
 
-syn keyword sqlType    char long varchar text
-syn keyword sqlType    bigint decimal double float int integer numeric 
-syn keyword sqlType    smallint tinyint real
-syn keyword sqlType    money smallmoney
-syn keyword sqlType    bit 
-syn keyword sqlType    date datetime smalldate time timestamp 
-syn keyword sqlType    binary image varbinary uniqueidentifier
-syn keyword sqlType    xml unsigned
+syn keyword sqlType     char long varchar text
+syn keyword sqlType     bigint decimal double float int integer numeric 
+syn keyword sqlType     smallint tinyint real
+syn keyword sqlType     money smallmoney
+syn keyword sqlType     bit 
+syn keyword sqlType     date datetime smalldate time timestamp 
+syn keyword sqlType     binary image varbinary uniqueidentifier
+syn keyword sqlType     xml unsigned
+" New types 10.0.0
+syn keyword sqlType     varbit nchar nvarchar
 
-syn keyword sqlOption Allow_nulls_by_default
-syn keyword sqlOption Ansi_blanks
-syn keyword sqlOption Ansi_close_cursors_on_rollback
-syn keyword sqlOption Ansi_integer_overflow
-syn keyword sqlOption Ansi_permissions
-syn keyword sqlOption Ansi_update_constraints
-syn keyword sqlOption Ansinull
-syn keyword sqlOption Assume_distinct_servers
-syn keyword sqlOption Auditing
-syn keyword sqlOption Auditing_options
-syn keyword sqlOption Auto_commit
-syn keyword sqlOption Auto_refetch
-syn keyword sqlOption Automatic_timestamp
-syn keyword sqlOption Background_priority
-syn keyword sqlOption Bell
-syn keyword sqlOption Blob_threshold
-syn keyword sqlOption Blocking
-syn keyword sqlOption Blocking_timeout
-syn keyword sqlOption Chained
-syn keyword sqlOption Char_OEM_Translation
-syn keyword sqlOption Checkpoint_time
-syn keyword sqlOption Cis_option
-syn keyword sqlOption Cis_rowset_size
-syn keyword sqlOption Close_on_endtrans
-syn keyword sqlOption Command_delimiter
-syn keyword sqlOption Commit_on_exit
-syn keyword sqlOption Compression
-syn keyword sqlOption Connection_authentication
-syn keyword sqlOption Continue_after_raiserror
-syn keyword sqlOption Conversion_error
-syn keyword sqlOption Cooperative_commit_timeout
-syn keyword sqlOption Cooperative_commits
-syn keyword sqlOption Database_authentication
-syn keyword sqlOption Date_format
-syn keyword sqlOption Date_order
-syn keyword sqlOption Debug_messages
-syn keyword sqlOption Dedicated_task
-syn keyword sqlOption Default_timestamp_increment
-syn keyword sqlOption Delayed_commit_timeout
-syn keyword sqlOption Delayed_commits
-syn keyword sqlOption Delete_old_logs
-syn keyword sqlOption Describe_Java_Format
-syn keyword sqlOption Divide_by_zero_error
-syn keyword sqlOption Echo
-syn keyword sqlOption Escape_character
-syn keyword sqlOption Exclude_operators
-syn keyword sqlOption Extended_join_syntax
-syn keyword sqlOption External_remote_options
-syn keyword sqlOption Fire_triggers
-syn keyword sqlOption First_day_of_week
-syn keyword sqlOption Float_as_double
-syn keyword sqlOption For_xml_null_treatment
-syn keyword sqlOption Force_view_creation
-syn keyword sqlOption Global_database_id
-syn keyword sqlOption Headings
-syn keyword sqlOption Input_format
-syn keyword sqlOption Integrated_server_name
-syn keyword sqlOption Isolation_level
-syn keyword sqlOption ISQL_command_timing
-syn keyword sqlOption ISQL_escape_character
-syn keyword sqlOption ISQL_field_separator
-syn keyword sqlOption ISQL_log
-syn keyword sqlOption ISQL_plan
-syn keyword sqlOption ISQL_plan_cursor_sensitivity
-syn keyword sqlOption ISQL_plan_cursor_writability
-syn keyword sqlOption ISQL_quote
-syn keyword sqlOption Java_heap_size
-syn keyword sqlOption Java_input_output
-syn keyword sqlOption Java_namespace_size
-syn keyword sqlOption Java_page_buffer_size
-syn keyword sqlOption Lock_rejected_rows
-syn keyword sqlOption Log_deadlocks
-syn keyword sqlOption Log_detailed_plans
-syn keyword sqlOption Log_max_requests
-syn keyword sqlOption Login_mode
-syn keyword sqlOption Login_procedure
-syn keyword sqlOption Max_cursor_count
-syn keyword sqlOption Max_hash_size
-syn keyword sqlOption Max_plans_cached
-syn keyword sqlOption Max_recursive_iterations
-syn keyword sqlOption Max_statement_count
-syn keyword sqlOption Max_work_table_hash_size
-syn keyword sqlOption Min_password_length
-syn keyword sqlOption Nearest_century
-syn keyword sqlOption Non_keywords
-syn keyword sqlOption NULLS
-syn keyword sqlOption ODBC_describe_binary_as_varbinary
-syn keyword sqlOption ODBC_distinguish_char_and_varchar
-syn keyword sqlOption On_Charset_conversion_failure
-syn keyword sqlOption On_error
-syn keyword sqlOption On_tsql_error
-syn keyword sqlOption Optimistic_wait_for_commit
-syn keyword sqlOption Optimization_goal
-syn keyword sqlOption Optimization_level
-syn keyword sqlOption Optimization_logging
-syn keyword sqlOption Optimization_workload
-syn keyword sqlOption Output_format
-syn keyword sqlOption Output_length
-syn keyword sqlOption Output_nulls
-syn keyword sqlOption Percent_as_comment
-syn keyword sqlOption Pinned_cursor_percent_of_cache
-syn keyword sqlOption Precision
-syn keyword sqlOption Prefetch
-syn keyword sqlOption Preserve_source_format
-syn keyword sqlOption Prevent_article_pkey_update
-syn keyword sqlOption Qualify_owners
-syn keyword sqlOption Query_plan_on_open
-syn keyword sqlOption Quiet
-syn keyword sqlOption Quote_all_identifiers
-syn keyword sqlOption Quoted_identifier
-syn keyword sqlOption Read_past_deleted
-syn keyword sqlOption Recovery_time
-syn keyword sqlOption Remote_idle_timeout
-syn keyword sqlOption Replicate_all
-syn keyword sqlOption Replication_error
-syn keyword sqlOption Replication_error_piece
-syn keyword sqlOption Return_date_time_as_string
-syn keyword sqlOption Return_java_as_string
-syn keyword sqlOption RI_Trigger_time
-syn keyword sqlOption Rollback_on_deadlock
-syn keyword sqlOption Row_counts
-syn keyword sqlOption Save_remote_passwords
-syn keyword sqlOption Scale
-syn keyword sqlOption Screen_format
-syn keyword sqlOption Sort_Collation
-syn keyword sqlOption SQL_flagger_error_level
-syn keyword sqlOption SQL_flagger_warning_level
-syn keyword sqlOption SQLConnect
-syn keyword sqlOption SQLStart
-syn keyword sqlOption SR_Date_Format
-syn keyword sqlOption SR_Time_Format
-syn keyword sqlOption SR_TimeStamp_Format
-syn keyword sqlOption Statistics
-syn keyword sqlOption String_rtruncation
-syn keyword sqlOption Subscribe_by_remote
-syn keyword sqlOption Subsume_row_locks
-syn keyword sqlOption Suppress_TDS_debugging
-syn keyword sqlOption TDS_Empty_string_is_null
-syn keyword sqlOption Temp_space_limit_check
-syn keyword sqlOption Thread_count
-syn keyword sqlOption Thread_stack
-syn keyword sqlOption Thread_swaps
-syn keyword sqlOption Time_format
-syn keyword sqlOption Time_zone_adjustment
-syn keyword sqlOption Timestamp_format
-syn keyword sqlOption Truncate_date_values
-syn keyword sqlOption Truncate_timestamp_values
-syn keyword sqlOption Truncate_with_auto_commit
-syn keyword sqlOption Truncation_length
-syn keyword sqlOption Tsql_hex_constant
-syn keyword sqlOption Tsql_variables
-syn keyword sqlOption Update_statistics
-syn keyword sqlOption User_estimates
-syn keyword sqlOption Verify_all_columns
-syn keyword sqlOption Verify_threshold
-syn keyword sqlOption Wait_for_commit
+syn keyword sqlOption    Allow_nulls_by_default
+syn keyword sqlOption    Ansi_blanks
+syn keyword sqlOption    Ansi_close_cursors_on_rollback
+syn keyword sqlOption    Ansi_integer_overflow
+syn keyword sqlOption    Ansi_permissions
+syn keyword sqlOption    Ansi_update_constraints
+syn keyword sqlOption    Ansinull
+syn keyword sqlOption    Assume_distinct_servers
+syn keyword sqlOption    Auditing
+syn keyword sqlOption    Auditing_options
+syn keyword sqlOption    Auto_commit
+syn keyword sqlOption    Auto_refetch
+syn keyword sqlOption    Automatic_timestamp
+syn keyword sqlOption    Background_priority
+syn keyword sqlOption    Bell
+syn keyword sqlOption    Blob_threshold
+syn keyword sqlOption    Blocking
+syn keyword sqlOption    Blocking_timeout
+syn keyword sqlOption    Chained
+syn keyword sqlOption    Char_OEM_Translation
+syn keyword sqlOption    Checkpoint_time
+syn keyword sqlOption    Cis_option
+syn keyword sqlOption    Cis_rowset_size
+syn keyword sqlOption    Close_on_endtrans
+syn keyword sqlOption    Command_delimiter
+syn keyword sqlOption    Commit_on_exit
+syn keyword sqlOption    Compression
+syn keyword sqlOption    Connection_authentication
+syn keyword sqlOption    Continue_after_raiserror
+syn keyword sqlOption    Conversion_error
+syn keyword sqlOption    Cooperative_commit_timeout
+syn keyword sqlOption    Cooperative_commits
+syn keyword sqlOption    Database_authentication
+syn keyword sqlOption    Date_format
+syn keyword sqlOption    Date_order
+syn keyword sqlOption    Debug_messages
+syn keyword sqlOption    Dedicated_task
+syn keyword sqlOption    Default_timestamp_increment
+syn keyword sqlOption    Delayed_commit_timeout
+syn keyword sqlOption    Delayed_commits
+syn keyword sqlOption    Delete_old_logs
+syn keyword sqlOption    Describe_Java_Format
+syn keyword sqlOption    Divide_by_zero_error
+syn keyword sqlOption    Echo
+syn keyword sqlOption    Escape_character
+syn keyword sqlOption    Exclude_operators
+syn keyword sqlOption    Extended_join_syntax
+syn keyword sqlOption    External_remote_options
+syn keyword sqlOption    Fire_triggers
+syn keyword sqlOption    First_day_of_week
+syn keyword sqlOption    Float_as_double
+syn keyword sqlOption    For_xml_null_treatment
+syn keyword sqlOption    Force_view_creation
+syn keyword sqlOption    Global_database_id
+syn keyword sqlOption    Headings
+syn keyword sqlOption    Input_format
+syn keyword sqlOption    Integrated_server_name
+syn keyword sqlOption    Isolation_level
+syn keyword sqlOption    ISQL_command_timing
+syn keyword sqlOption    ISQL_escape_character
+syn keyword sqlOption    ISQL_field_separator
+syn keyword sqlOption    ISQL_log
+syn keyword sqlOption    ISQL_plan
+syn keyword sqlOption    ISQL_plan_cursor_sensitivity
+syn keyword sqlOption    ISQL_plan_cursor_writability
+syn keyword sqlOption    ISQL_quote
+syn keyword sqlOption    Java_heap_size
+syn keyword sqlOption    Java_input_output
+syn keyword sqlOption    Java_namespace_size
+syn keyword sqlOption    Java_page_buffer_size
+syn keyword sqlOption    Lock_rejected_rows
+syn keyword sqlOption    Log_deadlocks
+syn keyword sqlOption    Log_detailed_plans
+syn keyword sqlOption    Log_max_requests
+syn keyword sqlOption    Login_mode
+syn keyword sqlOption    Login_procedure
+syn keyword sqlOption    Max_cursor_count
+syn keyword sqlOption    Max_hash_size
+syn keyword sqlOption    Max_plans_cached
+syn keyword sqlOption    Max_recursive_iterations
+syn keyword sqlOption    Max_statement_count
+syn keyword sqlOption    Max_work_table_hash_size
+syn keyword sqlOption    Min_password_length
+syn keyword sqlOption    Nearest_century
+syn keyword sqlOption    Non_keywords
+syn keyword sqlOption    NULLS
+syn keyword sqlOption    ODBC_describe_binary_as_varbinary
+syn keyword sqlOption    ODBC_distinguish_char_and_varchar
+syn keyword sqlOption    On_Charset_conversion_failure
+syn keyword sqlOption    On_error
+syn keyword sqlOption    On_tsql_error
+syn keyword sqlOption    Optimistic_wait_for_commit
+syn keyword sqlOption    Optimization_goal
+syn keyword sqlOption    Optimization_level
+syn keyword sqlOption    Optimization_logging
+syn keyword sqlOption    Optimization_workload
+syn keyword sqlOption    Output_format
+syn keyword sqlOption    Output_length
+syn keyword sqlOption    Output_nulls
+syn keyword sqlOption    Percent_as_comment
+syn keyword sqlOption    Pinned_cursor_percent_of_cache
+syn keyword sqlOption    Precision
+syn keyword sqlOption    Prefetch
+syn keyword sqlOption    Preserve_source_format
+syn keyword sqlOption    Prevent_article_pkey_update
+syn keyword sqlOption    Qualify_owners
+syn keyword sqlOption    Query_plan_on_open
+syn keyword sqlOption    Quiet
+syn keyword sqlOption    Quote_all_identifiers
+syn keyword sqlOption    Quoted_identifier
+syn keyword sqlOption    Read_past_deleted
+syn keyword sqlOption    Recovery_time
+syn keyword sqlOption    Remote_idle_timeout
+syn keyword sqlOption    Replicate_all
+syn keyword sqlOption    Replication_error
+syn keyword sqlOption    Replication_error_piece
+syn keyword sqlOption    Return_date_time_as_string
+syn keyword sqlOption    Return_java_as_string
+syn keyword sqlOption    RI_Trigger_time
+syn keyword sqlOption    Rollback_on_deadlock
+syn keyword sqlOption    Row_counts
+syn keyword sqlOption    Save_remote_passwords
+syn keyword sqlOption    Scale
+syn keyword sqlOption    Screen_format
+syn keyword sqlOption    Sort_Collation
+syn keyword sqlOption    SQL_flagger_error_level
+syn keyword sqlOption    SQL_flagger_warning_level
+syn keyword sqlOption    SQLConnect
+syn keyword sqlOption    SQLStart
+syn keyword sqlOption    SR_Date_Format
+syn keyword sqlOption    SR_Time_Format
+syn keyword sqlOption    SR_TimeStamp_Format
+syn keyword sqlOption    Statistics
+syn keyword sqlOption    String_rtruncation
+syn keyword sqlOption    Subscribe_by_remote
+syn keyword sqlOption    Subsume_row_locks
+syn keyword sqlOption    Suppress_TDS_debugging
+syn keyword sqlOption    TDS_Empty_string_is_null
+syn keyword sqlOption    Temp_space_limit_check
+syn keyword sqlOption    Thread_count
+syn keyword sqlOption    Thread_stack
+syn keyword sqlOption    Thread_swaps
+syn keyword sqlOption    Time_format
+syn keyword sqlOption    Time_zone_adjustment
+syn keyword sqlOption    Timestamp_format
+syn keyword sqlOption    Truncate_date_values
+syn keyword sqlOption    Truncate_timestamp_values
+syn keyword sqlOption    Truncate_with_auto_commit
+syn keyword sqlOption    Truncation_length
+syn keyword sqlOption    Tsql_hex_constant
+syn keyword sqlOption    Tsql_variables
+syn keyword sqlOption    Update_statistics
+syn keyword sqlOption    User_estimates
+syn keyword sqlOption    Verify_all_columns
+syn keyword sqlOption    Verify_threshold
+syn keyword sqlOption    Wait_for_commit
 
 " Strings and characters:
 syn region sqlString           start=+"+    end=+"+ contains=@Spell
@@ -703,4 +708,4 @@ endif
 
 let b:current_syntax = "sqlanywhere"
 
-" vim:sw=4:ff=unix:
+" vim:sw=4:
index 2e2d7448d84c3ebfed47fcca628743e09067e8d3..1bcd03f95670a055fe27ecdc04aef1999d48da76 100644 (file)
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         sudoers(5) configuration files
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2006-04-19
+" Latest Revision:  2007-08-02
 
 if exists("b:current_syntax")
   finish
@@ -156,7 +156,7 @@ syn keyword sudoersListParameter    contained env_check env_delete env_keep next
 
 syn match   sudoersParameterListComma contained ',' nextgroup=@sudoersParameter skipwhite skipnl
 
-syn cluster sudoersParameter        contains=sudoersBooleanParameter,sudoersIntegerParameterEquals,sudoersStringParameter,sudoersListParameter
+syn cluster sudoersParameter        contains=sudoersBooleanParameter,sudoersIntegerParameter,sudoersStringParameter,sudoersListParameter
 
 syn match   sudoersIntegerParameterEquals contained '[+-]\==' nextgroup=sudoersIntegerValue skipwhite skipnl
 syn match   sudoersStringParameterEquals  contained '[+-]\==' nextgroup=sudoersStringValue  skipwhite skipnl
index 92fa6f827bbd58859241b0cb8ede6593b3ef71dc..050a2ba78d65a6fd123c28feaea27f43e6193317 100644 (file)
@@ -1,9 +1,9 @@
 " Vim syntax file
 " Language:    tpp - Text Presentation Program
-" Maintainer:   Debian VIM Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
+" Maintainer:   Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 " Former Maintainer:   Gerfried Fuchs <alfie@ist.org>
-" Last Change: $LastChangedDate: 2006-04-16 22:06:40 -0400 (dom, 16 apr 2006) $
-" URL: http://svn.debian.org/wsvn/pkg-vim/trunk/runtime/syntax/tpp.vim?op=file&rev=0&sc=0
+" Last Change: 2007-10-14
+" URL: http://git.debian.org/?p=pkg-vim/vim.git;a=blob_plain;f=runtime/syntax/tpp.vim;hb=debian
 " Filenames:   *.tpp
 " License:     BSD
 "
index 7141eca234edc86f446ecaf494fd5ac8404005c9..d16e4bffb459b7cd14918dc98e5c6761652f1b7a 100644 (file)
@@ -1,7 +1,13 @@
 " Vim syntax file
-" Language:    Verilog-AMS
-" Maintainer:  S. Myles Prather <smprather@gmail.com>
-" Last Update:  Sun Aug 14 03:58:00 CST 2003
+" Language:    Verilog-AMS
+" Maintainer:  S. Myles Prather <smprather@gmail.com>
+"
+" Version 1.1  S. Myles Prather <smprather@gmail.com>
+"              Moved some keywords to the type category.
+"              Added the metrix suffixes to the number matcher.
+" Version 1.2  Prasanna Tamhankar <pratam@gmail.com>
+"              Minor reserved keyword updates.
+" Last Update: Thursday September 15 15:36:03 CST 2005 
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -21,17 +27,17 @@ endif
 " Annex B.1 'All keywords'
 syn keyword verilogamsStatement above abs absdelay acos acosh ac_stim
 syn keyword verilogamsStatement always analog analysis and asin
-syn keyword verilogamsStatement asinh assign atan atan2 atanh branch
-syn keyword verilogamsStatement buf bufif1 ceil cmos
+syn keyword verilogamsStatement asinh assign atan atan2 atanh
+syn keyword verilogamsStatement buf bufif0 bufif1 ceil cmos connectmodule
 syn keyword verilogamsStatement connectrules cos cosh cross ddt ddx deassign
 syn keyword verilogamsStatement defparam disable discipline
 syn keyword verilogamsStatement driver_update edge enddiscipline
-syn keyword verilogamsStatement endconnectrules endmodule endfunction
+syn keyword verilogamsStatement endconnectrules endmodule endfunction endgenerate
 syn keyword verilogamsStatement endnature endparamset endprimitive endspecify
 syn keyword verilogamsStatement endtable endtask event exp final_step
 syn keyword verilogamsStatement flicker_noise floor flow force fork
-syn keyword verilogamsStatement function generate genvar highz0
-syn keyword verilogamsStatement highz1 hypot idt idtmod if ifnone initial
+syn keyword verilogamsStatement function generate highz0
+syn keyword verilogamsStatement highz1 hypot idt idtmod if ifnone inf initial
 syn keyword verilogamsStatement initial_step inout input join
 syn keyword verilogamsStatement laplace_nd laplace_np laplace_zd laplace_zp
 syn keyword verilogamsStatement large last_crossing limexp ln localparam log
@@ -40,17 +46,18 @@ syn keyword verilogamsStatement negedge net_resolution nmos noise_table nor not
 syn keyword verilogamsStatement notif0 notif1 or output paramset pmos
 syn keyword verilogamsType      parameter real integer electrical input output
 syn keyword verilogamsType      inout reg tri tri0 tri1 triand trior trireg
-syn keyword verilogamsType      string from exclude aliasparam ground
+syn keyword verilogamsType      string from exclude aliasparam ground genvar
+syn keyword verilogamsType      branch time realtime
 syn keyword verilogamsStatement posedge potential pow primitive pull0 pull1
 syn keyword verilogamsStatement pullup pulldown rcmos release
 syn keyword verilogamsStatement rnmos rpmos rtran rtranif0 rtranif1
 syn keyword verilogamsStatement scalared sin sinh slew small specify specparam
 syn keyword verilogamsStatement sqrt strong0 strong1 supply0 supply1
-syn keyword verilogamsStatement table tan tanh task time timer tran tranif0
+syn keyword verilogamsStatement table tan tanh task timer tran tranif0
 syn keyword verilogamsStatement tranif1 transition
 syn keyword verilogamsStatement vectored wait wand weak0 weak1
 syn keyword verilogamsStatement white_noise wire wor wreal xnor xor zi_nd
-syn keyword verilogamsStatement zi_np zi_zd
+syn keyword verilogamsStatement zi_np zi_zd zi_zp
 syn keyword verilogamsRepeat    forever repeat while for
 syn keyword verilogamsLabel     begin end
 syn keyword verilogamsConditional if else case casex casez default endcase
@@ -95,7 +102,7 @@ syn match   verilogamsNumber "\(\<\d\+\|\)'[bB]\s*[0-1_xXzZ?]\+\>"
 syn match   verilogamsNumber "\(\<\d\+\|\)'[oO]\s*[0-7_xXzZ?]\+\>"
 syn match   verilogamsNumber "\(\<\d\+\|\)'[dD]\s*[0-9_xXzZ?]\+\>"
 syn match   verilogamsNumber "\(\<\d\+\|\)'[hH]\s*[0-9a-fA-F_xXzZ?]\+\>"
-syn match   verilogamsNumber "\<[+-]\=[0-9_]\+\(\.[0-9_]*\|\)\(e[0-9_]*\|\)\>"
+syn match   verilogamsNumber "\<[+-]\=[0-9_]\+\(\.[0-9_]*\|\)\(e[0-9_]*\|\)[TGMKkmunpfa]\=\>"
 
 syn region  verilogamsString start=+"+ skip=+\\"+ end=+"+ contains=verilogamsEscape
 syn match   verilogamsEscape +\\[nt"\\]+ contained
diff --git a/runtime/syntax/xbl.vim b/runtime/syntax/xbl.vim
new file mode 100644 (file)
index 0000000..97837e3
--- /dev/null
@@ -0,0 +1,29 @@
+" Vim syntax file
+" Language:        XBL 1.0
+" Maintainer:      Doug Kearns <dougkearns@gmail.com>
+" Latest Revision:  2007 November 5
+
+if exists("b:current_syntax")
+  finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+runtime! syntax/xml.vim
+unlet b:current_syntax
+
+syn include @javascriptTop syntax/javascript.vim
+unlet b:current_syntax
+
+syn region xblJavascript
+       \ matchgroup=xmlCdataStart start=+<!\[CDATA\[+
+       \ matchgroup=xmlCdataEnd end=+]]>+
+       \ contains=@javascriptTop keepend extend
+
+let b:current_syntax = "xbl"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim: ts=8
index 4cbda82fb1c1b225d258d8c73f8915d0b37e8142..3cbc1b54fdf253d9110333a7a834c49d5df29654 100644 (file)
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:    X Pixmap
 " Maintainer:  Ronald Schild <rs@scutum.de>
-" Last Change: 2001 May 09
+" Last Change: 2008 May 28
 " Version:     5.4n.1
 
 " For version 5.x: Clear all syntax items
@@ -38,9 +38,15 @@ while i <= line("$")         " scanning all lines
         let colors = substitute(s, '"\s*\d\+\s\+\d\+\s\+\(\d\+\).*"', '\1', '')
         " get the 4th value: cpp = number of character per pixel
         let cpp = substitute(s, '"\s*\d\+\s\+\d\+\s\+\d\+\s\+\(\d\+\).*"', '\1', '')
+        if cpp =~ '[^0-9]'
+           break  " if cpp is not made of digits there must be something wrong
+        endif
 
-        " highlight the Values string as normal string (no pixel string)
-        exe 'syn match xpmValues /'.s.'/'
+        " Highlight the Values string as normal string (no pixel string).
+        " Only when there is no slash, it would terminate the pattern.
+        if s !~ '/'
+           exe 'syn match xpmValues /' . s . '/'
+        endif
         hi link xpmValues String
 
         let n = 1              " n = color index
@@ -103,7 +109,7 @@ while i <= line("$")                " scanning all lines
         if color == ""  ||  substitute(color, '.*', '\L&', '') == 'none'
            exe 'hi xpmColor'.n.' guifg=bg'
            exe 'hi xpmColor'.n.' guibg=NONE'
-        else
+        elseif color !~ "'"
            exe 'hi xpmColor'.n." guifg='".color."'"
            exe 'hi xpmColor'.n." guibg='".color."'"
         endif
diff --git a/runtime/tutor/README.el.cp737.txt b/runtime/tutor/README.el.cp737.txt
new file mode 100644 (file)
index 0000000..426f929
--- /dev/null
@@ -0,0 +1,24 @@
+\92¦ Tutor \9cå¤\98  £å\98 "®\9c ¨¦¤\98¡« ¡ã" §\9c¨ ã\9a\9e©\9e \9a \98 ¤â¦¬ª ®¨ã©«\9cª «¦¬
+©¬¤«á¡«\9e Vim.
+
+\8e  §\9c¨ ©©æ«\9c¨¦  ¤â¦  ®¨ã©«\9cª £§¦¨¦ç¤ ¤\98 «¦ «\9c¢\9c é©¦¬¤ ©\9c ¢ \9aæ«\9c¨¦ \98§æ
+£å\98 é¨\98\92¦ \98§¦«â¢\9c©£\98 \9cå¤\98  æ«  £§¦¨\9cå«\9c ¤\98 ¡á¤\9c«\9c £å\98 \98§¢ã \9c¨\9a\98©å\98
+\9c§\9c¥\9c¨\9a\98©å\98ª ¡\9c £â¤¦¬ ®¨\9e© £¦§¦ é¤«\98ª «¦¤ ©¬¤«á¡«\9e Vim.
+
+\92¦ Tutor \9cå¤\98  â¤\98 \98¨®\9c妠§¦¬ §\9c¨ â®\9c  «\98 £\98\9fã£\98«\98 «\9eª §¨¦§\98¨\98©¡\9c¬ãª.
+\8b§¦¨\9cå«\9c ¤\98 \9c¡«\9c¢â©\9c«\9c \98§¢á "vim tutor" ¡\98  £\9c«á ¤\98 \98¡¦¢¦¬\9fã©\9c«\9c « ª
\9b\9e\9aå\9cª ©«\98 £\98\9fã£\98«\98\92\98 £\98\9fã£\98«\98 \9f\98 ©\98ª §¦ç¤\9c ¤\98 «¨¦§¦§¦ ã©\9c«\9c
+«¦ \98¨®\9cå¦, \9c§¦£â¤àª \8b\86\8c \92\8e \89\80\8c\84\92\84 \91\92\8e \8f\90\97\92\8e\92\93\8f\8e \80\8c\92\88\82\90\80\94\8e \91\80\91.
+
+\91\9c ©ç©«\9e£\98 Unix £§¦¨\9cå«\9c \9c§å©\9eª ¤\98 ®¨\9e© £¦§¦ ã©\9c«\9c «¦ §¨æ\9a¨\98££\98 "vimtutor".
+\87\98 \9b\9e£ ¦¬¨\9aã©\9c  §¨é«\98 â¤\98 §¨æ®\9c ¨¦ \98¤«å\9a¨\98­¦ «¦¬ tutor.
+
+ë®à ©¡\9c­«\9cå ¤\98 §¨¦©\9fâ©à §\9c¨ ©©æ«\9c¨\98 §¨¦®à¨\9e£â¤\98 £\98\9fã£\98«\98 \98¢¢á \9b\9c¤ â®à \99¨\9c 
+«¦¤ \98§\98¨\98å«\9e«¦ ®¨æ¤¦. \84¤\9e£\9c¨é©«\9c £\9c §\98¨\98¡\98¢é §éª \9f\98 «¦ \9fâ¢\98«\9c ¡\98  ©«\9cå¢\9c«\9c
+£¦¬ ¦§¦ \9c©\9b㧦«\9c \99\9c¢« é©\9c ª ¡á¤\9c«\9c.
+
+Bob Ware, Colorado School of Mines, Golden, Co 80401, USA
+(303) 273-3987
+bware@mines.colorado.edu bware@slate.mines.colorado.edu bware@mines.bitnet
+
+[\92¦ \98¨®\9c妠\98¬«æ «¨¦§¦§¦ ã\9f\9e¡\9c \9a \98 «¦¤ Vim \98§æ «¦¤ Bram Moolenaar]
diff --git a/runtime/tutor/README.el.txt b/runtime/tutor/README.el.txt
new file mode 100644 (file)
index 0000000..b2f5e07
--- /dev/null
@@ -0,0 +1,24 @@
+Ôï Tutor åßíáé ìßá "÷åéñïíáêôéêÞ" ðåñéÞãçóç ãéá íÝïõò ÷ñÞóôåò ôïõ
+óõíôÜêôç Vim.
+
+Ïé ðåñéóóüôåñïé íÝïé ÷ñÞóôåò ìðïñïýí íá ôï ôåëåéþóïõí óå ëéãüôåñï áðü
+ìßá þñá. Ôï áðïôÝëåóìá åßíáé üôé ìðïñåßôå íá êÜíåôå ìßá áðëÞ åñãáóßá
+åðåîåñãáóßáò êåéìÝíïõ ÷ñçóéìïðïéþíôáò ôïí óõíôÜêôç Vim.
+
+Ôï Tutor åßíáé Ýíá áñ÷åßï ðïõ ðåñéÝ÷åé ôá ìáèÞìáôá ôçò ðñïðáñáóêåõÞò.
+Ìðïñåßôå íá åêôåëÝóåôå áðëÜ "vim tutor" êáé ìåôÜ íá áêïëïõèÞóåôå ôéò
+ïäçãßåò óôá ìáèÞìáôá. Ôá ìáèÞìáôá èá óáò ðïýíå íá ôñïðïðïéÞóåôå
+ôï áñ÷åßï, åðïìÝíùò ÌÇÍ ÔÏ ÊÁÍÅÔÅ ÓÔÏ ÐÑÙÔÏÔÕÐÏ ÁÍÔÉÃÑÁÖÏ ÓÁÓ.
+
+Óå óýóôçìá Unix ìðïñåßôå åðßóçò íá ÷ñçóéìïðïéÞóåôå ôï ðñüãñáììá "vimtutor".
+Èá äçìéïõñãÞóåé ðñþôá Ýíá ðñü÷åéñï áíôßãñáöï ôïõ tutor.
+
+¸÷ù óêåöôåß íá ðñïóèÝóù ðåñéóóüôåñá ðñï÷ùñçìÝíá ìáèÞìáôá áëëÜ äåí Ý÷ù âñåé
+ôïí áðáñáßôçôï ÷ñüíï. Åíçìåñþóôå ìå ðáñáêáëþ ðþò èá ôï èÝëáôå êáé óôåßëåôå
+ìïõ ïðïéåóäÞðïôå âåëôéþóåéò êÜíåôå.
+
+Bob Ware, Colorado School of Mines, Golden, Co 80401, USA
+(303) 273-3987
+bware@mines.colorado.edu bware@slate.mines.colorado.edu bware@mines.bitnet
+
+[Ôï áñ÷åßï áõôü ôñïðïðïéÞèçêå ãéá ôïí Vim áðü ôïí Bram Moolenaar]
index 238b11fa954c0a58a6ff6897cd23329b39da56c0..e7fa114944bddd6e0c2855070df4aa04d7e020d3 100755 (executable)
Binary files a/runtime/tutor/README.txt.info and b/runtime/tutor/README.txt.info differ
diff --git a/runtime/tutor/README_amibin.txt b/runtime/tutor/README_amibin.txt
new file mode 100644 (file)
index 0000000..24b9ef2
--- /dev/null
@@ -0,0 +1,12 @@
+README_amibin.txt for version 7.2a of Vim: Vi IMproved.
+
+See "README.txt" for general information about Vim.
+See "README_ami.txt" for installation instructions for the Amiga.
+These files are in the runtime archive (vim60rt.tgz).
+
+
+The Amiga "bin" archive contains the Vim executable for the Amiga.  It was
+compiled with "big" features.
+
+Postscript printing is not included to avoid requiring floating point
+computations.
diff --git a/runtime/tutor/README_extra.txt b/runtime/tutor/README_extra.txt
new file mode 100644 (file)
index 0000000..660b502
--- /dev/null
@@ -0,0 +1,61 @@
+README_extra.txt for version 7.2a of Vim: Vi IMproved.
+
+The extra archive of Vim is to be used in combination with the source archive
+(vim-7.0-src.tar.gz).  The extra archive is useless without it.
+
+For more information, see the "README.txt" file that comes with the runtime
+archive (vim-7.0-rt.tar.gz).  To be able to run Vim you MUST get the runtime
+archive too!
+
+The extra archive plus the source and runtime achives make up the complete
+sources of Vim for all systems.
+
+
+Some of the things that the extra archive contains:
+
+Farsi          Files for the Farsi (persian) language.  If you don't know
+               what Farsi is, this is not for you.
+
+if_sniff       Interface to SNiFF.  If you don't know what SNiFF is, this is
+               not for you.
+
+os_amiga       Files for the Amiga port.
+
+gui_riscos
+os_riscos      Files for the RISC OS port.
+
+gui_beos
+os_beos                Files for the BeOS port.
+
+os_msdos
+os_dos         Files for the MS-DOS port.
+
+gui_mac
+os_mac         Files for the Mac port.
+
+os_mint                Files for the Atari Mint port.
+
+os_os2         Files for the OS/2 port.
+tee            Extra program for OS/2.
+
+os_vms         Files for the VMS port.
+
+os_w32
+os_win32       Files for the Win32 port.
+
+gui_w32                Files for the Win32 GUI.
+gui_w48                Files for the Win32 and Win16 GUI.
+Make_mvc.mak   MS Visual C++ makefile for the Win32 GUI.
+rgb.txt                File with color definitions for the Win32 GUI.
+
+if_ole         OLE automation interface, for MS Windows 95 and NT.
+
+VisVim         Integration of Win32 GUI with MS Visual Developer Studio.
+
+GvimExt                DLL for the "Edit with Vim" context menu entry
+
+nsis           NSIS script to build the self-installing MS-Windows exe
+
+*.man          Preprocessed manual pages.
+
+file_select.vim        Vim script to browse directories (Unix only).
diff --git a/runtime/tutor/README_ole.txt b/runtime/tutor/README_ole.txt
new file mode 100644 (file)
index 0000000..8112136
--- /dev/null
@@ -0,0 +1,20 @@
+README_ole.txt for version 7.2a of Vim: Vi IMproved.
+
+This archive contains gvim.exe with OLE interface and VisVim.
+This version of gvim.exe can also load a number of interface dynamically (you
+can optionally install the .dll files for each interface).
+It is only for MS-Windows 95/98/ME/NT/2000/XP.
+
+Also see the README_bindos.txt, README_dos.txt and README.txt files.
+
+Be careful not to overwrite the OLE gvim.exe with the non-OLE gvim.exe when
+unpacking another binary archive!  Check the output of ":version":
+       Win32s - "MS-Windows 16/32 bit GUI version"
+        Win32 - "MS-Windows 32 bit GUI version"
+Win32 with OLE - "MS-Windows 32 bit GUI version with OLE support"
+
+For further information, type this inside Vim:
+       :help if_ole
+
+Futhermore, this archive contains VISVIM.DLL.  It can be used to integrate
+the OLE gvim with Microsoft Visual Developer Studio.  See VisVim/README.txt.
diff --git a/runtime/tutor/runtime/doc.info b/runtime/tutor/runtime/doc.info
new file mode 100755 (executable)
index 0000000..a836031
Binary files /dev/null and b/runtime/tutor/runtime/doc.info differ
diff --git a/runtime/tutor/runtime/ftplugin.vim b/runtime/tutor/runtime/ftplugin.vim
new file mode 100644 (file)
index 0000000..a434b93
--- /dev/null
@@ -0,0 +1,35 @@
+" Vim support file to switch on loading plugins for file types
+"
+" Maintainer:  Bram Moolenaar <Bram@vim.org>
+" Last change: 2006 Apr 30
+
+if exists("did_load_ftplugin")
+  finish
+endif
+let did_load_ftplugin = 1
+
+augroup filetypeplugin
+  au FileType * call s:LoadFTPlugin()
+
+  func! s:LoadFTPlugin()
+    if exists("b:undo_ftplugin")
+      exe b:undo_ftplugin
+      unlet! b:undo_ftplugin b:did_ftplugin
+    endif
+
+    let s = expand("<amatch>")
+    if s != ""
+      if &cpo =~# "S" && exists("b:did_ftplugin")
+       " In compatible mode options are reset to the global values, need to
+       " set the local values also when a plugin was already used.
+       unlet b:did_ftplugin
+      endif
+
+      " When there is a dot it is used to separate filetype names.  Thus for
+      " "aaa.bbb" load "aaa" and then "bbb".
+      for name in split(s, '\.')
+       exe 'runtime! ftplugin/' . name . '.vim ftplugin/' . name . '_*.vim ftplugin/' . name . '/*.vim'
+      endfor
+    endif
+  endfunc
+augroup END
diff --git a/runtime/tutor/runtime/ftplugof.vim b/runtime/tutor/runtime/ftplugof.vim
new file mode 100644 (file)
index 0000000..cd99ce0
--- /dev/null
@@ -0,0 +1,11 @@
+" Vim support file to switch off loading plugins for file types
+"
+" Maintainer:  Bram Moolenaar <Bram@vim.org>
+" Last Change: 2002 Apr 04
+
+if exists("did_load_ftplugin")
+  unlet did_load_ftplugin
+endif
+
+" Remove all autocommands in the filetypeplugin group
+silent! au! filetypeplugin *
diff --git a/runtime/tutor/runtime/hi16-action-make.png b/runtime/tutor/runtime/hi16-action-make.png
new file mode 100644 (file)
index 0000000..824c758
Binary files /dev/null and b/runtime/tutor/runtime/hi16-action-make.png differ
diff --git a/runtime/tutor/runtime/menu.vim b/runtime/tutor/runtime/menu.vim
new file mode 100644 (file)
index 0000000..d120ce2
--- /dev/null
@@ -0,0 +1,1105 @@
+" Vim support file to define the default menus
+" You can also use this as a start for your own set of menus.
+"
+" Maintainer:  Bram Moolenaar <Bram@vim.org>
+" Last Change: 2008 Jun 16
+
+" Note that ":an" (short for ":anoremenu") is often used to make a menu work
+" in all modes and avoid side effects from mappings defined by the user.
+
+" Make sure the '<' and 'C' flags are not included in 'cpoptions', otherwise
+" <CR> would not be recognized.  See ":help 'cpoptions'".
+let s:cpo_save = &cpo
+set cpo&vim
+
+" Avoid installing the menus twice
+if !exists("did_install_default_menus")
+let did_install_default_menus = 1
+
+
+if exists("v:lang") || &langmenu != ""
+  " Try to find a menu translation file for the current language.
+  if &langmenu != ""
+    if &langmenu =~ "none"
+      let s:lang = ""
+    else
+      let s:lang = &langmenu
+    endif
+  else
+    let s:lang = v:lang
+  endif
+  " A language name must be at least two characters, don't accept "C"
+  if strlen(s:lang) > 1
+    " When the language does not include the charset add 'encoding'
+    if s:lang =~ '^\a\a$\|^\a\a_\a\a$'
+      let s:lang = s:lang . '.' . &enc
+    endif
+
+    " We always use a lowercase name.
+    " Change "iso-8859" to "iso_8859" and "iso8859" to "iso_8859", some
+    " systems appear to use this.
+    " Change spaces to underscores.
+    let s:lang = substitute(tolower(s:lang), '\.iso-', ".iso_", "")
+    let s:lang = substitute(s:lang, '\.iso8859', ".iso_8859", "")
+    let s:lang = substitute(s:lang, " ", "_", "g")
+    " Remove "@euro", otherwise "LC_ALL=de_DE@euro gvim" will show English menus
+    let s:lang = substitute(s:lang, "@euro", "", "")
+    " Change "iso_8859-1" and "iso_8859-15" to "latin1", we always use the
+    " same menu file for them.
+    let s:lang = substitute(s:lang, 'iso_8859-15\=$', "latin1", "")
+    menutrans clear
+    exe "runtime! lang/menu_" . s:lang . ".vim"
+
+    if !exists("did_menu_trans")
+      " There is no exact match, try matching with a wildcard added
+      " (e.g. find menu_de_de.iso_8859-1.vim if s:lang == de_DE).
+      let s:lang = substitute(s:lang, '\.[^.]*', "", "")
+      exe "runtime! lang/menu_" . s:lang . "[^a-z]*vim"
+
+      if !exists("did_menu_trans") && strlen($LANG) > 1 && s:lang !~ '^en_us'
+       " On windows locale names are complicated, try using $LANG, it might
+       " have been set by set_init_1().  But don't do this for "en" or "en_us".
+       " But don't match "slovak" when $LANG is "sl".
+       exe "runtime! lang/menu_" . tolower($LANG) . "[^a-z]*vim"
+      endif
+    endif
+  endif
+endif
+
+
+" Help menu
+an 9999.10 &Help.&Overview<Tab><F1>    :help<CR>
+an 9999.20 &Help.&User\ Manual         :help usr_toc<CR>
+an 9999.30 &Help.&How-to\ links                :help how-to<CR>
+an <silent> 9999.40 &Help.&Find\.\.\.  :call <SID>Helpfind()<CR>
+an 9999.45 &Help.-sep1-                        <Nop>
+an 9999.50 &Help.&Credits              :help credits<CR>
+an 9999.60 &Help.Co&pying              :help copying<CR>
+an 9999.70 &Help.&Sponsor/Register     :help sponsor<CR>
+an 9999.70 &Help.O&rphans              :help kcc<CR>
+an 9999.75 &Help.-sep2-                        <Nop>
+an 9999.80 &Help.&Version              :version<CR>
+an 9999.90 &Help.&About                        :intro<CR>
+
+fun! s:Helpfind()
+  if !exists("g:menutrans_help_dialog")
+    let g:menutrans_help_dialog = "Enter a command or word to find help on:\n\nPrepend i_ for Input mode commands (e.g.: i_CTRL-X)\nPrepend c_ for command-line editing commands (e.g.: c_<Del>)\nPrepend ' for an option name (e.g.: 'shiftwidth')"
+  endif
+  let h = inputdialog(g:menutrans_help_dialog)
+  if h != ""
+    let v:errmsg = ""
+    silent! exe "help " . h
+    if v:errmsg != ""
+      echo v:errmsg
+    endif
+  endif
+endfun
+
+" File menu
+an 10.310 &File.&Open\.\.\.<Tab>:e             :browse confirm e<CR>
+an 10.320 &File.Sp&lit-Open\.\.\.<Tab>:sp      :browse sp<CR>
+an 10.320 &File.Open\ Tab\.\.\.<Tab>:tabnew    :browse tabnew<CR>
+an 10.325 &File.&New<Tab>:enew                 :confirm enew<CR>
+an <silent> 10.330 &File.&Close<Tab>:close
+       \ :if winheight(2) < 0 <Bar>
+       \   confirm enew <Bar>
+       \ else <Bar>
+       \   confirm close <Bar>
+       \ endif<CR>
+an 10.335 &File.-SEP1-                         <Nop>
+an <silent> 10.340 &File.&Save<Tab>:w          :if expand("%") == ""<Bar>browse confirm w<Bar>else<Bar>confirm w<Bar>endif<CR>
+an 10.350 &File.Save\ &As\.\.\.<Tab>:sav       :browse confirm saveas<CR>
+
+if has("diff")
+  an 10.400 &File.-SEP2-                       <Nop>
+  an 10.410 &File.Split\ &Diff\ with\.\.\.     :browse vert diffsplit<CR>
+  an 10.420 &File.Split\ Patched\ &By\.\.\.    :browse vert diffpatch<CR>
+endif
+
+if has("printer")
+  an 10.500 &File.-SEP3-                       <Nop>
+  an 10.510 &File.&Print                       :hardcopy<CR>
+  vunmenu   &File.&Print
+  vnoremenu &File.&Print                       :hardcopy<CR>
+elseif has("unix")
+  an 10.500 &File.-SEP3-                       <Nop>
+  an 10.510 &File.&Print                       :w !lpr<CR>
+  vunmenu   &File.&Print
+  vnoremenu &File.&Print                       :w !lpr<CR>
+endif
+an 10.600 &File.-SEP4-                         <Nop>
+an 10.610 &File.Sa&ve-Exit<Tab>:wqa            :confirm wqa<CR>
+an 10.620 &File.E&xit<Tab>:qa                  :confirm qa<CR>
+
+func! <SID>SelectAll()
+  exe "norm gg" . (&slm == "" ? "VG" : "gH\<C-O>G")
+endfunc
+
+func! s:FnameEscape(fname)
+  if exists('*fnameescape')
+    return fnameescape(a:fname)
+  return escape(a:fname, " \t\n*?[{`$\\%#'\"|!<")
+endfunc
+
+" Edit menu
+an 20.310 &Edit.&Undo<Tab>u                    u
+an 20.320 &Edit.&Redo<Tab>^R                   <C-R>
+an 20.330 &Edit.Rep&eat<Tab>\.                 .
+
+an 20.335 &Edit.-SEP1-                         <Nop>
+vnoremenu 20.340 &Edit.Cu&t<Tab>"+x            "+x
+vnoremenu 20.350 &Edit.&Copy<Tab>"+y           "+y
+cnoremenu 20.350 &Edit.&Copy<Tab>"+y           <C-Y>
+nnoremenu 20.360 &Edit.&Paste<Tab>"+gP         "+gP
+cnoremenu       &Edit.&Paste<Tab>"+gP          <C-R>+
+exe 'vnoremenu <script> &Edit.&Paste<Tab>"+gP  ' . paste#paste_cmd['v']
+exe 'inoremenu <script> &Edit.&Paste<Tab>"+gP  ' . paste#paste_cmd['i']
+nnoremenu 20.370 &Edit.Put\ &Before<Tab>[p     [p
+inoremenu       &Edit.Put\ &Before<Tab>[p      <C-O>[p
+nnoremenu 20.380 &Edit.Put\ &After<Tab>]p      ]p
+inoremenu       &Edit.Put\ &After<Tab>]p       <C-O>]p
+if has("win32") || has("win16")
+  vnoremenu 20.390 &Edit.&Delete<Tab>x         x
+endif
+noremenu  <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG :<C-U>call <SID>SelectAll()<CR>
+inoremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG <C-O>:call <SID>SelectAll()<CR>
+cnoremenu <script> <silent> 20.400 &Edit.&Select\ All<Tab>ggVG <C-U>call <SID>SelectAll()<CR>
+
+an 20.405       &Edit.-SEP2-                           <Nop>
+if has("win32")  || has("win16") || has("gui_gtk") || has("gui_kde") || has("gui_motif")
+  an 20.410     &Edit.&Find\.\.\.                      :promptfind<CR>
+  vunmenu       &Edit.&Find\.\.\.
+  vnoremenu <silent>    &Edit.&Find\.\.\.              y:promptfind <C-R>=<SID>FixFText()<CR><CR>
+  an 20.420     &Edit.Find\ and\ Rep&lace\.\.\.        :promptrepl<CR>
+  vunmenu       &Edit.Find\ and\ Rep&lace\.\.\.
+  vnoremenu <silent>    &Edit.Find\ and\ Rep&lace\.\.\. y:promptrepl <C-R>=<SID>FixFText()<CR><CR>
+else
+  an 20.410     &Edit.&Find<Tab>/                      /
+  an 20.420     &Edit.Find\ and\ Rep&lace<Tab>:%s      :%s/
+  vunmenu       &Edit.Find\ and\ Rep&lace<Tab>:%s
+  vnoremenu     &Edit.Find\ and\ Rep&lace<Tab>:s       :s/
+endif
+
+an 20.425       &Edit.-SEP3-                           <Nop>
+an 20.430       &Edit.Settings\ &Window                :options<CR>
+an 20.435       &Edit.Startup\ &Settings               :call <SID>EditVimrc()<CR>
+
+fun! s:EditVimrc()
+  if $MYVIMRC != ''
+    let fname = "$MYVIMRC"
+  elseif has("win32") || has("dos32") || has("dos16") || has("os2")
+    if $HOME != ''
+      let fname = "$HOME/_vimrc"
+    else
+      let fname = "$VIM/_vimrc"
+    endif
+  elseif has("amiga")
+    let fname = "s:.vimrc"
+  else
+    let fname = "$HOME/.vimrc"
+  endif
+  let fname = s:FnameEscape(fname)
+  if &mod
+    exe "split " . fname
+  else
+    exe "edit " . fname
+  endif
+endfun
+
+fun! s:FixFText()
+  " Fix text in nameless register to be used with :promptfind.
+  return substitute(@", "[\r\n]", '\\n', 'g')
+endfun
+
+" Edit/Global Settings
+an 20.440.100 &Edit.&Global\ Settings.Toggle\ Pattern\ &Highlight<Tab>:set\ hls!       :set hls! hls?<CR>
+an 20.440.110 &Edit.&Global\ Settings.Toggle\ &Ignore-case<Tab>:set\ ic!       :set ic! ic?<CR>
+an 20.440.110 &Edit.&Global\ Settings.Toggle\ &Showmatch<Tab>:set\ sm! :set sm! sm?<CR>
+
+an 20.440.120 &Edit.&Global\ Settings.&Context\ lines.\ 1\  :set so=1<CR>
+an 20.440.120 &Edit.&Global\ Settings.&Context\ lines.\ 2\  :set so=2<CR>
+an 20.440.120 &Edit.&Global\ Settings.&Context\ lines.\ 3\  :set so=3<CR>
+an 20.440.120 &Edit.&Global\ Settings.&Context\ lines.\ 4\  :set so=4<CR>
+an 20.440.120 &Edit.&Global\ Settings.&Context\ lines.\ 5\  :set so=5<CR>
+an 20.440.120 &Edit.&Global\ Settings.&Context\ lines.\ 7\  :set so=7<CR>
+an 20.440.120 &Edit.&Global\ Settings.&Context\ lines.\ 10\  :set so=10<CR>
+an 20.440.120 &Edit.&Global\ Settings.&Context\ lines.\ 100\  :set so=100<CR>
+
+an 20.440.130.40 &Edit.&Global\ Settings.&Virtual\ Edit.Never :set ve=<CR>
+an 20.440.130.50 &Edit.&Global\ Settings.&Virtual\ Edit.Block\ Selection :set ve=block<CR>
+an 20.440.130.60 &Edit.&Global\ Settings.&Virtual\ Edit.Insert\ mode :set ve=insert<CR>
+an 20.440.130.70 &Edit.&Global\ Settings.&Virtual\ Edit.Block\ and\ Insert :set ve=block,insert<CR>
+an 20.440.130.80 &Edit.&Global\ Settings.&Virtual\ Edit.Always :set ve=all<CR>
+an 20.440.140 &Edit.&Global\ Settings.Toggle\ Insert\ &Mode<Tab>:set\ im!      :set im!<CR>
+an 20.440.145 &Edit.&Global\ Settings.Toggle\ Vi\ C&ompatible<Tab>:set\ cp!    :set cp!<CR>
+an <silent> 20.440.150 &Edit.&Global\ Settings.Search\ &Path\.\.\.  :call <SID>SearchP()<CR>
+an <silent> 20.440.160 &Edit.&Global\ Settings.Ta&g\ Files\.\.\.  :call <SID>TagFiles()<CR>
+"
+" GUI options
+an 20.440.300 &Edit.&Global\ Settings.-SEP1-                           <Nop>
+an <silent> 20.440.310 &Edit.&Global\ Settings.Toggle\ &Toolbar                :call <SID>ToggleGuiOption("T")<CR>
+an <silent> 20.440.320 &Edit.&Global\ Settings.Toggle\ &Bottom\ Scrollbar :call <SID>ToggleGuiOption("b")<CR>
+an <silent> 20.440.330 &Edit.&Global\ Settings.Toggle\ &Left\ Scrollbar        :call <SID>ToggleGuiOption("l")<CR>
+an <silent> 20.440.340 &Edit.&Global\ Settings.Toggle\ &Right\ Scrollbar :call <SID>ToggleGuiOption("r")<CR>
+
+fun! s:SearchP()
+  if !exists("g:menutrans_path_dialog")
+    let g:menutrans_path_dialog = "Enter search path for files.\nSeparate directory names with a comma."
+  endif
+  let n = inputdialog(g:menutrans_path_dialog, substitute(&path, '\\ ', ' ', 'g'))
+  if n != ""
+    let &path = substitute(n, ' ', '\\ ', 'g')
+  endif
+endfun
+
+fun! s:TagFiles()
+  if !exists("g:menutrans_tags_dialog")
+    let g:menutrans_tags_dialog = "Enter names of tag files.\nSeparate the names with a comma."
+  endif
+  let n = inputdialog(g:menutrans_tags_dialog, substitute(&tags, '\\ ', ' ', 'g'))
+  if n != ""
+    let &tags = substitute(n, ' ', '\\ ', 'g')
+  endif
+endfun
+
+fun! s:ToggleGuiOption(option)
+    " If a:option is already set in guioptions, then we want to remove it
+    if match(&guioptions, "\\C" . a:option) > -1
+       exec "set go-=" . a:option
+    else
+       exec "set go+=" . a:option
+    endif
+endfun
+
+" Edit/File Settings
+
+" Boolean options
+an 20.440.100 &Edit.F&ile\ Settings.Toggle\ Line\ &Numbering<Tab>:set\ nu!     :set nu! nu?<CR>
+an 20.440.110 &Edit.F&ile\ Settings.Toggle\ &List\ Mode<Tab>:set\ list!        :set list! list?<CR>
+an 20.440.120 &Edit.F&ile\ Settings.Toggle\ Line\ &Wrap<Tab>:set\ wrap!        :set wrap! wrap?<CR>
+an 20.440.130 &Edit.F&ile\ Settings.Toggle\ W&rap\ at\ word<Tab>:set\ lbr!     :set lbr! lbr?<CR>
+an 20.440.160 &Edit.F&ile\ Settings.Toggle\ &expand-tab<Tab>:set\ et!  :set et! et?<CR>
+an 20.440.170 &Edit.F&ile\ Settings.Toggle\ &auto-indent<Tab>:set\ ai! :set ai! ai?<CR>
+an 20.440.180 &Edit.F&ile\ Settings.Toggle\ &C-indenting<Tab>:set\ cin!        :set cin! cin?<CR>
+
+" other options
+an 20.440.600 &Edit.F&ile\ Settings.-SEP2-             <Nop>
+an 20.440.610.20 &Edit.F&ile\ Settings.&Shiftwidth.2   :set sw=2 sw?<CR>
+an 20.440.610.30 &Edit.F&ile\ Settings.&Shiftwidth.3   :set sw=3 sw?<CR>
+an 20.440.610.40 &Edit.F&ile\ Settings.&Shiftwidth.4   :set sw=4 sw?<CR>
+an 20.440.610.50 &Edit.F&ile\ Settings.&Shiftwidth.5   :set sw=5 sw?<CR>
+an 20.440.610.60 &Edit.F&ile\ Settings.&Shiftwidth.6   :set sw=6 sw?<CR>
+an 20.440.610.80 &Edit.F&ile\ Settings.&Shiftwidth.8   :set sw=8 sw?<CR>
+
+an 20.440.620.20 &Edit.F&ile\ Settings.Soft\ &Tabstop.2        :set sts=2 sts?<CR>
+an 20.440.620.30 &Edit.F&ile\ Settings.Soft\ &Tabstop.3        :set sts=3 sts?<CR>
+an 20.440.620.40 &Edit.F&ile\ Settings.Soft\ &Tabstop.4        :set sts=4 sts?<CR>
+an 20.440.620.50 &Edit.F&ile\ Settings.Soft\ &Tabstop.5        :set sts=5 sts?<CR>
+an 20.440.620.60 &Edit.F&ile\ Settings.Soft\ &Tabstop.6        :set sts=6 sts?<CR>
+an 20.440.620.80 &Edit.F&ile\ Settings.Soft\ &Tabstop.8        :set sts=8 sts?<CR>
+
+an <silent> 20.440.630 &Edit.F&ile\ Settings.Te&xt\ Width\.\.\.  :call <SID>TextWidth()<CR>
+an <silent> 20.440.640 &Edit.F&ile\ Settings.&File\ Format\.\.\.  :call <SID>FileFormat()<CR>
+fun! s:TextWidth()
+  if !exists("g:menutrans_textwidth_dialog")
+    let g:menutrans_textwidth_dialog = "Enter new text width (0 to disable formatting): "
+  endif
+  let n = inputdialog(g:menutrans_textwidth_dialog, &tw)
+  if n != ""
+    " remove leading zeros to avoid it being used as an octal number
+    let &tw = substitute(n, "^0*", "", "")
+  endif
+endfun
+
+fun! s:FileFormat()
+  if !exists("g:menutrans_fileformat_dialog")
+    let g:menutrans_fileformat_dialog = "Select format for writing the file"
+  endif
+  if !exists("g:menutrans_fileformat_choices")
+    let g:menutrans_fileformat_choices = "&Unix\n&Dos\n&Mac\n&Cancel"
+  endif
+  if &ff == "dos"
+    let def = 2
+  elseif &ff == "mac"
+    let def = 3
+  else
+    let def = 1
+  endif
+  let n = confirm(g:menutrans_fileformat_dialog, g:menutrans_fileformat_choices, def, "Question")
+  if n == 1
+    set ff=unix
+  elseif n == 2
+    set ff=dos
+  elseif n == 3
+    set ff=mac
+  endif
+endfun
+
+" Setup the Edit.Color Scheme submenu
+let s:n = globpath(&runtimepath, "colors/*.vim")
+let s:idx = 100
+while strlen(s:n) > 0
+  let s:i = stridx(s:n, "\n")
+  if s:i < 0
+    let s:name = s:n
+    let s:n = ""
+  else
+    let s:name = strpart(s:n, 0, s:i)
+    let s:n = strpart(s:n, s:i + 1, 19999)
+  endif
+  " Ignore case for VMS and windows
+  let s:name = substitute(s:name, '\c.*[/\\:\]]\([^/\\:]*\)\.vim', '\1', '')
+  exe "an 20.450." . s:idx . ' &Edit.C&olor\ Scheme.' . s:name . " :colors " . s:name . "<CR>"
+  unlet s:name
+  unlet s:i
+  let s:idx = s:idx + 10
+endwhile
+unlet s:n
+unlet s:idx
+
+" Setup the Edit.Keymap submenu
+if has("keymap")
+  let s:n = globpath(&runtimepath, "keymap/*.vim")
+  if s:n != ""
+    let s:idx = 100
+    an 20.460.90 &Edit.&Keymap.None :set keymap=<CR>
+    while strlen(s:n) > 0
+      let s:i = stridx(s:n, "\n")
+      if s:i < 0
+       let s:name = s:n
+       let s:n = ""
+      else
+       let s:name = strpart(s:n, 0, s:i)
+       let s:n = strpart(s:n, s:i + 1, 19999)
+      endif
+      " Ignore case for VMS and windows
+      let s:name = substitute(s:name, '\c.*[/\\:\]]\([^/\\:_]*\)\(_[0-9a-zA-Z-]*\)\=\.vim', '\1', '')
+      exe "an 20.460." . s:idx . ' &Edit.&Keymap.' . s:name . " :set keymap=" . s:name . "<CR>"
+      unlet s:name
+      unlet s:i
+      let s:idx = s:idx + 10
+    endwhile
+    unlet s:idx
+  endif
+  unlet s:n
+endif
+if has("win32") || has("win16") || has("gui_motif") || has("gui_gtk") || has("gui_kde") || has("gui_photon") || has("gui_mac")
+  an 20.470 &Edit.Select\ Fo&nt\.\.\.  :set guifont=*<CR>
+endif
+
+" Programming menu
+if !exists("g:ctags_command")
+  if has("vms")
+    let g:ctags_command = "mc vim:ctags *.*"
+  else
+    let g:ctags_command = "ctags -R ."
+  endif
+endif
+
+an 40.300 &Tools.&Jump\ to\ this\ tag<Tab>g^]  g<C-]>
+vunmenu &Tools.&Jump\ to\ this\ tag<Tab>g^]
+vnoremenu &Tools.&Jump\ to\ this\ tag<Tab>g^]  g<C-]>
+an 40.310 &Tools.Jump\ &back<Tab>^T            <C-T>
+an 40.320 &Tools.Build\ &Tags\ File            :exe "!" . g:ctags_command<CR>
+
+if has("folding") || has("spell")
+  an 40.330 &Tools.-SEP1-                                              <Nop>
+endif
+
+" Tools.Spelling Menu
+if has("spell")
+  an 40.335.110 &Tools.&Spelling.&Spell\ Check\ On             :set spell<CR>
+  an 40.335.120 &Tools.&Spelling.Spell\ Check\ &Off            :set nospell<CR>
+  an 40.335.130 &Tools.&Spelling.To\ &Next\ error<Tab>]s       ]s
+  an 40.335.130 &Tools.&Spelling.To\ &Previous\ error<Tab>[s   [s
+  an 40.335.140 &Tools.&Spelling.Suggest\ &Corrections<Tab>z=  z=
+  an 40.335.150 &Tools.&Spelling.&Repeat\ correction<Tab>:spellrepall  :spellrepall<CR>
+  an 40.335.200 &Tools.&Spelling.-SEP1-                                <Nop>
+  an 40.335.210 &Tools.&Spelling.Set\ language\ to\ "en"       :set spl=en spell<CR>
+  an 40.335.220 &Tools.&Spelling.Set\ language\ to\ "en_au"    :set spl=en_au spell<CR>
+  an 40.335.230 &Tools.&Spelling.Set\ language\ to\ "en_ca"    :set spl=en_ca spell<CR>
+  an 40.335.240 &Tools.&Spelling.Set\ language\ to\ "en_gb"    :set spl=en_gb spell<CR>
+  an 40.335.250 &Tools.&Spelling.Set\ language\ to\ "en_nz"    :set spl=en_nz spell<CR>
+  an 40.335.260 &Tools.&Spelling.Set\ language\ to\ "en_us"    :set spl=en_us spell<CR>
+  an <silent> 40.335.270 &Tools.&Spelling.&Find\ More\ Languages       :call <SID>SpellLang()<CR>
+
+  let s:undo_spellang = ['aun &Tools.&Spelling.&Find\ More\ Languages']
+  func! s:SpellLang()
+    for cmd in s:undo_spellang
+      exe "silent! " . cmd
+    endfor
+    let s:undo_spellang = []
+
+    if &enc == "iso-8859-15"
+      let enc = "latin1"
+    else
+      let enc = &enc
+    endif
+
+    let found = 0
+    let s = globpath(&rtp, "spell/*." . enc . ".spl")
+    if s != ""
+      let n = 300
+      for f in split(s, "\n")
+       let nm = substitute(f, '.*spell[/\\]\(..\)\.[^/\\]*\.spl', '\1', "")
+       if nm != "en" && nm !~ '/'
+         let found += 1
+         let menuname = '&Tools.&Spelling.Set\ language\ to\ "' . nm . '"'
+         exe 'an 40.335.' . n . ' ' . menuname . ' :set spl=' . nm . ' spell<CR>'
+         let s:undo_spellang += ['aun ' . menuname]
+       endif
+       let n += 10
+      endfor
+    endif
+    if found == 0
+      echomsg "Could not find other spell files"
+    elseif found == 1
+      echomsg "Found spell file " . nm
+    else
+      echomsg "Found " . found . " more spell files"
+    endif
+    " Need to redo this when 'encoding' is changed.
+    augroup spellmenu
+    au! EncodingChanged * call <SID>SpellLang()
+    augroup END
+  endfun
+
+endif
+
+" Tools.Fold Menu
+if has("folding")
+  " open close folds
+  an 40.340.110 &Tools.&Folding.&Enable/Disable\ folds<Tab>zi          zi
+  an 40.340.120 &Tools.&Folding.&View\ Cursor\ Line<Tab>zv             zv
+  an 40.340.120 &Tools.&Folding.Vie&w\ Cursor\ Line\ only<Tab>zMzx     zMzx
+  an 40.340.130 &Tools.&Folding.C&lose\ more\ folds<Tab>zm             zm
+  an 40.340.140 &Tools.&Folding.&Close\ all\ folds<Tab>zM              zM
+  an 40.340.150 &Tools.&Folding.O&pen\ more\ folds<Tab>zr              zr
+  an 40.340.160 &Tools.&Folding.&Open\ all\ folds<Tab>zR               zR
+  " fold method
+  an 40.340.200 &Tools.&Folding.-SEP1-                 <Nop>
+  an 40.340.210 &Tools.&Folding.Fold\ Met&hod.M&anual  :set fdm=manual<CR>
+  an 40.340.210 &Tools.&Folding.Fold\ Met&hod.I&ndent  :set fdm=indent<CR>
+  an 40.340.210 &Tools.&Folding.Fold\ Met&hod.E&xpression :set fdm=expr<CR>
+  an 40.340.210 &Tools.&Folding.Fold\ Met&hod.S&yntax  :set fdm=syntax<CR>
+  an 40.340.210 &Tools.&Folding.Fold\ Met&hod.&Diff    :set fdm=diff<CR>
+  an 40.340.210 &Tools.&Folding.Fold\ Met&hod.Ma&rker  :set fdm=marker<CR>
+  " create and delete folds
+  vnoremenu 40.340.220 &Tools.&Folding.Create\ &Fold<Tab>zf    zf
+  an 40.340.230 &Tools.&Folding.&Delete\ Fold<Tab>zd           zd
+  an 40.340.240 &Tools.&Folding.Delete\ &All\ Folds<Tab>zD     zD
+  " moving around in folds
+  an 40.340.300 &Tools.&Folding.-SEP2-                         <Nop>
+  an 40.340.310.10 &Tools.&Folding.Fold\ col&umn\ width.\ &0\  :set fdc=0<CR>
+  an 40.340.310.20 &Tools.&Folding.Fold\ col&umn\ width.\ &2\  :set fdc=2<CR>
+  an 40.340.310.30 &Tools.&Folding.Fold\ col&umn\ width.\ &3\  :set fdc=3<CR>
+  an 40.340.310.40 &Tools.&Folding.Fold\ col&umn\ width.\ &4\  :set fdc=4<CR>
+  an 40.340.310.50 &Tools.&Folding.Fold\ col&umn\ width.\ &5\  :set fdc=5<CR>
+  an 40.340.310.60 &Tools.&Folding.Fold\ col&umn\ width.\ &6\  :set fdc=6<CR>
+  an 40.340.310.70 &Tools.&Folding.Fold\ col&umn\ width.\ &7\  :set fdc=7<CR>
+  an 40.340.310.80 &Tools.&Folding.Fold\ col&umn\ width.\ &8\  :set fdc=8<CR>
+endif  " has folding
+
+if has("diff")
+  an 40.350.100 &Tools.&Diff.&Update           :diffupdate<CR>
+  an 40.350.110 &Tools.&Diff.&Get\ Block       :diffget<CR>
+  vunmenu &Tools.&Diff.&Get\ Block
+  vnoremenu &Tools.&Diff.&Get\ Block           :diffget<CR>
+  an 40.350.120 &Tools.&Diff.&Put\ Block       :diffput<CR>
+  vunmenu &Tools.&Diff.&Put\ Block
+  vnoremenu &Tools.&Diff.&Put\ Block           :diffput<CR>
+endif
+
+an 40.358 &Tools.-SEP2-                                        <Nop>
+an 40.360 &Tools.&Make<Tab>:make                       :make<CR>
+an 40.370 &Tools.&List\ Errors<Tab>:cl                 :cl<CR>
+an 40.380 &Tools.L&ist\ Messages<Tab>:cl!              :cl!<CR>
+an 40.390 &Tools.&Next\ Error<Tab>:cn                  :cn<CR>
+an 40.400 &Tools.&Previous\ Error<Tab>:cp              :cp<CR>
+an 40.410 &Tools.&Older\ List<Tab>:cold                        :colder<CR>
+an 40.420 &Tools.N&ewer\ List<Tab>:cnew                        :cnewer<CR>
+an 40.430.50 &Tools.Error\ &Window.&Update<Tab>:cwin   :cwin<CR>
+an 40.430.60 &Tools.Error\ &Window.&Open<Tab>:copen    :copen<CR>
+an 40.430.70 &Tools.Error\ &Window.&Close<Tab>:cclose  :cclose<CR>
+
+an 40.520 &Tools.-SEP3-                                        <Nop>
+an <silent> 40.530 &Tools.&Convert\ to\ HEX<Tab>:%!xxd
+       \ :call <SID>XxdConv()<CR>
+an <silent> 40.540 &Tools.Conve&rt\ back<Tab>:%!xxd\ -r
+       \ :call <SID>XxdBack()<CR>
+
+" Use a function to do the conversion, so that it also works with 'insertmode'
+" set.
+func! s:XxdConv()
+  let mod = &mod
+  if has("vms")
+    %!mc vim:xxd
+  else
+    call s:XxdFind()
+    exe '%!"' . g:xxdprogram . '"'
+  endif
+  if getline(1) =~ "^0000000:"         " only if it worked
+    set ft=xxd
+  endif
+  let &mod = mod
+endfun
+
+func! s:XxdBack()
+  let mod = &mod
+  if has("vms")
+    %!mc vim:xxd -r
+  else
+    call s:XxdFind()
+    exe '%!"' . g:xxdprogram . '" -r'
+  endif
+  set ft=
+  doautocmd filetypedetect BufReadPost
+  let &mod = mod
+endfun
+
+func! s:XxdFind()
+  if !exists("g:xxdprogram")
+    " On the PC xxd may not be in the path but in the install directory
+    if (has("win32") || has("dos32")) && !executable("xxd")
+      let g:xxdprogram = $VIMRUNTIME . (&shellslash ? '/' : '\') . "xxd.exe"
+    else
+      let g:xxdprogram = "xxd"
+    endif
+  endif
+endfun
+
+" Setup the Tools.Compiler submenu
+let s:n = globpath(&runtimepath, "compiler/*.vim")
+let s:idx = 100
+while strlen(s:n) > 0
+  let s:i = stridx(s:n, "\n")
+  if s:i < 0
+    let s:name = s:n
+    let s:n = ""
+  else
+    let s:name = strpart(s:n, 0, s:i)
+    let s:n = strpart(s:n, s:i + 1, 19999)
+  endif
+  " Ignore case for VMS and windows
+  let s:name = substitute(s:name, '\c.*[/\\:\]]\([^/\\:]*\)\.vim', '\1', '')
+  exe "an 30.440." . s:idx . ' &Tools.Se&T\ Compiler.' . s:name . " :compiler " . s:name . "<CR>"
+  unlet s:name
+  unlet s:i
+  let s:idx = s:idx + 10
+endwhile
+unlet s:n
+unlet s:idx
+
+if !exists("no_buffers_menu")
+
+" Buffer list menu -- Setup functions & actions
+
+" wait with building the menu until after loading 'session' files. Makes
+" startup faster.
+let s:bmenu_wait = 1
+
+if !exists("bmenu_priority")
+  let bmenu_priority = 60
+endif
+
+func! s:BMAdd()
+  if s:bmenu_wait == 0
+    " when adding too many buffers, redraw in short format
+    if s:bmenu_count == &menuitems && s:bmenu_short == 0
+      call s:BMShow()
+    else
+      call <SID>BMFilename(expand("<afile>"), expand("<abuf>"))
+      let s:bmenu_count = s:bmenu_count + 1
+    endif
+  endif
+endfunc
+
+func! s:BMRemove()
+  if s:bmenu_wait == 0
+    let name = expand("<afile>")
+    if isdirectory(name)
+      return
+    endif
+    let munge = <SID>BMMunge(name, expand("<abuf>"))
+
+    if s:bmenu_short == 0
+      exe 'silent! aun &Buffers.' . munge
+    else
+      exe 'silent! aun &Buffers.' . <SID>BMHash2(munge) . munge
+    endif
+    let s:bmenu_count = s:bmenu_count - 1
+  endif
+endfunc
+
+" Create the buffer menu (delete an existing one first).
+func! s:BMShow(...)
+  let s:bmenu_wait = 1
+  let s:bmenu_short = 1
+  let s:bmenu_count = 0
+  "
+  " get new priority, if exists
+  if a:0 == 1
+    let g:bmenu_priority = a:1
+  endif
+
+  " remove old menu, if exists; keep one entry to avoid a torn off menu to
+  " disappear.
+  silent! unmenu &Buffers
+  exe 'noremenu ' . g:bmenu_priority . ".1 &Buffers.Dummy l"
+  silent! unmenu! &Buffers
+
+  " create new menu; set 'cpo' to include the <CR>
+  let cpo_save = &cpo
+  set cpo&vim
+  exe 'an <silent> ' . g:bmenu_priority . ".2 &Buffers.&Refresh\\ menu :call <SID>BMShow()<CR>"
+  exe 'an ' . g:bmenu_priority . ".4 &Buffers.&Delete :confirm bd<CR>"
+  exe 'an ' . g:bmenu_priority . ".6 &Buffers.&Alternate :confirm b #<CR>"
+  exe 'an ' . g:bmenu_priority . ".7 &Buffers.&Next :confirm bnext<CR>"
+  exe 'an ' . g:bmenu_priority . ".8 &Buffers.&Previous :confirm bprev<CR>"
+  exe 'an ' . g:bmenu_priority . ".9 &Buffers.-SEP- :"
+  let &cpo = cpo_save
+  unmenu &Buffers.Dummy
+
+  " figure out how many buffers there are
+  let buf = 1
+  while buf <= bufnr('$')
+    if bufexists(buf) && !isdirectory(bufname(buf)) && buflisted(buf)
+      let s:bmenu_count = s:bmenu_count + 1
+    endif
+    let buf = buf + 1
+  endwhile
+  if s:bmenu_count <= &menuitems
+    let s:bmenu_short = 0
+  endif
+
+  " iterate through buffer list, adding each buffer to the menu:
+  let buf = 1
+  while buf <= bufnr('$')
+    if bufexists(buf) && !isdirectory(bufname(buf)) && buflisted(buf)
+      call <SID>BMFilename(bufname(buf), buf)
+    endif
+    let buf = buf + 1
+  endwhile
+  let s:bmenu_wait = 0
+  aug buffer_list
+  au!
+  au BufCreate,BufFilePost * call <SID>BMAdd()
+  au BufDelete,BufFilePre * call <SID>BMRemove()
+  aug END
+endfunc
+
+func! s:BMHash(name)
+  " Make name all upper case, so that chars are between 32 and 96
+  let nm = substitute(a:name, ".*", '\U\0', "")
+  if has("ebcdic")
+    " HACK: Replace all non alphabetics with 'Z'
+    "       Just to make it work for now.
+    let nm = substitute(nm, "[^A-Z]", 'Z', "g")
+    let sp = char2nr('A') - 1
+  else
+    let sp = char2nr(' ')
+  endif
+  " convert first six chars into a number for sorting:
+  return (char2nr(nm[0]) - sp) * 0x800000 + (char2nr(nm[1]) - sp) * 0x20000 + (char2nr(nm[2]) - sp) * 0x1000 + (char2nr(nm[3]) - sp) * 0x80 + (char2nr(nm[4]) - sp) * 0x20 + (char2nr(nm[5]) - sp)
+endfunc
+
+func! s:BMHash2(name)
+  let nm = substitute(a:name, ".", '\L\0', "")
+  " Not exactly right for EBCDIC...
+  if nm[0] < 'a' || nm[0] > 'z'
+    return '&others.'
+  elseif nm[0] <= 'd'
+    return '&abcd.'
+  elseif nm[0] <= 'h'
+    return '&efgh.'
+  elseif nm[0] <= 'l'
+    return '&ijkl.'
+  elseif nm[0] <= 'p'
+    return '&mnop.'
+  elseif nm[0] <= 't'
+    return '&qrst.'
+  else
+    return '&u-z.'
+  endif
+endfunc
+
+" insert a buffer name into the buffer menu:
+func! s:BMFilename(name, num)
+  if isdirectory(a:name)
+    return
+  endif
+  let munge = <SID>BMMunge(a:name, a:num)
+  let hash = <SID>BMHash(munge)
+  if s:bmenu_short == 0
+    let name = 'an ' . g:bmenu_priority . '.' . hash . ' &Buffers.' . munge
+  else
+    let name = 'an ' . g:bmenu_priority . '.' . hash . '.' . hash . ' &Buffers.' . <SID>BMHash2(munge) . munge
+  endif
+  " set 'cpo' to include the <CR>
+  let cpo_save = &cpo
+  set cpo&vim
+  exe name . ' :confirm b' . a:num . '<CR>'
+  let &cpo = cpo_save
+endfunc
+
+" Truncate a long path to fit it in a menu item.
+if !exists("g:bmenu_max_pathlen")
+  let g:bmenu_max_pathlen = 35
+endif
+func! s:BMTruncName(fname)
+  let name = a:fname
+  if g:bmenu_max_pathlen < 5
+    let name = ""
+  else
+    let len = strlen(name)
+    if len > g:bmenu_max_pathlen
+      let amountl = (g:bmenu_max_pathlen / 2) - 2
+      let amountr = g:bmenu_max_pathlen - amountl - 3
+      let pattern = '^\(.\{,' . amountl . '}\).\{-}\(.\{,' . amountr . '}\)$'
+      let left = substitute(name, pattern, '\1', '')
+      let right = substitute(name, pattern, '\2', '')
+      if strlen(left) + strlen(right) < len
+       let name = left . '...' . right
+      endif
+    endif
+  endif
+  return name
+endfunc
+
+func! s:BMMunge(fname, bnum)
+  let name = a:fname
+  if name == ''
+    if !exists("g:menutrans_no_file")
+      let g:menutrans_no_file = "[No file]"
+    endif
+    let name = g:menutrans_no_file
+  else
+    let name = fnamemodify(name, ':p:~')
+  endif
+  " detach file name and separate it out:
+  let name2 = fnamemodify(name, ':t')
+  if a:bnum >= 0
+    let name2 = name2 . ' (' . a:bnum . ')'
+  endif
+  let name = name2 . "\t" . <SID>BMTruncName(fnamemodify(name,':h'))
+  let name = escape(name, "\\. \t|")
+  let name = substitute(name, "&", "&&", "g")
+  let name = substitute(name, "\n", "^@", "g")
+  return name
+endfunc
+
+" When just starting Vim, load the buffer menu later
+if has("vim_starting")
+  augroup LoadBufferMenu
+    au! VimEnter * if !exists("no_buffers_menu") | call <SID>BMShow() | endif
+    au  VimEnter * au! LoadBufferMenu
+  augroup END
+else
+  call <SID>BMShow()
+endif
+
+endif " !exists("no_buffers_menu")
+
+" Window menu
+an 70.300 &Window.&New<Tab>^Wn                 <C-W>n
+an 70.310 &Window.S&plit<Tab>^Ws               <C-W>s
+an 70.320 &Window.Sp&lit\ To\ #<Tab>^W^^       <C-W><C-^>
+an 70.330 &Window.Split\ &Vertically<Tab>^Wv   <C-W>v
+if has("vertsplit")
+  an <silent> 70.332 &Window.Split\ File\ E&xplorer    :call MenuExplOpen()<CR>
+  if !exists("*MenuExplOpen")
+    fun MenuExplOpen()
+      if @% == ""
+       20vsp .
+      else
+       exe "20vsp " . s:FnameEscape(expand("%:p:h"))
+      endif
+    endfun
+  endif
+endif
+an 70.335 &Window.-SEP1-                               <Nop>
+an 70.340 &Window.&Close<Tab>^Wc                       :confirm close<CR>
+an 70.345 &Window.Close\ &Other(s)<Tab>^Wo             :confirm only<CR>
+an 70.350 &Window.-SEP2-                               <Nop>
+an 70.355 &Window.Move\ &To.&Top<Tab>^WK               <C-W>K
+an 70.355 &Window.Move\ &To.&Bottom<Tab>^WJ            <C-W>J
+an 70.355 &Window.Move\ &To.&Left\ side<Tab>^WH                <C-W>H
+an 70.355 &Window.Move\ &To.&Right\ side<Tab>^WL       <C-W>L
+an 70.360 &Window.Rotate\ &Up<Tab>^WR                  <C-W>R
+an 70.362 &Window.Rotate\ &Down<Tab>^Wr                        <C-W>r
+an 70.365 &Window.-SEP3-                               <Nop>
+an 70.370 &Window.&Equal\ Size<Tab>^W=                 <C-W>=
+an 70.380 &Window.&Max\ Height<Tab>^W_                 <C-W>_
+an 70.390 &Window.M&in\ Height<Tab>^W1_                        <C-W>1_
+an 70.400 &Window.Max\ &Width<Tab>^W\|                 <C-W>\|
+an 70.410 &Window.Min\ Widt&h<Tab>^W1\|                        <C-W>1\|
+
+" The popup menu
+an 1.10 PopUp.&Undo                    u
+an 1.15 PopUp.-SEP1-                   <Nop>
+vnoremenu 1.20 PopUp.Cu&t              "+x
+vnoremenu 1.30 PopUp.&Copy             "+y
+cnoremenu 1.30 PopUp.&Copy             <C-Y>
+nnoremenu 1.40 PopUp.&Paste            "+gP
+cnoremenu 1.40 PopUp.&Paste            <C-R>+
+exe 'vnoremenu <script> 1.40 PopUp.&Paste      ' . paste#paste_cmd['v']
+exe 'inoremenu <script> 1.40 PopUp.&Paste      ' . paste#paste_cmd['i']
+vnoremenu 1.50 PopUp.&Delete           x
+an 1.55 PopUp.-SEP2-                   <Nop>
+vnoremenu 1.60 PopUp.Select\ Blockwise <C-V>
+
+nnoremenu 1.70 PopUp.Select\ &Word     vaw
+onoremenu 1.70 PopUp.Select\ &Word     aw
+vnoremenu 1.70 PopUp.Select\ &Word     <C-C>vaw
+inoremenu 1.70 PopUp.Select\ &Word     <C-O>vaw
+cnoremenu 1.70 PopUp.Select\ &Word     <C-C>vaw
+
+nnoremenu 1.73 PopUp.Select\ &Sentence vas
+onoremenu 1.73 PopUp.Select\ &Sentence as
+vnoremenu 1.73 PopUp.Select\ &Sentence <C-C>vas
+inoremenu 1.73 PopUp.Select\ &Sentence <C-O>vas
+cnoremenu 1.73 PopUp.Select\ &Sentence <C-C>vas
+
+nnoremenu 1.77 PopUp.Select\ Pa&ragraph        vap
+onoremenu 1.77 PopUp.Select\ Pa&ragraph        ap
+vnoremenu 1.77 PopUp.Select\ Pa&ragraph        <C-C>vap
+inoremenu 1.77 PopUp.Select\ Pa&ragraph        <C-O>vap
+cnoremenu 1.77 PopUp.Select\ Pa&ragraph        <C-C>vap
+
+nnoremenu 1.80 PopUp.Select\ &Line     V
+onoremenu 1.80 PopUp.Select\ &Line     <C-C>V
+vnoremenu 1.80 PopUp.Select\ &Line     <C-C>V
+inoremenu 1.80 PopUp.Select\ &Line     <C-O>V
+cnoremenu 1.80 PopUp.Select\ &Line     <C-C>V
+
+nnoremenu 1.90 PopUp.Select\ &Block    <C-V>
+onoremenu 1.90 PopUp.Select\ &Block    <C-C><C-V>
+vnoremenu 1.90 PopUp.Select\ &Block    <C-C><C-V>
+inoremenu 1.90 PopUp.Select\ &Block    <C-O><C-V>
+cnoremenu 1.90 PopUp.Select\ &Block    <C-C><C-V>
+
+noremenu  <script> <silent> 1.100 PopUp.Select\ &All   :<C-U>call <SID>SelectAll()<CR>
+inoremenu <script> <silent> 1.100 PopUp.Select\ &All   <C-O>:call <SID>SelectAll()<CR>
+cnoremenu <script> <silent> 1.100 PopUp.Select\ &All   <C-U>call <SID>SelectAll()<CR>
+
+if has("spell")
+  " Spell suggestions in the popup menu.  Note that this will slow down the
+  " appearance of the menu!
+  func! <SID>SpellPopup()
+    if exists("s:changeitem") && s:changeitem != ''
+      call <SID>SpellDel()
+    endif
+
+    " Return quickly if spell checking is not enabled.
+    if !&spell || &spelllang == ''
+      return
+    endif
+
+    let curcol = col('.')
+    let [w, a] = spellbadword()
+    if col('.') > curcol               " don't use word after the cursor
+      let w = ''
+      call cursor(0, curcol)   " put the cursor back where it was
+    endif
+    if w != ''
+      if a == 'caps'
+       let s:suglist = [substitute(w, '.*', '\u&', '')]
+      else
+       let s:suglist = spellsuggest(w, 10)
+      endif
+      if len(s:suglist) <= 0
+       call cursor(0, curcol)  " put the cursor back where it was
+      else
+       let s:changeitem = 'change\ "' . escape(w, ' .'). '"\ to'
+       let s:fromword = w
+       let pri = 1
+       for sug in s:suglist
+         exe 'anoremenu 1.5.' . pri . ' PopUp.' . s:changeitem . '.' . escape(sug, ' .')
+               \ . ' :call <SID>SpellReplace(' . pri . ')<CR>'
+         let pri += 1
+       endfor
+
+       let s:additem = 'add\ "' . escape(w, ' .') . '"\ to\ word\ list'
+       exe 'anoremenu 1.6 PopUp.' . s:additem . ' :spellgood ' . w . '<CR>'
+
+       let s:ignoreitem = 'ignore\ "' . escape(w, ' .') . '"'
+       exe 'anoremenu 1.7 PopUp.' . s:ignoreitem . ' :spellgood! ' . w . '<CR>'
+
+       anoremenu 1.8 PopUp.-SpellSep- :
+      endif
+    endif
+  endfunc
+
+  func! <SID>SpellReplace(n)
+    let l = getline('.')
+    call setline('.', strpart(l, 0, col('.') - 1) . s:suglist[a:n - 1]
+         \ . strpart(l, col('.') + len(s:fromword) - 1))
+  endfunc
+
+  func! <SID>SpellDel()
+    exe "aunmenu PopUp." . s:changeitem
+    exe "aunmenu PopUp." . s:additem
+    exe "aunmenu PopUp." . s:ignoreitem
+    aunmenu PopUp.-SpellSep-
+    let s:changeitem = ''
+  endfun
+
+  augroup SpellPopupMenu
+    au! MenuPopup * call <SID>SpellPopup()
+  augroup END
+endif
+
+" The GUI toolbar (for MS-Windows and GTK)
+if has("toolbar")
+  an 1.10 ToolBar.Open                 :browse confirm e<CR>
+  an <silent> 1.20 ToolBar.Save                :if expand("%") == ""<Bar>browse confirm w<Bar>else<Bar>confirm w<Bar>endif<CR>
+  an 1.30 ToolBar.SaveAll              :browse confirm wa<CR>
+
+  if has("printer")
+    an 1.40   ToolBar.Print            :hardcopy<CR>
+    vunmenu   ToolBar.Print
+    vnoremenu ToolBar.Print            :hardcopy<CR>
+  elseif has("unix")
+    an 1.40   ToolBar.Print            :w !lpr<CR>
+    vunmenu   ToolBar.Print
+    vnoremenu ToolBar.Print            :w !lpr<CR>
+  endif
+
+  an 1.45 ToolBar.-sep1-               <Nop>
+  an 1.50 ToolBar.Undo                 u
+  an 1.60 ToolBar.Redo                 <C-R>
+
+  an 1.65 ToolBar.-sep2-               <Nop>
+  vnoremenu 1.70 ToolBar.Cut           "+x
+  vnoremenu 1.80 ToolBar.Copy          "+y
+  cnoremenu 1.80 ToolBar.Copy          <C-Y>
+  nnoremenu 1.90 ToolBar.Paste         "+gP
+  cnoremenu     ToolBar.Paste          <C-R>+
+  exe 'vnoremenu <script>       ToolBar.Paste  ' . paste#paste_cmd['v']
+  exe 'inoremenu <script>       ToolBar.Paste  ' . paste#paste_cmd['i']
+
+  if !has("gui_athena")
+    an 1.95   ToolBar.-sep3-           <Nop>
+    an 1.100  ToolBar.Replace          :promptrepl<CR>
+    vunmenu   ToolBar.Replace
+    vnoremenu ToolBar.Replace          y:promptrepl <C-R>=<SID>FixFText()<CR><CR>
+    an 1.110  ToolBar.FindNext         n
+    an 1.120  ToolBar.FindPrev         N
+  endif
+
+  an 1.215 ToolBar.-sep5-              <Nop>
+  an <silent> 1.220 ToolBar.LoadSesn   :call <SID>LoadVimSesn()<CR>
+  an <silent> 1.230 ToolBar.SaveSesn   :call <SID>SaveVimSesn()<CR>
+  an 1.240 ToolBar.RunScript           :browse so<CR>
+
+  an 1.245 ToolBar.-sep6-              <Nop>
+  an 1.250 ToolBar.Make                        :make<CR>
+  an 1.270 ToolBar.RunCtags            :exe "!" . g:ctags_command<CR>
+  an 1.280 ToolBar.TagJump             g<C-]>
+
+  an 1.295 ToolBar.-sep7-              <Nop>
+  an 1.300 ToolBar.Help                        :help<CR>
+  an <silent> 1.310 ToolBar.FindHelp   :call <SID>Helpfind()<CR>
+
+" Only set the tooltips here if not done in a language menu file
+if exists("*Do_toolbar_tmenu")
+  call Do_toolbar_tmenu()
+else
+  let did_toolbar_tmenu = 1
+  tmenu ToolBar.Open           Open file
+  tmenu ToolBar.Save           Save current file
+  tmenu ToolBar.SaveAll                Save all files
+  tmenu ToolBar.Print          Print
+  tmenu ToolBar.Undo           Undo
+  tmenu ToolBar.Redo           Redo
+  tmenu ToolBar.Cut            Cut to clipboard
+  tmenu ToolBar.Copy           Copy to clipboard
+  tmenu ToolBar.Paste          Paste from Clipboard
+  if !has("gui_athena")
+    tmenu ToolBar.Find         Find...
+    tmenu ToolBar.FindNext     Find Next
+    tmenu ToolBar.FindPrev     Find Previous
+    tmenu ToolBar.Replace              Find / Replace...
+  endif
+  tmenu ToolBar.LoadSesn       Choose a session to load
+  tmenu ToolBar.SaveSesn       Save current session
+  tmenu ToolBar.RunScript      Choose a Vim Script to run
+  tmenu ToolBar.Make           Make current project (:make)
+  tmenu ToolBar.RunCtags       Build tags in current directory tree (!ctags -R .)
+  tmenu ToolBar.TagJump                Jump to tag under cursor
+  tmenu ToolBar.Help           Vim Help
+  tmenu ToolBar.FindHelp       Search Vim Help
+endif
+
+" Select a session to load; default to current session name if present
+fun! s:LoadVimSesn()
+  if strlen(v:this_session) > 0
+    let name = s:FnameEscape(v:this_session)
+  else
+    let name = "Session.vim"
+  endif
+  execute "browse so " . name
+endfun
+
+" Select a session to save; default to current session name if present
+fun! s:SaveVimSesn()
+  if strlen(v:this_session) == 0
+    let v:this_session = "Session.vim"
+  endif
+  execute "browse mksession! " . s:FnameEscape(v:this_session)
+endfun
+
+endif
+
+endif " !exists("did_install_default_menus")
+
+" Define these items always, so that syntax can be switched on when it wasn't.
+" But skip them when the Syntax menu was disabled by the user.
+if !exists("did_install_syntax_menu")
+  an 50.212 &Syntax.&Manual            :syn manual<CR>
+  an 50.214 &Syntax.A&utomatic         :syn on<CR>
+  an <silent> 50.216 &Syntax.on/off\ for\ &This\ file :call <SID>SynOnOff()<CR>
+  if !exists("*s:SynOnOff")
+    fun s:SynOnOff()
+      if has("syntax_items")
+       syn clear
+      else
+       if !exists("g:syntax_on")
+         syn manual
+       endif
+       set syn=ON
+      endif
+    endfun
+  endif
+endif
+
+
+" Install the Syntax menu only when filetype.vim has been loaded or when
+" manual syntax highlighting is enabled.
+" Avoid installing the Syntax menu twice.
+if (exists("did_load_filetypes") || exists("syntax_on"))
+       \ && !exists("did_install_syntax_menu")
+  let did_install_syntax_menu = 1
+
+" Skip setting up the individual syntax selection menus unless
+" do_syntax_sel_menu is defined (it takes quite a bit of time).
+if exists("do_syntax_sel_menu")
+  runtime! synmenu.vim
+else
+  an 50.10 &Syntax.&Show\ filetypes\ in\ menu  :let do_syntax_sel_menu = 1<Bar>runtime! synmenu.vim<Bar>aunmenu &Syntax.&Show\ filetypes\ in\ menu<CR>
+  an 50.195 &Syntax.-SEP1-             <Nop>
+endif
+
+an 50.210 &Syntax.&Off                 :syn off<CR>
+an 50.700 &Syntax.-SEP3-               <Nop>
+an 50.710 &Syntax.Co&lor\ test         :sp $VIMRUNTIME/syntax/colortest.vim<Bar>so %<CR>
+an 50.720 &Syntax.&Highlight\ test     :runtime syntax/hitest.vim<CR>
+an 50.730 &Syntax.&Convert\ to\ HTML   :runtime syntax/2html.vim<CR>
+
+endif " !exists("did_install_syntax_menu")
+
+" Restore the previous value of 'cpoptions'.
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim: set sw=2 :
diff --git a/runtime/tutor/runtime/rgb.txt b/runtime/tutor/runtime/rgb.txt
new file mode 100644 (file)
index 0000000..5bc2baa
--- /dev/null
@@ -0,0 +1,753 @@
+! $XConsortium: rgb.txt,v 10.41 94/02/20 18:39:36 rws Exp $
+255 250 250            snow
+248 248 255            ghost white
+248 248 255            GhostWhite
+245 245 245            white smoke
+245 245 245            WhiteSmoke
+220 220 220            gainsboro
+255 250 240            floral white
+255 250 240            FloralWhite
+253 245 230            old lace
+253 245 230            OldLace
+250 240 230            linen
+250 235 215            antique white
+250 235 215            AntiqueWhite
+255 239 213            papaya whip
+255 239 213            PapayaWhip
+255 235 205            blanched almond
+255 235 205            BlanchedAlmond
+255 228 196            bisque
+255 218 185            peach puff
+255 218 185            PeachPuff
+255 222 173            navajo white
+255 222 173            NavajoWhite
+255 228 181            moccasin
+255 248 220            cornsilk
+255 255 240            ivory
+255 250 205            lemon chiffon
+255 250 205            LemonChiffon
+255 245 238            seashell
+240 255 240            honeydew
+245 255 250            mint cream
+245 255 250            MintCream
+240 255 255            azure
+240 248 255            alice blue
+240 248 255            AliceBlue
+230 230 250            lavender
+255 240 245            lavender blush
+255 240 245            LavenderBlush
+255 228 225            misty rose
+255 228 225            MistyRose
+255 255 255            white
+  0   0   0            black
+ 47  79  79            dark slate gray
+ 47  79  79            DarkSlateGray
+ 47  79  79            dark slate grey
+ 47  79  79            DarkSlateGrey
+105 105 105            dim gray
+105 105 105            DimGray
+105 105 105            dim grey
+105 105 105            DimGrey
+112 128 144            slate gray
+112 128 144            SlateGray
+112 128 144            slate grey
+112 128 144            SlateGrey
+119 136 153            light slate gray
+119 136 153            LightSlateGray
+119 136 153            light slate grey
+119 136 153            LightSlateGrey
+190 190 190            gray
+190 190 190            grey
+211 211 211            light grey
+211 211 211            LightGrey
+211 211 211            light gray
+211 211 211            LightGray
+ 25  25 112            midnight blue
+ 25  25 112            MidnightBlue
+  0   0 128            navy
+  0   0 128            navy blue
+  0   0 128            NavyBlue
+100 149 237            cornflower blue
+100 149 237            CornflowerBlue
+ 72  61 139            dark slate blue
+ 72  61 139            DarkSlateBlue
+106  90 205            slate blue
+106  90 205            SlateBlue
+123 104 238            medium slate blue
+123 104 238            MediumSlateBlue
+132 112 255            light slate blue
+132 112 255            LightSlateBlue
+  0   0 205            medium blue
+  0   0 205            MediumBlue
+ 65 105 225            royal blue
+ 65 105 225            RoyalBlue
+  0   0 255            blue
+ 30 144 255            dodger blue
+ 30 144 255            DodgerBlue
+  0 191 255            deep sky blue
+  0 191 255            DeepSkyBlue
+135 206 235            sky blue
+135 206 235            SkyBlue
+135 206 250            light sky blue
+135 206 250            LightSkyBlue
+ 70 130 180            steel blue
+ 70 130 180            SteelBlue
+176 196 222            light steel blue
+176 196 222            LightSteelBlue
+173 216 230            light blue
+173 216 230            LightBlue
+176 224 230            powder blue
+176 224 230            PowderBlue
+175 238 238            pale turquoise
+175 238 238            PaleTurquoise
+  0 206 209            dark turquoise
+  0 206 209            DarkTurquoise
+ 72 209 204            medium turquoise
+ 72 209 204            MediumTurquoise
+ 64 224 208            turquoise
+  0 255 255            cyan
+224 255 255            light cyan
+224 255 255            LightCyan
+ 95 158 160            cadet blue
+ 95 158 160            CadetBlue
+102 205 170            medium aquamarine
+102 205 170            MediumAquamarine
+127 255 212            aquamarine
+  0 100   0            dark green
+  0 100   0            DarkGreen
+ 85 107  47            dark olive green
+ 85 107  47            DarkOliveGreen
+143 188 143            dark sea green
+143 188 143            DarkSeaGreen
+ 46 139  87            sea green
+ 46 139  87            SeaGreen
+ 60 179 113            medium sea green
+ 60 179 113            MediumSeaGreen
+ 32 178 170            light sea green
+ 32 178 170            LightSeaGreen
+152 251 152            pale green
+152 251 152            PaleGreen
+  0 255 127            spring green
+  0 255 127            SpringGreen
+124 252   0            lawn green
+124 252   0            LawnGreen
+  0 255   0            green
+127 255   0            chartreuse
+  0 250 154            medium spring green
+  0 250 154            MediumSpringGreen
+173 255  47            green yellow
+173 255  47            GreenYellow
+ 50 205  50            lime green
+ 50 205  50            LimeGreen
+154 205  50            yellow green
+154 205  50            YellowGreen
+ 34 139  34            forest green
+ 34 139  34            ForestGreen
+107 142  35            olive drab
+107 142  35            OliveDrab
+189 183 107            dark khaki
+189 183 107            DarkKhaki
+240 230 140            khaki
+238 232 170            pale goldenrod
+238 232 170            PaleGoldenrod
+250 250 210            light goldenrod yellow
+250 250 210            LightGoldenrodYellow
+255 255 224            light yellow
+255 255 224            LightYellow
+255 255   0            yellow
+255 215   0            gold
+238 221 130            light goldenrod
+238 221 130            LightGoldenrod
+218 165  32            goldenrod
+184 134  11            dark goldenrod
+184 134  11            DarkGoldenrod
+188 143 143            rosy brown
+188 143 143            RosyBrown
+205  92  92            indian red
+205  92  92            IndianRed
+139  69  19            saddle brown
+139  69  19            SaddleBrown
+160  82  45            sienna
+205 133  63            peru
+222 184 135            burlywood
+245 245 220            beige
+245 222 179            wheat
+244 164  96            sandy brown
+244 164  96            SandyBrown
+210 180 140            tan
+210 105  30            chocolate
+178  34  34            firebrick
+165  42  42            brown
+233 150 122            dark salmon
+233 150 122            DarkSalmon
+250 128 114            salmon
+255 160 122            light salmon
+255 160 122            LightSalmon
+255 165   0            orange
+255 140   0            dark orange
+255 140   0            DarkOrange
+255 127  80            coral
+240 128 128            light coral
+240 128 128            LightCoral
+255  99  71            tomato
+255  69   0            orange red
+255  69   0            OrangeRed
+255   0   0            red
+255 105 180            hot pink
+255 105 180            HotPink
+255  20 147            deep pink
+255  20 147            DeepPink
+255 192 203            pink
+255 182 193            light pink
+255 182 193            LightPink
+219 112 147            pale violet red
+219 112 147            PaleVioletRed
+176  48  96            maroon
+199  21 133            medium violet red
+199  21 133            MediumVioletRed
+208  32 144            violet red
+208  32 144            VioletRed
+255   0 255            magenta
+238 130 238            violet
+221 160 221            plum
+218 112 214            orchid
+186  85 211            medium orchid
+186  85 211            MediumOrchid
+153  50 204            dark orchid
+153  50 204            DarkOrchid
+148   0 211            dark violet
+148   0 211            DarkViolet
+138  43 226            blue violet
+138  43 226            BlueViolet
+160  32 240            purple
+147 112 219            medium purple
+147 112 219            MediumPurple
+216 191 216            thistle
+255 250 250            snow1
+238 233 233            snow2
+205 201 201            snow3
+139 137 137            snow4
+255 245 238            seashell1
+238 229 222            seashell2
+205 197 191            seashell3
+139 134 130            seashell4
+255 239 219            AntiqueWhite1
+238 223 204            AntiqueWhite2
+205 192 176            AntiqueWhite3
+139 131 120            AntiqueWhite4
+255 228 196            bisque1
+238 213 183            bisque2
+205 183 158            bisque3
+139 125 107            bisque4
+255 218 185            PeachPuff1
+238 203 173            PeachPuff2
+205 175 149            PeachPuff3
+139 119 101            PeachPuff4
+255 222 173            NavajoWhite1
+238 207 161            NavajoWhite2
+205 179 139            NavajoWhite3
+139 121         94             NavajoWhite4
+255 250 205            LemonChiffon1
+238 233 191            LemonChiffon2
+205 201 165            LemonChiffon3
+139 137 112            LemonChiffon4
+255 248 220            cornsilk1
+238 232 205            cornsilk2
+205 200 177            cornsilk3
+139 136 120            cornsilk4
+255 255 240            ivory1
+238 238 224            ivory2
+205 205 193            ivory3
+139 139 131            ivory4
+240 255 240            honeydew1
+224 238 224            honeydew2
+193 205 193            honeydew3
+131 139 131            honeydew4
+255 240 245            LavenderBlush1
+238 224 229            LavenderBlush2
+205 193 197            LavenderBlush3
+139 131 134            LavenderBlush4
+255 228 225            MistyRose1
+238 213 210            MistyRose2
+205 183 181            MistyRose3
+139 125 123            MistyRose4
+240 255 255            azure1
+224 238 238            azure2
+193 205 205            azure3
+131 139 139            azure4
+131 111 255            SlateBlue1
+122 103 238            SlateBlue2
+105  89 205            SlateBlue3
+ 71  60 139            SlateBlue4
+ 72 118 255            RoyalBlue1
+ 67 110 238            RoyalBlue2
+ 58  95 205            RoyalBlue3
+ 39  64 139            RoyalBlue4
+  0   0 255            blue1
+  0   0 238            blue2
+  0   0 205            blue3
+  0   0 139            blue4
+ 30 144 255            DodgerBlue1
+ 28 134 238            DodgerBlue2
+ 24 116 205            DodgerBlue3
+ 16  78 139            DodgerBlue4
+ 99 184 255            SteelBlue1
+ 92 172 238            SteelBlue2
+ 79 148 205            SteelBlue3
+ 54 100 139            SteelBlue4
+  0 191 255            DeepSkyBlue1
+  0 178 238            DeepSkyBlue2
+  0 154 205            DeepSkyBlue3
+  0 104 139            DeepSkyBlue4
+135 206 255            SkyBlue1
+126 192 238            SkyBlue2
+108 166 205            SkyBlue3
+ 74 112 139            SkyBlue4
+176 226 255            LightSkyBlue1
+164 211 238            LightSkyBlue2
+141 182 205            LightSkyBlue3
+ 96 123 139            LightSkyBlue4
+198 226 255            SlateGray1
+185 211 238            SlateGray2
+159 182 205            SlateGray3
+108 123 139            SlateGray4
+202 225 255            LightSteelBlue1
+188 210 238            LightSteelBlue2
+162 181 205            LightSteelBlue3
+110 123 139            LightSteelBlue4
+191 239 255            LightBlue1
+178 223 238            LightBlue2
+154 192 205            LightBlue3
+104 131 139            LightBlue4
+224 255 255            LightCyan1
+209 238 238            LightCyan2
+180 205 205            LightCyan3
+122 139 139            LightCyan4
+187 255 255            PaleTurquoise1
+174 238 238            PaleTurquoise2
+150 205 205            PaleTurquoise3
+102 139 139            PaleTurquoise4
+152 245 255            CadetBlue1
+142 229 238            CadetBlue2
+122 197 205            CadetBlue3
+ 83 134 139            CadetBlue4
+  0 245 255            turquoise1
+  0 229 238            turquoise2
+  0 197 205            turquoise3
+  0 134 139            turquoise4
+  0 255 255            cyan1
+  0 238 238            cyan2
+  0 205 205            cyan3
+  0 139 139            cyan4
+151 255 255            DarkSlateGray1
+141 238 238            DarkSlateGray2
+121 205 205            DarkSlateGray3
+ 82 139 139            DarkSlateGray4
+127 255 212            aquamarine1
+118 238 198            aquamarine2
+102 205 170            aquamarine3
+ 69 139 116            aquamarine4
+193 255 193            DarkSeaGreen1
+180 238 180            DarkSeaGreen2
+155 205 155            DarkSeaGreen3
+105 139 105            DarkSeaGreen4
+ 84 255 159            SeaGreen1
+ 78 238 148            SeaGreen2
+ 67 205 128            SeaGreen3
+ 46 139         87             SeaGreen4
+154 255 154            PaleGreen1
+144 238 144            PaleGreen2
+124 205 124            PaleGreen3
+ 84 139         84             PaleGreen4
+  0 255 127            SpringGreen1
+  0 238 118            SpringGreen2
+  0 205 102            SpringGreen3
+  0 139         69             SpringGreen4
+  0 255          0             green1
+  0 238          0             green2
+  0 205          0             green3
+  0 139          0             green4
+127 255          0             chartreuse1
+118 238          0             chartreuse2
+102 205          0             chartreuse3
+ 69 139          0             chartreuse4
+192 255         62             OliveDrab1
+179 238         58             OliveDrab2
+154 205         50             OliveDrab3
+105 139         34             OliveDrab4
+202 255 112            DarkOliveGreen1
+188 238 104            DarkOliveGreen2
+162 205         90             DarkOliveGreen3
+110 139         61             DarkOliveGreen4
+255 246 143            khaki1
+238 230 133            khaki2
+205 198 115            khaki3
+139 134         78             khaki4
+255 236 139            LightGoldenrod1
+238 220 130            LightGoldenrod2
+205 190 112            LightGoldenrod3
+139 129         76             LightGoldenrod4
+255 255 224            LightYellow1
+238 238 209            LightYellow2
+205 205 180            LightYellow3
+139 139 122            LightYellow4
+255 255          0             yellow1
+238 238          0             yellow2
+205 205          0             yellow3
+139 139          0             yellow4
+255 215          0             gold1
+238 201          0             gold2
+205 173          0             gold3
+139 117          0             gold4
+255 193         37             goldenrod1
+238 180         34             goldenrod2
+205 155         29             goldenrod3
+139 105         20             goldenrod4
+255 185         15             DarkGoldenrod1
+238 173         14             DarkGoldenrod2
+205 149         12             DarkGoldenrod3
+139 101          8             DarkGoldenrod4
+255 193 193            RosyBrown1
+238 180 180            RosyBrown2
+205 155 155            RosyBrown3
+139 105 105            RosyBrown4
+255 106 106            IndianRed1
+238  99         99             IndianRed2
+205  85         85             IndianRed3
+139  58         58             IndianRed4
+255 130         71             sienna1
+238 121         66             sienna2
+205 104         57             sienna3
+139  71         38             sienna4
+255 211 155            burlywood1
+238 197 145            burlywood2
+205 170 125            burlywood3
+139 115         85             burlywood4
+255 231 186            wheat1
+238 216 174            wheat2
+205 186 150            wheat3
+139 126 102            wheat4
+255 165         79             tan1
+238 154         73             tan2
+205 133         63             tan3
+139  90         43             tan4
+255 127         36             chocolate1
+238 118         33             chocolate2
+205 102         29             chocolate3
+139  69         19             chocolate4
+255  48         48             firebrick1
+238  44         44             firebrick2
+205  38         38             firebrick3
+139  26         26             firebrick4
+255  64         64             brown1
+238  59         59             brown2
+205  51         51             brown3
+139  35         35             brown4
+255 140 105            salmon1
+238 130         98             salmon2
+205 112         84             salmon3
+139  76         57             salmon4
+255 160 122            LightSalmon1
+238 149 114            LightSalmon2
+205 129         98             LightSalmon3
+139  87         66             LightSalmon4
+255 165          0             orange1
+238 154          0             orange2
+205 133          0             orange3
+139  90          0             orange4
+255 127          0             DarkOrange1
+238 118          0             DarkOrange2
+205 102          0             DarkOrange3
+139  69          0             DarkOrange4
+255 114         86             coral1
+238 106         80             coral2
+205  91         69             coral3
+139  62         47             coral4
+255  99         71             tomato1
+238  92         66             tomato2
+205  79         57             tomato3
+139  54         38             tomato4
+255  69          0             OrangeRed1
+238  64          0             OrangeRed2
+205  55          0             OrangeRed3
+139  37          0             OrangeRed4
+255   0          0             red1
+238   0          0             red2
+205   0          0             red3
+139   0          0             red4
+255  20 147            DeepPink1
+238  18 137            DeepPink2
+205  16 118            DeepPink3
+139  10         80             DeepPink4
+255 110 180            HotPink1
+238 106 167            HotPink2
+205  96 144            HotPink3
+139  58  98            HotPink4
+255 181 197            pink1
+238 169 184            pink2
+205 145 158            pink3
+139  99 108            pink4
+255 174 185            LightPink1
+238 162 173            LightPink2
+205 140 149            LightPink3
+139  95 101            LightPink4
+255 130 171            PaleVioletRed1
+238 121 159            PaleVioletRed2
+205 104 137            PaleVioletRed3
+139  71         93             PaleVioletRed4
+255  52 179            maroon1
+238  48 167            maroon2
+205  41 144            maroon3
+139  28         98             maroon4
+255  62 150            VioletRed1
+238  58 140            VioletRed2
+205  50 120            VioletRed3
+139  34         82             VioletRed4
+255   0 255            magenta1
+238   0 238            magenta2
+205   0 205            magenta3
+139   0 139            magenta4
+255 131 250            orchid1
+238 122 233            orchid2
+205 105 201            orchid3
+139  71 137            orchid4
+255 187 255            plum1
+238 174 238            plum2
+205 150 205            plum3
+139 102 139            plum4
+224 102 255            MediumOrchid1
+209  95 238            MediumOrchid2
+180  82 205            MediumOrchid3
+122  55 139            MediumOrchid4
+191  62 255            DarkOrchid1
+178  58 238            DarkOrchid2
+154  50 205            DarkOrchid3
+104  34 139            DarkOrchid4
+155  48 255            purple1
+145  44 238            purple2
+125  38 205            purple3
+ 85  26 139            purple4
+171 130 255            MediumPurple1
+159 121 238            MediumPurple2
+137 104 205            MediumPurple3
+ 93  71 139            MediumPurple4
+255 225 255            thistle1
+238 210 238            thistle2
+205 181 205            thistle3
+139 123 139            thistle4
+  0   0   0            gray0
+  0   0   0            grey0
+  3   3   3            gray1
+  3   3   3            grey1
+  5   5   5            gray2
+  5   5   5            grey2
+  8   8   8            gray3
+  8   8   8            grey3
+ 10  10  10            gray4
+ 10  10  10            grey4
+ 13  13  13            gray5
+ 13  13  13            grey5
+ 15  15  15            gray6
+ 15  15  15            grey6
+ 18  18  18            gray7
+ 18  18  18            grey7
+ 20  20  20            gray8
+ 20  20  20            grey8
+ 23  23  23            gray9
+ 23  23  23            grey9
+ 26  26  26            gray10
+ 26  26  26            grey10
+ 28  28  28            gray11
+ 28  28  28            grey11
+ 31  31  31            gray12
+ 31  31  31            grey12
+ 33  33  33            gray13
+ 33  33  33            grey13
+ 36  36  36            gray14
+ 36  36  36            grey14
+ 38  38  38            gray15
+ 38  38  38            grey15
+ 41  41  41            gray16
+ 41  41  41            grey16
+ 43  43  43            gray17
+ 43  43  43            grey17
+ 46  46  46            gray18
+ 46  46  46            grey18
+ 48  48  48            gray19
+ 48  48  48            grey19
+ 51  51  51            gray20
+ 51  51  51            grey20
+ 54  54  54            gray21
+ 54  54  54            grey21
+ 56  56  56            gray22
+ 56  56  56            grey22
+ 59  59  59            gray23
+ 59  59  59            grey23
+ 61  61  61            gray24
+ 61  61  61            grey24
+ 64  64  64            gray25
+ 64  64  64            grey25
+ 66  66  66            gray26
+ 66  66  66            grey26
+ 69  69  69            gray27
+ 69  69  69            grey27
+ 71  71  71            gray28
+ 71  71  71            grey28
+ 74  74  74            gray29
+ 74  74  74            grey29
+ 77  77  77            gray30
+ 77  77  77            grey30
+ 79  79  79            gray31
+ 79  79  79            grey31
+ 82  82  82            gray32
+ 82  82  82            grey32
+ 84  84  84            gray33
+ 84  84  84            grey33
+ 87  87  87            gray34
+ 87  87  87            grey34
+ 89  89  89            gray35
+ 89  89  89            grey35
+ 92  92  92            gray36
+ 92  92  92            grey36
+ 94  94  94            gray37
+ 94  94  94            grey37
+ 97  97  97            gray38
+ 97  97  97            grey38
+ 99  99  99            gray39
+ 99  99  99            grey39
+102 102 102            gray40
+102 102 102            grey40
+105 105 105            gray41
+105 105 105            grey41
+107 107 107            gray42
+107 107 107            grey42
+110 110 110            gray43
+110 110 110            grey43
+112 112 112            gray44
+112 112 112            grey44
+115 115 115            gray45
+115 115 115            grey45
+117 117 117            gray46
+117 117 117            grey46
+120 120 120            gray47
+120 120 120            grey47
+122 122 122            gray48
+122 122 122            grey48
+125 125 125            gray49
+125 125 125            grey49
+127 127 127            gray50
+127 127 127            grey50
+130 130 130            gray51
+130 130 130            grey51
+133 133 133            gray52
+133 133 133            grey52
+135 135 135            gray53
+135 135 135            grey53
+138 138 138            gray54
+138 138 138            grey54
+140 140 140            gray55
+140 140 140            grey55
+143 143 143            gray56
+143 143 143            grey56
+145 145 145            gray57
+145 145 145            grey57
+148 148 148            gray58
+148 148 148            grey58
+150 150 150            gray59
+150 150 150            grey59
+153 153 153            gray60
+153 153 153            grey60
+156 156 156            gray61
+156 156 156            grey61
+158 158 158            gray62
+158 158 158            grey62
+161 161 161            gray63
+161 161 161            grey63
+163 163 163            gray64
+163 163 163            grey64
+166 166 166            gray65
+166 166 166            grey65
+168 168 168            gray66
+168 168 168            grey66
+171 171 171            gray67
+171 171 171            grey67
+173 173 173            gray68
+173 173 173            grey68
+176 176 176            gray69
+176 176 176            grey69
+179 179 179            gray70
+179 179 179            grey70
+181 181 181            gray71
+181 181 181            grey71
+184 184 184            gray72
+184 184 184            grey72
+186 186 186            gray73
+186 186 186            grey73
+189 189 189            gray74
+189 189 189            grey74
+191 191 191            gray75
+191 191 191            grey75
+194 194 194            gray76
+194 194 194            grey76
+196 196 196            gray77
+196 196 196            grey77
+199 199 199            gray78
+199 199 199            grey78
+201 201 201            gray79
+201 201 201            grey79
+204 204 204            gray80
+204 204 204            grey80
+207 207 207            gray81
+207 207 207            grey81
+209 209 209            gray82
+209 209 209            grey82
+212 212 212            gray83
+212 212 212            grey83
+214 214 214            gray84
+214 214 214            grey84
+217 217 217            gray85
+217 217 217            grey85
+219 219 219            gray86
+219 219 219            grey86
+222 222 222            gray87
+222 222 222            grey87
+224 224 224            gray88
+224 224 224            grey88
+227 227 227            gray89
+227 227 227            grey89
+229 229 229            gray90
+229 229 229            grey90
+232 232 232            gray91
+232 232 232            grey91
+235 235 235            gray92
+235 235 235            grey92
+237 237 237            gray93
+237 237 237            grey93
+240 240 240            gray94
+240 240 240            grey94
+242 242 242            gray95
+242 242 242            grey95
+245 245 245            gray96
+245 245 245            grey96
+247 247 247            gray97
+247 247 247            grey97
+250 250 250            gray98
+250 250 250            grey98
+252 252 252            gray99
+252 252 252            grey99
+255 255 255            gray100
+255 255 255            grey100
+169 169 169            dark grey
+169 169 169            DarkGrey
+169 169 169            dark gray
+169 169 169            DarkGray
+0     0 139            dark blue
+0     0 139            DarkBlue
+0   139 139            dark cyan
+0   139 139            DarkCyan
+139   0 139            dark magenta
+139   0 139            DarkMagenta
+139   0   0            dark red
+139   0   0            DarkRed
+144 238 144            light green
+144 238 144            LightGreen
diff --git a/runtime/tutor/runtime/tutor.info b/runtime/tutor/runtime/tutor.info
new file mode 100755 (executable)
index 0000000..f8ceda3
Binary files /dev/null and b/runtime/tutor/runtime/tutor.info differ
diff --git a/runtime/tutor/runtime/vim16x16.gif b/runtime/tutor/runtime/vim16x16.gif
new file mode 100644 (file)
index 0000000..505a855
Binary files /dev/null and b/runtime/tutor/runtime/vim16x16.gif differ
diff --git a/runtime/tutor/runtime/vim32x32.gif b/runtime/tutor/runtime/vim32x32.gif
new file mode 100644 (file)
index 0000000..523821b
Binary files /dev/null and b/runtime/tutor/runtime/vim32x32.gif differ
diff --git a/runtime/tutor/tutor.no.utf-8 b/runtime/tutor/tutor.no.utf-8
new file mode 100644 (file)
index 0000000..a7826b7
--- /dev/null
@@ -0,0 +1,973 @@
+===============================================================================
+= V e l k o m m e n   t i l   i n n f ø r i n g e n   i   V i m  --  Ver. 1.7 =
+===============================================================================
+
+     Vim er en meget kraftig editor med mange kommandoer, alt for mange til å
+     kunne gå gjennom alle i en innføring som denne. Den er beregnet på å
+     sette deg inn i bruken av nok kommandoer så du vil være i stand til lett
+     å kunne bruke Vim som en editor til alle formål.
+
+     Tiden som kreves for å gå gjennom denne innføringen tar ca. 25-30
+     minutter, avhengig av hvor mye tid du bruker til eksperimentering.
+
+     MERK:
+     Kommandoene i leksjonene vil modifisere teksten. Lag en kopi av denne
+     filen som du kan øve deg på (hvis du kjørte «vimtutor»-kommandoen, er
+     dette allerede en kopi).
+
+     Det er viktig å huske at denne innføringen er beregnet på læring gjennom
+     bruk. Det betyr at du må utføre kommandoene for å lære dem skikkelig.
+     Hvis du bare leser teksten, vil du glemme kommandoene!
+
+     Først av alt, sjekk at «Caps Lock» IKKE er aktiv og trykk «j»-tasten for
+     å flytte markøren helt til leksjon 1.1 fyller skjermen.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                     Leksjon 1.1:  FLYTTING AV MARKØREN
+
+
+       ** For å flytte markøren, trykk tastene h, j, k, l som vist. **
+            ^
+            k          Tips: h-tasten er til venstre og flytter til venstre.
+       < h      l >          l-tasten er til høyre og flytter til høyre.
+            j                j-tasten ser ut som en pil som peker nedover.
+            v
+  1. Flytt markøren rundt på skjermen til du har fått det inn i fingrene.
+
+  2. Hold inne nedovertasten (j) til den repeterer.
+     Nå vet du hvordan du beveger deg til neste leksjon.
+
+  3. Gå til leksjon 1.2 ved hjelp av nedovertasten.
+
+Merk: Hvis du blir usikker på noe du har skrevet, trykk <ESC> for å gå til
+      normalmodus. Skriv deretter kommandoen du ønsket på nytt.
+
+Merk: Piltastene skal også virke. Men ved å bruke hjkl vil du være i stand til
+      å bevege markøren mye raskere når du er blitt vant til det. Helt sant!
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                         Leksjon 1.2: AVSLUTTE VIM
+
+
+  !! MERK: Før du utfører noen av punktene nedenfor, les hele leksjonen!!
+
+  1. Trykk <ESC>-tasten (for å forsikre deg om at du er i normalmodus).
+
+  2. Skriv:    :q! <ENTER>.
+     Dette avslutter editoren og FORKASTER alle forandringer som du har gjort.
+
+  3. Når du ser kommandolinjen i skallet, skriv kommandoen som startet denne
+     innføringen. Den er:   vimtutor <ENTER>
+
+  4. Hvis du er sikker på at du husker dette, utfør punktene 1 til 3 for å
+     avslutte og starte editoren på nytt.
+
+MERK:  :q! <ENTER>  forkaster alle forandringer som du gjorde. I løpet av noen
+       få leksjoner vil du lære hvordan du lagrer forandringene til en fil.
+
+  5. Flytt markøren ned til leksjon 1.3.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                Leksjon 1.3: REDIGERING AV TEKST -- SLETTING
+
+
+            ** Trykk  x  for å slette tegnet under markøren. **
+
+  1. Flytt markøren til den første linjen merket med  --->.
+
+  2. For å ordne feilene på linjen, flytt markøren til den er oppå tegnet som
+     skal slettes.
+
+  3. Trykk tasten  x  for å slette det uønskede tegnet.
+
+  4. Repeter punkt 2 til 4 til setningen er lik den som er under.
+
+---> Hessstennnn brrråsnudddde ii gaaata.
+---> Hesten bråsnudde i gata.
+
+  5. Nå som linjen er korrekt, gå til leksjon 1.4.
+
+MERK: Når du går gjennom innføringen, ikke bare prøv å huske kommandoene, men
+      bruk dem helt til de sitter.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+               Leksjon 1.4: REDIGERING AV TEKST -- INNSETTING
+
+
+                   ** Trykk  i  for å sette inn tekst. **
+
+  1. Flytt markøren til den første linjen som er merket med --->.
+
+  2. For å gjøre den første linjen lik den andre, flytt markøren til den står
+     på tegnet ETTER posisjonen der teksten skal settes inn.
+
+  3. Trykk  i  og skriv inn teksten som mangler.
+
+  4. Etterhvert som hver feil er fikset, trykk <ESC> for å returnere til
+     normalmodus. Repeter punkt 2 til 4 til setningen er korrekt.
+
+---> Det er tkst som mnglr .
+---> Det er ganske mye tekst som mangler her.
+
+  5. Når du føler deg komfortabel med å sette inn tekst, gå til oppsummeringen
+     nedenfor.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+               Leksjon 1.5: REDIGERING AV TEKST -- LEGGE TIL
+
+
+                   ** Trykk  A  for å legge til tekst. **
+
+  1. Flytt markøren til den første linjen nedenfor merket --->.
+     Det har ikke noe å si hvor markøren er plassert på den linjen.
+
+  2. Trykk  A  og skriv inn det som skal legges til.
+
+  3. Når teksten er lagt til, trykk <ESC> for å returnere til normalmodusen.
+
+  4. Flytt markøren til den andre linjen markert med ---> og repeter steg 2 og
+     3 for å reparere denne setningen.
+
+---> Det mangler noe tekst p
+     Det mangler noe tekst på denne linjen.
+---> Det mangler også litt tek
+     Det mangler også litt tekst på denne linjen.
+
+  5. Når du føler at du behersker å legge til tekst, gå til leksjon 1.6.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                        Leksjon 1.6: REDIGERE EN FIL
+
+
+              ** Bruk  :wq  for å lagre en fil og avslutte. **
+
+  !! MERK: Før du utfører noen av stegene nedenfor, les hele denne leksjonen!!
+
+  1. Avslutt denne innføringen som du gjorde i leksjon 1.2:  :q!
+
+  2. Skriv denne kommandoen på kommandolinja:  vim tutor <ENTER>
+     «vim» er kommandoen for å starte Vim-editoren, «tutor» er navnet på fila
+     som du vil redigere. Bruk en fil som kan forandres.
+
+  3. Sett inn og slett tekst som du lærte i de foregående leksjonene.
+
+  4. Lagre filen med forandringene og avslutt Vim med: :wq <ENTER>
+
+  5. Start innføringen på nytt og flytt ned til oppsummeringen som følger.
+
+  6. Etter å ha lest og forstått stegene ovenfor: Sett i gang.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                         OPPSUMMERING AV LEKSJON 1
+
+
+  1. Markøren beveges ved hjelp av piltastene eller hjkl-tastene.
+        h (venstre)     j (ned)     k (opp)     l (høyre)
+
+  2. For å starte Vim fra skall-kommandolinjen, skriv:        vim FILNAVN <ENTER>
+
+  3. For å avslutte Vim, skriv:  <ESC> :q! <ENTER>  for å forkaste endringer.
+                  ELLER skriv:  <ESC> :wq <ENTER>  for å lagre forandringene.
+
+  4. For å slette tegnet under markøren, trykk:  x
+
+  5. For å sette inn eller legge til tekst, trykk:
+        i    skriv innsatt tekst  <ESC>        sett inn før markøren
+        A    skriv tillagt tekst  <ESC>        legg til på slutten av linjen
+
+MERK: Når du trykker <ESC> går du til normalmodus eller du avbryter en uønsket
+      og delvis fullført kommando.
+
+  Nå kan du gå videre til leksjon 2.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                       Leksjon 2.1: SLETTEKOMMANDOER
+
+
+                   ** Trykk  dw  for å slette et ord. **
+
+  1. Trykk <ESC> for å være sikker på at du er i normalmodus.
+
+  2. Flytt markøren til den første linjen nedenfor merket --->.
+
+  3. Flytt markøren til begynnelsen av ordet som skal slettes.
+
+  4. Trykk  dw og ordet vil forsvinne.
+
+MERK: Bokstaven  d  vil komme til syne på den nederste linjen på skjermen når
+      du skriver den. Vim venter på at du skal skrive w . Hvis du ser et annet
+      tegn enn d  har du skrevet noe feil; trykk <ESC> og start på nytt.
+
+---> Det er agurk tre ord eple som ikke hører pære hjemme i denne setningen.
+---> Det er tre ord som ikke hører hjemme i denne setningen.
+
+  5. Repeter punkt 3 og 4 til den første setningen er lik den andre. Gå
+     deretter til leksjon 2.2.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    Leksjon 2.2: FLERE SLETTEKOMMANDOER
+
+
+            ** Trykk  d$  for å slette til slutten av linjen. **
+
+  1. Trykk <ESC> for å være sikker på at du er i normalmodus.
+
+  2. Flytt markøren til linjen nedenfor merket --->.
+
+  3. Flytt markøren til punktet der linjen skal kuttes (ETTER første punktum).
+
+  4. Trykk  d$ for å slette alt til slutten av linjen.
+
+---> Noen skrev slutten på linjen en gang for mye. linjen en gang for mye.
+
+  5. Gå til leksjon 2.3 for å forstå hva som skjer.
+
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                  Leksjon 2.3: OM OPERATORER OG BEVEGELSER
+
+
+  Mange kommandoer som forandrer teksten er laget ut i fra en operator og en
+  bevegelse. Formatet for en slettekommando med sletteoperatoren  d  er:
+
+       d   bevegelse
+
+  Der:
+    d        - er sletteoperatoren.
+    bevegelse - er hva operatoren vil opere på (listet nedenfor).
+
+  En kort liste med bevegelser:
+    w - til starten av det neste ordet, UNNTATT det første tegnet.
+    e - til slutten av det nåværende ordet, INKLUDERT det siste tegnet.
+    $ - til slutten av linjen, INKLUDERT det siste tegnet.
+
+  Ved å skrive        de  vil altså alt fra markøren til slutten av ordet bli
+  slettet.
+
+MERK:  Ved å skrive kun bevegelsen i normalmodusen uten en operator vil
+       markøren flyttes som spesifisert.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                LEKSJON 2.4: BRUK AV TELLER FOR EN BEVEGELSE
+
+
+ ** Ved å skrive et tall foran en bevegelse repeterer den så mange ganger. **
+
+  1. Flytt markøren til starten av linjen markert ---> nedenfor.
+
+  2. Skriv  2w for å flytte markøren to ord framover.
+
+  3. Skriv  3e for å flytte markøren framover til slutten av det tredje
+     ordet.
+
+  4. Skriv  0  (null) for å flytte til starten av linjen.
+
+  5. Repeter steg 2 og 3 med forskjellige tall.
+
+---> Dette er en linje med noen ord som du kan bevege deg rundt på.
+
+  6. Gå videre til leksjon 2.5.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                Leksjon 2.5: BRUK AV ANTALL FOR Å SLETTE MER
+
+
+     ** Et tall sammen med en operator repeterer den så mange ganger. **
+
+  I kombinasjonen med sletteoperatoren og en bevegelse nevnt ovenfor setter du
+  inn antall før bevegelsen for å slette mer:
+        d  nummer  bevegelse
+
+  1. Flytt markøren til det første ordet med STORE BOKSTAVER på linjen markert
+     med --->.
+
+  2. Skriv  2dw  for å slette de to ordene med store bokstaver.
+
+  3. Repeter steg 1 og 2 med forskjelling antall for å slette de etterfølgende
+     ordene som har store bokstaver.
+
+---> Denne ABC DE linjen FGHI JK LMN OP er nå Q RS TUV litt mer lesbar.
+
+MERK: Et antall mellom operatoren  d  og bevegelsen virker på samme måte som å
+      bruke bevegelsen uten en operator.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                       Leksjon 2.6: OPERERE PÅ LINJER
+
+
+                ** Trykk  dd  for å slette en hel linje. **
+
+  På grunn av at sletting av linjer er mye brukt, fant utviklerne av Vi ut at
+  det vil være lettere å rett og slett trykke to d-er for å slette en linje.
+
+  1. Flytt markøren til den andre linjen i verset nedenfor.
+  2. Trykk  dd  å slette linjen.
+  3. Flytt deretter til den fjerde linjen.
+  4. Trykk  2dd  for å slette to linjer.
+
+--->  1) Roser er røde,
+--->  2) Gjørme er gøy,
+--->  3) Fioler er blå,
+--->  4) Jeg har en bil,
+--->  5) Klokker viser tiden,
+--->  6) Druer er søte
+--->  7) Og du er likeså.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                       Leksjon 2.7: ANGRE-KOMMANDOEN
+
+
+  ** Trykk  u  for å angre siste kommando,  U  for å fikse en hel linje. **
+
+  1. Flytt markøren til linjen nedenfor merket ---> og plasser den på den
+     første feilen.
+  2. Trykk  x  for å slette det første uønskede tegnet.
+  3. Trykk så  u  for å angre den siste utførte kommandoen.
+  4. Deretter ordner du alle feilene på linjene ved å bruke kommandoen       x  .
+  5. Trykk nå en stor  U  for å sette linjen tilbake til det den var
+     originalt.
+  6. Trykk  u  noen ganger for å angre        U  og foregående kommandoer.
+  7. Deretter trykker du  CTRL-R  (hold CTRL nede mens du trykker R) noen
+     ganger for å gjenopprette kommandoene (omgjøre angrekommandoene).
+
+---> RReparer feiilene påå denne linnnjen oog erssstatt dem meed angre.
+
+  8. Dette er meget nyttige kommandoer. Nå kan du gå til oppsummeringen av
+     leksjon 2.
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                         OPPSUMMERING AV LEKSJON 2
+
+
+  1. For å slette fra markøren fram til det neste ordet, trykk:  dw
+  2. For å slette fra markøren til slutten av en linje, trykk:       d$
+  3. For å slette en hel linje, trykk:        dd
+
+  4. For å repetere en bevegelse, sett et nummer foran:  2w
+  5. Formatet for en forandringskommando er:
+              operator  [nummer]  bevegelse
+     der:
+       operator  - hva som skal gjøres, f.eks.        d  for å slette
+       [nummer]  - et valgfritt antall for å repetere bevegelsen
+       bevegelse - hva kommandoen skal operere på, eksempelvis        w  (ord),
+                  $  (til slutten av linjen) og så videre.
+
+  6. For å gå til starten av en linje, bruk en null:  0
+
+  7. For å angre tidligere endringer, skriv:          u  (liten u)
+     For å angre alle forandringer på en linje, skriv:       U  (stor U)
+     For å omgjøre angringen, trykk:                 CTRL-R
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                     Leksjon 3.1: «LIM INN»-KOMMANDOEN
+
+
+    ** Trykk  p  for å lime inn tidligere slettet tekst etter markøren **
+
+  1. Flytt markøren til den første linjen med ---> nedenfor.
+
+  2. Trykk  dd for å slette linjen og lagre den i et Vim-register.
+
+  3. Flytt markøren til c)-linjen, OVER posisjonen linjen skal settes inn.
+
+  4. Trykk  p  for å legge linjen under markøren.
+
+  5. Repeter punkt 2 til 4 helt til linjene er i riktig rekkefølge.
+
+---> d) Kan du også lære?
+---> b) Fioler er blå,
+---> c) Intelligens må læres,
+---> a) Roser er røde,
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                     Leksjon 3.2: «ERSTATT»-KOMMANDOEN
+
+
+        ** Trykk  rx  for å erstatte tegnet under markøren med x. **
+
+  1. Flytt markøren til den første linjen nedenfor merket --->.
+
+  2. Flytt markøren så den står oppå den første feilen.
+
+  3. Trykk  r  og deretter tegnet som skal være der.
+
+  4. Repeter punkt 2 og 3 til den første linjen er lik den andre.
+
+---> Da dfnne lynjxn ble zkrevet, var det nøen som tjykket feite taster!
+---> Da denne linjen ble skrevet, var det noen som trykket feile taster!
+
+  5. Gå videre til leksjon 3.2.
+
+MERK: Husk at du bør lære ved å BRUKE, ikke pugge.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                     Leksjon 3.3: «FORANDRE»-OPERATOREN
+
+
+          ** For å forandre til slutten av et ord, trykk  ce . **
+
+  1. Flytt markøren til den første linjen nedenfor som er merket --->.
+
+  2. Plasser markøren på  u  i «lubjwr».
+
+  3. Trykk  ce og det korrekte ordet (i dette tilfellet, skriv «injen»).
+
+  4. Trykk <ESC> og gå til det neste tegnet som skal forandres.
+
+  5. Repeter punkt 3 og 4 helt til den første setningen er lik den andre.
+
+---> Denne lubjwr har noen wgh som må forkwåp med «forækzryas»-kommandoen.
+---> Denne linjen har noen ord som må forandres med «forandre»-kommandoen.
+
+Vær oppmerksom på at  ce  sletter ordet og går inn i innsettingsmodus.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+               Leksjon 3.4: FLERE FORANDRINGER VED BRUK AV c
+
+
+ ** Forandringskommandoen blir brukt med de samme bevegelser som «slett». **
+
+  1. Forandringsoperatoren fungerer på samme måte som «slett». Formatet er:
+
+        c    [nummer]   bevegelse
+
+  2. Bevegelsene er de samme, som for eksempel w  (ord) og  $  (slutten av en
+     linje).
+
+  3. Gå til den første linjen nedenfor som er merket --->.
+
+  4. Flytt markøren til den første feilen.
+
+  5. Skriv  c$ og skriv resten av linjen lik den andre og trykk <ESC>.
+
+---> Slutten på denne linjen trenger litt hjelp for å gjøre den lik den neste.
+---> Slutten på denne linjen trenger å bli rettet ved bruk av c$-kommandoen.
+
+MERK: Du kan bruke slettetasten for å rette feil mens du skriver.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                         OPPSUMMERING AV LEKSJON 3
+
+
+  1. For å legge tilbake tekst som nettopp er blitt slettet, trykk  p  . Dette
+     limer inn den slettede teksten ETTER markøren (hvis en linje ble slettet
+     vil den bli limt inn på linjen under markøren).
+
+  2. For å erstatte et tegn under markøren, trykk  r  og deretter tegnet som
+     du vil ha der.
+
+  3. Forandringsoperatoren lar deg forandre fra markøren til dit bevegelsen
+     tar deg. Det vil si, skriv  ce  for å forandre fra markøren til slutten
+     av ordet, c$  for å forandre til slutten av linjen.
+
+  4. Formatet for «forandre» er:
+
+        c   [nummer]   bevegelse
+
+Nå kan du gå til neste leksjon.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+            Leksjon 4.1: POSISJONERING AV MARKØREN OG FILSTATUS
+
+       ** Trykk CTRL-G for å vise posisjonen i filen og filstatusen.
+          Trykk  G  for å gå til en spesifikk linje i filen. **
+
+  Merk: Les hele leksjonen før du utfører noen av punktene!
+
+  1. Hold nede Ctrl-tasten og trykk  g . Vi kaller dette CTRL-G. En melding
+     vil komme til syne på bunnen av skjermen med filnavnet og posisjonen i
+     filen. Husk linjenummeret for bruk i steg 3.
+
+Merk: Du kan se markørposisjonen i nederste høyre hjørne av skjermen. Dette
+      skjer når «ruler»-valget er satt (forklart i leksjon 6).
+
+  2. Trykk  G  for å gå til bunnen av filen.
+     Skriv  gg for å gå til begynnelsen av filen.
+
+  3. Skriv inn linjenummeret du var på og deretter  G . Dette vil føre deg
+     tilbake til linjen du var på da du først trykket CTRL-G.
+
+  4. Utfør steg 1 til 3 hvis du føler deg sikker på prosedyren.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                        Leksjon 4.2: SØKEKOMMANDOEN
+
+      ** Skriv /  etterfulgt av en søkestreng som du vil lete etter. **
+
+  1. Trykk  /  når du er i normalmodusen. Legg merke til at skråstreken og
+     markøren kommer til syne på bunnen av skjermen i likhet med
+     «:»-kommandoene.
+
+  2. Skriv «feeeiil» og trykk <ENTER>. Dette er teksten du vil lete etter.
+
+  3. For å finne neste forekomst av søkestrengen, trykk  n .
+     For å lete etter samme søketeksten i motsatt retning, trykk  N .
+
+  4. For å lete etter en tekst bakover i filen, bruk  ?  istedenfor  /        .
+
+  5. For å gå tilbake til der du kom fra, trykk  CTRL-O  (Hold Ctrl nede mens
+     du trykker bokstaven  o ). Repeter for å gå enda lengre tilbake. CTRL-I
+     går framover.
+
+---> «feeeiil» er ikke måten å skrive «feil» på, feeeiil er helt feil.
+Merk: Når søkingen når slutten av filen, vil den fortsette fra starten unntatt
+      hvis «wrapscan»-valget er resatt.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                  Leksjon 4.3: FINN SAMSVARENDE PARENTESER
+
+
+         ** Trykk  %  for å finne en samsvarende ), ] eller } . **
+
+  1. Plasser markøren på en (, [ eller { på linjen nedenfor merket --->.
+
+  2. Trykk  %  .
+
+  3. Markøren vil gå til den samsvarende parentesen eller hakeparentesen.
+
+  4. Trykk  %  for å flytte markøren til den andre samsvarende parentesen.
+
+  5. Flytt markøren til en annen (, ), [, ], { eller } og se hva  %  gjør.
+
+---> Dette ( er en testlinje med (, [ ] og { } i den )).
+
+Merk: Dette er veldig nyttig til feilsøking i programmer som har ubalansert
+      antall parenteser!
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                      Leksjon 4.4: ERSTATT-KOMMANDOEN
+
+
+       ** Skriv  :s/gammel/ny/g  for å erstatte «gammel» med «ny». **
+
+  1. Flytt markøren til linjen nedenfor som er merket med --->.
+
+  2. Skriv  :s/deen/den/ <ENTER>  . Legg merke til at denne kommandoen bare
+     forandrer den første forekomsten av «deen» på linjen.
+
+  3. Skriv  :s/deen/den/g . Når g-flagget legges til, betyr dette global
+     erstatning på linjen og erstatter alle forekomster av «deen» på linjen.
+
+---> deen som kan kaste deen tyngste steinen lengst er deen beste
+
+  4. For å erstatte alle forekomster av en tekststreng mellom to linjer,
+     skriv  :#,#s/gammel/ny/g  der #,# er linjenumrene på de to linjene for
+                              linjeområdet erstatningen skal gjøres.
+     Skriv  :%s/gammel/ny/g    for å erstatte tekst i hele filen.
+     Skriv  :%s/gammel/ny/gc   for å finne alle forekomster i hele filen, og
+                              deretter spørre om teksten skal erstattes eller
+                              ikke.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                         OPPSUMMERING AV LEKSJON 4
+
+
+  1. Ctrl-G viser nåværende posisjon i filen og filstatusen.
+            G  går til slutten av filen.
+     nummer  G går til det linjenummeret.
+           gg  går til den første linjen.
+
+  2. Skriv  /  etterfulgt av en søketekst for å lete FRAMOVER etter teksten.
+     Skriv  ?  etterfulgt av en søketekst for å lete BAKOVER etter teksten.
+     Etter et søk kan du trykke  n  for å finne neste forekomst i den samme
+     retningen eller  N  for å lete i motsatt retning.
+     CTRL-O tar deg tilbake til gamle posisjoner, CTRL-I til nyere posisjoner.
+
+  3. Skriv  %  når markøren står på en (, ), [, ], { eller } for å finne den
+     som samsvarer.
+
+  4. Erstatte «gammel» med første «ny» på en linje:  :s/gammel/ny
+     Erstatte alle «gammel» med «ny» på en linje:    :s/gammel/ny/g
+     Erstatte tekst mellom to linjenumre:           :#,#s/gammel/ny/g
+     Erstatte alle forekomster i en fil:            :%s/gammel/ny/g
+     For å godkjenne hver erstatning, legg til «c»:  :%s/gammel/ny/gc
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+              Leksjon 5.1: HVORDAN UTFØRE EN EKSTERN KOMMANDO
+
+
+    ** Skriv  :!  etterfulgt av en ekstern kommando for å utføre denne. **
+
+  1. Skriv den velkjente kommandoen  :  for å plassere markøren på bunnen av
+     skjermen. Dette lar deg skrive en kommandolinjekommando.
+
+  2. Nå kan du skrive tegnet  !  . Dette lar deg utføre en hvilken som helst
+     ekstern kommando.
+
+  3. Som et eksempel, skriv  ls  etter utropstegnet og trykk <ENTER>. Du vil
+     nå få en liste over filene i katalogen, akkurat som om du hadde kjørt
+     kommandoen direkte fra kommandolinjen i skallet. Eller bruk  :!dir  hvis
+     «ls» ikke virker.
+
+MERK: Det er mulig å kjøre alle eksterne kommandoer på denne måten, også med
+      parametere.
+
+MERK: Alle «:»-kommandoer må avsluttes med <ENTER>. Fra dette punktet er det
+      ikke alltid vi nevner det.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    Leksjon 5.2: MER OM LAGRING AV FILER
+
+
+      ** For å lagre endringene gjort i en tekst, skriv  :w FILNAVN. **
+
+  1. Skriv  :!dir  eller  :!ls for å få en liste over filene i katalogen. Du
+     vet allerede at du må trykke <ENTER> etter dette.
+
+  2. Velg et filnavn på en fil som ikke finnes, som for eksempel  TEST .
+
+  3. Skriv  :w TEST  (der TEST er filnavnet du velger).
+
+  4. Dette lagrer hele filen (denne innføringen) under navnet TEST . For å
+     sjekke dette, skriv  :!dir  eller :!ls  igjen for å se innholdet av
+     katalogen.
+
+Merk: Hvis du nå hadde avsluttet Vim og startet på nytt igjen med «vim TEST»,
+      ville filen vært en eksakt kopi av innføringen da du lagret den.
+
+  5. Fjern filen ved å skrive  :!rm TEST  hvis du er på et Unix-lignende
+     operativsystem, eller  :!del TEST hvis du bruker MS-DOS.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                  Leksjon 5.3: VELGE TEKST SOM SKAL LAGRES
+
+
+     ** For å lagre en del av en fil, skriv  v        bevegelse  :w FILNAVN **
+
+  1. Flytt markøren til denne linjen.
+
+  2. Trykk  v  og flytt markøren til det femte elementet nedenfor. Legg merke
+     til at teksten blir markert.
+
+  3. Trykk  :  (kolon). På bunnen av skjermen vil  :'<,'>  komme til syne.
+
+  4. Trykk  w TEST  , der TEST er et filnavn som ikke finnes enda. Kontroller
+     at du ser :'<,'>w TEST  før du trykker Enter.
+
+  5. Vim vil skrive de valgte linjene til filen TEST. Bruk  :!dir  eller  !ls
+     for å se den. Ikke slett den enda! Vi vil bruke den i neste leksjon.
+
+MERK: Ved å trykke  v  startes visuelt valg. Du kan flytte markøren rundt for
+      å gjøre det valgte området større eller mindre. Deretter kan du bruke en
+      operator for å gjøre noe med teksten. For eksempel sletter  d  teksten.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+               Leksjon 5.4: HENTING OG SAMMENSLÅING AV FILER
+
+
+ ** For å lese inn en annen fil inn i nåværende buffer, skriv  :r FILNAVN  **
+
+  1. Plasser markøren like over denne linjen.
+
+MERK: Etter å ha utført steg 2 vil du se teksten fra leksjon 5.3. Gå deretter
+      NED for å se denne leksjonen igjen.
+
+  2. Hent TEST-filen ved å bruke kommandoen  :r TEST  der TEST er navnet på
+     filen du brukte. Filen du henter blir plassert nedenfor markørlinjen.
+
+  3. For å sjekke at filen ble hentet, gå tilbake og se at det er to kopier av
+     leksjon 5.3, originalen og denne versjonen.
+
+MERK: Du kan også lese utdataene av en ekstern kommando. For eksempel,        :r !ls
+      leser utdataene av ls-kommandoen og legger dem nedenfor markøren.
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                         OPPSUMMERING AV LEKSJON 5
+
+
+  1.  :!kommando  utfører en ekstern kommandio.
+
+      Noen nyttige eksempler er:
+        (MS-DOS)         (Unix)
+         :!dir            :!ls           - List filene i katalogen.
+         :!del FILNAVN    :!rm FILNAVN   - Slett filen FILNAVN.
+
+  2.  :w FILNAVN  skriver den nåværende Vim-filen disken med navnet FILNAVN .
+
+  3.  v  bevegelse  :w FILNAVN lagrer de visuelt valgte linjene til filen
+     FILNAVN.
+
+  4.  :r FILNAVN  henter filen FILNAVN og legger den inn nedenfor markøren.
+
+  5.  :r !dir  leser utdataene fra «dir»-kommandoen og legger dem nedenfor
+     markørposisjonen.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    Leksjon 6.1: «ÅPNE LINJE»-KOMMANDOEN
+
+
+    ** Skriv  o  for å «åpne opp» for en ny linje etter markøren og gå til
+       innsettingsmodus **
+
+  1. Flytt markøren til linjen nedenfor merket --->.
+
+  2. Skriv  o  (liten o) for å åpne opp en linje NEDENFOR markøren og gå inn i
+     innsettingsmodus.
+
+  3. Skriv litt tekst og trykk <ESC> for å gå ut av innsettingsmodusen.
+
+---> Etter at  o  er skrevet blir markøren plassert på den tomme linjen.
+
+  4. For å åpne en ny linje OVER markøren, trykk rett og slett en stor      O
+     istedenfor en liten  o . Prøv dette på linjen nedenfor.
+
+---> Lag ny linje over denne ved å trykke O mens markøren er på denne linjen.
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                     Leksjon 6.2: «LEGG TIL»-KOMMANDOEN
+
+
+           ** Skriv  a  for å legge til tekst ETTER markøren. **
+
+  1. Flytt markøren til starten av linjen merket ---> nedenfor.
+
+  2. Trykk  e  til markøren er på slutten av «li».
+
+  3. Trykk  a  (liten a) for å legge til tekst ETTER markøren.
+
+  4. Fullfør ordet sånn som på linjen nedenfor. Trykk <ESC> for å gå ut av
+     innsettingsmodusen.
+
+  5. Bruk  e  for å gå til det neste ufullstendige ordet og repeter steg 3 og
+     4.
+
+---> Denne li lar deg øve på å leg til tek på en linje.
+---> Denne linjen lar deg øve på å legge til tekst på en linje.
+
+Merk: a, i og A går alle til den samme innsettingsmodusen, den eneste
+      forskjellen er hvor tegnene blir satt inn.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                  Leksjon 6.3: EN ANNEN MÅTE Å ERSTATTE PÅ
+
+
+          ** Skriv en stor  R  for å erstatte mer enn ett tegn. **
+
+  1. Flytt markøren til den første linjen nedenfor merket --->. Flytt markøren
+     til begynnelsen av den første «xxx»-en.
+
+  2. Trykk  R  og skriv inn tallet som står nedenfor på den andre linjen så
+     det erstatter xxx.
+
+  3. Trykk <ESC> for å gå ut av erstatningsmodusen. Legg merke til at resten
+     av linjen forblir uforandret.
+
+  4. Repeter stegene for å erstatte den gjenværende xxx.
+
+---> Ved å legge 123 til xxx får vi xxx.
+---> Ved å legge 123 til 456 får vi 579.
+
+MERK: Erstatningsmodus er lik insettingsmodus, men hvert tegn som skrives
+      erstatter et eksisterende tegn.
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                   Leksjon 6.4: KOPIERE OG LIME INN TEKST
+
+
+    ** Bruk y-operatoren for å kopiere tekst og  p  for å lime den inn **
+
+  1. Gå til linjen merket ---> nedenfor og plasser markøren etter «a)».
+
+  2. Gå inn i visuell modus med  v  og flytt markøren til like før «første».
+
+  3. Trykk  y  for å kopiere (engelsk: «yank») den uthevede teksten.
+
+  4. Flytt markøren til slutten av den neste linjen:  j$
+
+  5. Trykk  p  for å lime inn teksten. Trykk deretter:        a andre <ESC> .
+
+  6. Bruk visuell modus for å velge « valget.», kopier det med      y , gå til
+     slutten av den neste linjen med  j$  og legg inn teksten der med  p .
+
+---> a) Dette er det første valget.
+     b)
+
+Merk: Du kan også bruke  y  som en operator;  yw  kopierer ett ord.
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                           Leksjon 6.5: SETT VALG
+
+
+  ** Sett et valg så søk eller erstatning ignorerer store/små bokstaver. **
+
+  1. Let etter «ignore» ved å skrive:  /ignore <ENTER>
+     Repeter flere ganger ved å trykke        n .
+
+  2. Sett «ic»-valget (Ignore Case) ved å skrive:  :set ic
+
+  3. Søk etter «ignore» igjen ved å trykke  n .
+     Legg merke til at både «Ignore» og «IGNORE» blir funnet.
+
+  4. Sett «hlsearch»- og «incsearch»-valgene:  :set hls is
+
+  5. Skriv søkekommandoen igjen og se hva som skjer:  /ignore <ENTER>
+
+  6. For å slå av ignorering av store/små bokstaver, skriv:  :set noic
+
+Merk: For å fjerne uthevingen av treff, skriv:        :nohlsearch
+Merk: Hvis du vil ignorere store/små bokstaver for kun en søkekommando, bruk
+      \c  i uttrykket: /ignore\c <ENTER>
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                         OPPSUMMERING AV LEKSJON 6
+
+  1. Trykk  o  for å legge til en linje NEDENFOR markøren og gå inn i
+     innsettingsmodus.
+     Trykk  O  for å åpne en linje OVER markøren.
+
+  2. Skriv  a  for å sette inn tekst ETTER markøren.
+     Skriv  A  for å sette inn tekst etter slutten av linjen.
+
+  3. Kommandoen  e  går til slutten av et ord.
+
+  4. Operatoren  y  («yank») kopierer tekst,  p  («paste») limer den inn.
+
+  5. Ved å trykke  R  går du inn i erstatningsmodus helt til  <ESC>  trykkes.
+
+  6. Skriv «:set xxx» for å sette valget «xxx». Noen valg er:
+       «ic» «ignorecase»   ignorer store/små bokstaver under søk
+       «is» «incsearch»    vis delvise treff for en søketekst
+       «hls» «hlsearch»    uthev alle søketreff
+
+  7. Legg til «no» foran valget for å slå det av:  :set noic
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                           Leksjon 7.1: FÅ HJELP
+
+
+                  ** Bruk det innebygde hjelpesystemet. **
+
+  Vim har et omfattende innebygget hjelpesystem. For å starte det, prøv en av
+  disse måtene:
+    - Trykk Hjelp-tasten (hvis du har en)
+    - Trykk F1-tasten (hvis du har en)
+    - Skriv  :help <ENTER>
+
+  Les teksten i hjelpevinduet for å finne ut hvordan hjelpen virker.
+  Skriv  CTRL-W CTRL-W for å hoppe fra et vindu til et annet
+  Skriv  :q <ENTER>    for å lukke hjelpevinduet.
+
+  Du kan få hjelp for omtrent alle temaer om Vim ved å skrive et parameter til
+  «:help»-kommandoen. Prøv disse (ikke glem å trykke <ENTER>):
+
+    :help w
+    :help c_CTRL-D
+    :help insert-index
+    :help user-manual
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                    Leksjon 7.2: LAG ET OPPSTARTSSKRIPT
+
+
+                       ** Slå på funksjoner i Vim **
+
+  Vim har mange flere funksjoner enn Vi, men flesteparten av dem er slått av
+  som standard. For å begynne å bruke flere funksjoner må du lage en
+  «vimrc»-fil.
+
+  1. Start redigeringen av «vimrc»-filen. Dette avhenger av systemet ditt:
+       :e ~/.vimrc       for Unix
+       :e $VIM/_vimrc    for MS Windows
+
+  2. Les inn eksempelfilen for «vimrc»:
+       :r $VIMRUNTIME/vimrc_example.vim
+
+  3. Lagre filen med:
+       :w
+
+  Neste gang du starter Vim vil den bruke syntaks-utheving. Du kan legge til
+  alle dine foretrukne oppsett i denne «vimrc»-filen.
+  For mer informasjon, skriv  :help vimrc-intro
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                          Leksjon 7.3: FULLFØRING
+
+
+             ** Kommandolinjefullføring med CTRL-D og <TAB> **
+
+  1. Vær sikker på at Vim ikke er i Vi-kompatibel modus:  :set nocp
+
+  2. Se hvilke filer som er i katalogen:  :!ls eller  :!dir
+
+  3. Skriv starten på en kommando:  :e
+
+  4. Trykk  CTRL-D  og Vim vil vise en liste over kommandoer som starter med
+     «e».
+
+  5. Trykk  <TAB>  og Vim vil fullføre kommandonavnet til «:edit».
+
+  6. Legg til et mellomrom og starten på et eksisterende filnavn:  :edit FIL
+
+  7. Trykk <TAB>. Vim vil fullføre navnet (hvis det er unikt).
+
+MERK: Fullføring fungerer for mange kommandoer. Prøv ved å trykke CTRL-D og
+      <TAB>. Det er spesielt nyttig for bruk sammen med  :help .
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+                         OPPSUMMERING AV LEKSJON 7
+
+
+  1. Skriv  :help  eller trykk <F1> eller <Help> for å åpne et hjelpevindu.
+
+  2. Skriv  :help kommando  for å få hjelp om  kommando .
+
+  3. Trykk  CTRL-W CTRL-W  for å hoppe til et annet vindu.
+
+  4. Trykk  :q for å lukke hjelpevinduet.
+
+  5. Opprett et vimrc-oppstartsskript for å lagre favorittvalgene dine.
+
+  6. Når du skriver en «:»-kommando, trykk CTRL-D for å se mulige
+     fullføringer. Trykk <TAB> for å bruke en fullføring.
+
+
+
+
+
+
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+  Her slutter innføringen i Vim. Den var ment som en rask oversikt over
+  editoren, akkurat nok til å la deg sette i gang med enkel bruk. Den er på
+  langt nær komplett, da Vim har mange flere kommandoer. Les bruksanvisningen
+  ved å skrive        :help user-manual  .
+
+  For videre lesing og studier, kan denne boken anbefales:
+      «Vim - Vi Improved» av Steve Oualline
+      Utgiver: New Riders
+  Den første boken som er fullt og helt dedisert til Vim. Spesielt nyttig for
+  nybegynnere. Inneholder mange eksempler og illustrasjoner.
+  Se http://iccf-holland.org/click5.html
+
+  Denne boken er eldre og handler mer om Vi enn Vim, men anbefales også:
+      «Learning the Vi Editor» av Linda Lamb
+      Utgiver: O'Reilly & Associates Inc.
+  Det er en god bok for å få vite omtrent hva som helst om Vi.
+  Den sjette utgaven inneholder også informasjon om Vim.
+
+  Denne innføringen er skrevet av Michael C. Pierce og Robert K. Ware,
+  Colorado School of Mines med idéer av Charles Smith, Colorado State
+  University. E-mail: bware@mines.colorado.edu .
+
+  Modifisert for Vim av Bram Moolenaar.
+  Oversatt av Øyvind A. Holm. E-mail: vimtutor _AT_ sunbase.org
+  Id: tutor.no 406 2007-03-18 22:48:36Z sunny
+
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+vim: set ts=8 :
index 3dda1ea0eac43125438d99a163d0f718148f47bc..81e5a1919a99e004707bd3c497399e148060e144 100644 (file)
@@ -1,6 +1,6 @@
 " Vim tutor support file
 " Author: Eduardo F. Amatria <eferna1@platea.pntic.mec.es>
-" Last Change: 2007 Mar 01
+" Last Change: 2008 Jun 21
 
 " This small source file is used for detecting if a translation of the
 " tutor file exist, i.e., a tutor.xx file, where xx is the language.
@@ -45,23 +45,28 @@ else
   endif
 endif
 
+" Somehow ".ge" (Germany) is sometimes used for ".de" (Deutsch).
+if s:ext =~? '\.ge'
+  let s:ext = ".de"
+endif
+
+if s:ext =~? '\.en'
+  let s:ext = ""
+endif
+
 " The japanese tutor is available in two encodings, guess which one to use
 " The "sjis" one is actually "cp932", it doesn't matter for this text.
 if s:ext =~? '\.ja'
   if &enc =~ "euc"
     let s:ext = ".ja.euc"
-  elseif &enc =~ "utf-8$"
-    let s:ext = ".ja.utf-8"
-  else
+  elseif &enc != "utf-8"
     let s:ext = ".ja.sjis"
   endif
 endif
 
 " The korean tutor is available in two encodings, guess which one to use
 if s:ext =~? '\.ko'
-  if &enc =~ "utf-8$"
-    let s:ext = ".ko.utf-8"
-  else
+  if &enc != "utf-8"
     let s:ext = ".ko.euc"
   endif
 endif
@@ -72,7 +77,7 @@ endif
 if s:ext =~? '\.zh'
   if &enc =~ 'big5\|cp950'
     let s:ext = ".zh.big5"
-  else
+  elseif &enc != 'utf-8'
     let s:ext = ".zh.euc"
   endif
 endif
@@ -81,16 +86,12 @@ endif
 if s:ext =~? '\.pl'
   if &enc =~ 1250
     let s:ext = ".pl.cp1250"
-  elseif &enc =~ "utf-8$"
-    let s:ext = ".pl.utf-8"
   endif
 endif
 
 " The Turkish tutor is available in two encodings, guess which one to use
 if s:ext =~? '\.tr'
-  if &enc == "utf-8"
-    let s:ext = ".tr.utf-8"
-  elseif &enc == "iso-8859-9"
+  if &enc == "iso-8859-9"
     let s:ext = ".tr.iso9"
   endif
 endif
@@ -99,59 +100,67 @@ endif
 " We used ".gr" (Greece) instead of ".el" (Greek); accept both.
 if s:ext =~? '\.gr\|\.el'
   if &enc == "iso-8859-7"
-    let s:ext = ".gr"
+    let s:ext = ".el"
   elseif &enc == "utf-8"
-    let s:ext = ".gr.utf-8"
+    let s:ext = ".el.utf-8"
   elseif &enc =~ 737
-    let s:ext = ".gr.cp737"
+    let s:ext = ".el.cp737"
   endif
 endif
 
 " The Slovak tutor is available in three encodings, guess which one to use
 if s:ext =~? '\.sk'
-  if &enc == 'utf-8'
-    let s:ext = ".sk.utf-8"
-  elseif &enc =~ 1250
+  if &enc =~ 1250
     let s:ext = ".sk.cp1250"
   endif
 endif
 
 " The Czech tutor is available in three encodings, guess which one to use
 if s:ext =~? '\.cs'
-  if &enc == 'utf-8'
-    let s:ext = ".cs.utf-8"
-  elseif &enc =~ 1250
+  if &enc =~ 1250
     let s:ext = ".cs.cp1250"
   endif
 endif
 
 " The Russian tutor is available in three encodings, guess which one to use.
 if s:ext =~? '\.ru'
-  if &enc == 'utf-8'
-    let s:ext = '.ru.utf-8'
-  elseif &enc =~ '1251'
+  if &enc =~ '1251'
     let s:ext = '.ru.cp1251'
   elseif &enc =~ 'koi8'
     let s:ext = '.ru'
   endif
 endif
 
-" The Hungarian tutor is available in two encodings, guess which one to use.
+" The Hungarian tutor is available in three encodings, guess which one to use.
 if s:ext =~? '\.hu'
-  if &enc == 'utf-8'
-    let s:ext = '.hu.utf-8'
+  if &enc =~ 1250
+    let s:ext = ".hu.cp1250"
   elseif &enc =~ 'iso-8859-2'
     let s:ext = '.hu'
   endif
 endif
 
-" Somehow ".ge" (Germany) is sometimes used for ".de" (Deutsch).
-if s:ext =~? '\.ge'
-  let s:ext = ".de"
+" The Croatian tutor is available in three encodings, guess which one to use.
+if s:ext =~? '\.hr'
+  if &enc =~ 1250
+    let s:ext = ".hr.cp1250"
+  elseif &enc =~ 'iso-8859-2'
+    let s:ext = '.hr'
+  endif
 endif
 
-if s:ext =~? '\.en'
-  let s:ext = ""
+" Esperanto is only available in utf-8
+if s:ext =~? '\.eo'
+  let s:ext = ".eo.utf-8"
+endif
+" Vietnamese is only available in utf-8
+if s:ext =~? '\.vi'
+  let s:ext = ".vi.utf-8"
+endif
+
+" If 'encoding' is utf-8 s:ext must end in utf-8.
+if &enc == 'utf-8' && s:ext !~ '\.utf-8'
+  s:ext .= '.utf-8'
 endif
 
 " 2. Build the name of the file:
diff --git a/src/INSTALLx.txt b/src/INSTALLx.txt
new file mode 100644 (file)
index 0000000..0ba6a77
--- /dev/null
@@ -0,0 +1,163 @@
+Content:
+ 1. Introduction
+ 2. Necessary arguments for "configure"
+ 3. Necessary environment variables for "configure"
+ 4. Example
+
+
+1. INTRODUCTION
+===============
+
+This document discusses cross-compiling VIM on Unix-like systems. We assume
+you are already familiar with cross-compiling and have a working cross-compile
+environment with at least the following components:
+
+ * a cross-compiler
+ * a libc to link against
+ * ncurses library to link against
+
+Discussing how to set up a cross-compile environment would go beyond the scope
+of this document. See http://www.kegel.com/crosstool/ for more information and
+a script that aids in setting up such an environment.
+
+
+The problem is that "configure" needs to compile and run small test programs
+to check for certain features. Running these test programs can't be done when
+cross-compiling so we need to pass the results these checks would produce via
+environment variables. See the list of variables and the examples at the end of
+this document.
+
+
+2. NECESSARY ARGUMENTS FOR "configure"
+======================================
+
+You need to set the following "configure" command line switches:
+
+--build=... :
+       The build system (i.e. the platform name of the system you compile on
+       right now).
+       For example, "i586-linux".
+
+--host=... :
+       The system on which VIM will be run. Quite often this the name of your
+       cross-compiler without the "-gcc".
+       For example, "powerpc-603-linux-gnu".
+
+--target=... :
+       Only relevant for compiling compilers. Set this to the same value as
+       --host.
+
+--with-tlib=... :
+       Which terminal library to.
+       For example, "ncurses".
+
+
+3. NECESSARY ENVIRONMENT VARIABLES FOR "configure"
+==================================================
+
+Additionally to the variables listed here you might want to set the CPPFLAGS
+environment variable to enable optimization for your target system (e.g.
+"CPPFLAGS=-march=arm5te").
+
+The following variables need to be set:
+
+ac_cv_sizeof_int:
+       The size of an "int" C type in bytes. Should be "4" on all 32bit
+       machines.
+
+vi_cv_path_python_conf:
+       If Python support is enabled, set this variables to the path for
+       Python's library implementation. This is a path like
+       "/usr/lib/pythonX.Y/config" (the directory contains a file
+       "config.c").
+
+vi_cv_var_python_epfx:
+       If Python support is enabled, set this variables to the execution
+       prefix of your Python interpreter (that is, where it thinks it is
+       running).
+       This is the output of the following Python script:
+               import sys; print sys.exec_prefix
+
+vi_cv_var_python_pfx:
+       If Python support is enabled, set this variables to the prefix of your
+       Python interpreter (that is, where was installed).
+       This is the output of the following Python script:
+               import sys; print sys.prefix
+
+vi_cv_var_python_version:
+       If Python support is enabled, set this variables to the version of the
+       Python interpreter that will be used.
+       This is the output of the following Python script:
+               import sys; print sys.version[:3]
+
+vim_cv_bcopy_handles_overlap:
+       Whether the "memmove" C library call is able to copy overlapping
+       memory regions. Set to "yes" if it does or "no" if it does not.
+       You only need to set this if vim_cv_memmove_handles_overlap is set
+       to "no".
+
+vim_cv_getcwd_broken:
+       Whether the "getcwd" C library call is broken. Set to "yes" if you
+       know that "getcwd" is implemented as 'system("sh -c pwd")', set to
+       "no" otherwise.
+
+vim_cv_memcpy_handles_overlap:
+       Whether the "memcpy" C library call is able to copy overlapping
+       memory regions. Set to "yes" if it does or "no" if it does not.
+       You only need to set this if both vim_cv_memmove_handles_overlap
+       and vim_cv_bcopy_handles_overlap are set to "no".
+
+vim_cv_memmove_handles_overlap:
+       Whether the "memmove" C library call is able to copy overlapping
+       memory regions. Set to "yes" if it does or "no" if it does not.
+
+vim_cv_stat_ignores_slash:
+       Whether the "stat" C library call ignores trailing slashes in the path
+       name. Set to "yes" if it ignores them or "no" if it does not ignore
+       them.
+
+vim_cv_tgetent:
+       Whether the "tgetent" terminal library call returns a zero or non-zero
+       value when it encounters an unknown terminal. Set to either the string
+       "zero" or "non-zero", corresponding.
+
+vim_cv_terminfo:
+       Whether the environment has terminfo support. Set to "yes" if so,
+       otherwise set to "no".
+
+vim_cv_toupper_broken:
+       Whether the "toupper" C library function works correctly. Set to "yes"
+       if you know it's broken, otherwise set to "no".
+
+vim_cv_tty_group:
+       The default group of pseudo terminals. Either set to the numeric value
+       of the your tty group or to "world" if they are world accessable.
+
+vim_cv_tty_mode:
+       The default mode of pseudo terminals if they are not world accessable.
+       Most propably the value "0620".
+
+
+4. EXAMPLE:
+===========
+
+Assuming the target system string is "armeb-xscale-linux-gnu" (a Intel XScale
+system) with glibc and ncurses, the call to configure would look like this:
+
+ac_cv_sizeof_int=4 \
+vim_cv_getcwd_broken=no \
+vim_cv_memmove_handles_overlap=yes \
+vim_cv_stat_ignores_slash=yes \
+vim_cv_tgetent=zero \
+vim_cv_terminfo=yes \
+vim_cv_toupper_broken=no \
+vim_cv_tty_group=world \
+./configure \
+       --build=i586-linux \
+       --host=armeb-xscale-linux-gnu \
+       --target=armeb-xscale-linux-gnu \
+       --with-tlib=ncurses
+
+
+
+Written 2007 by Marc Haisenko <marc@darkdust.net> for the VIM project.
index e90f23e28661969ecfd64c3d4826a68c52e92c6b..a0cc890cd6fbec2eb9bea13aa17fb95f35453f48 100644 (file)
@@ -4,7 +4,7 @@
 # Created by: Paul Slootman
 #
 
-### This Makefile has been succesfully tested on these systems.
+### This Makefile has been successfully tested on these systems.
 ### Check the (*) column for remarks, listed below.
 ### Later code changes may cause small problems, otherwise Vim is supposed to
 ### compile and run without problems.
index 386fc810e15ec8448c9c9c65dea6fa9d5076b4c1..a0f3e92813a42278d50163022bfc8d986a3555b4 100755 (executable)
@@ -1,25 +1,82 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59.
+# Generated by GNU Autoconf 2.62.
 #
-# Copyright (C) 2003 Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 # This configure script is free software; the Free Software Foundation
 # gives unlimited permission to copy, distribute and modify it.
 ## --------------------- ##
 ## M4sh Initialization.  ##
 ## --------------------- ##
 
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-  set -o posix
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in
+      *"$as_nl"*)
+       expr "X$arg" : "X\\(.*\\)$as_nl";
+       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
 fi
-DUALCASE=1; export DUALCASE # for MKS sh
 
 # Support unset when possible.
 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
@@ -29,33 +86,60 @@ else
 fi
 
 
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""       $as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
 # Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
 PS1='$ '
 PS2='> '
 PS4='+ '
 
 # NLS nuisances.
-for as_var in \
-  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-  LC_TELEPHONE LC_TIME
-do
-  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-    eval $as_var=C; export $as_var
-  else
-    $as_unset $as_var
-  fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
 
 # Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
   as_basename=basename
 else
   as_basename=false
@@ -63,157 +147,391 @@ fi
 
 
 # Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
         X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)$' \| \
-        .     : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-         /^X\/\(\/\/\)$/{ s//\1/; q; }
-         /^X\/\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
 
+# CDPATH.
+$as_unset CDPATH
 
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
 
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
+if test "x$CONFIG_SHELL" = x; then
+  if (eval ":") 2>/dev/null; then
+  as_have_required=yes
+else
+  as_have_required=no
 fi
 
+  if test $as_have_required = yes &&    (eval ":
+(as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
 
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
-  # Find who we are.  Look in the path if we contain no path at all
-  # relative or not.
-  case $0 in
-    *[\\/]* ) as_myself=$0 ;;
-    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
 
-       ;;
-  esac
-  # We did not find ourselves, most probably we were run as `sh COMMAND'
-  # in which case we are not to be found in the path.
-  if test "x$as_myself" = x; then
-    as_myself=$0
-  fi
-  if test ! -f "$as_myself"; then
-    { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
-   { (exit 1); exit 1; }; }
-  fi
-  case $CONFIG_SHELL in
-  '')
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+  as_lineno_1=\$LINENO
+  as_lineno_2=\$LINENO
+  test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+  test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+  :
+else
+  as_candidate_shells=
     as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
 for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  for as_base in sh bash ksh sh5; do
-        case $as_dir in
+  case $as_dir in
         /*)
-          if ("$as_dir/$as_base" -c '
+          for as_base in sh bash ksh sh5; do
+            as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+          done;;
+       esac
+done
+IFS=$as_save_IFS
+
+
+      for as_shell in $as_candidate_shells $SHELL; do
+        # Try only shells that exist, to save several forks.
+        if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+               { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+  CONFIG_SHELL=$as_shell
+              as_have_required=yes
+              if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+  (exit $1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
   as_lineno_1=$LINENO
   as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
   test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
-            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-            CONFIG_SHELL=$as_dir/$as_base
-            export CONFIG_SHELL
-            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-          fi;;
-        esac
-       done
-done
-;;
-  esac
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+  break
+fi
+
+fi
+
+      done
+
+      if test "x$CONFIG_SHELL" != x; then
+  for as_var in BASH_ENV ENV
+       do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+       done
+       export CONFIG_SHELL
+       exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+    if test $as_have_required = no; then
+  echo This script requires a shell more modern than all the
+      echo shells that I found on your system.  Please install a
+      echo modern shell, or manually run the script under such a
+      echo shell if you do have one.
+      { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+  (exit \$1)
+}
+as_func_success () {
+  as_func_return 0
+}
+as_func_failure () {
+  as_func_return 1
+}
+as_func_ret_success () {
+  return 0
+}
+as_func_ret_failure () {
+  return 1
+}
+
+exitcode=0
+if as_func_success; then
+  :
+else
+  exitcode=1
+  echo as_func_success failed.
+fi
+
+if as_func_failure; then
+  exitcode=1
+  echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+  :
+else
+  exitcode=1
+  echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+  exitcode=1
+  echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+  :
+else
+  exitcode=1
+  echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+  echo No shell found that supports shell functions.
+  echo Please tell bug-autoconf@gnu.org about your system,
+  echo including any error possibly output before this message.
+  echo This can help us improve future autoconf versions.
+  echo Configuration will now proceed without shell functions.
+}
+
+
+
+  as_lineno_1=$LINENO
+  as_lineno_2=$LINENO
+  test "x$as_lineno_1" != "x$as_lineno_2" &&
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
 
   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
   # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line before each line; the second 'sed' does the real
-  # work.  The second script uses 'N' to pair each line-number line
-  # with the numbered line, and appends trailing '-' during
-  # substitution so that $LINENO is not a special case at line end.
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-  sed '=' <$as_myself |
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
     sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
       N
-      s,$,-,
-      : loop
-      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
       t loop
-      s,-$,,
-      s,^['$as_cr_digits']*\n,,
+      s/-\n.*//
     ' >$as_me.lineno &&
-  chmod +x $as_me.lineno ||
-    { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
    { (exit 1); exit 1; }; }
 
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensible to this).
-  . ./$as_me.lineno
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
   # Exit status is that of the last command.
   exit
 }
 
 
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-  *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T='     ' ;;
-  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
 
-if expr a : '\(a\)' >/dev/null 2>&1; then
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
 rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
-  # We could just check for DJGPP; but this test a) works b) is more generic
-  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-  if test -f conf$$.exe; then
-    # Don't use ln at all; we don't have any links
-    as_ln_s='cp -p'
-  else
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
     as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
   fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s=ln
 else
   as_ln_s='cp -p'
 fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
 
 if mkdir -p . 2>/dev/null; then
   as_mkdir_p=:
@@ -222,7 +540,28 @@ else
   as_mkdir_p=false
 fi
 
-as_executable_p="test -f"
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+       test -d "$1/.";
+      else
+       case $1 in
+       -*)set "./$1";;
+       esac;
+       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+       ???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -231,39 +570,27 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS="  $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
 
+exec 7<&0 </dev/null 6>&1
 
 # Name of the host.
 # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
 # so uname gets run too.
 ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
 
-exec 6>&1
-
 #
 # Initializations.
 #
 ac_default_prefix=/usr/local
+ac_clean_files=
 ac_config_libobj_dir=.
+LIBOBJS=
 cross_compiling=no
 subdirs=
 MFLAGS=
 MAKEFLAGS=
 SHELL=${CONFIG_SHELL-/bin/sh}
 
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete.  It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
 # Identity of this package.
 PACKAGE_NAME=
 PACKAGE_TARNAME=
@@ -275,46 +602,241 @@ ac_unique_file="vim.h"
 # Factoring default headers for most tests.
 ac_includes_default="\
 #include <stdio.h>
-#if HAVE_SYS_TYPES_H
+#ifdef HAVE_SYS_TYPES_H
 # include <sys/types.h>
 #endif
-#if HAVE_SYS_STAT_H
+#ifdef HAVE_SYS_STAT_H
 # include <sys/stat.h>
 #endif
-#if STDC_HEADERS
+#ifdef STDC_HEADERS
 # include <stdlib.h>
 # include <stddef.h>
 #else
-# if HAVE_STDLIB_H
+# ifdef HAVE_STDLIB_H
 #  include <stdlib.h>
 # endif
 #endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
 #  include <memory.h>
 # endif
 # include <string.h>
 #endif
-#if HAVE_STRINGS_H
+#ifdef HAVE_STRINGS_H
 # include <strings.h>
 #endif
-#if HAVE_INTTYPES_H
+#ifdef HAVE_INTTYPES_H
 # include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-#  include <stdint.h>
-# endif
 #endif
-#if HAVE_UNISTD_H
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
 # include <unistd.h>
 #endif"
 
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS SET_MAKE CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP AWK STRIP CPP_MM OS_EXTRA_SRC OS_EXTRA_OBJ VIMNAME EXNAME VIEWNAME line_break dovimdiff dogvimdiff compiledby vi_cv_path_mzscheme MZSCHEME_SRC MZSCHEME_OBJ MZSCHEME_PRO MZSCHEME_LIBS MZSCHEME_CFLAGS vi_cv_path_perl vi_cv_perllib shrpenv PERL_SRC PERL_OBJ PERL_PRO PERL_CFLAGS PERL_LIBS vi_cv_path_python PYTHON_CONFDIR PYTHON_LIBS PYTHON_GETPATH_CFLAGS PYTHON_CFLAGS PYTHON_SRC PYTHON_OBJ vi_cv_path_tcl TCL_SRC TCL_OBJ TCL_PRO TCL_CFLAGS TCL_LIBS vi_cv_path_ruby RUBY_SRC RUBY_OBJ RUBY_PRO RUBY_CFLAGS RUBY_LIBS WORKSHOP_SRC WORKSHOP_OBJ NETBEANS_SRC NETBEANS_OBJ SNIFF_SRC SNIFF_OBJ xmkmfpath X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS X_LIB GTK_CONFIG GTK12_CONFIG PKG_CONFIG GTK_CFLAGS GTK_LIBS GTK_LIBNAME GNOME_LIBS GNOME_LIBDIR GNOME_INCLUDEDIR GNOME_CONFIG MOTIF_LIBNAME NARROW_PROTO GUI_INC_LOC GUI_LIB_LOC GUITYPE GUI_X_LIBS HANGULIN_SRC HANGULIN_OBJ TAGPRG INSTALL_LANGS INSTALL_TOOL_LANGS MSGFMT MAKEMO DEPEND_CFLAGS_FILTER LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+SET_MAKE
+CC
+CFLAGS
+LDFLAGS
+CPPFLAGS
+ac_ct_CC
+EXEEXT
+OBJEXT
+CPP
+GREP
+EGREP
+AWK
+STRIP
+CPP_MM
+OS_EXTRA_SRC
+OS_EXTRA_OBJ
+VIMNAME
+EXNAME
+VIEWNAME
+line_break
+dovimdiff
+dogvimdiff
+compiledby
+vi_cv_path_mzscheme
+MZSCHEME_SRC
+MZSCHEME_OBJ
+MZSCHEME_PRO
+MZSCHEME_LIBS
+MZSCHEME_CFLAGS
+vi_cv_path_perl
+vi_cv_perllib
+shrpenv
+PERL_SRC
+PERL_OBJ
+PERL_PRO
+PERL_CFLAGS
+PERL_LIBS
+vi_cv_path_python
+PYTHON_CONFDIR
+PYTHON_LIBS
+PYTHON_GETPATH_CFLAGS
+PYTHON_CFLAGS
+PYTHON_SRC
+PYTHON_OBJ
+vi_cv_path_tcl
+TCL_SRC
+TCL_OBJ
+TCL_PRO
+TCL_CFLAGS
+TCL_LIBS
+vi_cv_path_ruby
+RUBY_SRC
+RUBY_OBJ
+RUBY_PRO
+RUBY_CFLAGS
+RUBY_LIBS
+WORKSHOP_SRC
+WORKSHOP_OBJ
+NETBEANS_SRC
+NETBEANS_OBJ
+SNIFF_SRC
+SNIFF_OBJ
+xmkmfpath
+XMKMF
+X_CFLAGS
+X_PRE_LIBS
+X_LIBS
+X_EXTRA_LIBS
+X_LIB
+GTK_CONFIG
+GTK12_CONFIG
+PKG_CONFIG
+GTK_CFLAGS
+GTK_LIBS
+GTK_LIBNAME
+GNOME_LIBS
+GNOME_LIBDIR
+GNOME_INCLUDEDIR
+GNOME_CONFIG
+MOTIF_LIBNAME
+NARROW_PROTO
+GUI_INC_LOC
+GUI_LIB_LOC
+GUITYPE
+GUI_X_LIBS
+HANGULIN_SRC
+HANGULIN_OBJ
+TAGPRG
+INSTALL_LANGS
+INSTALL_TOOL_LANGS
+MSGFMT
+MAKEMO
+DEPEND_CFLAGS_FILTER
+LIBOBJS
+LTLIBOBJS'
 ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_darwin
+with_mac_arch
+with_vim_name
+with_ex_name
+with_view_name
+with_global_runtime
+with_modified_by
+enable_selinux
+with_features
+with_compiledby
+enable_xsmp
+enable_xsmp_interact
+enable_mzschemeinterp
+with_plthome
+enable_perlinterp
+enable_pythoninterp
+with_python_config_dir
+enable_tclinterp
+with_tclsh
+enable_rubyinterp
+enable_cscope
+enable_workshop
+enable_netbeans
+enable_sniff
+enable_multibyte
+enable_hangulinput
+enable_xim
+enable_fontset
+with_x
+enable_gui
+enable_gtk_check
+enable_gtk2_check
+enable_gnome_check
+enable_motif_check
+enable_athena_check
+enable_nextaw_check
+enable_carbon_check
+with_gtk_prefix
+with_gtk_exec_prefix
+enable_gtktest
+with_gnome_includes
+with_gnome_libs
+with_gnome
+with_motif_lib
+with_tlib
+enable_acl
+enable_gpm
+enable_sysmouse
+enable_nls
+'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+XMKMF'
+
 
 # Initialize some variables set by options.
 ac_init_help=
 ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
 # The variables have the same names as the options, with
 # dashes changed to underlines.
 cache_file=/dev/null
@@ -337,34 +859,48 @@ x_libraries=NONE
 # and all the variables that are supposed to be based on exec_prefix
 # by default will actually change.
 # Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
 bindir='${exec_prefix}/bin'
 sbindir='${exec_prefix}/sbin'
 libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
 
 ac_prev=
+ac_dashdash=
 for ac_option
 do
   # If the previous option needs an argument, assign it.
   if test -n "$ac_prev"; then
-    eval "$ac_prev=\$ac_option"
+    eval $ac_prev=\$ac_option
     ac_prev=
     continue
   fi
 
-  ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
+  case $ac_option in
+  *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *)   ac_optarg=yes ;;
+  esac
 
   # Accept the important Cygnus configure options, so we can diagnose typos.
 
-  case $ac_option in
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
 
   -bindir | --bindir | --bindi | --bind | --bin | --bi)
     ac_prev=bindir ;;
@@ -386,33 +922,61 @@ do
   --config-cache | -C)
     cache_file=config.cache ;;
 
-  -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
+  -datadir | --datadir | --datadi | --datad)
     ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
-  | --da=*)
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
     datadir=$ac_optarg ;;
 
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
   -disable-* | --disable-*)
-    ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-    eval "enable_$ac_feature=no" ;;
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
 
   -enable-* | --enable-*)
-    ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2
    { (exit 1); exit 1; }; }
-    ac_feature=`echo $ac_feature | sed 's/-/_/g'`
-    case $ac_option in
-      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-      *) ac_optarg=yes ;;
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
     esac
-    eval "enable_$ac_feature='$ac_optarg'" ;;
+    eval enable_$ac_useropt=\$ac_optarg ;;
 
   -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
   | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
@@ -439,6 +1003,12 @@ do
   -host=* | --host=* | --hos=* | --ho=*)
     host_alias=$ac_optarg ;;
 
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
   -includedir | --includedir | --includedi | --included | --include \
   | --includ | --inclu | --incl | --inc)
     ac_prev=includedir ;;
@@ -463,13 +1033,16 @@ do
   | --libexe=* | --libex=* | --libe=*)
     libexecdir=$ac_optarg ;;
 
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
   -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst \
-  | --locals | --local | --loca | --loc | --lo)
+  | --localstate | --localstat | --localsta | --localst | --locals)
     ac_prev=localstatedir ;;
   -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* \
-  | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
     localstatedir=$ac_optarg ;;
 
   -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
@@ -534,6 +1107,16 @@ do
   | --progr-tra=* | --program-tr=* | --program-t=*)
     program_transform_name=$ac_optarg ;;
 
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
@@ -584,26 +1167,38 @@ do
     ac_init_version=: ;;
 
   -with-* | --with-*)
-    ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid package name: $ac_package" >&2
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package| sed 's/-/_/g'`
-    case $ac_option in
-      *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
-      *) ac_optarg=yes ;;
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
     esac
-    eval "with_$ac_package='$ac_optarg'" ;;
+    eval with_$ac_useropt=\$ac_optarg ;;
 
   -without-* | --without-*)
-    ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
     # Reject names that are not valid shell variable names.
-    expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid package name: $ac_package" >&2
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2
    { (exit 1); exit 1; }; }
-    ac_package=`echo $ac_package | sed 's/-/_/g'`
-    eval "with_$ac_package=no" ;;
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+        ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=no ;;
 
   --x)
     # Obsolete; use --with-x.
@@ -623,7 +1218,7 @@ do
   | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
     x_libraries=$ac_optarg ;;
 
-  -*) { echo "$as_me: error: unrecognized option: $ac_option
+  -*) { $as_echo "$as_me: error: unrecognized option: $ac_option
 Try \`$0 --help' for more information." >&2
    { (exit 1); exit 1; }; }
     ;;
@@ -632,17 +1227,16 @@ Try \`$0 --help' for more information." >&2
     ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
     # Reject names that are not valid shell variable names.
     expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
-      { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+      { $as_echo "$as_me: error: invalid variable name: $ac_envvar" >&2
    { (exit 1); exit 1; }; }
-    ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
-    eval "$ac_envvar='$ac_optarg'"
+    eval $ac_envvar=\$ac_optarg
     export $ac_envvar ;;
 
   *)
     # FIXME: should be removed in autoconf 3.0.
-    echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
     expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
     : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
     ;;
 
@@ -651,31 +1245,39 @@ done
 
 if test -n "$ac_prev"; then
   ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  { echo "$as_me: error: missing argument to $ac_option" >&2
+  { $as_echo "$as_me: error: missing argument to $ac_option" >&2
    { (exit 1); exit 1; }; }
 fi
 
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
-do
-  eval ac_val=$`echo $ac_var`
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
-    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; };;
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) { $as_echo "$as_me: error: Unrecognized options: $ac_unrecognized_opts" >&2
+   { (exit 1); exit 1; }; } ;;
+    *)     $as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2 ;;
   esac
-done
+fi
 
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
-             localstatedir libdir includedir oldincludedir infodir mandir
+# Check all directory arguments for consistency.
+for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
+               datadir sysconfdir sharedstatedir localstatedir includedir \
+               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+               libdir localedir mandir
 do
-  eval ac_val=$`echo $ac_var`
+  eval ac_val=\$$ac_var
+  # Remove trailing slashes.
   case $ac_val in
-    [\\/$]* | ?:[\\/]* ) ;;
-    *)  { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
-   { (exit 1); exit 1; }; };;
+    */ )
+      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+      eval $ac_var=\$ac_val;;
+  esac
+  # Be sure to have absolute directory names.
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
   esac
+  { $as_echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+   { (exit 1); exit 1; }; }
 done
 
 # There might be people who depend on the old broken behavior: `$host'
@@ -689,7 +1291,7 @@ target=$target_alias
 if test "x$host_alias" != x; then
   if test "x$build_alias" = x; then
     cross_compiling=maybe
-    echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
     If a cross compiler is detected then cross compile mode will be used." >&2
   elif test "x$build_alias" != "x$host_alias"; then
     cross_compiling=yes
@@ -702,74 +1304,76 @@ test -n "$host_alias" && ac_tool_prefix=$host_alias-
 test "$silent" = yes && exec 6>/dev/null
 
 
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  { $as_echo "$as_me: error: Working directory cannot be determined" >&2
+   { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  { $as_echo "$as_me: error: pwd does not report name of working directory" >&2
+   { (exit 1); exit 1; }; }
+
+
 # Find the source files, if location was not specified.
 if test -z "$srcdir"; then
   ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then its parent.
-  ac_confdir=`(dirname "$0") 2>/dev/null ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$0" : 'X\(//\)[^/]' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| \
-        .     : '\(.\)' 2>/dev/null ||
-echo X"$0" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+        X"$as_myself" : 'X\(//\)[^/]' \| \
+        X"$as_myself" : 'X\(//\)$' \| \
+        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
   srcdir=$ac_confdir
-  if test ! -r $srcdir/$ac_unique_file; then
+  if test ! -r "$srcdir/$ac_unique_file"; then
     srcdir=..
   fi
 else
   ac_srcdir_defaulted=no
 fi
-if test ! -r $srcdir/$ac_unique_file; then
-  if test "$ac_srcdir_defaulted" = yes; then
-    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  { $as_echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
    { (exit 1); exit 1; }; }
-  else
-    { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
-   { (exit 1); exit 1; }; }
-  fi
 fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
-  { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+       cd "$srcdir" && test -r "./$ac_unique_file" || { $as_echo "$as_me: error: $ac_msg" >&2
    { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
+       pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
 
 #
 # Report the --help message.
@@ -798,14 +1402,11 @@ Configuration:
   -n, --no-create         do not create output files
       --srcdir=DIR        find the sources in DIR [configure dir or \`..']
 
-_ACEOF
-
-  cat <<_ACEOF
 Installation directories:
   --prefix=PREFIX         install architecture-independent files in PREFIX
-                         [$ac_default_prefix]
+                          [$ac_default_prefix]
   --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                         [PREFIX]
+                          [PREFIX]
 
 By default, \`make install' will install all the files in
 \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
@@ -815,18 +1416,25 @@ for instance \`--prefix=\$HOME'.
 For better control, use the options below.
 
 Fine tuning of the installation directories:
-  --bindir=DIR           user executables [EPREFIX/bin]
-  --sbindir=DIR          system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR       program executables [EPREFIX/libexec]
-  --datadir=DIR          read-only architecture-independent data [PREFIX/share]
-  --sysconfdir=DIR       read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR   modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR    modifiable single-machine data [PREFIX/var]
-  --libdir=DIR           object code libraries [EPREFIX/lib]
-  --includedir=DIR       C header files [PREFIX/include]
-  --oldincludedir=DIR    C header files for non-gcc [/usr/include]
-  --infodir=DIR          info documentation [PREFIX/info]
-  --mandir=DIR           man documentation [PREFIX/man]
+  --bindir=DIR            user executables [EPREFIX/bin]
+  --sbindir=DIR           system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR        program executables [EPREFIX/libexec]
+  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --libdir=DIR            object code libraries [EPREFIX/lib]
+  --includedir=DIR        C header files [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
+  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR           info documentation [DATAROOTDIR/info]
+  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR            man documentation [DATAROOTDIR/man]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
+  --htmldir=DIR           html documentation [DOCDIR]
+  --dvidir=DIR            dvi documentation [DOCDIR]
+  --pdfdir=DIR            pdf documentation [DOCDIR]
+  --psdir=DIR             ps documentation [DOCDIR]
 _ACEOF
 
   cat <<\_ACEOF
@@ -842,6 +1450,7 @@ if test -n "$ac_init_help"; then
   cat <<\_ACEOF
 
 Optional Features:
+  --disable-option-checking  ignore unrecognized --enable/--with options
   --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --disable-darwin        Disable Darwin (Mac OS X) support.
@@ -872,6 +1481,7 @@ Optional Features:
   --disable-gtktest       Do not try to compile and run a test GTK program
   --disable-acl           Don't check for ACL support.
   --disable-gpm           Don't use gpm (Linux mouse daemon).
+  --disable-sysmouse    Don't use sysmouse (mouse in *BSD console).
   --disable-nls           Don't support NLS (gettext()).
 
 Optional Packages:
@@ -902,126 +1512,98 @@ Some influential environment variables:
   CFLAGS      C compiler flags
   LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
               nonstandard directory <lib dir>
-  CPPFLAGS    C/C++ preprocessor flags, e.g. -I<include dir> if you have
-              headers in a nonstandard directory <include dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    C/C++/Objective C preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
   CPP         C preprocessor
+  XMKMF       Path to xmkmf, Makefile generator for X Window System
 
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
 _ACEOF
+ac_status=$?
 fi
 
 if test "$ac_init_help" = "recursive"; then
   # If there are subdirs, report their specific --help.
-  ac_popdir=`pwd`
   for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d $ac_dir || continue
+    test -d "$ac_dir" ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+      continue
     ac_builddir=.
 
-if test "$ac_dir" != .; then
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
 
 case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
+  .)  # We are building in place.
     ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
     ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
-  case "$ac_dir" in
-  .) ac_abs_builddir=`pwd`;;
-  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
-  case ${ac_top_builddir}. in
-  .) ac_abs_top_builddir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
-  case $ac_srcdir in
-  .) ac_abs_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
-  case $ac_top_srcdir in
-  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-  esac;;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
 esac
-
-    cd $ac_dir
-    # Check for guested configure; otherwise get Cygnus style configure.
-    if test -f $ac_srcdir/configure.gnu; then
-      echo
-      $SHELL $ac_srcdir/configure.gnu  --help=recursive
-    elif test -f $ac_srcdir/configure; then
-      echo
-      $SHELL $ac_srcdir/configure  --help=recursive
-    elif test -f $ac_srcdir/configure.ac ||
-          test -f $ac_srcdir/configure.in; then
-      echo
-      $ac_configure --help
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
     else
-      echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi
-    cd $ac_popdir
+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
   done
 fi
 
-test -n "$ac_init_help" && exit 0
+test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.62
 
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
 This configure script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it.
 _ACEOF
-  exit 0
+  exit
 fi
-exec 5>auto/config.log
-cat >&5 <<_ACEOF
+cat >auto/config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 It was created by $as_me, which was
-generated by GNU Autoconf 2.59.  Invocation command line was
+generated by GNU Autoconf 2.62.  Invocation command line was
 
   $ $0 $@
 
 _ACEOF
+exec 5>>auto/config.log
 {
 cat <<_ASUNAME
 ## --------- ##
@@ -1040,7 +1622,7 @@ uname -v = `(uname -v) 2>/dev/null || echo unknown`
 /bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
 /usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
 /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-hostinfo               = `(hostinfo) 2>/dev/null               || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
 /bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
 /usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
 /bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
@@ -1052,8 +1634,9 @@ for as_dir in $PATH
 do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
-  echo "PATH: $as_dir"
+  $as_echo "PATH: $as_dir"
 done
+IFS=$as_save_IFS
 
 } >&5
 
@@ -1075,7 +1658,6 @@ _ACEOF
 ac_configure_args=
 ac_configure_args0=
 ac_configure_args1=
-ac_sep=
 ac_must_keep_next=false
 for ac_pass in 1 2
 do
@@ -1086,8 +1668,8 @@ do
     -q | -quiet | --quiet | --quie | --qui | --qu | --q \
     | -silent | --silent | --silen | --sile | --sil)
       continue ;;
-    *" "*|*"   "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
-      ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*)
+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
     esac
     case $ac_pass in
     1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
@@ -1108,9 +1690,7 @@ do
          -* ) ac_must_keep_next=true ;;
        esac
       fi
-      ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
-      # Get rid of the leading space.
-      ac_sep=" "
+      ac_configure_args="$ac_configure_args '$ac_arg'"
       ;;
     esac
   done
@@ -1121,8 +1701,8 @@ $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_
 # When interrupted or exit'd, cleanup temporary files, and complete
 # config.log.  We remove comments because anyway the quotes in there
 # would cause problems or look ugly.
-# WARNING: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
 trap 'exit_status=$?
   # Save into config.log some information that might help in debugging.
   {
@@ -1135,20 +1715,35 @@ trap 'exit_status=$?
 _ASBOX
     echo
     # The following way of writing the cache mishandles newlines in values,
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
   (set) 2>&1 |
-    case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       sed -n \
-       "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
-      ;;
+       "s/'\''/'\''\\\\'\'''\''/g;
+         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
     *)
-      sed -n \
-       "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-}
+    esac |
+    sort
+)
     echo
 
     cat <<\_ASBOX
@@ -1159,22 +1754,28 @@ _ASBOX
     echo
     for ac_var in $ac_subst_vars
     do
-      eval ac_val=$`echo $ac_var`
-      echo "$ac_var='"'"'$ac_val'"'"'"
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      $as_echo "$ac_var='\''$ac_val'\''"
     done | sort
     echo
 
     if test -n "$ac_subst_files"; then
       cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
 _ASBOX
       echo
       for ac_var in $ac_subst_files
       do
-       eval ac_val=$`echo $ac_var`
-       echo "$ac_var='"'"'$ac_val'"'"'"
+       eval ac_val=\$$ac_var
+       case $ac_val in
+       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+       esac
+       $as_echo "$ac_var='\''$ac_val'\''"
       done | sort
       echo
     fi
@@ -1186,26 +1787,24 @@ _ASBOX
 ## ----------- ##
 _ASBOX
       echo
-      sed "/^$/d" confdefs.h | sort
+      cat confdefs.h
       echo
     fi
     test "$ac_signal" != 0 &&
-      echo "$as_me: caught signal $ac_signal"
-    echo "$as_me: exit $exit_status"
+      $as_echo "$as_me: caught signal $ac_signal"
+    $as_echo "$as_me: exit $exit_status"
   } >&5
-  rm -f core *.core &&
-  rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
     exit $exit_status
-     ' 0
+' 0
 for ac_signal in 1 2 13 15; do
   trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
 done
 ac_signal=0
 
 # confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >confdefs.h
+rm -f -r conftest* confdefs.h
 
 # Predefined preprocessor variables.
 
@@ -1235,18 +1834,24 @@ _ACEOF
 
 
 # Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
-  if test "x$prefix" != xNONE; then
-    CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
-  else
-    CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
-  fi
-fi
-for ac_site_file in $CONFIG_SITE; do
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+  ac_site_file1=$CONFIG_SITE
+elif test "x$prefix" != xNONE; then
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
+else
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+  test "x$ac_site_file" = xNONE && continue
   if test -r "$ac_site_file"; then
-    { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
+    { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
     sed 's/^/| /' "$ac_site_file" >&5
     . "$ac_site_file"
   fi
@@ -1256,54 +1861,61 @@ if test -r "$cache_file"; then
   # Some versions of bash will fail to source /dev/null (special
   # files actually), so we avoid doing that.
   if test -f "$cache_file"; then
-    { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
+    { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
     case $cache_file in
-      [\\/]* | ?:[\\/]* ) . $cache_file;;
-      *)                      . ./$cache_file;;
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
     esac
   fi
 else
-  { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-echo "$as_me: creating cache $cache_file" >&6;}
+  { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
   >$cache_file
 fi
 
 # Check that the precious variables saved in the cache have kept the same
 # value.
 ac_cache_corrupted=false
-for ac_var in `(set) 2>&1 |
-              sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do
+for ac_var in $ac_precious_vars; do
   eval ac_old_set=\$ac_cv_env_${ac_var}_set
   eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val="\$ac_cv_env_${ac_var}_value"
-  eval ac_new_val="\$ac_env_${ac_var}_value"
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
   case $ac_old_set,$ac_new_set in
     set,)
-      { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,set)
-      { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
       ac_cache_corrupted=: ;;
     ,);;
     *)
       if test "x$ac_old_val" != "x$ac_new_val"; then
-       { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-       { echo "$as_me:$LINENO:   former value:  $ac_old_val" >&5
-echo "$as_me:   former value:  $ac_old_val" >&2;}
-       { echo "$as_me:$LINENO:   current value: $ac_new_val" >&5
-echo "$as_me:   current value: $ac_new_val" >&2;}
-       ac_cache_corrupted=:
+       # differences in whitespace do not lead to failure.
+       ac_old_val_w=`echo x $ac_old_val`
+       ac_new_val_w=`echo x $ac_new_val`
+       if test "$ac_old_val_w" != "$ac_new_val_w"; then
+         { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+         ac_cache_corrupted=:
+       else
+         { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+         eval $ac_var=\$ac_old_val
+       fi
+       { $as_echo "$as_me:$LINENO:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+       { $as_echo "$as_me:$LINENO:   current value: \`$ac_new_val'" >&5
+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
       fi;;
   esac
   # Pass precious variables to config.status.
   if test "$ac_new_set" = set; then
     case $ac_new_val in
-    *" "*|*"   "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
-      ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
     *) ac_arg=$ac_var=$ac_new_val ;;
     esac
     case " $ac_configure_args " in
@@ -1313,19 +1925,13 @@ echo "$as_me:   current value: $ac_new_val" >&2;}
   fi
 done
 if $ac_cache_corrupted; then
-  { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+  { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+$as_echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
 
 
 
@@ -1342,41 +1948,48 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-          ac_config_headers="$ac_config_headers auto/config.h:config.h.in"
+ac_config_headers="$ac_config_headers auto/config.h:config.h.in"
 
 
 cat >>confdefs.h <<\_ACEOF
 #define UNIX 1
 _ACEOF
 
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
 all:
-       @echo 'ac_maketemp="$(MAKE)"'
+       @echo '@@@%%%=$(MAKE)=@@@%%%'
 _ACEOF
 # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
-  eval ac_cv_prog_make_${ac_make}_set=yes
-else
-  eval ac_cv_prog_make_${ac_make}_set=no
-fi
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
 rm -f conftest.make
 fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
   SET_MAKE=
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
   SET_MAKE="MAKE=${MAKE-make}"
 fi
 
@@ -1389,10 +2002,10 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 if test -n "$ac_tool_prefix"; then
   # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -1403,34 +2016,36 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+
 fi
 if test -z "$ac_cv_prog_CC"; then
   ac_ct_CC=$CC
   # Extract the first word of "gcc", so it can be a program name with args.
 set dummy gcc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -1441,38 +2056,53 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="gcc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-  CC=$ac_ct_CC
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
 else
   CC="$ac_cv_prog_CC"
 fi
 
 if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
 set dummy ${ac_tool_prefix}cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -1483,76 +2113,36 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="${ac_tool_prefix}cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-  CC=$ac_ct_CC
-else
-  CC="$ac_cv_prog_CC"
-fi
 
+  fi
 fi
 if test -z "$CC"; then
   # Extract the first word of "cc", so it can be a program name with args.
 set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -1564,17 +2154,18 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
        ac_prog_rejected=yes
        continue
      fi
     ac_cv_prog_CC="cc"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 if test $ac_prog_rejected = yes; then
   # We found a bogon in the path, so make sure we never use it.
@@ -1592,24 +2183,25 @@ fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+
 fi
 if test -z "$CC"; then
   if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl
+  for ac_prog in cl.exe
   do
     # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
 set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$CC"; then
   ac_cv_prog_CC="$CC" # Let the user override the test.
@@ -1620,38 +2212,40 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 CC=$ac_cv_prog_CC
 if test -n "$CC"; then
-  echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
+  { $as_echo "$as_me:$LINENO: result: $CC" >&5
+$as_echo "$CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+
     test -n "$CC" && break
   done
 fi
 if test -z "$CC"; then
   ac_ct_CC=$CC
-  for ac_prog in cl
+  for ac_prog in cl.exe
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$ac_ct_CC"; then
   ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
@@ -1662,58 +2256,92 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_ac_ct_CC="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 ac_ct_CC=$ac_cv_prog_ac_ct_CC
 if test -n "$ac_ct_CC"; then
-  echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
+  { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+
   test -n "$ac_ct_CC" && break
 done
 
-  CC=$ac_ct_CC
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+$as_echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet.  If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
 fi
 
 fi
 
 
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
+test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
 See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
+$as_echo "$as_me: error: no acceptable C compiler found in \$PATH
 See \`config.log' for more details." >&2;}
    { (exit 1); exit 1; }; }
 
 # Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
-     "checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
-  (eval $ac_compiler --version </dev/null >&5) 2>&5
+$as_echo "$as_me:$LINENO: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+{ (ac_try="$ac_compiler --version >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compiler --version >&5") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
-  (eval $ac_compiler -v </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -v >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compiler -v >&5") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
-  (eval $ac_compiler -V </dev/null >&5) 2>&5
+{ (ac_try="$ac_compiler -V >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compiler -V >&5") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }
 
 cat >conftest.$ac_ext <<_ACEOF
@@ -1732,111 +2360,146 @@ main ()
 }
 _ACEOF
 ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.exe b.out"
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
 # Try to create an executable without -o first, disregard a.out.
 # It will help us diagnose broken compilers, and finding out an intuition
 # of exeext.
-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
-  (eval $ac_link_default) 2>&5
+{ $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { (ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link_default") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  # Find the output, starting from the most likely.  This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
 do
   test -f "$ac_file" || continue
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
-       ;;
-    conftest.$ac_ext )
-       # This is the source file.
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
        ;;
     [ab].out )
        # We found the default executable, but exeext='' is most
        # certainly right.
        break;;
     *.* )
-       ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       # FIXME: I believe we export ac_cv_exeext for Libtool,
-       # but it would be cool to find out if it's true.  Does anybody
-       # maintain Libtool? --akim.
-       export ac_cv_exeext
+        if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+       then :; else
+          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+       fi
+       # We set ac_cv_exeext here because the later test for it is not
+       # safe: cross compilers may not add the suffix if given an `-o'
+       # argument, so we may need to know it at that point already.
+       # Even if this section looks crufty: it has the advantage of
+       # actually working.
        break;;
     * )
        break;;
   esac
 done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
 else
-  echo "$as_me: failed program was:" >&5
+  ac_file=''
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+if test -z "$ac_file"; then
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
+{ { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables
 See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
+$as_echo "$as_me: error: C compiler cannot create executables
 See \`config.log' for more details." >&2;}
    { (exit 77); exit 77; }; }
 fi
 
 ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
 
-# Check the compiler produces executables we can run.  If not, either
+# Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
 # FIXME: These cross compiler hacks should be removed for Autoconf 3.0
 # If not cross compiling, check that we can run a simple program.
 if test "$cross_compiling" != yes; then
   if { ac_try='./$ac_file'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
     cross_compiling=no
   else
     if test "$cross_compiling" = maybe; then
        cross_compiling=yes
     else
-       { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
+       { { $as_echo "$as_me:$LINENO: error: cannot run C compiled programs.
 If you meant to cross compile, use \`--host'.
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
+$as_echo "$as_me: error: cannot run C compiled programs.
 If you meant to cross compile, use \`--host'.
 See \`config.log' for more details." >&2;}
    { (exit 1); exit 1; }; }
     fi
   fi
 fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+{ $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
 ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run.  If not, either
+# Check that the compiler produces executables we can run.  If not, either
 # the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+{ $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+{ $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+{ $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
   # If both `conftest.exe' and `conftest' are `present' (well, observable)
 # catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
@@ -1845,32 +2508,31 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
 for ac_file in conftest.exe conftest conftest.*; do
   test -f "$ac_file" || continue
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
     *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         export ac_cv_exeext
          break;;
     * ) break;;
   esac
 done
 else
-  { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
+  { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
+$as_echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
 See \`config.log' for more details." >&2;}
    { (exit 1); exit 1; }; }
 fi
 
 rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
 
 rm -f conftest.$ac_ext
 EXEEXT=$ac_cv_exeext
 ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
 if test "${ac_cv_objext+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -1888,39 +2550,46 @@ main ()
 }
 _ACEOF
 rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>&5
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
   case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
     *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
        break;;
   esac
 done
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
+{ { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
 See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
+$as_echo "$as_me: error: cannot compute suffix of object files: cannot compile
 See \`config.log' for more details." >&2;}
    { (exit 1); exit 1; }; }
 fi
 
 rm -f conftest.$ac_cv_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
 OBJEXT=$ac_cv_objext
 ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
 if test "${ac_cv_c_compiler_gnu+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -1941,50 +2610,54 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_compiler_gnu=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_compiler_gnu=no
+       ac_compiler_gnu=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 ac_cv_c_compiler_gnu=$ac_compiler_gnu
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
-GCC=`test $ac_compiler_gnu = yes && echo yes`
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
 ac_test_CFLAGS=${CFLAGS+set}
 ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
 if test "${ac_cv_prog_cc_g+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -2000,38 +2673,121 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_g=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       CFLAGS=""
+      cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_c_werror_flag=$ac_save_c_werror_flag
+        CFLAGS="-g"
+        cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_prog_cc_g=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_prog_cc_g=no
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_g" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
 if test "$ac_test_CFLAGS" = set; then
   CFLAGS=$ac_save_CFLAGS
 elif test $ac_cv_prog_cc_g = yes; then
@@ -2047,12 +2803,12 @@ else
     CFLAGS=
   fi
 fi
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
-  ac_cv_prog_cc_stdc=no
+  ac_cv_prog_cc_c89=no
 ac_save_CC=$CC
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -2086,12 +2842,17 @@ static char *f (char * (*g) (char **, int), char **p, ...)
 /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
    function prototypes and stuff, but not '\xHH' hex character constants.
    These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std1 is added to get
+   as 'x'.  The following induces an error, until -std is added to get
    proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
    array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std1.  */
+   that's true only with -std.  */
 int osf4_cc_array ['\x00' == 0 ? 1 : -1];
 
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
 int test (int i, double x);
 struct s1 {int (*f) (int a);};
 struct s2 {int (*f) (double a);};
@@ -2106,279 +2867,132 @@ return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
   return 0;
 }
 _ACEOF
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX                  -qlanglvl=ansi
-# Ultrix and OSF/1     -std1
-# HP-UX 10.20 and later        -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4                 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
 do
   CC="$ac_save_CC $ac_arg"
   rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_prog_cc_stdc=$ac_arg
-break
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_prog_cc_c89=$ac_arg
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
+
 fi
-rm -f conftest.err conftest.$ac_objext
+
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
 done
-rm -f conftest.$ac_ext conftest.$ac_objext
+rm -f conftest.$ac_ext
 CC=$ac_save_CC
 
 fi
-
-case "x$ac_cv_prog_cc_stdc" in
-  x|xno)
-    echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:$LINENO: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
   *)
-    echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
-    CC="$CC $ac_cv_prog_cc_stdc" ;;
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
 esac
 
-# Some people use a C++ compiler to compile C.  Since we use `exit',
-# in C++ we need to declare it.  In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
-  choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  for ac_declaration in \
-   '' \
-   'extern "C" void std::exit (int) throw (); using std::exit;' \
-   'extern "C" void std::exit (int); using std::exit;' \
-   'extern "C" void exit (int) throw ();' \
-   'extern "C" void exit (int);' \
-   'void exit (int);'
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+       ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
 do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+                    Syntax error
 _ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_declaration
-int
-main ()
-{
-exit (42);
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
-  echo '#ifdef __cplusplus' >>confdefs.h
-  echo $ac_declaration      >>confdefs.h
-  echo '#endif'             >>confdefs.h
-fi
-
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-       ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
-  CPP=
-fi
-if test -z "$CPP"; then
-  if test "${ac_cv_prog_CPP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-      # Double quotes because CPP needs to be expanded
-    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
-    do
-      ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
-  # Use a header file that comes with gcc, so configuring glibc
-  # with a fresh cross-compiler works.
-  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-  # <limits.h> exists even on freestanding compilers.
-  # On the NeXT, cc -E runs the code through the compiler's parser,
-  # not just through cpp. "Syntax error" is here to catch this case.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-                    Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   :
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -2388,34 +3002,34 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   # Passes both tests.
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -2433,8 +3047,8 @@ fi
 else
   ac_cv_prog_CPP=$CPP
 fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$CPP" >&6
+{ $as_echo "$as_me:$LINENO: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
 ac_preproc_ok=false
 for ac_c_preproc_warn_flag in '' yes
 do
@@ -2457,35 +3071,35 @@ cat >>conftest.$ac_ext <<_ACEOF
 #endif
                     Syntax error
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   :
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   # Broken: fails on valid input.
 continue
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
-  # OK, works on sane cases.  Now check whether non-existent headers
+  # OK, works on sane cases.  Now check whether nonexistent headers
   # can be detected and how.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -2495,34 +3109,34 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <ac_nonexistent.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   # Broken: success on invalid input.
 continue
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   # Passes both tests.
 ac_preproc_ok=:
 break
 fi
+
 rm -f conftest.err conftest.$ac_ext
 
 done
@@ -2531,9 +3145,9 @@ rm -f conftest.err conftest.$ac_ext
 if $ac_preproc_ok; then
   :
 else
-  { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
+  { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
 See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
+$as_echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
 See \`config.log' for more details." >&2;}
    { (exit 1); exit 1; }; }
 fi
@@ -2545,19 +3159,138 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$GREP"; then
+  ac_path_GREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in grep ggrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_GREP_found && break 3
+    done
+  done
+done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_GREP"; then
+    { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:$LINENO: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
-  if echo a | (grep -E '(a|b)') >/dev/null 2>&1
-    then ac_cv_prog_egrep='grep -E'
-    else ac_cv_prog_egrep='egrep'
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     if test -z "$EGREP"; then
+  ac_path_EGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_prog in egrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    ac_count=`expr $ac_count + 1`
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
     fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_EGREP_found && break 3
+    done
+  done
+done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_EGREP"; then
+    { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5
+$as_echo "$as_me: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;}
+   { (exit 1); exit 1; }; }
+  fi
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+   fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
 
 
 cat >conftest.$ac_ext <<_ACEOF
@@ -2568,18 +3301,13 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
 _ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "" >/dev/null 2>&1; then
-  :
-fi
 rm -f conftest*
- echo "$as_me:$LINENO: checking for library containing strerror" >&5
-echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6
{ $as_echo "$as_me:$LINENO: checking for library containing strerror" >&5
+$as_echo_n "checking for library containing strerror... " >&6; }
 if test "${ac_cv_search_strerror+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_func_search_save_LIBS=$LIBS
-ac_cv_search_strerror=no
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -2587,125 +3315,87 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char strerror ();
 int
 main ()
 {
-strerror ();
+return strerror ();
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+for ac_lib in '' cposix; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_search_strerror="none required"
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  ac_cv_search_strerror=$ac_res
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-if test "$ac_cv_search_strerror" = no; then
-  for ac_lib in cposix; do
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char strerror ();
-int
-main ()
-{
-strerror ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_search_strerror="-l$ac_lib"
-break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
+fi
 
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext
+  if test "${ac_cv_search_strerror+set}" = set; then
+  break
 fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-  done
+done
+if test "${ac_cv_search_strerror+set}" = set; then
+  :
+else
+  ac_cv_search_strerror=no
 fi
+rm conftest.$ac_ext
 LIBS=$ac_func_search_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
-echo "${ECHO_T}$ac_cv_search_strerror" >&6
-if test "$ac_cv_search_strerror" != no; then
-  test "$ac_cv_search_strerror" = "none required" || LIBS="$ac_cv_search_strerror $LIBS"
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
+$as_echo "$ac_cv_search_strerror" >&6; }
+ac_res=$ac_cv_search_strerror
+if test "$ac_res" != no; then
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 fi
        for ac_prog in gawk mawk nawk awk
 do
   # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_AWK+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$AWK"; then
   ac_cv_prog_AWK="$AWK" # Let the user override the test.
@@ -2716,34 +3406,36 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_AWK="$ac_prog"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 AWK=$ac_cv_prog_AWK
 if test -n "$AWK"; then
-  echo "$as_me:$LINENO: result: $AWK" >&5
-echo "${ECHO_T}$AWK" >&6
+  { $as_echo "$as_me:$LINENO: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+
   test -n "$AWK" && break
 done
 
 # Extract the first word of "strip", so it can be a program name with args.
 set dummy strip; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_STRIP+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$STRIP"; then
   ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_STRIP="strip"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   test -z "$ac_cv_prog_STRIP" && ac_cv_prog_STRIP=":"
 fi
 fi
 STRIP=$ac_cv_prog_STRIP
 if test -n "$STRIP"; then
-  echo "$as_me:$LINENO: result: $STRIP" >&5
-echo "${ECHO_T}$STRIP" >&6
+  { $as_echo "$as_me:$LINENO: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
 
 
-if test -z "$CFLAGS"; then
-  CFLAGS="-O"
-  test "$GCC" = yes && CFLAGS="-O2 -fno-strength-reduce -Wall"
-fi
-if test "$GCC" = yes; then
-    gccversion=`"$CC" -dumpversion`
-  if test "x$gccversion" = "x"; then
-        gccversion=`"$CC" --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[^0-9]*\([0-9]\.[0-9.]*\).*$/\1/g'`
-  fi
-    if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
-    echo 'GCC [34].0.[12] has a bug in the optimizer, disabling "-O#"'
-    CFLAGS=`echo "$CFLAGS" | sed 's/-O[23456789]/-O/'`
-  else
-    if test "$gccversion" = "3.1" -o "$gccversion" = "3.2" -o "$gccversion" = "3.2.1" && `echo "$CFLAGS" | grep -v fno-strength-reduce >/dev/null`; then
-      echo 'GCC 3.1 and 3.2 have a bug in the optimizer, adding "-fno-strength-reduce"'
-      CFLAGS="$CFLAGS -fno-strength-reduce"
-    fi
-  fi
-fi
-
-if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: cannot compile a simple program, check CC and CFLAGS
-  (cross compiling doesn't work)" >&5
-echo "$as_me: error: cannot compile a simple program, check CC and CFLAGS
-  (cross compiling doesn't work)" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-test "$GCC" = yes && CPP_MM=M;
-
-if test -f ./toolcheck; then
-  { echo "$as_me:$LINENO: checking for buggy tools..." >&5
-echo "$as_me: checking for buggy tools..." >&6;}
-  sh ./toolcheck 1>&6
-fi
 
-OS_EXTRA_SRC=""; OS_EXTRA_OBJ=""
+{ $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
 
-echo "$as_me:$LINENO: checking for BeOS" >&5
-echo $ECHO_N "checking for BeOS... $ECHO_C" >&6
-case `uname` in
-    BeOS)      OS_EXTRA_SRC=os_beos.c; OS_EXTRA_OBJ=objects/os_beos.o
-               BEOS=yes; echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6;;
-    *)         BEOS=no; echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6;;
-esac
-
-echo "$as_me:$LINENO: checking for QNX" >&5
-echo $ECHO_N "checking for QNX... $ECHO_C" >&6
-case `uname` in
-    QNX)       OS_EXTRA_SRC=os_qnx.c; OS_EXTRA_OBJ=objects/os_qnx.o
-               test -z "$with_x" && with_x=no
-               QNX=yes; echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6;;
-    *)         QNX=no; echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6;;
-esac
-
-echo "$as_me:$LINENO: checking for Darwin (Mac OS X)" >&5
-echo $ECHO_N "checking for Darwin (Mac OS X)... $ECHO_C" >&6
-if test "`(uname) 2>/dev/null`" = Darwin; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-  echo "$as_me:$LINENO: checking --disable-darwin argument" >&5
-echo $ECHO_N "checking --disable-darwin argument... $ECHO_C" >&6
-  # Check whether --enable-darwin or --disable-darwin was given.
-if test "${enable_darwin+set}" = set; then
-  enableval="$enable_darwin"
-
-else
-  enable_darwin="yes"
-fi;
-  if test "$enable_darwin" = "yes"; then
-    echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-    echo "$as_me:$LINENO: checking if Darwin files are there" >&5
-echo $ECHO_N "checking if Darwin files are there... $ECHO_C" >&6
-    if test -f os_macosx.c; then
-      echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-    else
-      echo "$as_me:$LINENO: result: no, Darwin support disabled" >&5
-echo "${ECHO_T}no, Darwin support disabled" >&6
-      enable_darwin=no
-    fi
-  else
-    echo "$as_me:$LINENO: result: yes, Darwin support excluded" >&5
-echo "${ECHO_T}yes, Darwin support excluded" >&6
-  fi
-
-  echo "$as_me:$LINENO: checking --with-mac-arch argument" >&5
-echo $ECHO_N "checking --with-mac-arch argument... $ECHO_C" >&6
-
-# Check whether --with-mac-arch or --without-mac-arch was given.
-if test "${with_mac_arch+set}" = set; then
-  withval="$with_mac_arch"
-  MACARCH="$withval"; echo "$as_me:$LINENO: result: $MACARCH" >&5
-echo "${ECHO_T}$MACARCH" >&6
-else
-  MACARCH="current"; echo "$as_me:$LINENO: result: defaulting to $MACARCH" >&5
-echo "${ECHO_T}defaulting to $MACARCH" >&6
-fi;
-
-  if test "x$MACARCH" = "xboth"; then
-    echo "$as_me:$LINENO: checking for 10.4 universal SDK" >&5
-echo $ECHO_N "checking for 10.4 universal SDK... $ECHO_C" >&6
-                            save_cppflags="$CPPFLAGS"
-    save_cflags="$CFLAGS"
-    save_ldflags="$LDFLAGS"
-    CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: found" >&5
-echo "${ECHO_T}found" >&6
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: not found" >&5
-echo "${ECHO_T}not found" >&6
-       CFLAGS="$save_cflags"
-       echo "$as_me:$LINENO: checking if Intel architecture is supported" >&5
-echo $ECHO_N "checking if Intel architecture is supported... $ECHO_C" >&6
-       CPPFLAGS="$CPPFLAGS -arch i386"
-       LDFLAGS="$save_ldflags -arch i386"
-       cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; MACARCH="intel"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-               MACARCH="ppc"
-               CPPFLAGS="$save_cppflags -arch ppc"
-               LDFLAGS="$save_ldflags -arch ppc"
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-  elif test "x$MACARCH" = "xintel"; then
-    CPPFLAGS="$CPPFLAGS -arch intel"
-    LDFLAGS="$LDFLAGS -arch intel"
-  elif test "x$MACARCH" = "xppc"; then
-    CPPFLAGS="$CPPFLAGS -arch ppc"
-    LDFLAGS="$LDFLAGS -arch ppc"
-  fi
-
-  if test "$enable_darwin" = "yes"; then
-    MACOSX=yes
-    OS_EXTRA_SCR="os_macosx.c os_mac_conv.c";
-    OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
-        CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
-    if test "x$MACARCH" = "xboth"; then
-      CPPFLAGS="$CPPFLAGS -I/Developer/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon"
-    else
-      CPPFLAGS="$CPPFLAGS -I/Developer/Headers/FlatCarbon"
-    fi
-
-                echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
-if test "${ac_cv_header_stdc+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
+int
+main ()
+{
 
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_stdc=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_header_stdc=no
+       ac_cv_header_stdc=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 if test $ac_cv_header_stdc = yes; then
   # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
@@ -3121,6 +3577,7 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <ctype.h>
+#include <stdlib.h>
 #if ((' ' & 0x0FF) == 0x020)
 # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
 # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
@@ -3140,36 +3597,50 @@ main ()
   for (i = 0; i < 256; i++)
     if (XOR (islower (i), ISLOWER (i))
        || toupper (i) != TOUPPER (i))
-      exit(2);
-  exit (0);
+      return 2;
+  return 0;
 }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   :
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 ac_cv_header_stdc=no
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
 fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
 if test $ac_cv_header_stdc = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -3178,24 +3649,10 @@ _ACEOF
 
 fi
 
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-                 inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
+$as_echo_n "checking for sys/wait.h that is POSIX.1 compatible... " >&6; }
+if test "${ac_cv_header_sys_wait_h+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -3203,188 +3660,495 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_includes_default
+#include <sys/types.h>
+#include <sys/wait.h>
+#ifndef WEXITSTATUS
+# define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
+#endif
+#ifndef WIFEXITED
+# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
+#endif
 
-#include <$ac_header>
+int
+main ()
+{
+  int s;
+  wait (&s);
+  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
+  ;
+  return 0;
+}
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  eval "$as_ac_Header=yes"
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_header_sys_wait_h=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_Header=no"
+       ac_cv_header_sys_wait_h=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
+$as_echo "$ac_cv_header_sys_wait_h" >&6; }
+if test $ac_cv_header_sys_wait_h = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define HAVE_SYS_WAIT_H 1
 _ACEOF
 
 fi
 
-done
 
+if test -z "$CFLAGS"; then
+  CFLAGS="-O"
+  test "$GCC" = yes && CFLAGS="-O2 -fno-strength-reduce -Wall"
+fi
+if test "$GCC" = yes; then
+    gccversion=`"$CC" -dumpversion`
+  if test "x$gccversion" = "x"; then
+        gccversion=`"$CC" --version | sed -e '2,$d' -e 's/darwin.//' -e 's/^[^0-9]*\([0-9]\.[0-9.]*\).*$/\1/g'`
+  fi
+    if test "$gccversion" = "3.0.1" -o "$gccversion" = "3.0.2" -o "$gccversion" = "4.0.1"; then
+    echo 'GCC [34].0.[12] has a bug in the optimizer, disabling "-O#"'
+    CFLAGS=`echo "$CFLAGS" | sed 's/-O[23456789]/-O/'`
+  else
+    if test "$gccversion" = "3.1" -o "$gccversion" = "3.2" -o "$gccversion" = "3.2.1" && `echo "$CFLAGS" | grep -v fno-strength-reduce >/dev/null`; then
+      echo 'GCC 3.1 and 3.2 have a bug in the optimizer, adding "-fno-strength-reduce"'
+      CFLAGS="$CFLAGS -fno-strength-reduce"
+    fi
+  fi
+fi
+
+if test "$cross_compiling" = yes; then
+  { $as_echo "$as_me:$LINENO: result: cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&5
+$as_echo "cannot compile a simple program; if not cross compiling check CC and CFLAGS" >&6; }
+fi
 
-if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
-  echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5
-echo $ECHO_N "checking for Carbon/Carbon.h... $ECHO_C" >&6
-if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+test "$GCC" = yes && CPP_MM=M;
+
+if test -f ./toolcheck; then
+  { $as_echo "$as_me:$LINENO: checking for buggy tools..." >&5
+$as_echo "$as_me: checking for buggy tools..." >&6;}
+  sh ./toolcheck 1>&6
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_Carbon_Carbon_h" >&5
-echo "${ECHO_T}$ac_cv_header_Carbon_Carbon_h" >&6
+
+OS_EXTRA_SRC=""; OS_EXTRA_OBJ=""
+
+{ $as_echo "$as_me:$LINENO: checking for BeOS" >&5
+$as_echo_n "checking for BeOS... " >&6; }
+case `uname` in
+    BeOS)      OS_EXTRA_SRC=os_beos.c; OS_EXTRA_OBJ=objects/os_beos.o
+               BEOS=yes; { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; };;
+    *)         BEOS=no; { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; };;
+esac
+
+{ $as_echo "$as_me:$LINENO: checking for QNX" >&5
+$as_echo_n "checking for QNX... " >&6; }
+case `uname` in
+    QNX)       OS_EXTRA_SRC=os_qnx.c; OS_EXTRA_OBJ=objects/os_qnx.o
+               test -z "$with_x" && with_x=no
+               QNX=yes; { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; };;
+    *)         QNX=no; { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; };;
+esac
+
+{ $as_echo "$as_me:$LINENO: checking for Darwin (Mac OS X)" >&5
+$as_echo_n "checking for Darwin (Mac OS X)... " >&6; }
+if test "`(uname) 2>/dev/null`" = Darwin; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+
+  { $as_echo "$as_me:$LINENO: checking --disable-darwin argument" >&5
+$as_echo_n "checking --disable-darwin argument... " >&6; }
+  # Check whether --enable-darwin was given.
+if test "${enable_darwin+set}" = set; then
+  enableval=$enable_darwin;
 else
-  # Is the header compilable?
-echo "$as_me:$LINENO: checking Carbon/Carbon.h usability" >&5
-echo $ECHO_N "checking Carbon/Carbon.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
+  enable_darwin="yes"
+fi
+
+  if test "$enable_darwin" = "yes"; then
+    { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+    { $as_echo "$as_me:$LINENO: checking if Darwin files are there" >&5
+$as_echo_n "checking if Darwin files are there... " >&6; }
+    if test -f os_macosx.c; then
+      { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+    else
+      { $as_echo "$as_me:$LINENO: result: no, Darwin support disabled" >&5
+$as_echo "no, Darwin support disabled" >&6; }
+      enable_darwin=no
+    fi
+  else
+    { $as_echo "$as_me:$LINENO: result: yes, Darwin support excluded" >&5
+$as_echo "yes, Darwin support excluded" >&6; }
+  fi
+
+  { $as_echo "$as_me:$LINENO: checking --with-mac-arch argument" >&5
+$as_echo_n "checking --with-mac-arch argument... " >&6; }
+
+# Check whether --with-mac-arch was given.
+if test "${with_mac_arch+set}" = set; then
+  withval=$with_mac_arch; MACARCH="$withval"; { $as_echo "$as_me:$LINENO: result: $MACARCH" >&5
+$as_echo "$MACARCH" >&6; }
+else
+  MACARCH="current"; { $as_echo "$as_me:$LINENO: result: defaulting to $MACARCH" >&5
+$as_echo "defaulting to $MACARCH" >&6; }
+fi
+
+
+  if test "x$MACARCH" = "xboth"; then
+    { $as_echo "$as_me:$LINENO: checking for 10.4 universal SDK" >&5
+$as_echo_n "checking for 10.4 universal SDK... " >&6; }
+                            save_cppflags="$CPPFLAGS"
+    save_cflags="$CFLAGS"
+    save_ldflags="$LDFLAGS"
+    CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
+    cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-$ac_includes_default
-#include <Carbon/Carbon.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: found" >&5
+$as_echo "found" >&6; }
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
+       CFLAGS="$save_cflags"
+       { $as_echo "$as_me:$LINENO: checking if Intel architecture is supported" >&5
+$as_echo_n "checking if Intel architecture is supported... " >&6; }
+       CPPFLAGS="$CPPFLAGS -arch i386"
+       LDFLAGS="$save_ldflags -arch i386"
+       cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_header_compiler=yes
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; MACARCH="intel"
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+               MACARCH="ppc"
+               CPPFLAGS="$save_cppflags -arch ppc"
+               LDFLAGS="$save_ldflags -arch ppc"
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+  elif test "x$MACARCH" = "xintel"; then
+    CPPFLAGS="$CPPFLAGS -arch intel"
+    LDFLAGS="$LDFLAGS -arch intel"
+  elif test "x$MACARCH" = "xppc"; then
+    CPPFLAGS="$CPPFLAGS -arch ppc"
+    LDFLAGS="$LDFLAGS -arch ppc"
+  fi
+
+  if test "$enable_darwin" = "yes"; then
+    MACOSX=yes
+    OS_EXTRA_SCR="os_macosx.c os_mac_conv.c";
+    OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
+        CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX -no-cpp-precomp"
+    if test "x$MACARCH" = "xboth"; then
+      CPPFLAGS="$CPPFLAGS -I/Developer/SDKs/MacOSX10.4u.sdk/Developer/Headers/FlatCarbon"
+    else
+      CPPFLAGS="$CPPFLAGS -I/Developer/Headers/FlatCarbon"
+    fi
+
+                # On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+                 inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  eval "$as_ac_Header=yes"
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       eval "$as_ac_Header=no"
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
 
-# Is the header present?
-echo "$as_me:$LINENO: checking Carbon/Carbon.h presence" >&5
-echo $ECHO_N "checking Carbon/Carbon.h presence... $ECHO_C" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
+  { $as_echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5
+$as_echo_n "checking for Carbon/Carbon.h... " >&6; }
+if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
+  $as_echo_n "(cached) " >&6
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_Carbon_Carbon_h" >&5
+$as_echo "$ac_cv_header_Carbon_Carbon_h" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:$LINENO: checking Carbon/Carbon.h usability" >&5
+$as_echo_n "checking Carbon/Carbon.h usability... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+$ac_includes_default
 #include <Carbon/Carbon.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_header_compiler=yes
 else
-  ac_cpp_err=yes
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_header_compiler=no
 fi
-if test -z "$ac_cpp_err"; then
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:$LINENO: checking Carbon/Carbon.h presence" >&5
+$as_echo_n "checking Carbon/Carbon.h presence... " >&6; }
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <Carbon/Carbon.h>
+_ACEOF
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
   yes:no: )
-    { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: Carbon/Carbon.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: Carbon/Carbon.h: proceeding with the compiler's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: Carbon/Carbon.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: Carbon/Carbon.h: proceeding with the compiler's result" >&2;}
     ac_header_preproc=yes
     ;;
   no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: Carbon/Carbon.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: Carbon/Carbon.h:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: Carbon/Carbon.h: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: Carbon/Carbon.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: Carbon/Carbon.h: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: Carbon/Carbon.h: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists.  ##
-## ------------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { $as_echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: Carbon/Carbon.h: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: Carbon/Carbon.h:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: Carbon/Carbon.h: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: Carbon/Carbon.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: Carbon/Carbon.h: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: Carbon/Carbon.h: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5
-echo $ECHO_N "checking for Carbon/Carbon.h... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5
+$as_echo_n "checking for Carbon/Carbon.h... " >&6; }
 if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_cv_header_Carbon_Carbon_h=$ac_header_preproc
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_Carbon_Carbon_h" >&5
-echo "${ECHO_T}$ac_cv_header_Carbon_Carbon_h" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_Carbon_Carbon_h" >&5
+$as_echo "$ac_cv_header_Carbon_Carbon_h" >&6; }
 
 fi
 if test $ac_cv_header_Carbon_Carbon_h = yes; then
   fi
 
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
 
 
-have_local_include=''
-have_local_lib=''
-if test "$GCC" = yes; then
-  echo 'void f(){}' > conftest.c
-    have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep '/usr/local/include'`
-  have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep '/usr/local/lib'`
-  rm -f conftest.c conftest.o
-fi
-if test -z "$have_local_lib" -a -d /usr/local/lib; then
-  tt=`echo "$LDFLAGS" | sed -e 's+-L/usr/local/lib ++g' -e 's+-L/usr/local/lib$++g'`
-  if test "$tt" = "$LDFLAGS"; then
-    LDFLAGS="$LDFLAGS -L/usr/local/lib"
+if test "$cross_compiling" = no; then
+  have_local_include=''
+  have_local_lib=''
+  if test "$GCC" = yes; then
+    echo 'void f(){}' > conftest.c
+        have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep '/usr/local/include'`
+    have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep '/usr/local/lib'`
+    rm -f conftest.c conftest.o
   fi
-fi
-if test -z "$have_local_include" -a -d /usr/local/include; then
-  tt=`echo "$CPPFLAGS" | sed -e 's+-I/usr/local/include ++g' -e 's+-I/usr/local/include$++g'`
-  if test "$tt" = "$CPPFLAGS"; then
-    CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+  if test -z "$have_local_lib" -a -d /usr/local/lib; then
+    tt=`echo "$LDFLAGS" | sed -e 's+-L/usr/local/lib ++g' -e 's+-L/usr/local/lib$++g'`
+    if test "$tt" = "$LDFLAGS"; then
+      LDFLAGS="$LDFLAGS -L/usr/local/lib"
+    fi
+  fi
+  if test -z "$have_local_include" -a -d /usr/local/include; then
+    tt=`echo "$CPPFLAGS" | sed -e 's+-I/usr/local/include ++g' -e 's+-I/usr/local/include$++g'`
+    if test "$tt" = "$CPPFLAGS"; then
+      CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+    fi
   fi
 fi
 
-echo "$as_me:$LINENO: checking --with-vim-name argument" >&5
-echo $ECHO_N "checking --with-vim-name argument... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking --with-vim-name argument" >&5
+$as_echo_n "checking --with-vim-name argument... " >&6; }
 
-# Check whether --with-vim-name or --without-vim-name was given.
+# Check whether --with-vim-name was given.
 if test "${with_vim_name+set}" = set; then
-  withval="$with_vim_name"
-  VIMNAME="$withval"; echo "$as_me:$LINENO: result: $VIMNAME" >&5
-echo "${ECHO_T}$VIMNAME" >&6
+  withval=$with_vim_name; VIMNAME="$withval"; { $as_echo "$as_me:$LINENO: result: $VIMNAME" >&5
+$as_echo "$VIMNAME" >&6; }
 else
-  VIMNAME="vim"; echo "$as_me:$LINENO: result: Defaulting to $VIMNAME" >&5
-echo "${ECHO_T}Defaulting to $VIMNAME" >&6
-fi;
+  VIMNAME="vim"; { $as_echo "$as_me:$LINENO: result: Defaulting to $VIMNAME" >&5
+$as_echo "Defaulting to $VIMNAME" >&6; }
+fi
+
 
-echo "$as_me:$LINENO: checking --with-ex-name argument" >&5
-echo $ECHO_N "checking --with-ex-name argument... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking --with-ex-name argument" >&5
+$as_echo_n "checking --with-ex-name argument... " >&6; }
 
-# Check whether --with-ex-name or --without-ex-name was given.
+# Check whether --with-ex-name was given.
 if test "${with_ex_name+set}" = set; then
-  withval="$with_ex_name"
-  EXNAME="$withval"; echo "$as_me:$LINENO: result: $EXNAME" >&5
-echo "${ECHO_T}$EXNAME" >&6
+  withval=$with_ex_name; EXNAME="$withval"; { $as_echo "$as_me:$LINENO: result: $EXNAME" >&5
+$as_echo "$EXNAME" >&6; }
 else
-  EXNAME="ex"; echo "$as_me:$LINENO: result: Defaulting to ex" >&5
-echo "${ECHO_T}Defaulting to ex" >&6
-fi;
+  EXNAME="ex"; { $as_echo "$as_me:$LINENO: result: Defaulting to ex" >&5
+$as_echo "Defaulting to ex" >&6; }
+fi
+
 
-echo "$as_me:$LINENO: checking --with-view-name argument" >&5
-echo $ECHO_N "checking --with-view-name argument... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking --with-view-name argument" >&5
+$as_echo_n "checking --with-view-name argument... " >&6; }
 
-# Check whether --with-view-name or --without-view-name was given.
+# Check whether --with-view-name was given.
 if test "${with_view_name+set}" = set; then
-  withval="$with_view_name"
-  VIEWNAME="$withval"; echo "$as_me:$LINENO: result: $VIEWNAME" >&5
-echo "${ECHO_T}$VIEWNAME" >&6
+  withval=$with_view_name; VIEWNAME="$withval"; { $as_echo "$as_me:$LINENO: result: $VIEWNAME" >&5
+$as_echo "$VIEWNAME" >&6; }
 else
-  VIEWNAME="view"; echo "$as_me:$LINENO: result: Defaulting to view" >&5
-echo "${ECHO_T}Defaulting to view" >&6
-fi;
+  VIEWNAME="view"; { $as_echo "$as_me:$LINENO: result: Defaulting to view" >&5
+$as_echo "Defaulting to view" >&6; }
+fi
+
 
 
-echo "$as_me:$LINENO: checking --with-global-runtime argument" >&5
-echo $ECHO_N "checking --with-global-runtime argument... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking --with-global-runtime argument" >&5
+$as_echo_n "checking --with-global-runtime argument... " >&6; }
 
-# Check whether --with-global-runtime or --without-global-runtime was given.
+# Check whether --with-global-runtime was given.
 if test "${with_global_runtime+set}" = set; then
-  withval="$with_global_runtime"
-  echo "$as_me:$LINENO: result: $withval" >&5
-echo "${ECHO_T}$withval" >&6; cat >>confdefs.h <<_ACEOF
+  withval=$with_global_runtime; { $as_echo "$as_me:$LINENO: result: $withval" >&5
+$as_echo "$withval" >&6; }; cat >>confdefs.h <<_ACEOF
 #define RUNTIME_GLOBAL "$withval"
 _ACEOF
 
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi;
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
 
-echo "$as_me:$LINENO: checking --with-modified-by argument" >&5
-echo $ECHO_N "checking --with-modified-by argument... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking --with-modified-by argument" >&5
+$as_echo_n "checking --with-modified-by argument... " >&6; }
 
-# Check whether --with-modified-by or --without-modified-by was given.
+# Check whether --with-modified-by was given.
 if test "${with_modified_by+set}" = set; then
-  withval="$with_modified_by"
-  echo "$as_me:$LINENO: result: $withval" >&5
-echo "${ECHO_T}$withval" >&6; cat >>confdefs.h <<_ACEOF
+  withval=$with_modified_by; { $as_echo "$as_me:$LINENO: result: $withval" >&5
+$as_echo "$withval" >&6; }; cat >>confdefs.h <<_ACEOF
 #define MODIFIED_BY "$withval"
 _ACEOF
 
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi;
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
 
-echo "$as_me:$LINENO: checking if character set is EBCDIC" >&5
-echo $ECHO_N "checking if character set is EBCDIC... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if character set is EBCDIC" >&5
+$as_echo_n "checking if character set is EBCDIC... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -3528,41 +4294,38 @@ make an error "Character set is not EBCDIC"
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
    # TryCompile action if true
 cf_cv_ebcdic=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
- # TryCompile action if false
       # TryCompile action if false
 cf_cv_ebcdic=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 # end of TryCompile ])
 # end of CacheVal CvEbcdic
-echo "$as_me:$LINENO: result: $cf_cv_ebcdic" >&5
-echo "${ECHO_T}$cf_cv_ebcdic" >&6
+{ $as_echo "$as_me:$LINENO: result: $cf_cv_ebcdic" >&5
+$as_echo "$cf_cv_ebcdic" >&6; }
 case "$cf_cv_ebcdic" in  #(vi
     yes)       cat >>confdefs.h <<\_ACEOF
 #define EBCDIC 1
@@ -3575,8 +4338,8 @@ esac
 
 
 if test "$cf_cv_ebcdic" = "yes"; then
-echo "$as_me:$LINENO: checking for OS/390 Unix" >&5
-echo $ECHO_N "checking for OS/390 Unix... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for OS/390 Unix" >&5
+$as_echo_n "checking for OS/390 Unix... " >&6; }
 case `uname` in
     OS/390)    OS390Unix="yes";
                                                                                if test "$CC" = "cc"; then
@@ -3602,32 +4365,32 @@ case `uname` in
                  exit 1
                fi
                CFLAGS="$CFLAGS -D_ALL_SOURCE"; LDFLAGS="$LDFLAGS -Wl,EDIT=NO"
-               echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+               { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
                ;;
     *)         OS390Unix="no";
-               echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
                ;;
 esac
 fi
 
-echo "$as_me:$LINENO: checking --disable-selinux argument" >&5
-echo $ECHO_N "checking --disable-selinux argument... $ECHO_C" >&6
-# Check whether --enable-selinux or --disable-selinux was given.
+{ $as_echo "$as_me:$LINENO: checking --disable-selinux argument" >&5
+$as_echo_n "checking --disable-selinux argument... " >&6; }
+# Check whether --enable-selinux was given.
 if test "${enable_selinux+set}" = set; then
-  enableval="$enable_selinux"
-
+  enableval=$enable_selinux;
 else
   enable_selinux="yes"
-fi;
+fi
+
 if test "$enable_selinux" = "yes"; then
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-  echo "$as_me:$LINENO: checking for is_selinux_enabled in -lselinux" >&5
-echo $ECHO_N "checking for is_selinux_enabled in -lselinux... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+  { $as_echo "$as_me:$LINENO: checking for is_selinux_enabled in -lselinux" >&5
+$as_echo_n "checking for is_selinux_enabled in -lselinux... " >&6; }
 if test "${ac_cv_lib_selinux_is_selinux_enabled+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lselinux  $LIBS"
@@ -3638,56 +4401,57 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char is_selinux_enabled ();
 int
 main ()
 {
-is_selinux_enabled ();
+return is_selinux_enabled ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_selinux_is_selinux_enabled=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_selinux_is_selinux_enabled=no
+       ac_cv_lib_selinux_is_selinux_enabled=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5
-echo "${ECHO_T}$ac_cv_lib_selinux_is_selinux_enabled" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_selinux_is_selinux_enabled" >&5
+$as_echo "$ac_cv_lib_selinux_is_selinux_enabled" >&6; }
 if test $ac_cv_lib_selinux_is_selinux_enabled = yes; then
   LIBS="$LIBS -lselinux"
           cat >>confdefs.h <<\_ACEOF
@@ -3697,23 +4461,23 @@ _ACEOF
 fi
 
 else
-   echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+   { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
 
 
-echo "$as_me:$LINENO: checking --with-features argument" >&5
-echo $ECHO_N "checking --with-features argument... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking --with-features argument" >&5
+$as_echo_n "checking --with-features argument... " >&6; }
 
-# Check whether --with-features or --without-features was given.
+# Check whether --with-features was given.
 if test "${with_features+set}" = set; then
-  withval="$with_features"
-  features="$withval"; echo "$as_me:$LINENO: result: $features" >&5
-echo "${ECHO_T}$features" >&6
+  withval=$with_features; features="$withval"; { $as_echo "$as_me:$LINENO: result: $features" >&5
+$as_echo "$features" >&6; }
 else
-  features="normal"; echo "$as_me:$LINENO: result: Defaulting to normal" >&5
-echo "${ECHO_T}Defaulting to normal" >&6
-fi;
+  features="normal"; { $as_echo "$as_me:$LINENO: result: Defaulting to normal" >&5
+$as_echo "Defaulting to normal" >&6; }
+fi
+
 
 dovimdiff=""
 dogvimdiff=""
@@ -3741,111 +4505,111 @@ _ACEOF
 _ACEOF
  dovimdiff="installvimdiff";
                        dogvimdiff="installgvimdiff" ;;
-  *)           echo "$as_me:$LINENO: result: Sorry, $features is not supported" >&5
-echo "${ECHO_T}Sorry, $features is not supported" >&6 ;;
+  *)           { $as_echo "$as_me:$LINENO: result: Sorry, $features is not supported" >&5
+$as_echo "Sorry, $features is not supported" >&6; } ;;
 esac
 
 
 
 
-echo "$as_me:$LINENO: checking --with-compiledby argument" >&5
-echo $ECHO_N "checking --with-compiledby argument... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking --with-compiledby argument" >&5
+$as_echo_n "checking --with-compiledby argument... " >&6; }
 
-# Check whether --with-compiledby or --without-compiledby was given.
+# Check whether --with-compiledby was given.
 if test "${with_compiledby+set}" = set; then
-  withval="$with_compiledby"
-  compiledby="$withval"; echo "$as_me:$LINENO: result: $withval" >&5
-echo "${ECHO_T}$withval" >&6
+  withval=$with_compiledby; compiledby="$withval"; { $as_echo "$as_me:$LINENO: result: $withval" >&5
+$as_echo "$withval" >&6; }
 else
-  compiledby=""; echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi;
+  compiledby=""; { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
 
-echo "$as_me:$LINENO: checking --disable-xsmp argument" >&5
-echo $ECHO_N "checking --disable-xsmp argument... $ECHO_C" >&6
-# Check whether --enable-xsmp or --disable-xsmp was given.
-if test "${enable_xsmp+set}" = set; then
-  enableval="$enable_xsmp"
 
+{ $as_echo "$as_me:$LINENO: checking --disable-xsmp argument" >&5
+$as_echo_n "checking --disable-xsmp argument... " >&6; }
+# Check whether --enable-xsmp was given.
+if test "${enable_xsmp+set}" = set; then
+  enableval=$enable_xsmp;
 else
   enable_xsmp="yes"
-fi;
+fi
+
 
 if test "$enable_xsmp" = "yes"; then
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-  echo "$as_me:$LINENO: checking --disable-xsmp-interact argument" >&5
-echo $ECHO_N "checking --disable-xsmp-interact argument... $ECHO_C" >&6
-  # Check whether --enable-xsmp-interact or --disable-xsmp-interact was given.
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+  { $as_echo "$as_me:$LINENO: checking --disable-xsmp-interact argument" >&5
+$as_echo_n "checking --disable-xsmp-interact argument... " >&6; }
+  # Check whether --enable-xsmp-interact was given.
 if test "${enable_xsmp_interact+set}" = set; then
-  enableval="$enable_xsmp_interact"
-
+  enableval=$enable_xsmp_interact;
 else
   enable_xsmp_interact="yes"
-fi;
+fi
+
   if test "$enable_xsmp_interact" = "yes"; then
-    echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+    { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
     cat >>confdefs.h <<\_ACEOF
 #define USE_XSMP_INTERACT 1
 _ACEOF
 
   else
-    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+    { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
   fi
 else
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking --enable-mzschemeinterp argument" >&5
-echo $ECHO_N "checking --enable-mzschemeinterp argument... $ECHO_C" >&6
-# Check whether --enable-mzschemeinterp or --disable-mzschemeinterp was given.
+{ $as_echo "$as_me:$LINENO: checking --enable-mzschemeinterp argument" >&5
+$as_echo_n "checking --enable-mzschemeinterp argument... " >&6; }
+# Check whether --enable-mzschemeinterp was given.
 if test "${enable_mzschemeinterp+set}" = set; then
-  enableval="$enable_mzschemeinterp"
-
+  enableval=$enable_mzschemeinterp;
 else
   enable_mzschemeinterp="no"
-fi;
-echo "$as_me:$LINENO: result: $enable_mzschemeinterp" >&5
-echo "${ECHO_T}$enable_mzschemeinterp" >&6
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $enable_mzschemeinterp" >&5
+$as_echo "$enable_mzschemeinterp" >&6; }
 
 if test "$enable_mzschemeinterp" = "yes"; then
 
 
-  echo "$as_me:$LINENO: checking --with-plthome argument" >&5
-echo $ECHO_N "checking --with-plthome argument... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking --with-plthome argument" >&5
+$as_echo_n "checking --with-plthome argument... " >&6; }
 
-# Check whether --with-plthome or --without-plthome was given.
+# Check whether --with-plthome was given.
 if test "${with_plthome+set}" = set; then
-  withval="$with_plthome"
-  with_plthome="$withval"; echo "$as_me:$LINENO: result: $with_plthome" >&5
-echo "${ECHO_T}$with_plthome" >&6
+  withval=$with_plthome; with_plthome="$withval"; { $as_echo "$as_me:$LINENO: result: $with_plthome" >&5
+$as_echo "$with_plthome" >&6; }
 else
-  with_plthome="";echo "$as_me:$LINENO: result: \"no\"" >&5
-echo "${ECHO_T}\"no\"" >&6
-fi;
+  with_plthome="";{ $as_echo "$as_me:$LINENO: result: \"no\"" >&5
+$as_echo "\"no\"" >&6; }
+fi
+
 
   if test "X$with_plthome" != "X"; then
        vi_cv_path_mzscheme_pfx="$with_plthome"
   else
-    echo "$as_me:$LINENO: checking PLTHOME environment var" >&5
-echo $ECHO_N "checking PLTHOME environment var... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking PLTHOME environment var" >&5
+$as_echo_n "checking PLTHOME environment var... " >&6; }
     if test "X$PLTHOME" != "X"; then
-       echo "$as_me:$LINENO: result: \"$PLTHOME\"" >&5
-echo "${ECHO_T}\"$PLTHOME\"" >&6
+       { $as_echo "$as_me:$LINENO: result: \"$PLTHOME\"" >&5
+$as_echo "\"$PLTHOME\"" >&6; }
        vi_cv_path_mzscheme_pfx="$PLTHOME"
     else
-       echo "$as_me:$LINENO: result: \"not set\"" >&5
-echo "${ECHO_T}\"not set\"" >&6
+       { $as_echo "$as_me:$LINENO: result: \"not set\"" >&5
+$as_echo "\"not set\"" >&6; }
                # Extract the first word of "mzscheme", so it can be a program name with args.
 set dummy mzscheme; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_vi_cv_path_mzscheme+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $vi_cv_path_mzscheme in
   [\\/]* | ?:[\\/]*)
@@ -3858,28 +4622,29 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_vi_cv_path_mzscheme="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   ;;
 esac
 fi
 vi_cv_path_mzscheme=$ac_cv_path_vi_cv_path_mzscheme
-
 if test -n "$vi_cv_path_mzscheme"; then
-  echo "$as_me:$LINENO: result: $vi_cv_path_mzscheme" >&5
-echo "${ECHO_T}$vi_cv_path_mzscheme" >&6
+  { $as_echo "$as_me:$LINENO: result: $vi_cv_path_mzscheme" >&5
+$as_echo "$vi_cv_path_mzscheme" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
+
                        if test "X$vi_cv_path_mzscheme" != "X"; then
          lsout=`ls -l $vi_cv_path_mzscheme`
          if echo "$lsout" | grep -e '->' >/dev/null 2>/dev/null; then
@@ -3888,10 +4653,10 @@ fi
        fi
 
        if test "X$vi_cv_path_mzscheme" != "X"; then
-                   echo "$as_me:$LINENO: checking MzScheme install prefix" >&5
-echo $ECHO_N "checking MzScheme install prefix... $ECHO_C" >&6
+                   { $as_echo "$as_me:$LINENO: checking MzScheme install prefix" >&5
+$as_echo_n "checking MzScheme install prefix... " >&6; }
 if test "${vi_cv_path_mzscheme_pfx+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
    vi_cv_path_mzscheme_pfx=`
            ${vi_cv_path_mzscheme} -evm \
@@ -3900,8 +4665,8 @@ else
                (lambda () (split-path (find-system-path (quote exec-file)))) \
                (lambda (base name must-be-dir?) base)) (quote up))))"`
 fi
-echo "$as_me:$LINENO: result: $vi_cv_path_mzscheme_pfx" >&5
-echo "${ECHO_T}$vi_cv_path_mzscheme_pfx" >&6
+{ $as_echo "$as_me:$LINENO: result: $vi_cv_path_mzscheme_pfx" >&5
+$as_echo "$vi_cv_path_mzscheme_pfx" >&6; }
                    vi_cv_path_mzscheme_pfx=`echo "$vi_cv_path_mzscheme_pfx" | sed 's+/$++'`
        fi
     fi
@@ -3909,23 +4674,23 @@ echo "${ECHO_T}$vi_cv_path_mzscheme_pfx" >&6
 
   SCHEME_INC=
   if test "X$vi_cv_path_mzscheme_pfx" != "X"; then
-    echo "$as_me:$LINENO: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include" >&5
-echo $ECHO_N "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include" >&5
+$as_echo_n "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/include... " >&6; }
     if test -f $vi_cv_path_mzscheme_pfx/include/scheme.h; then
-      echo "$as_me:$LINENO: result: \"yes\"" >&5
-echo "${ECHO_T}\"yes\"" >&6
+      { $as_echo "$as_me:$LINENO: result: \"yes\"" >&5
+$as_echo "\"yes\"" >&6; }
     else
-      echo "$as_me:$LINENO: result: \"no\"" >&5
-echo "${ECHO_T}\"no\"" >&6
-      echo "$as_me:$LINENO: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/plt/include" >&5
-echo $ECHO_N "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/plt/include... $ECHO_C" >&6
+      { $as_echo "$as_me:$LINENO: result: \"no\"" >&5
+$as_echo "\"no\"" >&6; }
+      { $as_echo "$as_me:$LINENO: checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/plt/include" >&5
+$as_echo_n "checking if scheme.h can be found in $vi_cv_path_mzscheme_pfx/plt/include... " >&6; }
       if test -f $vi_cv_path_mzscheme_pfx/include/plt/scheme.h; then
-       echo "$as_me:$LINENO: result: \"yes\"" >&5
-echo "${ECHO_T}\"yes\"" >&6
+       { $as_echo "$as_me:$LINENO: result: \"yes\"" >&5
+$as_echo "\"yes\"" >&6; }
        SCHEME_INC=/plt
       else
-       echo "$as_me:$LINENO: result: \"no\"" >&5
-echo "${ECHO_T}\"no\"" >&6
+       { $as_echo "$as_me:$LINENO: result: \"no\"" >&5
+$as_echo "\"no\"" >&6; }
        vi_cv_path_mzscheme_pfx=
       fi
     fi
@@ -3966,25 +4731,25 @@ _ACEOF
 fi
 
 
-echo "$as_me:$LINENO: checking --enable-perlinterp argument" >&5
-echo $ECHO_N "checking --enable-perlinterp argument... $ECHO_C" >&6
-# Check whether --enable-perlinterp or --disable-perlinterp was given.
+{ $as_echo "$as_me:$LINENO: checking --enable-perlinterp argument" >&5
+$as_echo_n "checking --enable-perlinterp argument... " >&6; }
+# Check whether --enable-perlinterp was given.
 if test "${enable_perlinterp+set}" = set; then
-  enableval="$enable_perlinterp"
-
+  enableval=$enable_perlinterp;
 else
   enable_perlinterp="no"
-fi;
-echo "$as_me:$LINENO: result: $enable_perlinterp" >&5
-echo "${ECHO_T}$enable_perlinterp" >&6
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $enable_perlinterp" >&5
+$as_echo "$enable_perlinterp" >&6; }
 if test "$enable_perlinterp" = "yes"; then
 
   # Extract the first word of "perl", so it can be a program name with args.
 set dummy perl; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_vi_cv_path_perl+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $vi_cv_path_perl in
   [\\/]* | ?:[\\/]*)
@@ -3997,30 +4762,31 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_vi_cv_path_perl="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   ;;
 esac
 fi
 vi_cv_path_perl=$ac_cv_path_vi_cv_path_perl
-
 if test -n "$vi_cv_path_perl"; then
-  echo "$as_me:$LINENO: result: $vi_cv_path_perl" >&5
-echo "${ECHO_T}$vi_cv_path_perl" >&6
+  { $as_echo "$as_me:$LINENO: result: $vi_cv_path_perl" >&5
+$as_echo "$vi_cv_path_perl" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+
   if test "X$vi_cv_path_perl" != "X"; then
-    echo "$as_me:$LINENO: checking Perl version" >&5
-echo $ECHO_N "checking Perl version... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking Perl version" >&5
+$as_echo_n "checking Perl version... " >&6; }
     if $vi_cv_path_perl -e 'require 5.003_01' >/dev/null 2>/dev/null; then
      eval `$vi_cv_path_perl -V:usethreads`
      if test "X$usethreads" = "XUNKNOWN" -o "X$usethreads" = "Xundef"; then
@@ -4032,18 +4798,18 @@ echo $ECHO_N "checking Perl version... $ECHO_C" >&6
           badthreads=no
         else
           badthreads=yes
-          echo "$as_me:$LINENO: result: >>> Perl > 5.6 with 5.5 threads cannot be used <<<" >&5
-echo "${ECHO_T}>>> Perl > 5.6 with 5.5 threads cannot be used <<<" >&6
+          { $as_echo "$as_me:$LINENO: result: >>> Perl > 5.6 with 5.5 threads cannot be used <<<" >&5
+$as_echo ">>> Perl > 5.6 with 5.5 threads cannot be used <<<" >&6; }
         fi
        else
         badthreads=yes
-        echo "$as_me:$LINENO: result: >>> Perl 5.5 with threads cannot be used <<<" >&5
-echo "${ECHO_T}>>> Perl 5.5 with threads cannot be used <<<" >&6
+        { $as_echo "$as_me:$LINENO: result: >>> Perl 5.5 with threads cannot be used <<<" >&5
+$as_echo ">>> Perl 5.5 with threads cannot be used <<<" >&6; }
        fi
      fi
      if test $badthreads = no; then
-      echo "$as_me:$LINENO: result: OK" >&5
-echo "${ECHO_T}OK" >&6
+      { $as_echo "$as_me:$LINENO: result: OK" >&5
+$as_echo "OK" >&6; }
       eval `$vi_cv_path_perl -V:shrpenv`
       if test "X$shrpenv" = "XUNKNOWN"; then # pre 5.003_04
        shrpenv=""
@@ -4058,8 +4824,8 @@ echo "${ECHO_T}OK" >&6
                   perlldflags=`cd $srcdir; $vi_cv_path_perl -MExtUtils::Embed \
                -e 'ccdlflags' | sed -e 's/-bE:perl.exp//'`
 
-                  echo "$as_me:$LINENO: checking if compile and link flags for Perl are sane" >&5
-echo $ECHO_N "checking if compile and link flags for Perl are sane... $ECHO_C" >&6
+                  { $as_echo "$as_me:$LINENO: checking if compile and link flags for Perl are sane" >&5
+$as_echo_n "checking if compile and link flags for Perl are sane... " >&6; }
       cflags_save=$CFLAGS
       libs_save=$LIBS
       ldflags_save=$LDFLAGS
@@ -4082,37 +4848,38 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; perl_ok=yes
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; perl_ok=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no: PERL DISABLED" >&5
-echo "${ECHO_T}no: PERL DISABLED" >&6; perl_ok=no
+       { $as_echo "$as_me:$LINENO: result: no: PERL DISABLED" >&5
+$as_echo "no: PERL DISABLED" >&6; }; perl_ok=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
       CFLAGS=$cflags_save
       LIBS=$libs_save
@@ -4135,8 +4902,8 @@ _ACEOF
       fi
      fi
     else
-      echo "$as_me:$LINENO: result: >>> too old; need Perl version 5.003_01 or later <<<" >&5
-echo "${ECHO_T}>>> too old; need Perl version 5.003_01 or later <<<" >&6
+      { $as_echo "$as_me:$LINENO: result: >>> too old; need Perl version 5.003_01 or later <<<" >&5
+$as_echo ">>> too old; need Perl version 5.003_01 or later <<<" >&6; }
     fi
   fi
 
@@ -4167,24 +4934,24 @@ fi
 
 
 
-echo "$as_me:$LINENO: checking --enable-pythoninterp argument" >&5
-echo $ECHO_N "checking --enable-pythoninterp argument... $ECHO_C" >&6
-# Check whether --enable-pythoninterp or --disable-pythoninterp was given.
+{ $as_echo "$as_me:$LINENO: checking --enable-pythoninterp argument" >&5
+$as_echo_n "checking --enable-pythoninterp argument... " >&6; }
+# Check whether --enable-pythoninterp was given.
 if test "${enable_pythoninterp+set}" = set; then
-  enableval="$enable_pythoninterp"
-
+  enableval=$enable_pythoninterp;
 else
   enable_pythoninterp="no"
-fi;
-echo "$as_me:$LINENO: result: $enable_pythoninterp" >&5
-echo "${ECHO_T}$enable_pythoninterp" >&6
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $enable_pythoninterp" >&5
+$as_echo "$enable_pythoninterp" >&6; }
 if test "$enable_pythoninterp" = "yes"; then
     # Extract the first word of "python", so it can be a program name with args.
 set dummy python; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_vi_cv_path_python+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $vi_cv_path_python in
   [\\/]* | ?:[\\/]*)
@@ -4197,76 +4964,77 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_vi_cv_path_python="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   ;;
 esac
 fi
 vi_cv_path_python=$ac_cv_path_vi_cv_path_python
-
 if test -n "$vi_cv_path_python"; then
-  echo "$as_me:$LINENO: result: $vi_cv_path_python" >&5
-echo "${ECHO_T}$vi_cv_path_python" >&6
+  { $as_echo "$as_me:$LINENO: result: $vi_cv_path_python" >&5
+$as_echo "$vi_cv_path_python" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+
   if test "X$vi_cv_path_python" != "X"; then
 
-        echo "$as_me:$LINENO: checking Python version" >&5
-echo $ECHO_N "checking Python version... $ECHO_C" >&6
+        { $as_echo "$as_me:$LINENO: checking Python version" >&5
+$as_echo_n "checking Python version... " >&6; }
 if test "${vi_cv_var_python_version+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   vi_cv_var_python_version=`
            ${vi_cv_path_python} -c 'import sys; print sys.version[:3]'`
 
 fi
-echo "$as_me:$LINENO: result: $vi_cv_var_python_version" >&5
-echo "${ECHO_T}$vi_cv_var_python_version" >&6
+{ $as_echo "$as_me:$LINENO: result: $vi_cv_var_python_version" >&5
+$as_echo "$vi_cv_var_python_version" >&6; }
 
-        echo "$as_me:$LINENO: checking Python is 1.4 or better" >&5
-echo $ECHO_N "checking Python is 1.4 or better... $ECHO_C" >&6
+        { $as_echo "$as_me:$LINENO: checking Python is 1.4 or better" >&5
+$as_echo_n "checking Python is 1.4 or better... " >&6; }
     if ${vi_cv_path_python} -c \
        "import sys; sys.exit(${vi_cv_var_python_version} < 1.4)"
     then
-      echo "$as_me:$LINENO: result: yep" >&5
-echo "${ECHO_T}yep" >&6
+      { $as_echo "$as_me:$LINENO: result: yep" >&5
+$as_echo "yep" >&6; }
 
-            echo "$as_me:$LINENO: checking Python's install prefix" >&5
-echo $ECHO_N "checking Python's install prefix... $ECHO_C" >&6
+            { $as_echo "$as_me:$LINENO: checking Python's install prefix" >&5
+$as_echo_n "checking Python's install prefix... " >&6; }
 if test "${vi_cv_path_python_pfx+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
    vi_cv_path_python_pfx=`
            ${vi_cv_path_python} -c \
                "import sys; print sys.prefix"`
 fi
-echo "$as_me:$LINENO: result: $vi_cv_path_python_pfx" >&5
-echo "${ECHO_T}$vi_cv_path_python_pfx" >&6
+{ $as_echo "$as_me:$LINENO: result: $vi_cv_path_python_pfx" >&5
+$as_echo "$vi_cv_path_python_pfx" >&6; }
 
-            echo "$as_me:$LINENO: checking Python's execution prefix" >&5
-echo $ECHO_N "checking Python's execution prefix... $ECHO_C" >&6
+            { $as_echo "$as_me:$LINENO: checking Python's execution prefix" >&5
+$as_echo_n "checking Python's execution prefix... " >&6; }
 if test "${vi_cv_path_python_epfx+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
    vi_cv_path_python_epfx=`
            ${vi_cv_path_python} -c \
                "import sys; print sys.exec_prefix"`
 fi
-echo "$as_me:$LINENO: result: $vi_cv_path_python_epfx" >&5
-echo "${ECHO_T}$vi_cv_path_python_epfx" >&6
+{ $as_echo "$as_me:$LINENO: result: $vi_cv_path_python_epfx" >&5
+$as_echo "$vi_cv_path_python_epfx" >&6; }
 
 
       if test "${vi_cv_path_pythonpath+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
    vi_cv_path_pythonpath=`
            unset PYTHONPATH;
@@ -4277,16 +5045,16 @@ fi
 
 
 
-# Check whether --with-python-config-dir or --without-python-config-dir was given.
+# Check whether --with-python-config-dir was given.
 if test "${with_python_config_dir+set}" = set; then
-  withval="$with_python_config_dir"
-   vi_cv_path_python_conf="${withval}"
-fi;
+  withval=$with_python_config_dir;  vi_cv_path_python_conf="${withval}"
+fi
+
 
-      echo "$as_me:$LINENO: checking Python's configuration directory" >&5
-echo $ECHO_N "checking Python's configuration directory... $ECHO_C" >&6
+      { $as_echo "$as_me:$LINENO: checking Python's configuration directory" >&5
+$as_echo_n "checking Python's configuration directory... " >&6; }
 if test "${vi_cv_path_python_conf+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
 
        vi_cv_path_python_conf=
@@ -4300,18 +5068,18 @@ else
        done
 
 fi
-echo "$as_me:$LINENO: result: $vi_cv_path_python_conf" >&5
-echo "${ECHO_T}$vi_cv_path_python_conf" >&6
+{ $as_echo "$as_me:$LINENO: result: $vi_cv_path_python_conf" >&5
+$as_echo "$vi_cv_path_python_conf" >&6; }
 
       PYTHON_CONFDIR="${vi_cv_path_python_conf}"
 
       if test "X$PYTHON_CONFDIR" = "X"; then
-       echo "$as_me:$LINENO: result: can't find it!" >&5
-echo "${ECHO_T}can't find it!" >&6
+       { $as_echo "$as_me:$LINENO: result: can't find it!" >&5
+$as_echo "can't find it!" >&6; }
       else
 
                        if test "${vi_cv_path_python_plibs+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
 
            tmp_mkf="/tmp/Makefile-conf$$"
@@ -4357,8 +5125,8 @@ fi
        fi
        PYTHON_GETPATH_CFLAGS="-DPYTHONPATH='\"${vi_cv_path_pythonpath}\"' -DPREFIX='\"${vi_cv_path_python_pfx}\"' -DEXEC_PREFIX='\"${vi_cv_path_python_epfx}\"'"
 
-                                                               echo "$as_me:$LINENO: checking if -pthread should be used" >&5
-echo $ECHO_N "checking if -pthread should be used... $ECHO_C" >&6
+                                                               { $as_echo "$as_me:$LINENO: checking if -pthread should be used" >&5
+$as_echo_n "checking if -pthread should be used... " >&6; }
        threadsafe_flag=
        thread_lib=
                if test "`(uname) 2>/dev/null`" != Darwin; then
@@ -4389,47 +5157,48 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; PYTHON_CFLAGS="$PYTHON_CFLAGS $threadsafe_flag"
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; PYTHON_CFLAGS="$PYTHON_CFLAGS $threadsafe_flag"
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; LIBS=$libs_save_old
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }; LIBS=$libs_save_old
 
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
          CFLAGS=$cflags_save
        else
-         echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+         { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
        fi
 
-                       echo "$as_me:$LINENO: checking if compile and link flags for Python are sane" >&5
-echo $ECHO_N "checking if compile and link flags for Python are sane... $ECHO_C" >&6
+                       { $as_echo "$as_me:$LINENO: checking if compile and link flags for Python are sane" >&5
+$as_echo_n "checking if compile and link flags for Python are sane... " >&6; }
        cflags_save=$CFLAGS
        libs_save=$LIBS
        CFLAGS="$CFLAGS $PYTHON_CFLAGS"
@@ -4450,37 +5219,38 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; python_ok=yes
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; python_ok=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no: PYTHON DISABLED" >&5
-echo "${ECHO_T}no: PYTHON DISABLED" >&6; python_ok=no
+       { $as_echo "$as_me:$LINENO: result: no: PYTHON DISABLED" >&5
+$as_echo "no: PYTHON DISABLED" >&6; }; python_ok=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
        CFLAGS=$cflags_save
        LIBS=$libs_save
@@ -4499,8 +5269,8 @@ _ACEOF
 
       fi
     else
-      echo "$as_me:$LINENO: result: too old" >&5
-echo "${ECHO_T}too old" >&6
+      { $as_echo "$as_me:$LINENO: result: too old" >&5
+$as_echo "too old" >&6; }
     fi
   fi
 fi
@@ -4511,38 +5281,38 @@ fi
 
 
 
-echo "$as_me:$LINENO: checking --enable-tclinterp argument" >&5
-echo $ECHO_N "checking --enable-tclinterp argument... $ECHO_C" >&6
-# Check whether --enable-tclinterp or --disable-tclinterp was given.
+{ $as_echo "$as_me:$LINENO: checking --enable-tclinterp argument" >&5
+$as_echo_n "checking --enable-tclinterp argument... " >&6; }
+# Check whether --enable-tclinterp was given.
 if test "${enable_tclinterp+set}" = set; then
-  enableval="$enable_tclinterp"
-
+  enableval=$enable_tclinterp;
 else
   enable_tclinterp="no"
-fi;
-echo "$as_me:$LINENO: result: $enable_tclinterp" >&5
-echo "${ECHO_T}$enable_tclinterp" >&6
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $enable_tclinterp" >&5
+$as_echo "$enable_tclinterp" >&6; }
 
 if test "$enable_tclinterp" = "yes"; then
 
-    echo "$as_me:$LINENO: checking --with-tclsh argument" >&5
-echo $ECHO_N "checking --with-tclsh argument... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking --with-tclsh argument" >&5
+$as_echo_n "checking --with-tclsh argument... " >&6; }
 
-# Check whether --with-tclsh or --without-tclsh was given.
+# Check whether --with-tclsh was given.
 if test "${with_tclsh+set}" = set; then
-  withval="$with_tclsh"
-  tclsh_name="$withval"; echo "$as_me:$LINENO: result: $tclsh_name" >&5
-echo "${ECHO_T}$tclsh_name" >&6
+  withval=$with_tclsh; tclsh_name="$withval"; { $as_echo "$as_me:$LINENO: result: $tclsh_name" >&5
+$as_echo "$tclsh_name" >&6; }
 else
-  tclsh_name="tclsh8.5"; echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi;
+  tclsh_name="tclsh8.5"; { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
   # Extract the first word of "$tclsh_name", so it can be a program name with args.
 set dummy $tclsh_name; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $vi_cv_path_tcl in
   [\\/]* | ?:[\\/]*)
@@ -4555,37 +5325,38 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   ;;
 esac
 fi
 vi_cv_path_tcl=$ac_cv_path_vi_cv_path_tcl
-
 if test -n "$vi_cv_path_tcl"; then
-  echo "$as_me:$LINENO: result: $vi_cv_path_tcl" >&5
-echo "${ECHO_T}$vi_cv_path_tcl" >&6
+  { $as_echo "$as_me:$LINENO: result: $vi_cv_path_tcl" >&5
+$as_echo "$vi_cv_path_tcl" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
 
+
     if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.5"; then
     tclsh_name="tclsh8.4"
     # Extract the first word of "$tclsh_name", so it can be a program name with args.
 set dummy $tclsh_name; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $vi_cv_path_tcl in
   [\\/]* | ?:[\\/]*)
@@ -4598,36 +5369,37 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   ;;
 esac
 fi
 vi_cv_path_tcl=$ac_cv_path_vi_cv_path_tcl
-
 if test -n "$vi_cv_path_tcl"; then
-  echo "$as_me:$LINENO: result: $vi_cv_path_tcl" >&5
-echo "${ECHO_T}$vi_cv_path_tcl" >&6
+  { $as_echo "$as_me:$LINENO: result: $vi_cv_path_tcl" >&5
+$as_echo "$vi_cv_path_tcl" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+
   fi
   if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.4"; then
     tclsh_name="tclsh8.2"
     # Extract the first word of "$tclsh_name", so it can be a program name with args.
 set dummy $tclsh_name; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $vi_cv_path_tcl in
   [\\/]* | ?:[\\/]*)
@@ -4640,36 +5412,37 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   ;;
 esac
 fi
 vi_cv_path_tcl=$ac_cv_path_vi_cv_path_tcl
-
 if test -n "$vi_cv_path_tcl"; then
-  echo "$as_me:$LINENO: result: $vi_cv_path_tcl" >&5
-echo "${ECHO_T}$vi_cv_path_tcl" >&6
+  { $as_echo "$as_me:$LINENO: result: $vi_cv_path_tcl" >&5
+$as_echo "$vi_cv_path_tcl" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+
   fi
   if test "X$vi_cv_path_tcl" = "X" -a $tclsh_name = "tclsh8.2"; then
     tclsh_name="tclsh8.0"
     # Extract the first word of "$tclsh_name", so it can be a program name with args.
 set dummy $tclsh_name; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $vi_cv_path_tcl in
   [\\/]* | ?:[\\/]*)
@@ -4682,36 +5455,37 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   ;;
 esac
 fi
 vi_cv_path_tcl=$ac_cv_path_vi_cv_path_tcl
-
 if test -n "$vi_cv_path_tcl"; then
-  echo "$as_me:$LINENO: result: $vi_cv_path_tcl" >&5
-echo "${ECHO_T}$vi_cv_path_tcl" >&6
+  { $as_echo "$as_me:$LINENO: result: $vi_cv_path_tcl" >&5
+$as_echo "$vi_cv_path_tcl" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+
   fi
     if test "X$vi_cv_path_tcl" = "X"; then
     tclsh_name="tclsh"
     # Extract the first word of "$tclsh_name", so it can be a program name with args.
 set dummy $tclsh_name; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_vi_cv_path_tcl+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $vi_cv_path_tcl in
   [\\/]* | ?:[\\/]*)
@@ -4724,61 +5498,62 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_vi_cv_path_tcl="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   ;;
 esac
 fi
 vi_cv_path_tcl=$ac_cv_path_vi_cv_path_tcl
-
 if test -n "$vi_cv_path_tcl"; then
-  echo "$as_me:$LINENO: result: $vi_cv_path_tcl" >&5
-echo "${ECHO_T}$vi_cv_path_tcl" >&6
+  { $as_echo "$as_me:$LINENO: result: $vi_cv_path_tcl" >&5
+$as_echo "$vi_cv_path_tcl" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+
   fi
   if test "X$vi_cv_path_tcl" != "X"; then
-    echo "$as_me:$LINENO: checking Tcl version" >&5
-echo $ECHO_N "checking Tcl version... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking Tcl version" >&5
+$as_echo_n "checking Tcl version... " >&6; }
     if echo 'exit [expr [info tclversion] < 8.0]' | $vi_cv_path_tcl - ; then
       tclver=`echo 'puts [info tclversion]' | $vi_cv_path_tcl -`
-      echo "$as_me:$LINENO: result: $tclver - OK" >&5
-echo "${ECHO_T}$tclver - OK" >&6;
+      { $as_echo "$as_me:$LINENO: result: $tclver - OK" >&5
+$as_echo "$tclver - OK" >&6; };
       tclloc=`echo 'set l [info library];set i [string last lib $l];incr i -2;puts [string range $l 0 $i]' | $vi_cv_path_tcl -`
 
-      echo "$as_me:$LINENO: checking for location of Tcl include" >&5
-echo $ECHO_N "checking for location of Tcl include... $ECHO_C" >&6
+      { $as_echo "$as_me:$LINENO: checking for location of Tcl include" >&5
+$as_echo_n "checking for location of Tcl include... " >&6; }
       if test "x$MACOSX" != "xyes"; then
-       tclinc="$tclloc/include $tclloc/include/tcl $tclloc/include/tcl$tclver /usr/local/include /usr/include /usr/include/tcl$tclver"
+       tclinc="$tclloc/include $tclloc/include/tcl $tclloc/include/tcl$tclver /usr/local/include /usr/local/include/tcl$tclver /usr/include /usr/include/tcl$tclver"
       else
                tclinc="/System/Library/Frameworks/Tcl.framework/Headers"
       fi
       TCL_INC=
       for try in $tclinc; do
        if test -f "$try/tcl.h"; then
-         echo "$as_me:$LINENO: result: $try/tcl.h" >&5
-echo "${ECHO_T}$try/tcl.h" >&6
+         { $as_echo "$as_me:$LINENO: result: $try/tcl.h" >&5
+$as_echo "$try/tcl.h" >&6; }
          TCL_INC=$try
          break
        fi
       done
       if test -z "$TCL_INC"; then
-       echo "$as_me:$LINENO: result: <not found>" >&5
-echo "${ECHO_T}<not found>" >&6
+       { $as_echo "$as_me:$LINENO: result: <not found>" >&5
+$as_echo "<not found>" >&6; }
        SKIP_TCL=YES
       fi
       if test -z "$SKIP_TCL"; then
-       echo "$as_me:$LINENO: checking for location of tclConfig.sh script" >&5
-echo $ECHO_N "checking for location of tclConfig.sh script... $ECHO_C" >&6
+       { $as_echo "$as_me:$LINENO: checking for location of tclConfig.sh script" >&5
+$as_echo_n "checking for location of tclConfig.sh script... " >&6; }
        if test "x$MACOSX" != "xyes"; then
          tclcnf=`echo $tclinc | sed s/include/lib/g`
          tclcnf="$tclcnf `echo $tclinc | sed s/include/lib64/g`"
@@ -4787,8 +5562,8 @@ echo $ECHO_N "checking for location of tclConfig.sh script... $ECHO_C" >&6
        fi
        for try in $tclcnf; do
          if test -f $try/tclConfig.sh; then
-           echo "$as_me:$LINENO: result: $try/tclConfig.sh" >&5
-echo "${ECHO_T}$try/tclConfig.sh" >&6
+           { $as_echo "$as_me:$LINENO: result: $try/tclConfig.sh" >&5
+$as_echo "$try/tclConfig.sh" >&6; }
            . $try/tclConfig.sh
                    TCL_LIBS=`eval echo "$TCL_LIB_SPEC $TCL_LIBS"`
                            TCL_DEFS=`echo $TCL_DEFS | sed -e 's/\\\\ /\\\\X/g' | tr ' ' '\012' | sed -e '/^-[^D]/d' -e '/-D[^_]/d' -e 's/-D_/ -D_/' | tr '\012' ' ' | sed -e 's/\\\\X/\\\\ /g'`
@@ -4796,10 +5571,10 @@ echo "${ECHO_T}$try/tclConfig.sh" >&6
          fi
        done
        if test -z "$TCL_LIBS"; then
-         echo "$as_me:$LINENO: result: <not found>" >&5
-echo "${ECHO_T}<not found>" >&6
-         echo "$as_me:$LINENO: checking for Tcl library by myself" >&5
-echo $ECHO_N "checking for Tcl library by myself... $ECHO_C" >&6
+         { $as_echo "$as_me:$LINENO: result: <not found>" >&5
+$as_echo "<not found>" >&6; }
+         { $as_echo "$as_me:$LINENO: checking for Tcl library by myself" >&5
+$as_echo_n "checking for Tcl library by myself... " >&6; }
          tcllib=`echo $tclinc | sed s/include/lib/g`
          tcllib="$tcllib `echo $tclinc | sed s/include/lib64/g`"
          for ext in .so .a ; do
@@ -4807,8 +5582,8 @@ echo $ECHO_N "checking for Tcl library by myself... $ECHO_C" >&6
              for try in $tcllib ; do
                trylib=tcl$ver$ext
                if test -f $try/lib$trylib ; then
-                 echo "$as_me:$LINENO: result: $try/lib$trylib" >&5
-echo "${ECHO_T}$try/lib$trylib" >&6
+                 { $as_echo "$as_me:$LINENO: result: $try/lib$trylib" >&5
+$as_echo "$try/lib$trylib" >&6; }
                  TCL_LIBS="-L$try -ltcl$ver -ldl -lm"
                  if test "`(uname) 2>/dev/null`" = SunOS &&
                                         uname -r | grep '^5' >/dev/null; then
@@ -4820,8 +5595,8 @@ echo "${ECHO_T}$try/lib$trylib" >&6
            done
          done
          if test -z "$TCL_LIBS"; then
-           echo "$as_me:$LINENO: result: <not found>" >&5
-echo "${ECHO_T}<not found>" >&6
+           { $as_echo "$as_me:$LINENO: result: <not found>" >&5
+$as_echo "<not found>" >&6; }
            SKIP_TCL=YES
          fi
        fi
@@ -4837,8 +5612,8 @@ _ACEOF
        fi
       fi
     else
-      echo "$as_me:$LINENO: result: too old; need Tcl version 8.0 or later" >&5
-echo "${ECHO_T}too old; need Tcl version 8.0 or later" >&6
+      { $as_echo "$as_me:$LINENO: result: too old; need Tcl version 8.0 or later" >&5
+$as_echo "too old; need Tcl version 8.0 or later" >&6; }
     fi
   fi
 fi
@@ -4848,25 +5623,25 @@ fi
 
 
 
-echo "$as_me:$LINENO: checking --enable-rubyinterp argument" >&5
-echo $ECHO_N "checking --enable-rubyinterp argument... $ECHO_C" >&6
-# Check whether --enable-rubyinterp or --disable-rubyinterp was given.
+{ $as_echo "$as_me:$LINENO: checking --enable-rubyinterp argument" >&5
+$as_echo_n "checking --enable-rubyinterp argument... " >&6; }
+# Check whether --enable-rubyinterp was given.
 if test "${enable_rubyinterp+set}" = set; then
-  enableval="$enable_rubyinterp"
-
+  enableval=$enable_rubyinterp;
 else
   enable_rubyinterp="no"
-fi;
-echo "$as_me:$LINENO: result: $enable_rubyinterp" >&5
-echo "${ECHO_T}$enable_rubyinterp" >&6
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $enable_rubyinterp" >&5
+$as_echo "$enable_rubyinterp" >&6; }
 if test "$enable_rubyinterp" = "yes"; then
 
   # Extract the first word of "ruby", so it can be a program name with args.
 set dummy ruby; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_vi_cv_path_ruby+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $vi_cv_path_ruby in
   [\\/]* | ?:[\\/]*)
@@ -4879,39 +5654,40 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_vi_cv_path_ruby="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   ;;
 esac
 fi
 vi_cv_path_ruby=$ac_cv_path_vi_cv_path_ruby
-
 if test -n "$vi_cv_path_ruby"; then
-  echo "$as_me:$LINENO: result: $vi_cv_path_ruby" >&5
-echo "${ECHO_T}$vi_cv_path_ruby" >&6
+  { $as_echo "$as_me:$LINENO: result: $vi_cv_path_ruby" >&5
+$as_echo "$vi_cv_path_ruby" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+
   if test "X$vi_cv_path_ruby" != "X"; then
-    echo "$as_me:$LINENO: checking Ruby version" >&5
-echo $ECHO_N "checking Ruby version... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking Ruby version" >&5
+$as_echo_n "checking Ruby version... " >&6; }
     if $vi_cv_path_ruby -e '(VERSION rescue RUBY_VERSION) >= "1.6.0" or exit 1' >/dev/null 2>/dev/null; then
-      echo "$as_me:$LINENO: result: OK" >&5
-echo "${ECHO_T}OK" >&6
-      echo "$as_me:$LINENO: checking Ruby header files" >&5
-echo $ECHO_N "checking Ruby header files... $ECHO_C" >&6
+      { $as_echo "$as_me:$LINENO: result: OK" >&5
+$as_echo "OK" >&6; }
+      { $as_echo "$as_me:$LINENO: checking Ruby header files" >&5
+$as_echo_n "checking Ruby header files... " >&6; }
       rubyhdrdir=`$vi_cv_path_ruby -r mkmf -e 'print Config::CONFIG["archdir"] || $hdrdir' 2>/dev/null`
       if test "X$rubyhdrdir" != "X"; then
-       echo "$as_me:$LINENO: result: $rubyhdrdir" >&5
-echo "${ECHO_T}$rubyhdrdir" >&6
+       { $as_echo "$as_me:$LINENO: result: $rubyhdrdir" >&5
+$as_echo "$rubyhdrdir" >&6; }
        RUBY_CFLAGS="-I$rubyhdrdir"
        rubylibs=`$vi_cv_path_ruby -r rbconfig -e 'print Config::CONFIG["LIBS"]'`
        if test "X$rubylibs" != "X"; then
@@ -4946,12 +5722,12 @@ echo "${ECHO_T}$rubyhdrdir" >&6
 _ACEOF
 
       else
-       echo "$as_me:$LINENO: result: not found" >&5
-echo "${ECHO_T}not found" >&6
+       { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
       fi
     else
-      echo "$as_me:$LINENO: result: too old; need Ruby version 1.6.0 or later" >&5
-echo "${ECHO_T}too old; need Ruby version 1.6.0 or later" >&6
+      { $as_echo "$as_me:$LINENO: result: too old; need Ruby version 1.6.0 or later" >&5
+$as_echo "too old; need Ruby version 1.6.0 or later" >&6; }
     fi
   fi
 fi
@@ -4961,17 +5737,17 @@ fi
 
 
 
-echo "$as_me:$LINENO: checking --enable-cscope argument" >&5
-echo $ECHO_N "checking --enable-cscope argument... $ECHO_C" >&6
-# Check whether --enable-cscope or --disable-cscope was given.
+{ $as_echo "$as_me:$LINENO: checking --enable-cscope argument" >&5
+$as_echo_n "checking --enable-cscope argument... " >&6; }
+# Check whether --enable-cscope was given.
 if test "${enable_cscope+set}" = set; then
-  enableval="$enable_cscope"
-
+  enableval=$enable_cscope;
 else
   enable_cscope="no"
-fi;
-echo "$as_me:$LINENO: result: $enable_cscope" >&5
-echo "${ECHO_T}$enable_cscope" >&6
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $enable_cscope" >&5
+$as_echo "$enable_cscope" >&6; }
 if test "$enable_cscope" = "yes"; then
   cat >>confdefs.h <<\_ACEOF
 #define FEAT_CSCOPE 1
@@ -4979,17 +5755,17 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking --enable-workshop argument" >&5
-echo $ECHO_N "checking --enable-workshop argument... $ECHO_C" >&6
-# Check whether --enable-workshop or --disable-workshop was given.
+{ $as_echo "$as_me:$LINENO: checking --enable-workshop argument" >&5
+$as_echo_n "checking --enable-workshop argument... " >&6; }
+# Check whether --enable-workshop was given.
 if test "${enable_workshop+set}" = set; then
-  enableval="$enable_workshop"
-
+  enableval=$enable_workshop;
 else
   enable_workshop="no"
-fi;
-echo "$as_me:$LINENO: result: $enable_workshop" >&5
-echo "${ECHO_T}$enable_workshop" >&6
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $enable_workshop" >&5
+$as_echo "$enable_workshop" >&6; }
 if test "$enable_workshop" = "yes"; then
   cat >>confdefs.h <<\_ACEOF
 #define FEAT_SUN_WORKSHOP 1
@@ -5004,23 +5780,23 @@ _ACEOF
   fi
 fi
 
-echo "$as_me:$LINENO: checking --disable-netbeans argument" >&5
-echo $ECHO_N "checking --disable-netbeans argument... $ECHO_C" >&6
-# Check whether --enable-netbeans or --disable-netbeans was given.
+{ $as_echo "$as_me:$LINENO: checking --disable-netbeans argument" >&5
+$as_echo_n "checking --disable-netbeans argument... " >&6; }
+# Check whether --enable-netbeans was given.
 if test "${enable_netbeans+set}" = set; then
-  enableval="$enable_netbeans"
-
+  enableval=$enable_netbeans;
 else
   enable_netbeans="yes"
-fi;
+fi
+
 if test "$enable_netbeans" = "yes"; then
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 
-echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
-echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for socket in -lsocket" >&5
+$as_echo_n "checking for socket in -lsocket... " >&6; }
 if test "${ac_cv_lib_socket_socket+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lsocket  $LIBS"
@@ -5031,56 +5807,57 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char socket ();
 int
 main ()
 {
-socket ();
+return socket ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_socket_socket=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_socket_socket=no
+       ac_cv_lib_socket_socket=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
-echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5
+$as_echo "$ac_cv_lib_socket_socket" >&6; }
 if test $ac_cv_lib_socket_socket = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBSOCKET 1
@@ -5091,10 +5868,10 @@ _ACEOF
 fi
 
 
-echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
-echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
+$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
 if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lnsl  $LIBS"
@@ -5105,56 +5882,57 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char gethostbyname ();
 int
 main ()
 {
-gethostbyname ();
+return gethostbyname ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_nsl_gethostbyname=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_nsl_gethostbyname=no
+       ac_cv_lib_nsl_gethostbyname=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
-echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
+$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
 if test $ac_cv_lib_nsl_gethostbyname = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBNSL 1
@@ -5164,8 +5942,8 @@ _ACEOF
 
 fi
 
-  echo "$as_me:$LINENO: checking whether compiling netbeans integration is possible" >&5
-echo $ECHO_N "checking whether compiling netbeans integration is possible... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking whether compiling netbeans integration is possible" >&5
+$as_echo_n "checking whether compiling netbeans integration is possible... " >&6; }
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -5205,41 +5983,42 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; enable_netbeans="no"
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }; enable_netbeans="no"
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 else
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
 if test "$enable_netbeans" = "yes"; then
   cat >>confdefs.h <<\_ACEOF
@@ -5252,17 +6031,17 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking --enable-sniff argument" >&5
-echo $ECHO_N "checking --enable-sniff argument... $ECHO_C" >&6
-# Check whether --enable-sniff or --disable-sniff was given.
+{ $as_echo "$as_me:$LINENO: checking --enable-sniff argument" >&5
+$as_echo_n "checking --enable-sniff argument... " >&6; }
+# Check whether --enable-sniff was given.
 if test "${enable_sniff+set}" = set; then
-  enableval="$enable_sniff"
-
+  enableval=$enable_sniff;
 else
   enable_sniff="no"
-fi;
-echo "$as_me:$LINENO: result: $enable_sniff" >&5
-echo "${ECHO_T}$enable_sniff" >&6
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $enable_sniff" >&5
+$as_echo "$enable_sniff" >&6; }
 if test "$enable_sniff" = "yes"; then
   cat >>confdefs.h <<\_ACEOF
 #define FEAT_SNIFF 1
@@ -5274,17 +6053,17 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking --enable-multibyte argument" >&5
-echo $ECHO_N "checking --enable-multibyte argument... $ECHO_C" >&6
-# Check whether --enable-multibyte or --disable-multibyte was given.
+{ $as_echo "$as_me:$LINENO: checking --enable-multibyte argument" >&5
+$as_echo_n "checking --enable-multibyte argument... " >&6; }
+# Check whether --enable-multibyte was given.
 if test "${enable_multibyte+set}" = set; then
-  enableval="$enable_multibyte"
-
+  enableval=$enable_multibyte;
 else
   enable_multibyte="no"
-fi;
-echo "$as_me:$LINENO: result: $enable_multibyte" >&5
-echo "${ECHO_T}$enable_multibyte" >&6
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $enable_multibyte" >&5
+$as_echo "$enable_multibyte" >&6; }
 if test "$enable_multibyte" = "yes"; then
   cat >>confdefs.h <<\_ACEOF
 #define FEAT_MBYTE 1
@@ -5292,55 +6071,55 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking --enable-hangulinput argument" >&5
-echo $ECHO_N "checking --enable-hangulinput argument... $ECHO_C" >&6
-# Check whether --enable-hangulinput or --disable-hangulinput was given.
+{ $as_echo "$as_me:$LINENO: checking --enable-hangulinput argument" >&5
+$as_echo_n "checking --enable-hangulinput argument... " >&6; }
+# Check whether --enable-hangulinput was given.
 if test "${enable_hangulinput+set}" = set; then
-  enableval="$enable_hangulinput"
-
+  enableval=$enable_hangulinput;
 else
   enable_hangulinput="no"
-fi;
-echo "$as_me:$LINENO: result: $enable_hangulinput" >&5
-echo "${ECHO_T}$enable_hangulinput" >&6
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $enable_hangulinput" >&5
+$as_echo "$enable_hangulinput" >&6; }
 
-echo "$as_me:$LINENO: checking --enable-xim argument" >&5
-echo $ECHO_N "checking --enable-xim argument... $ECHO_C" >&6
-# Check whether --enable-xim or --disable-xim was given.
+{ $as_echo "$as_me:$LINENO: checking --enable-xim argument" >&5
+$as_echo_n "checking --enable-xim argument... " >&6; }
+# Check whether --enable-xim was given.
 if test "${enable_xim+set}" = set; then
-  enableval="$enable_xim"
-  echo "$as_me:$LINENO: result: $enable_xim" >&5
-echo "${ECHO_T}$enable_xim" >&6
+  enableval=$enable_xim; { $as_echo "$as_me:$LINENO: result: $enable_xim" >&5
+$as_echo "$enable_xim" >&6; }
 else
-  enable_xim="auto"; echo "$as_me:$LINENO: result: defaulting to auto" >&5
-echo "${ECHO_T}defaulting to auto" >&6
-fi;
+  enable_xim="auto"; { $as_echo "$as_me:$LINENO: result: defaulting to auto" >&5
+$as_echo "defaulting to auto" >&6; }
+fi
 
-echo "$as_me:$LINENO: checking --enable-fontset argument" >&5
-echo $ECHO_N "checking --enable-fontset argument... $ECHO_C" >&6
-# Check whether --enable-fontset or --disable-fontset was given.
-if test "${enable_fontset+set}" = set; then
-  enableval="$enable_fontset"
 
+{ $as_echo "$as_me:$LINENO: checking --enable-fontset argument" >&5
+$as_echo_n "checking --enable-fontset argument... " >&6; }
+# Check whether --enable-fontset was given.
+if test "${enable_fontset+set}" = set; then
+  enableval=$enable_fontset;
 else
   enable_fontset="no"
-fi;
-echo "$as_me:$LINENO: result: $enable_fontset" >&5
-echo "${ECHO_T}$enable_fontset" >&6
+fi
+
+{ $as_echo "$as_me:$LINENO: result: $enable_fontset" >&5
+$as_echo "$enable_fontset" >&6; }
 
 test -z "$with_x" && with_x=yes
 test "${enable_gui-yes}" != no -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && with_x=yes
 if test "$with_x" = no; then
-  echo "$as_me:$LINENO: result: defaulting to: don't HAVE_X11" >&5
-echo "${ECHO_T}defaulting to: don't HAVE_X11" >&6
+  { $as_echo "$as_me:$LINENO: result: defaulting to: don't HAVE_X11" >&5
+$as_echo "defaulting to: don't HAVE_X11" >&6; }
 else
 
   # Extract the first word of "xmkmf", so it can be a program name with args.
 set dummy xmkmf; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_xmkmfpath+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $xmkmfpath in
   [\\/]* | ?:[\\/]*)
@@ -5353,66 +6132,72 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_xmkmfpath="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   ;;
 esac
 fi
 xmkmfpath=$ac_cv_path_xmkmfpath
-
 if test -n "$xmkmfpath"; then
-  echo "$as_me:$LINENO: result: $xmkmfpath" >&5
-echo "${ECHO_T}$xmkmfpath" >&6
+  { $as_echo "$as_me:$LINENO: result: $xmkmfpath" >&5
+$as_echo "$xmkmfpath" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
 
-  echo "$as_me:$LINENO: checking for X" >&5
-echo $ECHO_N "checking for X... $ECHO_C" >&6
 
+  { $as_echo "$as_me:$LINENO: checking for X" >&5
+$as_echo_n "checking for X... " >&6; }
 
-# Check whether --with-x or --without-x was given.
+
+# Check whether --with-x was given.
 if test "${with_x+set}" = set; then
-  withval="$with_x"
+  withval=$with_x;
+fi
 
-fi;
 # $have_x is `yes', `no', `disabled', or empty when we do not yet know.
 if test "x$with_x" = xno; then
   # The user explicitly disabled X.
   have_x=disabled
 else
-  if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then
-    # Both variables are already set.
-    have_x=yes
-  else
-    if test "${ac_cv_have_x+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  case $x_includes,$x_libraries in #(
+    *\'*) { { $as_echo "$as_me:$LINENO: error: Cannot use X directory names containing '" >&5
+$as_echo "$as_me: error: Cannot use X directory names containing '" >&2;}
+   { (exit 1); exit 1; }; };; #(
+    *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
   # One or both of the vars are not set, and there is no cached value.
 ac_x_includes=no ac_x_libraries=no
-rm -fr conftest.dir
+rm -f -r conftest.dir
 if mkdir conftest.dir; then
   cd conftest.dir
-  # Make sure to not put "make" in the Imakefile rules, since we grep it out.
   cat >Imakefile <<'_ACEOF'
-acfindx:
-       @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"'
-_ACEOF
-  if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then
+incroot:
+       @echo incroot='${INCROOT}'
+usrlibdir:
+       @echo usrlibdir='${USRLIBDIR}'
+libdir:
+       @echo libdir='${LIBDIR}'
+_ACEOF
+  if (export CC; ${XMKMF-xmkmf}) >/dev/null 2>/dev/null && test -f Makefile; then
     # GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-    eval `${MAKE-make} acfindx 2>/dev/null | grep -v make`
+    for ac_var in incroot usrlibdir libdir; do
+      eval "ac_im_$ac_var=\`\${MAKE-make} $ac_var 2>/dev/null | sed -n 's/^$ac_var=//p'\`"
+    done
     # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR.
-    for ac_extension in a so sl; do
-      if test ! -f $ac_im_usrlibdir/libX11.$ac_extension &&
-        test -f $ac_im_libdir/libX11.$ac_extension; then
+    for ac_extension in a so sl dylib la dll; do
+      if test ! -f "$ac_im_usrlibdir/libX11.$ac_extension" &&
+        test -f "$ac_im_libdir/libX11.$ac_extension"; then
        ac_im_usrlibdir=$ac_im_libdir; break
       fi
     done
@@ -5420,7 +6205,7 @@ _ACEOF
     # bogus both because they are the default anyway, and because
     # using them would break gcc on systems where it needs fixed includes.
     case $ac_im_incroot in
-       /usr/include) ;;
+       /usr/include) ac_x_includes= ;;
        *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes=$ac_im_incroot;;
     esac
     case $ac_im_usrlibdir in
@@ -5429,7 +6214,7 @@ _ACEOF
     esac
   fi
   cd ..
-  rm -fr conftest.dir
+  rm -f -r conftest.dir
 fi
 
 # Standard set of common directories for X headers.
@@ -5470,7 +6255,7 @@ ac_x_header_dirs='
 /usr/openwin/share/include'
 
 if test "$ac_x_includes" = no; then
-  # Guess where to find include files, by looking for Intrinsic.h.
+  # Guess where to find include files, by looking for Xlib.h.
   # First, try using that file with no special directory specified.
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -5478,39 +6263,39 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <X11/Intrinsic.h>
+#include <X11/Xlib.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   # We can compile using X headers with no special include directory.
 ac_x_includes=
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   for ac_dir in $ac_x_header_dirs; do
-  if test -r "$ac_dir/X11/Intrinsic.h"; then
+  if test -r "$ac_dir/X11/Xlib.h"; then
     ac_x_includes=$ac_dir
     break
   fi
 done
 fi
+
 rm -f conftest.err conftest.$ac_ext
 fi # $ac_x_includes = no
 
@@ -5519,94 +6304,99 @@ if test "$ac_x_libraries" = no; then
   # See if we find them without any special options.
   # Don't add to $LIBS permanently.
   ac_save_LIBS=$LIBS
-  LIBS="-lXt $LIBS"
+  LIBS="-lX11 $LIBS"
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <X11/Intrinsic.h>
+#include <X11/Xlib.h>
 int
 main ()
 {
-XtMalloc (0)
+XrmInitialize ()
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   LIBS=$ac_save_LIBS
 # We can link X programs with no special library path.
 ac_x_libraries=
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-LIBS=$ac_save_LIBS
-for ac_dir in `echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
+       LIBS=$ac_save_LIBS
+for ac_dir in `$as_echo "$ac_x_includes $ac_x_header_dirs" | sed s/include/lib/g`
 do
   # Don't even attempt the hair of trying to link an X program!
-  for ac_extension in a so sl; do
-    if test -r $ac_dir/libXt.$ac_extension; then
+  for ac_extension in a so sl dylib la dll; do
+    if test -r "$ac_dir/libX11.$ac_extension"; then
       ac_x_libraries=$ac_dir
       break 2
     fi
   done
 done
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi # $ac_x_libraries = no
 
-if test "$ac_x_includes" = no || test "$ac_x_libraries" = no; then
-  # Didn't find X anywhere.  Cache the known absence of X.
-  ac_cv_have_x="have_x=no"
-else
-  # Record where we found X for the cache.
-  ac_cv_have_x="have_x=yes \
-               ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries"
-fi
+case $ac_x_includes,$ac_x_libraries in #(
+  no,* | *,no | *\'*)
+    # Didn't find X, or a directory has "'" in its name.
+    ac_cv_have_x="have_x=no";; #(
+  *)
+    # Record where we found X for the cache.
+    ac_cv_have_x="have_x=yes\
+       ac_x_includes='$ac_x_includes'\
+       ac_x_libraries='$ac_x_libraries'"
+esac
 fi
-
-  fi
+;; #(
+    *) have_x=yes;;
+  esac
   eval "$ac_cv_have_x"
 fi # $with_x != no
 
 if test "$have_x" != yes; then
-  echo "$as_me:$LINENO: result: $have_x" >&5
-echo "${ECHO_T}$have_x" >&6
+  { $as_echo "$as_me:$LINENO: result: $have_x" >&5
+$as_echo "$have_x" >&6; }
   no_x=yes
 else
   # If each of the values was on the command line, it overrides each guess.
   test "x$x_includes" = xNONE && x_includes=$ac_x_includes
   test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries
   # Update the cache value to reflect the command line values.
-  ac_cv_have_x="have_x=yes \
-               ac_x_includes=$x_includes ac_x_libraries=$x_libraries"
-  echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5
-echo "${ECHO_T}libraries $x_libraries, headers $x_includes" >&6
+  ac_cv_have_x="have_x=yes\
+       ac_x_includes='$x_includes'\
+       ac_x_libraries='$x_libraries'"
+  { $as_echo "$as_me:$LINENO: result: libraries $x_libraries, headers $x_includes" >&5
+$as_echo "libraries $x_libraries, headers $x_includes" >&6; }
 fi
 
 if test "$no_x" = yes; then
@@ -5627,12 +6417,12 @@ else
     X_LIBS="$X_LIBS -L$x_libraries"
     # For Solaris; some versions of Sun CC require a space after -R and
     # others require no space.  Words are not sufficient . . . .
-    case `(uname -sr) 2>/dev/null` in
-    "SunOS 5"*)
-      echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5
-echo $ECHO_N "checking whether -R must be followed by a space... $ECHO_C" >&6
-      ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
-      cat >conftest.$ac_ext <<_ACEOF
+    { $as_echo "$as_me:$LINENO: checking whether -R must be followed by a space" >&5
+$as_echo_n "checking whether -R must be followed by a space... " >&6; }
+    ac_xsave_LIBS=$LIBS; LIBS="$LIBS -R$x_libraries"
+    ac_xsave_c_werror_flag=$ac_c_werror_flag
+    ac_c_werror_flag=yes
+    cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5648,43 +6438,35 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_R_nospace=yes
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+       X_LIBS="$X_LIBS -R$x_libraries"
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_R_nospace=no
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-      if test $ac_R_nospace = yes; then
-       echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-       X_LIBS="$X_LIBS -R$x_libraries"
-      else
        LIBS="$ac_xsave_LIBS -R $x_libraries"
-       cat >conftest.$ac_ext <<_ACEOF
+       cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -5700,47 +6482,47 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_R_space=yes
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+         X_LIBS="$X_LIBS -R $x_libraries"
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_R_space=no
+       { $as_echo "$as_me:$LINENO: result: neither works" >&5
+$as_echo "neither works" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
-       if test $ac_R_space = yes; then
-         echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-         X_LIBS="$X_LIBS -R $x_libraries"
-       else
-         echo "$as_me:$LINENO: result: neither works" >&5
-echo "${ECHO_T}neither works" >&6
-       fi
-      fi
-      LIBS=$ac_xsave_LIBS
-    esac
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+    ac_c_werror_flag=$ac_xsave_c_werror_flag
+    LIBS=$ac_xsave_LIBS
   fi
 
   # Check for system-dependent libraries X programs must link with.
@@ -5761,52 +6543,51 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char XOpenDisplay ();
 int
 main ()
 {
-XOpenDisplay ();
+return XOpenDisplay ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   :
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5
-echo $ECHO_N "checking for dnet_ntoa in -ldnet... $ECHO_C" >&6
+       { $as_echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet" >&5
+$as_echo_n "checking for dnet_ntoa in -ldnet... " >&6; }
 if test "${ac_cv_lib_dnet_dnet_ntoa+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldnet  $LIBS"
@@ -5817,65 +6598,66 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dnet_ntoa ();
 int
 main ()
 {
-dnet_ntoa ();
+return dnet_ntoa ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_dnet_dnet_ntoa=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dnet_dnet_ntoa=no
+       ac_cv_lib_dnet_dnet_ntoa=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
-echo "${ECHO_T}$ac_cv_lib_dnet_dnet_ntoa" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_dnet_ntoa" >&5
+$as_echo "$ac_cv_lib_dnet_dnet_ntoa" >&6; }
 if test $ac_cv_lib_dnet_dnet_ntoa = yes; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet"
 fi
 
     if test $ac_cv_lib_dnet_dnet_ntoa = no; then
-      echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5
-echo $ECHO_N "checking for dnet_ntoa in -ldnet_stub... $ECHO_C" >&6
+      { $as_echo "$as_me:$LINENO: checking for dnet_ntoa in -ldnet_stub" >&5
+$as_echo_n "checking for dnet_ntoa in -ldnet_stub... " >&6; }
 if test "${ac_cv_lib_dnet_stub_dnet_ntoa+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldnet_stub  $LIBS"
@@ -5886,63 +6668,66 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dnet_ntoa ();
 int
 main ()
 {
-dnet_ntoa ();
+return dnet_ntoa ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_dnet_stub_dnet_ntoa=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dnet_stub_dnet_ntoa=no
+       ac_cv_lib_dnet_stub_dnet_ntoa=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
-echo "${ECHO_T}$ac_cv_lib_dnet_stub_dnet_ntoa" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dnet_stub_dnet_ntoa" >&5
+$as_echo "$ac_cv_lib_dnet_stub_dnet_ntoa" >&6; }
 if test $ac_cv_lib_dnet_stub_dnet_ntoa = yes; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub"
 fi
 
     fi
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
     LIBS="$ac_xsave_LIBS"
 
@@ -5954,10 +6739,10 @@ rm -f conftest.err conftest.$ac_objext \
     # on Irix 5.2, according to T.E. Dickey.
     # The functions gethostbyname, getservbyname, and inet_addr are
     # in -lbsd on LynxOS 3.0.1/i386, according to Lars Hecking.
-    echo "$as_me:$LINENO: checking for gethostbyname" >&5
-echo $ECHO_N "checking for gethostbyname... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking for gethostbyname" >&5
+$as_echo_n "checking for gethostbyname... " >&6; }
 if test "${ac_cv_func_gethostbyname+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -5982,74 +6767,69 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 #undef gethostbyname
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char gethostbyname ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_gethostbyname) || defined (__stub___gethostbyname)
+#if defined __stub_gethostbyname || defined __stub___gethostbyname
 choke me
-#else
-char (*f) () = gethostbyname;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != gethostbyname;
+return gethostbyname ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_func_gethostbyname=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_gethostbyname=no
+       ac_cv_func_gethostbyname=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5
-echo "${ECHO_T}$ac_cv_func_gethostbyname" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_gethostbyname" >&5
+$as_echo "$ac_cv_func_gethostbyname" >&6; }
 
     if test $ac_cv_func_gethostbyname = no; then
-      echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
-echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
+      { $as_echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
+$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
 if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lnsl  $LIBS"
@@ -6060,65 +6840,66 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char gethostbyname ();
 int
 main ()
 {
-gethostbyname ();
+return gethostbyname ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_nsl_gethostbyname=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_nsl_gethostbyname=no
+       ac_cv_lib_nsl_gethostbyname=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
-echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
+$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
 if test $ac_cv_lib_nsl_gethostbyname = yes; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl"
 fi
 
       if test $ac_cv_lib_nsl_gethostbyname = no; then
-       echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5
-echo $ECHO_N "checking for gethostbyname in -lbsd... $ECHO_C" >&6
+       { $as_echo "$as_me:$LINENO: checking for gethostbyname in -lbsd" >&5
+$as_echo_n "checking for gethostbyname in -lbsd... " >&6; }
 if test "${ac_cv_lib_bsd_gethostbyname+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lbsd  $LIBS"
@@ -6129,56 +6910,57 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char gethostbyname ();
 int
 main ()
 {
-gethostbyname ();
+return gethostbyname ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_bsd_gethostbyname=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_bsd_gethostbyname=no
+       ac_cv_lib_bsd_gethostbyname=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5
-echo "${ECHO_T}$ac_cv_lib_bsd_gethostbyname" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_bsd_gethostbyname" >&5
+$as_echo "$ac_cv_lib_bsd_gethostbyname" >&6; }
 if test $ac_cv_lib_bsd_gethostbyname = yes; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lbsd"
 fi
@@ -6193,10 +6975,10 @@ fi
     # variants that don't use the name server (or something).  -lsocket
     # must be given before -lnsl if both are needed.  We assume that
     # if connect needs -lnsl, so does gethostbyname.
-    echo "$as_me:$LINENO: checking for connect" >&5
-echo $ECHO_N "checking for connect... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking for connect" >&5
+$as_echo_n "checking for connect... " >&6; }
 if test "${ac_cv_func_connect+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -6221,74 +7003,69 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 #undef connect
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char connect ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_connect) || defined (__stub___connect)
+#if defined __stub_connect || defined __stub___connect
 choke me
-#else
-char (*f) () = connect;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != connect;
+return connect ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_func_connect=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_connect=no
+       ac_cv_func_connect=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5
-echo "${ECHO_T}$ac_cv_func_connect" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_connect" >&5
+$as_echo "$ac_cv_func_connect" >&6; }
 
     if test $ac_cv_func_connect = no; then
-      echo "$as_me:$LINENO: checking for connect in -lsocket" >&5
-echo $ECHO_N "checking for connect in -lsocket... $ECHO_C" >&6
+      { $as_echo "$as_me:$LINENO: checking for connect in -lsocket" >&5
+$as_echo_n "checking for connect in -lsocket... " >&6; }
 if test "${ac_cv_lib_socket_connect+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
@@ -6299,56 +7076,57 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char connect ();
 int
 main ()
 {
-connect ();
+return connect ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_socket_connect=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_socket_connect=no
+       ac_cv_lib_socket_connect=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5
-echo "${ECHO_T}$ac_cv_lib_socket_connect" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_socket_connect" >&5
+$as_echo "$ac_cv_lib_socket_connect" >&6; }
 if test $ac_cv_lib_socket_connect = yes; then
   X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS"
 fi
@@ -6356,10 +7134,10 @@ fi
     fi
 
     # Guillermo Gomez says -lposix is necessary on A/UX.
-    echo "$as_me:$LINENO: checking for remove" >&5
-echo $ECHO_N "checking for remove... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking for remove" >&5
+$as_echo_n "checking for remove... " >&6; }
 if test "${ac_cv_func_remove+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -6384,74 +7162,69 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 #undef remove
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char remove ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_remove) || defined (__stub___remove)
+#if defined __stub_remove || defined __stub___remove
 choke me
-#else
-char (*f) () = remove;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != remove;
+return remove ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_func_remove=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_remove=no
+       ac_cv_func_remove=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5
-echo "${ECHO_T}$ac_cv_func_remove" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_remove" >&5
+$as_echo "$ac_cv_func_remove" >&6; }
 
     if test $ac_cv_func_remove = no; then
-      echo "$as_me:$LINENO: checking for remove in -lposix" >&5
-echo $ECHO_N "checking for remove in -lposix... $ECHO_C" >&6
+      { $as_echo "$as_me:$LINENO: checking for remove in -lposix" >&5
+$as_echo_n "checking for remove in -lposix... " >&6; }
 if test "${ac_cv_lib_posix_remove+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lposix  $LIBS"
@@ -6462,56 +7235,57 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char remove ();
 int
 main ()
 {
-remove ();
+return remove ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_posix_remove=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_posix_remove=no
+       ac_cv_lib_posix_remove=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5
-echo "${ECHO_T}$ac_cv_lib_posix_remove" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_posix_remove" >&5
+$as_echo "$ac_cv_lib_posix_remove" >&6; }
 if test $ac_cv_lib_posix_remove = yes; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix"
 fi
@@ -6519,10 +7293,10 @@ fi
     fi
 
     # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
-    echo "$as_me:$LINENO: checking for shmat" >&5
-echo $ECHO_N "checking for shmat... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking for shmat" >&5
+$as_echo_n "checking for shmat... " >&6; }
 if test "${ac_cv_func_shmat+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -6547,74 +7321,69 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 #undef shmat
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char shmat ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_shmat) || defined (__stub___shmat)
+#if defined __stub_shmat || defined __stub___shmat
 choke me
-#else
-char (*f) () = shmat;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != shmat;
+return shmat ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_func_shmat=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_func_shmat=no
+       ac_cv_func_shmat=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5
-echo "${ECHO_T}$ac_cv_func_shmat" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_func_shmat" >&5
+$as_echo "$ac_cv_func_shmat" >&6; }
 
     if test $ac_cv_func_shmat = no; then
-      echo "$as_me:$LINENO: checking for shmat in -lipc" >&5
-echo $ECHO_N "checking for shmat in -lipc... $ECHO_C" >&6
+      { $as_echo "$as_me:$LINENO: checking for shmat in -lipc" >&5
+$as_echo_n "checking for shmat in -lipc... " >&6; }
 if test "${ac_cv_lib_ipc_shmat+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lipc  $LIBS"
@@ -6625,56 +7394,57 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char shmat ();
 int
 main ()
 {
-shmat ();
+return shmat ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_ipc_shmat=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_ipc_shmat=no
+       ac_cv_lib_ipc_shmat=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5
-echo "${ECHO_T}$ac_cv_lib_ipc_shmat" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ipc_shmat" >&5
+$as_echo "$ac_cv_lib_ipc_shmat" >&6; }
 if test $ac_cv_lib_ipc_shmat = yes; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc"
 fi
@@ -6691,10 +7461,10 @@ fi
   # These have to be linked with before -lX11, unlike the other
   # libraries we check for below, so use a different variable.
   # John Interrante, Karl Berry
-  echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5
-echo $ECHO_N "checking for IceConnectionNumber in -lICE... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking for IceConnectionNumber in -lICE" >&5
+$as_echo_n "checking for IceConnectionNumber in -lICE... " >&6; }
 if test "${ac_cv_lib_ICE_IceConnectionNumber+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lICE $X_EXTRA_LIBS $LIBS"
@@ -6705,56 +7475,57 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char IceConnectionNumber ();
 int
 main ()
 {
-IceConnectionNumber ();
+return IceConnectionNumber ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_ICE_IceConnectionNumber=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_ICE_IceConnectionNumber=no
+       ac_cv_lib_ICE_IceConnectionNumber=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
-echo "${ECHO_T}$ac_cv_lib_ICE_IceConnectionNumber" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceConnectionNumber" >&5
+$as_echo "$ac_cv_lib_ICE_IceConnectionNumber" >&6; }
 if test $ac_cv_lib_ICE_IceConnectionNumber = yes; then
   X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE"
 fi
@@ -6773,8 +7544,8 @@ fi
 
   if test -d "$x_includes" && test ! -d "$x_libraries"; then
     x_libraries=`echo "$x_includes" | sed s/include/lib/`
-    echo "$as_me:$LINENO: result: Corrected X libraries to $x_libraries" >&5
-echo "${ECHO_T}Corrected X libraries to $x_libraries" >&6
+    { $as_echo "$as_me:$LINENO: result: Corrected X libraries to $x_libraries" >&5
+$as_echo "Corrected X libraries to $x_libraries" >&6; }
     X_LIBS="$X_LIBS -L$x_libraries"
     if test "`(uname) 2>/dev/null`" = SunOS &&
                                         uname -r | grep '^5' >/dev/null; then
@@ -6784,8 +7555,8 @@ echo "${ECHO_T}Corrected X libraries to $x_libraries" >&6
 
   if test -d "$x_libraries" && test ! -d "$x_includes"; then
     x_includes=`echo "$x_libraries" | sed s/lib/include/`
-    echo "$as_me:$LINENO: result: Corrected X includes to $x_includes" >&5
-echo "${ECHO_T}Corrected X includes to $x_includes" >&6
+    { $as_echo "$as_me:$LINENO: result: Corrected X includes to $x_includes" >&5
+$as_echo "Corrected X includes to $x_includes" >&6; }
     X_CFLAGS="$X_CFLAGS -I$x_includes"
   fi
 
@@ -6794,8 +7565,8 @@ echo "${ECHO_T}Corrected X includes to $x_includes" >&6
     X_LIBS="`echo $X_LIBS\  | sed -e 's%-R/usr/lib %%' -e 's%-R /usr/lib %%'`"
 
 
-      echo "$as_me:$LINENO: checking if X11 header files can be found" >&5
-echo $ECHO_N "checking if X11 header files can be found... $ECHO_C" >&6
+      { $as_echo "$as_me:$LINENO: checking if X11 header files can be found" >&5
+$as_echo_n "checking if X11 header files can be found... " >&6; }
   cflags_save=$CFLAGS
   CFLAGS="$CFLAGS $X_CFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
@@ -6814,37 +7585,34 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; no_x=yes
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }; no_x=yes
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CFLAGS=$cflags_save
 
   if test "${no_x-no}" = yes; then
@@ -6860,10 +7628,10 @@ _ACEOF
     ac_save_LDFLAGS="$LDFLAGS"
     LDFLAGS="-L$x_libraries $LDFLAGS"
 
-            echo "$as_me:$LINENO: checking for _XdmcpAuthDoIt in -lXdmcp" >&5
-echo $ECHO_N "checking for _XdmcpAuthDoIt in -lXdmcp... $ECHO_C" >&6
+            { $as_echo "$as_me:$LINENO: checking for _XdmcpAuthDoIt in -lXdmcp" >&5
+$as_echo_n "checking for _XdmcpAuthDoIt in -lXdmcp... " >&6; }
 if test "${ac_cv_lib_Xdmcp__XdmcpAuthDoIt+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXdmcp -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS -lXdmcp $LIBS"
@@ -6874,65 +7642,66 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char _XdmcpAuthDoIt ();
 int
 main ()
 {
-_XdmcpAuthDoIt ();
+return _XdmcpAuthDoIt ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_Xdmcp__XdmcpAuthDoIt=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_Xdmcp__XdmcpAuthDoIt=no
+       ac_cv_lib_Xdmcp__XdmcpAuthDoIt=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&5
-echo "${ECHO_T}$ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&5
+$as_echo "$ac_cv_lib_Xdmcp__XdmcpAuthDoIt" >&6; }
 if test $ac_cv_lib_Xdmcp__XdmcpAuthDoIt = yes; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lXdmcp"
 fi
 
 
-                    echo "$as_me:$LINENO: checking for IceOpenConnection in -lICE" >&5
-echo $ECHO_N "checking for IceOpenConnection in -lICE... $ECHO_C" >&6
+                    { $as_echo "$as_me:$LINENO: checking for IceOpenConnection in -lICE" >&5
+$as_echo_n "checking for IceOpenConnection in -lICE... " >&6; }
 if test "${ac_cv_lib_ICE_IceOpenConnection+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lICE $X_EXTRA_LIBS $LIBS"
@@ -6943,66 +7712,67 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char IceOpenConnection ();
 int
 main ()
 {
-IceOpenConnection ();
+return IceOpenConnection ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_ICE_IceOpenConnection=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_ICE_IceOpenConnection=no
+       ac_cv_lib_ICE_IceOpenConnection=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceOpenConnection" >&5
-echo "${ECHO_T}$ac_cv_lib_ICE_IceOpenConnection" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_ICE_IceOpenConnection" >&5
+$as_echo "$ac_cv_lib_ICE_IceOpenConnection" >&6; }
 if test $ac_cv_lib_ICE_IceOpenConnection = yes; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lSM -lICE"
 fi
 
 
         LDFLAGS="$X_LIBS $ac_save_LDFLAGS"
-    echo "$as_me:$LINENO: checking for XpmCreatePixmapFromData in -lXpm" >&5
-echo $ECHO_N "checking for XpmCreatePixmapFromData in -lXpm... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking for XpmCreatePixmapFromData in -lXpm" >&5
+$as_echo_n "checking for XpmCreatePixmapFromData in -lXpm... " >&6; }
 if test "${ac_cv_lib_Xpm_XpmCreatePixmapFromData+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXpm -lXt $X_PRE_LIBS -lXpm -lX11 $X_EXTRA_LIBS $LIBS"
@@ -7013,63 +7783,64 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char XpmCreatePixmapFromData ();
 int
 main ()
 {
-XpmCreatePixmapFromData ();
+return XpmCreatePixmapFromData ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_Xpm_XpmCreatePixmapFromData=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_Xpm_XpmCreatePixmapFromData=no
+       ac_cv_lib_Xpm_XpmCreatePixmapFromData=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&5
-echo "${ECHO_T}$ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&5
+$as_echo "$ac_cv_lib_Xpm_XpmCreatePixmapFromData" >&6; }
 if test $ac_cv_lib_Xpm_XpmCreatePixmapFromData = yes; then
   X_PRE_LIBS="$X_PRE_LIBS -lXpm"
 fi
 
 
-        echo "$as_me:$LINENO: checking if X11 header files implicitly declare return values" >&5
-echo $ECHO_N "checking if X11 header files implicitly declare return values... $ECHO_C" >&6
+        { $as_echo "$as_me:$LINENO: checking if X11 header files implicitly declare return values" >&5
+$as_echo_n "checking if X11 header files implicitly declare return values... " >&6; }
     cflags_save=$CFLAGS
     CFLAGS="$CFLAGS $X_CFLAGS -Werror"
     cat >conftest.$ac_ext <<_ACEOF
@@ -7088,34 +7859,30 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-CFLAGS="$CFLAGS -Wno-implicit-int"
+       CFLAGS="$CFLAGS -Wno-implicit-int"
        cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -7132,41 +7899,39 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cflags_save="$cflags_save -Wno-implicit-int"
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cflags_save="$cflags_save -Wno-implicit-int"
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: test failed" >&5
-echo "${ECHO_T}test failed" >&6
+       { $as_echo "$as_me:$LINENO: result: test failed" >&5
+$as_echo "test failed" >&6; }
 
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     CFLAGS=$cflags_save
 
     LDFLAGS="$ac_save_LDFLAGS"
@@ -7176,15 +7941,15 @@ fi
 
 test "x$with_x" = xno -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no
 
-echo "$as_me:$LINENO: checking --enable-gui argument" >&5
-echo $ECHO_N "checking --enable-gui argument... $ECHO_C" >&6
-# Check whether --enable-gui or --disable-gui was given.
+{ $as_echo "$as_me:$LINENO: checking --enable-gui argument" >&5
+$as_echo_n "checking --enable-gui argument... " >&6; }
+# Check whether --enable-gui was given.
 if test "${enable_gui+set}" = set; then
-  enableval="$enable_gui"
-
+  enableval=$enable_gui;
 else
   enable_gui="auto"
-fi;
+fi
+
 
 enable_gui_canon=`echo "_$enable_gui" | \
        sed 's/[ _+-]//g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
@@ -7202,44 +7967,44 @@ GUITYPE=NONE
 if test "x$QNX" = "xyes" -a "x$with_x" = "xno" ; then
   SKIP_PHOTON=
   case "$enable_gui_canon" in
-    no)                echo "$as_me:$LINENO: result: no GUI support" >&5
-echo "${ECHO_T}no GUI support" >&6
+    no)                { $as_echo "$as_me:$LINENO: result: no GUI support" >&5
+$as_echo "no GUI support" >&6; }
                SKIP_PHOTON=YES ;;
-    yes|"")    echo "$as_me:$LINENO: result: yes - automatic GUI support" >&5
-echo "${ECHO_T}yes - automatic GUI support" >&6 ;;
-    auto)      echo "$as_me:$LINENO: result: auto - automatic GUI support" >&5
-echo "${ECHO_T}auto - automatic GUI support" >&6 ;;
-    photon)    echo "$as_me:$LINENO: result: Photon GUI support" >&5
-echo "${ECHO_T}Photon GUI support" >&6 ;;
-    *)         echo "$as_me:$LINENO: result: Sorry, $enable_gui GUI is not supported" >&5
-echo "${ECHO_T}Sorry, $enable_gui GUI is not supported" >&6
+    yes|"")    { $as_echo "$as_me:$LINENO: result: yes - automatic GUI support" >&5
+$as_echo "yes - automatic GUI support" >&6; } ;;
+    auto)      { $as_echo "$as_me:$LINENO: result: auto - automatic GUI support" >&5
+$as_echo "auto - automatic GUI support" >&6; } ;;
+    photon)    { $as_echo "$as_me:$LINENO: result: Photon GUI support" >&5
+$as_echo "Photon GUI support" >&6; } ;;
+    *)         { $as_echo "$as_me:$LINENO: result: Sorry, $enable_gui GUI is not supported" >&5
+$as_echo "Sorry, $enable_gui GUI is not supported" >&6; }
                SKIP_PHOTON=YES ;;
   esac
 
 elif test "x$MACOSX" = "xyes" -a "x$with_x" = "xno" ; then
   SKIP_CARBON=
   case "$enable_gui_canon" in
-    no)                echo "$as_me:$LINENO: result: no GUI support" >&5
-echo "${ECHO_T}no GUI support" >&6
+    no)                { $as_echo "$as_me:$LINENO: result: no GUI support" >&5
+$as_echo "no GUI support" >&6; }
                SKIP_CARBON=YES ;;
-    yes|"")    echo "$as_me:$LINENO: result: yes - automatic GUI support" >&5
-echo "${ECHO_T}yes - automatic GUI support" >&6 ;;
-    auto)      echo "$as_me:$LINENO: result: auto - automatic GUI support" >&5
-echo "${ECHO_T}auto - automatic GUI support" >&6 ;;
-    carbon)    echo "$as_me:$LINENO: result: Carbon GUI support" >&5
-echo "${ECHO_T}Carbon GUI support" >&6 ;;
-    *)         echo "$as_me:$LINENO: result: Sorry, $enable_gui GUI is not supported" >&5
-echo "${ECHO_T}Sorry, $enable_gui GUI is not supported" >&6
+    yes|"")    { $as_echo "$as_me:$LINENO: result: yes - automatic GUI support" >&5
+$as_echo "yes - automatic GUI support" >&6; } ;;
+    auto)      { $as_echo "$as_me:$LINENO: result: auto - automatic GUI support" >&5
+$as_echo "auto - automatic GUI support" >&6; } ;;
+    carbon)    { $as_echo "$as_me:$LINENO: result: Carbon GUI support" >&5
+$as_echo "Carbon GUI support" >&6; } ;;
+    *)         { $as_echo "$as_me:$LINENO: result: Sorry, $enable_gui GUI is not supported" >&5
+$as_echo "Sorry, $enable_gui GUI is not supported" >&6; }
                SKIP_CARBON=YES ;;
   esac
 
 else
 
   case "$enable_gui_canon" in
-    no|none)   echo "$as_me:$LINENO: result: no GUI support" >&5
-echo "${ECHO_T}no GUI support" >&6 ;;
-    yes|""|auto)       echo "$as_me:$LINENO: result: yes/auto - automatic GUI support" >&5
-echo "${ECHO_T}yes/auto - automatic GUI support" >&6
+    no|none)   { $as_echo "$as_me:$LINENO: result: no GUI support" >&5
+$as_echo "no GUI support" >&6; } ;;
+    yes|""|auto)       { $as_echo "$as_me:$LINENO: result: yes/auto - automatic GUI support" >&5
+$as_echo "yes/auto - automatic GUI support" >&6; }
                SKIP_GTK=
                SKIP_GTK2=
                SKIP_GNOME=
@@ -7247,49 +8012,49 @@ echo "${ECHO_T}yes/auto - automatic GUI support" >&6
                SKIP_ATHENA=
                SKIP_NEXTAW=
                SKIP_CARBON=;;
-    gtk)       echo "$as_me:$LINENO: result: GTK+ 1.x GUI support" >&5
-echo "${ECHO_T}GTK+ 1.x GUI support" >&6
+    gtk)       { $as_echo "$as_me:$LINENO: result: GTK+ 1.x GUI support" >&5
+$as_echo "GTK+ 1.x GUI support" >&6; }
                SKIP_GTK=;;
-    gtk2)      echo "$as_me:$LINENO: result: GTK+ 2.x GUI support" >&5
-echo "${ECHO_T}GTK+ 2.x GUI support" >&6
+    gtk2)      { $as_echo "$as_me:$LINENO: result: GTK+ 2.x GUI support" >&5
+$as_echo "GTK+ 2.x GUI support" >&6; }
                SKIP_GTK=
                SKIP_GTK2=;;
-    gnome)     echo "$as_me:$LINENO: result: GNOME 1.x GUI support" >&5
-echo "${ECHO_T}GNOME 1.x GUI support" >&6
+    gnome)     { $as_echo "$as_me:$LINENO: result: GNOME 1.x GUI support" >&5
+$as_echo "GNOME 1.x GUI support" >&6; }
                SKIP_GNOME=
                SKIP_GTK=;;
-    gnome2)    echo "$as_me:$LINENO: result: GNOME 2.x GUI support" >&5
-echo "${ECHO_T}GNOME 2.x GUI support" >&6
+    gnome2)    { $as_echo "$as_me:$LINENO: result: GNOME 2.x GUI support" >&5
+$as_echo "GNOME 2.x GUI support" >&6; }
                SKIP_GNOME=
                SKIP_GTK=
                SKIP_GTK2=;;
-    motif)     echo "$as_me:$LINENO: result: Motif GUI support" >&5
-echo "${ECHO_T}Motif GUI support" >&6
+    motif)     { $as_echo "$as_me:$LINENO: result: Motif GUI support" >&5
+$as_echo "Motif GUI support" >&6; }
                SKIP_MOTIF=;;
-    athena)    echo "$as_me:$LINENO: result: Athena GUI support" >&5
-echo "${ECHO_T}Athena GUI support" >&6
+    athena)    { $as_echo "$as_me:$LINENO: result: Athena GUI support" >&5
+$as_echo "Athena GUI support" >&6; }
                SKIP_ATHENA=;;
-    nextaw)    echo "$as_me:$LINENO: result: neXtaw GUI support" >&5
-echo "${ECHO_T}neXtaw GUI support" >&6
+    nextaw)    { $as_echo "$as_me:$LINENO: result: neXtaw GUI support" >&5
+$as_echo "neXtaw GUI support" >&6; }
                SKIP_NEXTAW=;;
-    *)         echo "$as_me:$LINENO: result: Sorry, $enable_gui GUI is not supported" >&5
-echo "${ECHO_T}Sorry, $enable_gui GUI is not supported" >&6 ;;
+    *)         { $as_echo "$as_me:$LINENO: result: Sorry, $enable_gui GUI is not supported" >&5
+$as_echo "Sorry, $enable_gui GUI is not supported" >&6; } ;;
   esac
 
 fi
 
 if test "x$SKIP_GTK" != "xYES" -a "$enable_gui_canon" != "gtk" -a "$enable_gui_canon" != "gtk2"; then
-  echo "$as_me:$LINENO: checking whether or not to look for GTK" >&5
-echo $ECHO_N "checking whether or not to look for GTK... $ECHO_C" >&6
-  # Check whether --enable-gtk-check or --disable-gtk-check was given.
+  { $as_echo "$as_me:$LINENO: checking whether or not to look for GTK" >&5
+$as_echo_n "checking whether or not to look for GTK... " >&6; }
+  # Check whether --enable-gtk-check was given.
 if test "${enable_gtk_check+set}" = set; then
-  enableval="$enable_gtk_check"
-
+  enableval=$enable_gtk_check;
 else
   enable_gtk_check="yes"
-fi;
-  echo "$as_me:$LINENO: result: $enable_gtk_check" >&5
-echo "${ECHO_T}$enable_gtk_check" >&6
+fi
+
+  { $as_echo "$as_me:$LINENO: result: $enable_gtk_check" >&5
+$as_echo "$enable_gtk_check" >&6; }
   if test "x$enable_gtk_check" = "xno"; then
     SKIP_GTK=YES
     SKIP_GNOME=YES
@@ -7298,17 +8063,17 @@ fi
 
 if test "x$SKIP_GTK2" != "xYES" -a "$enable_gui_canon" != "gtk2" \
                                -a "$enable_gui_canon" != "gnome2"; then
-  echo "$as_me:$LINENO: checking whether or not to look for GTK+ 2" >&5
-echo $ECHO_N "checking whether or not to look for GTK+ 2... $ECHO_C" >&6
-  # Check whether --enable-gtk2-check or --disable-gtk2-check was given.
+  { $as_echo "$as_me:$LINENO: checking whether or not to look for GTK+ 2" >&5
+$as_echo_n "checking whether or not to look for GTK+ 2... " >&6; }
+  # Check whether --enable-gtk2-check was given.
 if test "${enable_gtk2_check+set}" = set; then
-  enableval="$enable_gtk2_check"
-
+  enableval=$enable_gtk2_check;
 else
   enable_gtk2_check="yes"
-fi;
-  echo "$as_me:$LINENO: result: $enable_gtk2_check" >&5
-echo "${ECHO_T}$enable_gtk2_check" >&6
+fi
+
+  { $as_echo "$as_me:$LINENO: result: $enable_gtk2_check" >&5
+$as_echo "$enable_gtk2_check" >&6; }
   if test "x$enable_gtk2_check" = "xno"; then
     SKIP_GTK2=YES
   fi
@@ -7316,96 +8081,96 @@ fi
 
 if test "x$SKIP_GNOME" != "xYES" -a "$enable_gui_canon" != "gnome" \
                                 -a "$enable_gui_canon" != "gnome2"; then
-  echo "$as_me:$LINENO: checking whether or not to look for GNOME" >&5
-echo $ECHO_N "checking whether or not to look for GNOME... $ECHO_C" >&6
-  # Check whether --enable-gnome-check or --disable-gnome-check was given.
+  { $as_echo "$as_me:$LINENO: checking whether or not to look for GNOME" >&5
+$as_echo_n "checking whether or not to look for GNOME... " >&6; }
+  # Check whether --enable-gnome-check was given.
 if test "${enable_gnome_check+set}" = set; then
-  enableval="$enable_gnome_check"
-
+  enableval=$enable_gnome_check;
 else
   enable_gnome_check="no"
-fi;
-  echo "$as_me:$LINENO: result: $enable_gnome_check" >&5
-echo "${ECHO_T}$enable_gnome_check" >&6
+fi
+
+  { $as_echo "$as_me:$LINENO: result: $enable_gnome_check" >&5
+$as_echo "$enable_gnome_check" >&6; }
   if test "x$enable_gnome_check" = "xno"; then
     SKIP_GNOME=YES
   fi
 fi
 
 if test "x$SKIP_MOTIF" != "xYES" -a "$enable_gui_canon" != "motif"; then
-  echo "$as_me:$LINENO: checking whether or not to look for Motif" >&5
-echo $ECHO_N "checking whether or not to look for Motif... $ECHO_C" >&6
-  # Check whether --enable-motif-check or --disable-motif-check was given.
+  { $as_echo "$as_me:$LINENO: checking whether or not to look for Motif" >&5
+$as_echo_n "checking whether or not to look for Motif... " >&6; }
+  # Check whether --enable-motif-check was given.
 if test "${enable_motif_check+set}" = set; then
-  enableval="$enable_motif_check"
-
+  enableval=$enable_motif_check;
 else
   enable_motif_check="yes"
-fi;
-  echo "$as_me:$LINENO: result: $enable_motif_check" >&5
-echo "${ECHO_T}$enable_motif_check" >&6
+fi
+
+  { $as_echo "$as_me:$LINENO: result: $enable_motif_check" >&5
+$as_echo "$enable_motif_check" >&6; }
   if test "x$enable_motif_check" = "xno"; then
     SKIP_MOTIF=YES
   fi
 fi
 
 if test "x$SKIP_ATHENA" != "xYES" -a "$enable_gui_canon" != "athena"; then
-  echo "$as_me:$LINENO: checking whether or not to look for Athena" >&5
-echo $ECHO_N "checking whether or not to look for Athena... $ECHO_C" >&6
-  # Check whether --enable-athena-check or --disable-athena-check was given.
+  { $as_echo "$as_me:$LINENO: checking whether or not to look for Athena" >&5
+$as_echo_n "checking whether or not to look for Athena... " >&6; }
+  # Check whether --enable-athena-check was given.
 if test "${enable_athena_check+set}" = set; then
-  enableval="$enable_athena_check"
-
+  enableval=$enable_athena_check;
 else
   enable_athena_check="yes"
-fi;
-  echo "$as_me:$LINENO: result: $enable_athena_check" >&5
-echo "${ECHO_T}$enable_athena_check" >&6
+fi
+
+  { $as_echo "$as_me:$LINENO: result: $enable_athena_check" >&5
+$as_echo "$enable_athena_check" >&6; }
   if test "x$enable_athena_check" = "xno"; then
     SKIP_ATHENA=YES
   fi
 fi
 
 if test "x$SKIP_NEXTAW" != "xYES" -a "$enable_gui_canon" != "nextaw"; then
-  echo "$as_me:$LINENO: checking whether or not to look for neXtaw" >&5
-echo $ECHO_N "checking whether or not to look for neXtaw... $ECHO_C" >&6
-  # Check whether --enable-nextaw-check or --disable-nextaw-check was given.
+  { $as_echo "$as_me:$LINENO: checking whether or not to look for neXtaw" >&5
+$as_echo_n "checking whether or not to look for neXtaw... " >&6; }
+  # Check whether --enable-nextaw-check was given.
 if test "${enable_nextaw_check+set}" = set; then
-  enableval="$enable_nextaw_check"
-
+  enableval=$enable_nextaw_check;
 else
   enable_nextaw_check="yes"
-fi;
-  echo "$as_me:$LINENO: result: $enable_nextaw_check" >&5
-echo "${ECHO_T}$enable_nextaw_check" >&6;
+fi
+
+  { $as_echo "$as_me:$LINENO: result: $enable_nextaw_check" >&5
+$as_echo "$enable_nextaw_check" >&6; };
   if test "x$enable_nextaw_check" = "xno"; then
     SKIP_NEXTAW=YES
   fi
 fi
 
 if test "x$SKIP_CARBON" != "xYES" -a "$enable_gui_canon" != "carbon"; then
-  echo "$as_me:$LINENO: checking whether or not to look for Carbon" >&5
-echo $ECHO_N "checking whether or not to look for Carbon... $ECHO_C" >&6
-  # Check whether --enable-carbon-check or --disable-carbon-check was given.
+  { $as_echo "$as_me:$LINENO: checking whether or not to look for Carbon" >&5
+$as_echo_n "checking whether or not to look for Carbon... " >&6; }
+  # Check whether --enable-carbon-check was given.
 if test "${enable_carbon_check+set}" = set; then
-  enableval="$enable_carbon_check"
-
+  enableval=$enable_carbon_check;
 else
   enable_carbon_check="yes"
-fi;
-  echo "$as_me:$LINENO: result: $enable_carbon_check" >&5
-echo "${ECHO_T}$enable_carbon_check" >&6;
-  if test "x$enable_carbon_check" = "xno"; then
+fi
+
+  { $as_echo "$as_me:$LINENO: result: $enable_carbon_check" >&5
+$as_echo "$enable_carbon_check" >&6; };
+  if test "x$enable_carbon_check" = "xno"; then
     SKIP_CARBON=YES
   fi
 fi
 
 
 if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
-  echo "$as_me:$LINENO: checking for Carbon GUI" >&5
-echo $ECHO_N "checking for Carbon GUI... $ECHO_C" >&6
-    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6;
+  { $as_echo "$as_me:$LINENO: checking for Carbon GUI" >&5
+$as_echo_n "checking for Carbon GUI... " >&6; }
+    { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; };
   GUITYPE=CARBONGUI
   if test "$VIMNAME" = "vim"; then
     VIMNAME=Vim
@@ -7437,47 +8202,47 @@ fi
 
 if test -z "$SKIP_GTK"; then
 
-  echo "$as_me:$LINENO: checking --with-gtk-prefix argument" >&5
-echo $ECHO_N "checking --with-gtk-prefix argument... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking --with-gtk-prefix argument" >&5
+$as_echo_n "checking --with-gtk-prefix argument... " >&6; }
 
-# Check whether --with-gtk-prefix or --without-gtk-prefix was given.
+# Check whether --with-gtk-prefix was given.
 if test "${with_gtk_prefix+set}" = set; then
-  withval="$with_gtk_prefix"
-  gtk_config_prefix="$withval"; echo "$as_me:$LINENO: result: $gtk_config_prefix" >&5
-echo "${ECHO_T}$gtk_config_prefix" >&6
+  withval=$with_gtk_prefix; gtk_config_prefix="$withval"; { $as_echo "$as_me:$LINENO: result: $gtk_config_prefix" >&5
+$as_echo "$gtk_config_prefix" >&6; }
 else
-  gtk_config_prefix=""; echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi;
+  gtk_config_prefix=""; { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-  echo "$as_me:$LINENO: checking --with-gtk-exec-prefix argument" >&5
-echo $ECHO_N "checking --with-gtk-exec-prefix argument... $ECHO_C" >&6
 
-# Check whether --with-gtk-exec-prefix or --without-gtk-exec-prefix was given.
+  { $as_echo "$as_me:$LINENO: checking --with-gtk-exec-prefix argument" >&5
+$as_echo_n "checking --with-gtk-exec-prefix argument... " >&6; }
+
+# Check whether --with-gtk-exec-prefix was given.
 if test "${with_gtk_exec_prefix+set}" = set; then
-  withval="$with_gtk_exec_prefix"
-  gtk_config_exec_prefix="$withval"; echo "$as_me:$LINENO: result: $gtk_config_prefix" >&5
-echo "${ECHO_T}$gtk_config_prefix" >&6
+  withval=$with_gtk_exec_prefix; gtk_config_exec_prefix="$withval"; { $as_echo "$as_me:$LINENO: result: $gtk_config_prefix" >&5
+$as_echo "$gtk_config_prefix" >&6; }
 else
-  gtk_config_exec_prefix=""; echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi;
+  gtk_config_exec_prefix=""; { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
 
-  echo "$as_me:$LINENO: checking --disable-gtktest argument" >&5
-echo $ECHO_N "checking --disable-gtktest argument... $ECHO_C" >&6
-  # Check whether --enable-gtktest or --disable-gtktest was given.
-if test "${enable_gtktest+set}" = set; then
-  enableval="$enable_gtktest"
 
+  { $as_echo "$as_me:$LINENO: checking --disable-gtktest argument" >&5
+$as_echo_n "checking --disable-gtktest argument... " >&6; }
+  # Check whether --enable-gtktest was given.
+if test "${enable_gtktest+set}" = set; then
+  enableval=$enable_gtktest;
 else
   enable_gtktest=yes
-fi;
+fi
+
   if test "x$enable_gtktest" = "xyes" ; then
-    echo "$as_me:$LINENO: result: gtk test enabled" >&5
-echo "${ECHO_T}gtk test enabled" >&6
+    { $as_echo "$as_me:$LINENO: result: gtk test enabled" >&5
+$as_echo "gtk test enabled" >&6; }
   else
-    echo "$as_me:$LINENO: result: gtk test disabled" >&5
-echo "${ECHO_T}gtk test disabled" >&6
+    { $as_echo "$as_me:$LINENO: result: gtk test disabled" >&5
+$as_echo "gtk test disabled" >&6; }
   fi
 
   if test "x$gtk_config_prefix" != "x" ; then
@@ -7491,10 +8256,10 @@ echo "${ECHO_T}gtk test disabled" >&6
   if test "X$GTK_CONFIG" = "X"; then
     # Extract the first word of "gtk-config", so it can be a program name with args.
 set dummy gtk-config; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_GTK_CONFIG+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $GTK_CONFIG in
   [\\/]* | ?:[\\/]*)
@@ -7507,35 +8272,36 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_GTK_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   test -z "$ac_cv_path_GTK_CONFIG" && ac_cv_path_GTK_CONFIG="no"
   ;;
 esac
 fi
 GTK_CONFIG=$ac_cv_path_GTK_CONFIG
-
 if test -n "$GTK_CONFIG"; then
-  echo "$as_me:$LINENO: result: $GTK_CONFIG" >&5
-echo "${ECHO_T}$GTK_CONFIG" >&6
+  { $as_echo "$as_me:$LINENO: result: $GTK_CONFIG" >&5
+$as_echo "$GTK_CONFIG" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+
     if test "X$GTK_CONFIG" = "Xno"; then
             # Extract the first word of "gtk12-config", so it can be a program name with args.
 set dummy gtk12-config; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_GTK12_CONFIG+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $GTK12_CONFIG in
   [\\/]* | ?:[\\/]*)
@@ -7548,41 +8314,42 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_GTK12_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   test -z "$ac_cv_path_GTK12_CONFIG" && ac_cv_path_GTK12_CONFIG="no"
   ;;
 esac
 fi
 GTK12_CONFIG=$ac_cv_path_GTK12_CONFIG
-
 if test -n "$GTK12_CONFIG"; then
-  echo "$as_me:$LINENO: result: $GTK12_CONFIG" >&5
-echo "${ECHO_T}$GTK12_CONFIG" >&6
+  { $as_echo "$as_me:$LINENO: result: $GTK12_CONFIG" >&5
+$as_echo "$GTK12_CONFIG" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+
       GTK_CONFIG="$GTK12_CONFIG"
     fi
   else
-    echo "$as_me:$LINENO: result: Using GTK configuration program $GTK_CONFIG" >&5
-echo "${ECHO_T}Using GTK configuration program $GTK_CONFIG" >&6
+    { $as_echo "$as_me:$LINENO: result: Using GTK configuration program $GTK_CONFIG" >&5
+$as_echo "Using GTK configuration program $GTK_CONFIG" >&6; }
   fi
   if test "X$PKG_CONFIG" = "X"; then
     # Extract the first word of "pkg-config", so it can be a program name with args.
 set dummy pkg-config; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_PKG_CONFIG+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $PKG_CONFIG in
   [\\/]* | ?:[\\/]*)
@@ -7595,28 +8362,29 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no"
   ;;
 esac
 fi
 PKG_CONFIG=$ac_cv_path_PKG_CONFIG
-
 if test -n "$PKG_CONFIG"; then
-  echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
-echo "${ECHO_T}$PKG_CONFIG" >&6
+  { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+
   fi
 
   if test "x$GTK_CONFIG:$PKG_CONFIG" != "xno:no"; then
@@ -7625,8 +8393,8 @@ fi
   if test "X$GTK_CONFIG" != "Xno" -o "X$PKG_CONFIG" != "Xno"; then
   {
     min_gtk_version=2.2.0
-    echo "$as_me:$LINENO: checking for GTK - version >= $min_gtk_version" >&5
-echo $ECHO_N "checking for GTK - version >= $min_gtk_version... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking for GTK - version >= $min_gtk_version" >&5
+$as_echo_n "checking for GTK - version >= $min_gtk_version... " >&6; }
     no_gtk=""
     if (test "X$SKIP_GTK2" != "XYES" -a "X$PKG_CONFIG" != "Xno") \
          && $PKG_CONFIG --exists gtk+-2.0; then
@@ -7677,6 +8445,10 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 #include <gtk/gtk.h>
 #include <stdio.h>
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
 
 int
 main ()
@@ -7705,46 +8477,60 @@ return 1;
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   :
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 no_gtk=yes
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
       CFLAGS="$ac_save_CFLAGS"
       LIBS="$ac_save_LIBS"
     }
     fi
     if test "x$no_gtk" = x ; then
       if test "x$enable_gtktest" = "xyes"; then
-       echo "$as_me:$LINENO: result: yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&5
-echo "${ECHO_T}yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&6
+       { $as_echo "$as_me:$LINENO: result: yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&5
+$as_echo "yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&6; }
       else
-       echo "$as_me:$LINENO: result: found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&5
-echo "${ECHO_T}found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&6
+       { $as_echo "$as_me:$LINENO: result: found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&5
+$as_echo "found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&6; }
       fi
       GUI_LIB_LOC="$GTK_LIBDIR"
                   GTK_LIBNAME="$GTK_LIBS"
                  GUI_INC_LOC="$GTK_CFLAGS"
     else
     {
-      echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+      { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
       GTK_CFLAGS=""
       GTK_LIBS=""
       :
@@ -7775,8 +8561,8 @@ echo "${ECHO_T}no" >&6
   if test "X$GTK_CONFIG" != "Xno" -o "X$PKG_CONFIG" != "Xno"; then
   {
     min_gtk_version=1.1.16
-    echo "$as_me:$LINENO: checking for GTK - version >= $min_gtk_version" >&5
-echo $ECHO_N "checking for GTK - version >= $min_gtk_version... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking for GTK - version >= $min_gtk_version" >&5
+$as_echo_n "checking for GTK - version >= $min_gtk_version... " >&6; }
     no_gtk=""
     if (test "X$SKIP_GTK2" != "XYES" -a "X$PKG_CONFIG" != "Xno") \
          && $PKG_CONFIG --exists gtk+-2.0; then
@@ -7827,6 +8613,10 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 #include <gtk/gtk.h>
 #include <stdio.h>
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
 
 int
 main ()
@@ -7855,45 +8645,59 @@ return 1;
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   :
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 no_gtk=yes
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
       CFLAGS="$ac_save_CFLAGS"
       LIBS="$ac_save_LIBS"
     }
     fi
     if test "x$no_gtk" = x ; then
       if test "x$enable_gtktest" = "xyes"; then
-       echo "$as_me:$LINENO: result: yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&5
-echo "${ECHO_T}yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&6
+       { $as_echo "$as_me:$LINENO: result: yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&5
+$as_echo "yes; found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&6; }
       else
-       echo "$as_me:$LINENO: result: found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&5
-echo "${ECHO_T}found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&6
+       { $as_echo "$as_me:$LINENO: result: found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&5
+$as_echo "found version $gtk_major_version.$gtk_minor_version.$gtk_micro_version" >&6; }
       fi
       GTK_LIBNAME="$GTK_LIBS"
                  GUI_INC_LOC="$GTK_CFLAGS"
     else
     {
-      echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+      { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
       GTK_CFLAGS=""
       GTK_LIBS=""
       :
@@ -7921,8 +8725,8 @@ echo "${ECHO_T}no" >&6
     if test "x$GUITYPE" = "xGTK"; then
     if test "$gtk_major_version" = 1 -a "0$gtk_minor_version" -lt 2 \
         -o "$gtk_major_version" = 1 -a "$gtk_minor_version" = 2 -a "0$gtk_micro_version" -lt 3; then
-      echo "$as_me:$LINENO: result: this GTK version is old; version 1.2.3 or later is recommended" >&5
-echo "${ECHO_T}this GTK version is old; version 1.2.3 or later is recommended" >&6
+      { $as_echo "$as_me:$LINENO: result: this GTK version is old; version 1.2.3 or later is recommended" >&5
+$as_echo "this GTK version is old; version 1.2.3 or later is recommended" >&6; }
     else
     {
       if test "0$gtk_major_version" -ge 2; then
@@ -7947,26 +8751,25 @@ _ACEOF
 
 
 
-# Check whether --with-gnome-includes or --without-gnome-includes was given.
+# Check whether --with-gnome-includes was given.
 if test "${with_gnome_includes+set}" = set; then
-  withval="$with_gnome_includes"
-  CFLAGS="$CFLAGS -I$withval"
+  withval=$with_gnome_includes; CFLAGS="$CFLAGS -I$withval"
+
+fi
 
-fi;
 
 
-# Check whether --with-gnome-libs or --without-gnome-libs was given.
+# Check whether --with-gnome-libs was given.
 if test "${with_gnome_libs+set}" = set; then
-  withval="$with_gnome_libs"
-  LDFLAGS="$LDFLAGS -L$withval" gnome_prefix=$withval
+  withval=$with_gnome_libs; LDFLAGS="$LDFLAGS -L$withval" gnome_prefix=$withval
+
+fi
 
-fi;
 
 
-# Check whether --with-gnome or --without-gnome was given.
+# Check whether --with-gnome was given.
 if test "${with_gnome+set}" = set; then
-  withval="$with_gnome"
-  if test x$withval = xyes; then
+  withval=$with_gnome; if test x$withval = xyes; then
       want_gnome=yes
       have_gnome=yes
     else
@@ -7981,37 +8784,38 @@ if test "${with_gnome+set}" = set; then
     fi
 else
   want_gnome=yes
-fi;
+fi
+
 
   if test "x$want_gnome" = xyes -a "0$gtk_major_version" -ge 2; then
   {
-    echo "$as_me:$LINENO: checking for libgnomeui-2.0" >&5
-echo $ECHO_N "checking for libgnomeui-2.0... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking for libgnomeui-2.0" >&5
+$as_echo_n "checking for libgnomeui-2.0... " >&6; }
     if $PKG_CONFIG --exists libgnomeui-2.0; then
-      echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+      { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
       GNOME_LIBS=`$PKG_CONFIG --libs-only-l libgnomeui-2.0`
       GNOME_LIBDIR=`$PKG_CONFIG --libs-only-L libgnomeui-2.0`
       GNOME_INCLUDEDIR=`$PKG_CONFIG --cflags libgnomeui-2.0`
 
-                  echo "$as_me:$LINENO: checking for FreeBSD" >&5
-echo $ECHO_N "checking for FreeBSD... $ECHO_C" >&6
+                  { $as_echo "$as_me:$LINENO: checking for FreeBSD" >&5
+$as_echo_n "checking for FreeBSD... " >&6; }
       if test "`(uname) 2>/dev/null`" = FreeBSD; then
-       echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+       { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
        GNOME_INCLUDEDIR="$GNOME_INCLUDEDIR -D_THREAD_SAFE"
        GNOME_LIBS="$GNOME_LIBS -pthread"
       else
-       echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
       fi
       have_gnome=yes
     else
-      echo "$as_me:$LINENO: result: not found" >&5
-echo "${ECHO_T}not found" >&6
+      { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
       if test "x" = xfail; then
-       { { echo "$as_me:$LINENO: error: Could not find libgnomeui-2.0 via pkg-config" >&5
-echo "$as_me: error: Could not find libgnomeui-2.0 via pkg-config" >&2;}
+       { { $as_echo "$as_me:$LINENO: error: Could not find libgnomeui-2.0 via pkg-config" >&5
+$as_echo "$as_me: error: Could not find libgnomeui-2.0 via pkg-config" >&2;}
    { (exit 1); exit 1; }; }
       fi
     fi
@@ -8020,10 +8824,10 @@ echo "$as_me: error: Could not find libgnomeui-2.0 via pkg-config" >&2;}
   {
     # Extract the first word of "gnome-config", so it can be a program name with args.
 set dummy gnome-config; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_path_GNOME_CONFIG+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   case $GNOME_CONFIG in
   [\\/]* | ?:[\\/]*)
@@ -8036,43 +8840,44 @@ do
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_path_GNOME_CONFIG="$as_dir/$ac_word$ac_exec_ext"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
   test -z "$ac_cv_path_GNOME_CONFIG" && ac_cv_path_GNOME_CONFIG="no"
   ;;
 esac
 fi
 GNOME_CONFIG=$ac_cv_path_GNOME_CONFIG
-
 if test -n "$GNOME_CONFIG"; then
-  echo "$as_me:$LINENO: result: $GNOME_CONFIG" >&5
-echo "${ECHO_T}$GNOME_CONFIG" >&6
+  { $as_echo "$as_me:$LINENO: result: $GNOME_CONFIG" >&5
+$as_echo "$GNOME_CONFIG" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
+
     if test "$GNOME_CONFIG" = "no"; then
       no_gnome_config="yes"
     else
-      echo "$as_me:$LINENO: checking if $GNOME_CONFIG works" >&5
-echo $ECHO_N "checking if $GNOME_CONFIG works... $ECHO_C" >&6
+      { $as_echo "$as_me:$LINENO: checking if $GNOME_CONFIG works" >&5
+$as_echo_n "checking if $GNOME_CONFIG works... " >&6; }
       if $GNOME_CONFIG --libs-only-l gnome >/dev/null 2>&1; then
-       echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+       { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
        GNOME_LIBS="`$GNOME_CONFIG --libs-only-l gnome gnomeui`"
        GNOME_LIBDIR="`$GNOME_CONFIG --libs-only-L gnorba gnomeui`"
        GNOME_INCLUDEDIR="`$GNOME_CONFIG --cflags gnorba gnomeui`"
        have_gnome=yes
       else
-       echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
        no_gnome_config="yes"
       fi
     fi
@@ -8088,21 +8893,21 @@ echo "${ECHO_T}no" >&6
     fi
 
     if test "$no_gnome_config" = "yes"; then
-      echo "$as_me:$LINENO: checking for gnomeConf.sh file in $gnome_prefix" >&5
-echo $ECHO_N "checking for gnomeConf.sh file in $gnome_prefix... $ECHO_C" >&6
+      { $as_echo "$as_me:$LINENO: checking for gnomeConf.sh file in $gnome_prefix" >&5
+$as_echo_n "checking for gnomeConf.sh file in $gnome_prefix... " >&6; }
       if test -f $gnome_prefix/gnomeConf.sh; then
-       echo "$as_me:$LINENO: result: found" >&5
-echo "${ECHO_T}found" >&6
+       { $as_echo "$as_me:$LINENO: result: found" >&5
+$as_echo "found" >&6; }
        echo "loading gnome configuration from" \
          "$gnome_prefix/gnomeConf.sh"
        . $gnome_prefix/gnomeConf.sh
        have_gnome=yes
       else
-       echo "$as_me:$LINENO: result: not found" >&5
-echo "${ECHO_T}not found" >&6
+       { $as_echo "$as_me:$LINENO: result: not found" >&5
+$as_echo "not found" >&6; }
        if test x = xfail; then
-         { { echo "$as_me:$LINENO: error: Could not find the gnomeConf.sh file that is generated by gnome-libs install" >&5
-echo "$as_me: error: Could not find the gnomeConf.sh file that is generated by gnome-libs install" >&2;}
+         { { $as_echo "$as_me:$LINENO: error: Could not find the gnomeConf.sh file that is generated by gnome-libs install" >&5
+$as_echo "$as_me: error: Could not find the gnomeConf.sh file that is generated by gnome-libs install" >&2;}
    { (exit 1); exit 1; }; }
        fi
       fi
@@ -8130,8 +8935,8 @@ if test -z "$SKIP_MOTIF"; then
   gui_XXX="/usr/XXX/Motif* /usr/Motif*/XXX /usr/XXX /usr/shlib /usr/X11*/XXX /usr/XXX/X11* /usr/dt/XXX /local/Motif*/XXX /local/XXX/Motif* /usr/local/Motif*/XXX /usr/local/XXX/Motif* /usr/local/XXX /usr/local/X11*/XXX /usr/local/LessTif/Motif*/XXX $MOTIFHOME/XXX"
     GUI_INC_LOC="`echo $GUI_INC_LOC|sed 's%-I%%g'`"
 
-  echo "$as_me:$LINENO: checking for location of Motif GUI includes" >&5
-echo $ECHO_N "checking for location of Motif GUI includes... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking for location of Motif GUI includes" >&5
+$as_echo_n "checking for location of Motif GUI includes... " >&6; }
   gui_includes="`echo $x_includes|sed 's%/^/^/*$%%'` `echo "$gui_XXX" | sed s/XXX/include/g` $GUI_INC_LOC"
   GUI_INC_LOC=
   for try in $gui_includes; do
@@ -8142,42 +8947,42 @@ echo $ECHO_N "checking for location of Motif GUI includes... $ECHO_C" >&6
   if test -n "$GUI_INC_LOC"; then
     if test "$GUI_INC_LOC" = /usr/include; then
       GUI_INC_LOC=
-      echo "$as_me:$LINENO: result: in default path" >&5
-echo "${ECHO_T}in default path" >&6
+      { $as_echo "$as_me:$LINENO: result: in default path" >&5
+$as_echo "in default path" >&6; }
     else
-      echo "$as_me:$LINENO: result: $GUI_INC_LOC" >&5
-echo "${ECHO_T}$GUI_INC_LOC" >&6
+      { $as_echo "$as_me:$LINENO: result: $GUI_INC_LOC" >&5
+$as_echo "$GUI_INC_LOC" >&6; }
     fi
   else
-    echo "$as_me:$LINENO: result: <not found>" >&5
-echo "${ECHO_T}<not found>" >&6
+    { $as_echo "$as_me:$LINENO: result: <not found>" >&5
+$as_echo "<not found>" >&6; }
     SKIP_MOTIF=YES
   fi
 fi
 
 
 if test -z "$SKIP_MOTIF"; then
-  echo "$as_me:$LINENO: checking --with-motif-lib argument" >&5
-echo $ECHO_N "checking --with-motif-lib argument... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking --with-motif-lib argument" >&5
+$as_echo_n "checking --with-motif-lib argument... " >&6; }
 
-# Check whether --with-motif-lib or --without-motif-lib was given.
+# Check whether --with-motif-lib was given.
 if test "${with_motif_lib+set}" = set; then
-  withval="$with_motif_lib"
-   MOTIF_LIBNAME="${withval}"
-fi;
+  withval=$with_motif_lib;  MOTIF_LIBNAME="${withval}"
+fi
+
 
   if test -n "$MOTIF_LIBNAME"; then
-    echo "$as_me:$LINENO: result: $MOTIF_LIBNAME" >&5
-echo "${ECHO_T}$MOTIF_LIBNAME" >&6
+    { $as_echo "$as_me:$LINENO: result: $MOTIF_LIBNAME" >&5
+$as_echo "$MOTIF_LIBNAME" >&6; }
     GUI_LIB_LOC=
   else
-    echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+    { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 
         GUI_LIB_LOC="`echo $GUI_LIB_LOC|sed 's%-L%%g'`"
 
-    echo "$as_me:$LINENO: checking for location of Motif GUI libs" >&5
-echo $ECHO_N "checking for location of Motif GUI libs... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking for location of Motif GUI libs" >&5
+$as_echo_n "checking for location of Motif GUI libs... " >&6; }
     gui_libs="`echo $x_libraries|sed 's%/^/^/*$%%'` `echo "$gui_XXX" | sed s/XXX/lib/g` `echo "$GUI_INC_LOC" | sed s/include/lib/` $GUI_LIB_LOC"
     GUI_LIB_LOC=
     for try in $gui_libs; do
@@ -8190,12 +8995,12 @@ echo $ECHO_N "checking for location of Motif GUI libs... $ECHO_C" >&6
     if test -n "$GUI_LIB_LOC"; then
             if test "$GUI_LIB_LOC" = /usr/lib; then
        GUI_LIB_LOC=
-       echo "$as_me:$LINENO: result: in default path" >&5
-echo "${ECHO_T}in default path" >&6
+       { $as_echo "$as_me:$LINENO: result: in default path" >&5
+$as_echo "in default path" >&6; }
       else
        if test -n "$GUI_LIB_LOC"; then
-         echo "$as_me:$LINENO: result: $GUI_LIB_LOC" >&5
-echo "${ECHO_T}$GUI_LIB_LOC" >&6
+         { $as_echo "$as_me:$LINENO: result: $GUI_LIB_LOC" >&5
+$as_echo "$GUI_LIB_LOC" >&6; }
          if test "`(uname) 2>/dev/null`" = SunOS &&
                                         uname -r | grep '^5' >/dev/null; then
            GUI_LIB_LOC="$GUI_LIB_LOC -R $GUI_LIB_LOC"
@@ -8204,8 +9009,8 @@ echo "${ECHO_T}$GUI_LIB_LOC" >&6
       fi
       MOTIF_LIBNAME=-lXm
     else
-      echo "$as_me:$LINENO: result: <not found>" >&5
-echo "${ECHO_T}<not found>" >&6
+      { $as_echo "$as_me:$LINENO: result: <not found>" >&5
+$as_echo "<not found>" >&6; }
       SKIP_MOTIF=YES
     fi
   fi
@@ -8222,8 +9027,8 @@ fi
 GUI_X_LIBS=
 
 if test -z "$SKIP_ATHENA"; then
-  echo "$as_me:$LINENO: checking if Athena header files can be found" >&5
-echo $ECHO_N "checking if Athena header files can be found... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking if Athena header files can be found" >&5
+$as_echo_n "checking if Athena header files can be found... " >&6; }
   cflags_save=$CFLAGS
   CFLAGS="$CFLAGS $X_CFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
@@ -8244,37 +9049,34 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; SKIP_ATHENA=YES
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }; SKIP_ATHENA=YES
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CFLAGS=$cflags_save
 fi
 
@@ -8283,8 +9085,8 @@ if test -z "$SKIP_ATHENA"; then
 fi
 
 if test -z "$SKIP_NEXTAW"; then
-  echo "$as_me:$LINENO: checking if neXtaw header files can be found" >&5
-echo $ECHO_N "checking if neXtaw header files can be found... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking if neXtaw header files can be found" >&5
+$as_echo_n "checking if neXtaw header files can be found... " >&6; }
   cflags_save=$CFLAGS
   CFLAGS="$CFLAGS $X_CFLAGS"
   cat >conftest.$ac_ext <<_ACEOF
@@ -8305,37 +9107,34 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; SKIP_NEXTAW=YES
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }; SKIP_NEXTAW=YES
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CFLAGS=$cflags_save
 fi
 
@@ -8353,10 +9152,10 @@ if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
 
     ldflags_save=$LDFLAGS
   LDFLAGS="$X_LIBS $LDFLAGS"
-  echo "$as_me:$LINENO: checking for XShapeQueryExtension in -lXext" >&5
-echo $ECHO_N "checking for XShapeQueryExtension in -lXext... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking for XShapeQueryExtension in -lXext" >&5
+$as_echo_n "checking for XShapeQueryExtension in -lXext... " >&6; }
 if test "${ac_cv_lib_Xext_XShapeQueryExtension+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXext -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS"
@@ -8367,64 +9166,65 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char XShapeQueryExtension ();
 int
 main ()
 {
-XShapeQueryExtension ();
+return XShapeQueryExtension ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_Xext_XShapeQueryExtension=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_Xext_XShapeQueryExtension=no
+       ac_cv_lib_Xext_XShapeQueryExtension=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XShapeQueryExtension" >&5
-echo "${ECHO_T}$ac_cv_lib_Xext_XShapeQueryExtension" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xext_XShapeQueryExtension" >&5
+$as_echo "$ac_cv_lib_Xext_XShapeQueryExtension" >&6; }
 if test $ac_cv_lib_Xext_XShapeQueryExtension = yes; then
   GUI_X_LIBS="-lXext"
 fi
 
-    echo "$as_me:$LINENO: checking for wslen in -lw" >&5
-echo $ECHO_N "checking for wslen in -lw... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking for wslen in -lw" >&5
+$as_echo_n "checking for wslen in -lw... " >&6; }
 if test "${ac_cv_lib_w_wslen+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lw $GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS"
@@ -8435,64 +9235,65 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char wslen ();
 int
 main ()
 {
-wslen ();
+return wslen ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_w_wslen=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_w_wslen=no
+       ac_cv_lib_w_wslen=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_w_wslen" >&5
-echo "${ECHO_T}$ac_cv_lib_w_wslen" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_w_wslen" >&5
+$as_echo "$ac_cv_lib_w_wslen" >&6; }
 if test $ac_cv_lib_w_wslen = yes; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -lw"
 fi
 
-  echo "$as_me:$LINENO: checking for dlsym in -ldl" >&5
-echo $ECHO_N "checking for dlsym in -ldl... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking for dlsym in -ldl" >&5
+$as_echo_n "checking for dlsym in -ldl... " >&6; }
 if test "${ac_cv_lib_dl_dlsym+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-ldl $GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS"
@@ -8503,64 +9304,65 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char dlsym ();
 int
 main ()
 {
-dlsym ();
+return dlsym ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_dl_dlsym=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_dl_dlsym=no
+       ac_cv_lib_dl_dlsym=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlsym" >&5
-echo "${ECHO_T}$ac_cv_lib_dl_dlsym" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlsym" >&5
+$as_echo "$ac_cv_lib_dl_dlsym" >&6; }
 if test $ac_cv_lib_dl_dlsym = yes; then
   X_EXTRA_LIBS="$X_EXTRA_LIBS -ldl"
 fi
 
-  echo "$as_me:$LINENO: checking for XmuCreateStippledPixmap in -lXmu" >&5
-echo $ECHO_N "checking for XmuCreateStippledPixmap in -lXmu... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking for XmuCreateStippledPixmap in -lXmu" >&5
+$as_echo_n "checking for XmuCreateStippledPixmap in -lXmu... " >&6; }
 if test "${ac_cv_lib_Xmu_XmuCreateStippledPixmap+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXmu $GUI_X_LIBS -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS"
@@ -8571,65 +9373,66 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char XmuCreateStippledPixmap ();
 int
 main ()
 {
-XmuCreateStippledPixmap ();
+return XmuCreateStippledPixmap ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_Xmu_XmuCreateStippledPixmap=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_Xmu_XmuCreateStippledPixmap=no
+       ac_cv_lib_Xmu_XmuCreateStippledPixmap=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&5
-echo "${ECHO_T}$ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&5
+$as_echo "$ac_cv_lib_Xmu_XmuCreateStippledPixmap" >&6; }
 if test $ac_cv_lib_Xmu_XmuCreateStippledPixmap = yes; then
   GUI_X_LIBS="-lXmu $GUI_X_LIBS"
 fi
 
   if test -z "$SKIP_MOTIF"; then
-    echo "$as_me:$LINENO: checking for XpEndJob in -lXp" >&5
-echo $ECHO_N "checking for XpEndJob in -lXp... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking for XpEndJob in -lXp" >&5
+$as_echo_n "checking for XpEndJob in -lXp... " >&6; }
 if test "${ac_cv_lib_Xp_XpEndJob+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lXp $GUI_X_LIBS -lXm -lXt $X_PRE_LIBS -lX11 $X_EXTRA_LIBS $LIBS"
@@ -8640,56 +9443,57 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char XpEndJob ();
 int
 main ()
 {
-XpEndJob ();
+return XpEndJob ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_Xp_XpEndJob=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_Xp_XpEndJob=no
+       ac_cv_lib_Xp_XpEndJob=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_Xp_XpEndJob" >&5
-echo "${ECHO_T}$ac_cv_lib_Xp_XpEndJob" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_Xp_XpEndJob" >&5
+$as_echo "$ac_cv_lib_Xp_XpEndJob" >&6; }
 if test $ac_cv_lib_Xp_XpEndJob = yes; then
   GUI_X_LIBS="-lXp $GUI_X_LIBS"
 fi
@@ -8697,8 +9501,8 @@ fi
   fi
   LDFLAGS=$ldflags_save
 
-    echo "$as_me:$LINENO: checking for extra X11 defines" >&5
-echo $ECHO_N "checking for extra X11 defines... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking for extra X11 defines" >&5
+$as_echo_n "checking for extra X11 defines... " >&6; }
   NARROW_PROTO=
   rm -fr conftestdir
   if mkdir conftestdir; then
@@ -8714,11 +9518,11 @@ EOF
     rm -fr conftestdir
   fi
   if test -z "$NARROW_PROTO"; then
-    echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+    { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
   else
-    echo "$as_me:$LINENO: result: $NARROW_PROTO" >&5
-echo "${ECHO_T}$NARROW_PROTO" >&6
+    { $as_echo "$as_me:$LINENO: result: $NARROW_PROTO" >&5
+$as_echo "$NARROW_PROTO" >&6; }
   fi
 
 fi
@@ -8729,19 +9533,21 @@ if test "$enable_xsmp" = "yes"; then
 
 for ac_header in X11/SM/SMlib.h
 do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -8752,41 +9558,38 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -8795,81 +9598,77 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
   yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
     ac_header_preproc=yes
     ;;
   no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists.  ##
-## ------------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 
 fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
 fi
@@ -8887,19 +9686,21 @@ if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF" -o -z "$SKIP_
 
 for ac_header in X11/xpm.h X11/Sunkeysym.h
 do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -8910,41 +9711,38 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -8953,81 +9751,77 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
   yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
     ac_header_preproc=yes
     ;;
   no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists.  ##
-## ------------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 
 fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
 fi
@@ -9036,8 +9830,8 @@ done
 
 
     if test ! "$enable_xim" = "no"; then
-    echo "$as_me:$LINENO: checking for XIMText in X11/Xlib.h" >&5
-echo $ECHO_N "checking for XIMText in X11/Xlib.h... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking for XIMText in X11/Xlib.h" >&5
+$as_echo_n "checking for XIMText in X11/Xlib.h... " >&6; }
     cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -9048,11 +9842,11 @@ cat >>conftest.$ac_ext <<_ACEOF
 _ACEOF
 if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
   $EGREP "XIMText" >/dev/null 2>&1; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 else
-  echo "$as_me:$LINENO: result: no; xim has been disabled" >&5
-echo "${ECHO_T}no; xim has been disabled" >&6; enable_xim = "no"
+  { $as_echo "$as_me:$LINENO: result: no; xim has been disabled" >&5
+$as_echo "no; xim has been disabled" >&6; }; enable_xim = "no"
 fi
 rm -f conftest*
 
@@ -9061,8 +9855,8 @@ rm -f conftest*
 
     if test "$enable_xim" = "auto" -a "$enable_hangulinput" != "yes" \
                -a "x$GUITYPE" != "xNONE" ; then
-    echo "$as_me:$LINENO: result: X GUI selected; xim has been enabled" >&5
-echo "${ECHO_T}X GUI selected; xim has been enabled" >&6
+    { $as_echo "$as_me:$LINENO: result: X GUI selected; xim has been enabled" >&5
+$as_echo "X GUI selected; xim has been enabled" >&6; }
     enable_xim="yes"
   fi
 fi
@@ -9070,8 +9864,8 @@ fi
 if test -z "$SKIP_ATHENA" -o -z "$SKIP_NEXTAW" -o -z "$SKIP_MOTIF"; then
   cppflags_save=$CPPFLAGS
   CPPFLAGS="$CPPFLAGS $X_CFLAGS"
-  echo "$as_me:$LINENO: checking for X11/Xmu/Editres.h" >&5
-echo $ECHO_N "checking for X11/Xmu/Editres.h... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking for X11/Xmu/Editres.h" >&5
+$as_echo_n "checking for X11/Xmu/Editres.h... " >&6; }
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -9090,41 +9884,38 @@ int i; i = 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
                      cat >>confdefs.h <<\_ACEOF
 #define HAVE_X11_XMU_EDITRES_H 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   CPPFLAGS=$cppflags_save
 fi
 
@@ -9141,19 +9932,21 @@ if test -z "$SKIP_MOTIF"; then
 for ac_header in Xm/Xm.h Xm/XpmP.h Xm/JoinSideT.h Xm/TraitP.h Xm/Manager.h \
                   Xm/UnhighlightT.h Xm/Notebook.h
 do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -9164,41 +9957,38 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -9207,81 +9997,77 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
   yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
     ac_header_preproc=yes
     ;;
   no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists.  ##
-## ------------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 
 fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
 fi
@@ -9290,8 +10076,8 @@ done
 
 
   if test $ac_cv_header_Xm_XpmP_h = yes; then
-        echo "$as_me:$LINENO: checking for XpmAttributes_21 in Xm/XpmP.h" >&5
-echo $ECHO_N "checking for XpmAttributes_21 in Xm/XpmP.h... $ECHO_C" >&6
+        { $as_echo "$as_me:$LINENO: checking for XpmAttributes_21 in Xm/XpmP.h" >&5
+$as_echo_n "checking for XpmAttributes_21 in Xm/XpmP.h... " >&6; }
     cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -9308,44 +10094,41 @@ XpmAttributes_21 attr;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define XPMATTRIBUTES_TYPE XpmAttributes_21
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6; cat >>confdefs.h <<\_ACEOF
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define XPMATTRIBUTES_TYPE XpmAttributes
 _ACEOF
 
 
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   else
     cat >>confdefs.h <<\_ACEOF
 #define XPMATTRIBUTES_TYPE XpmAttributes
@@ -9356,18 +10139,18 @@ _ACEOF
 fi
 
 if test "x$GUITYPE" = "xNONE" -a "$enable_xim" = "yes"; then
-  echo "$as_me:$LINENO: result: no GUI selected; xim has been disabled" >&5
-echo "${ECHO_T}no GUI selected; xim has been disabled" >&6
+  { $as_echo "$as_me:$LINENO: result: no GUI selected; xim has been disabled" >&5
+$as_echo "no GUI selected; xim has been disabled" >&6; }
   enable_xim="no"
 fi
 if test "x$GUITYPE" = "xNONE" -a "$enable_fontset" = "yes"; then
-  echo "$as_me:$LINENO: result: no GUI selected; fontset has been disabled" >&5
-echo "${ECHO_T}no GUI selected; fontset has been disabled" >&6
+  { $as_echo "$as_me:$LINENO: result: no GUI selected; fontset has been disabled" >&5
+$as_echo "no GUI selected; fontset has been disabled" >&6; }
   enable_fontset="no"
 fi
 if test "x$GUITYPE:$enable_fontset" = "xGTK:yes" -a "0$gtk_major_version" -ge 2; then
-  echo "$as_me:$LINENO: result: GTK+ 2 GUI selected; fontset has been disabled" >&5
-echo "${ECHO_T}GTK+ 2 GUI selected; fontset has been disabled" >&6
+  { $as_echo "$as_me:$LINENO: result: GTK+ 2 GUI selected; fontset has been disabled" >&5
+$as_echo "GTK+ 2 GUI selected; fontset has been disabled" >&6; }
   enable_fontset="no"
 fi
 
@@ -9381,8 +10164,8 @@ fi
 
 
 if test "$enable_workshop" = "yes" -a -n "$SKIP_MOTIF"; then
-  { { echo "$as_me:$LINENO: error: cannot use workshop without Motif" >&5
-echo "$as_me: error: cannot use workshop without Motif" >&2;}
+  { { $as_echo "$as_me:$LINENO: error: cannot use workshop without Motif" >&5
+$as_echo "$as_me: error: cannot use workshop without Motif" >&2;}
    { (exit 1); exit 1; }; }
 fi
 
@@ -9404,8 +10187,8 @@ fi
 
 if test "$enable_hangulinput" = "yes"; then
   if test "x$GUITYPE" = "xNONE"; then
-    echo "$as_me:$LINENO: result: no GUI selected; hangul input has been disabled" >&5
-echo "${ECHO_T}no GUI selected; hangul input has been disabled" >&6
+    { $as_echo "$as_me:$LINENO: result: no GUI selected; hangul input has been disabled" >&5
+$as_echo "no GUI selected; hangul input has been disabled" >&6; }
     enable_hangulinput=no
   else
     cat >>confdefs.h <<\_ACEOF
@@ -9420,59 +10203,90 @@ _ACEOF
 fi
 
 
-echo "$as_me:$LINENO: checking quality of toupper" >&5
-echo $ECHO_N "checking quality of toupper... $ECHO_C" >&6
-if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
-echo "$as_me: error: failed to compile test program" >&2;}
+{ $as_echo "$as_me:$LINENO: checking whether toupper is broken" >&5
+$as_echo_n "checking whether toupper is broken... " >&6; }
+if test "${vim_cv_toupper_broken+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+
+    if test "$cross_compiling" = yes; then
+
+    { { $as_echo "$as_me:$LINENO: error: cross-compiling: please set 'vim_cv_toupper_broken'" >&5
+$as_echo "$as_me: error: cross-compiling: please set 'vim_cv_toupper_broken'" >&2;}
    { (exit 1); exit 1; }; }
+
 else
   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+
+#include "confdefs.h"
 #include <ctype.h>
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
 main() { exit(toupper('A') == 'A' && tolower('z') == 'z'); }
+
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  cat >>confdefs.h <<\_ACEOF
-#define BROKEN_TOUPPER 1
-_ACEOF
- echo "$as_me:$LINENO: result: bad" >&5
-echo "${ECHO_T}bad" >&6
+
+    vim_cv_toupper_broken=yes
+
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-echo "$as_me:$LINENO: result: good" >&5
-echo "${ECHO_T}good" >&6
+
+    vim_cv_toupper_broken=no
+
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: checking whether __DATE__ and __TIME__ work" >&5
-echo $ECHO_N "checking whether __DATE__ and __TIME__ work... $ECHO_C" >&6
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $vim_cv_toupper_broken" >&5
+$as_echo "$vim_cv_toupper_broken" >&6; }
+
+if test "x$vim_cv_toupper_broken" = "xyes" ; then
+  cat >>confdefs.h <<\_ACEOF
+#define BROKEN_TOUPPER 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking whether __DATE__ and __TIME__ work" >&5
+$as_echo_n "checking whether __DATE__ and __TIME__ work... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-
+#include <stdio.h>
 int
 main ()
 {
@@ -9482,53 +10296,50 @@ printf("(" __DATE__ " " __TIME__ ")");
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define HAVE_DATE_TIME 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 if test "${ac_cv_header_elf_h+set}" = set; then
-  echo "$as_me:$LINENO: checking for elf.h" >&5
-echo $ECHO_N "checking for elf.h... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking for elf.h" >&5
+$as_echo_n "checking for elf.h... " >&6; }
 if test "${ac_cv_header_elf_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_elf_h" >&5
-echo "${ECHO_T}$ac_cv_header_elf_h" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_elf_h" >&5
+$as_echo "$ac_cv_header_elf_h" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking elf.h usability" >&5
-echo $ECHO_N "checking elf.h usability... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking elf.h usability" >&5
+$as_echo_n "checking elf.h usability... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -9539,41 +10350,38 @@ $ac_includes_default
 #include <elf.h>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking elf.h presence" >&5
-echo $ECHO_N "checking elf.h presence... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking elf.h presence" >&5
+$as_echo_n "checking elf.h presence... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -9582,76 +10390,69 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <elf.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
   yes:no: )
-    { echo "$as_me:$LINENO: WARNING: elf.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: elf.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: elf.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: elf.h: proceeding with the compiler's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: elf.h: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: elf.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: elf.h: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: elf.h: proceeding with the compiler's result" >&2;}
     ac_header_preproc=yes
     ;;
   no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: elf.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: elf.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: elf.h:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: elf.h:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: elf.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: elf.h: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: elf.h:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: elf.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: elf.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: elf.h: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: elf.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: elf.h: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists.  ##
-## ------------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { $as_echo "$as_me:$LINENO: WARNING: elf.h: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: elf.h: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: elf.h:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: elf.h:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: elf.h: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: elf.h: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: elf.h:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: elf.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: elf.h: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: elf.h: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: elf.h: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: elf.h: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for elf.h" >&5
-echo $ECHO_N "checking for elf.h... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for elf.h" >&5
+$as_echo_n "checking for elf.h... " >&6; }
 if test "${ac_cv_header_elf_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_cv_header_elf_h=$ac_header_preproc
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_elf_h" >&5
-echo "${ECHO_T}$ac_cv_header_elf_h" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_elf_h" >&5
+$as_echo "$ac_cv_header_elf_h" >&6; }
 
 fi
 if test $ac_cv_header_elf_h = yes; then
 
 if test "$HAS_ELF" = 1; then
 
-echo "$as_me:$LINENO: checking for main in -lelf" >&5
-echo $ECHO_N "checking for main in -lelf... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for main in -lelf" >&5
+$as_echo_n "checking for main in -lelf... " >&6; }
 if test "${ac_cv_lib_elf_main+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lelf  $LIBS"
@@ -9679,629 +10480,314 @@ cat >>conftest.$ac_ext <<_ACEOF
 int
 main ()
 {
-main ();
+return main ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_elf_main=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_elf_main=no
+       ac_cv_lib_elf_main=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_elf_main" >&5
-echo "${ECHO_T}$ac_cv_lib_elf_main" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_elf_main" >&5
+$as_echo "$ac_cv_lib_elf_main" >&6; }
 if test $ac_cv_lib_elf_main = yes; then
   cat >>confdefs.h <<_ACEOF
 #define HAVE_LIBELF 1
-_ACEOF
-
-  LIBS="-lelf $LIBS"
-
-fi
-
-fi
-
-
-
-
-
-
-ac_header_dirent=no
-for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
-  as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5
-echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <$ac_hdr>
-
-int
-main ()
-{
-if ((DIR *) 0)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  eval "$as_ac_Header=yes"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_Header=no"
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
-_ACEOF
-
-ac_header_dirent=$ac_hdr; break
-fi
-
-done
-# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
-if test $ac_header_dirent = dirent.h; then
-  echo "$as_me:$LINENO: checking for library containing opendir" >&5
-echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6
-if test "${ac_cv_search_opendir+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-ac_cv_search_opendir=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char opendir ();
-int
-main ()
-{
-opendir ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_search_opendir="none required"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-if test "$ac_cv_search_opendir" = no; then
-  for ac_lib in dir; do
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char opendir ();
-int
-main ()
-{
-opendir ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_search_opendir="-l$ac_lib"
-break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-  done
-fi
-LIBS=$ac_func_search_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
-echo "${ECHO_T}$ac_cv_search_opendir" >&6
-if test "$ac_cv_search_opendir" != no; then
-  test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS"
-
-fi
-
-else
-  echo "$as_me:$LINENO: checking for library containing opendir" >&5
-echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6
-if test "${ac_cv_search_opendir+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-ac_cv_search_opendir=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char opendir ();
-int
-main ()
-{
-opendir ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_search_opendir="none required"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-if test "$ac_cv_search_opendir" = no; then
-  for ac_lib in x; do
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-    cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-
-/* Override any gcc2 internal prototype to avoid an error.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
-char opendir ();
-int
-main ()
-{
-opendir ();
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_search_opendir="-l$ac_lib"
-break
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
-  done
-fi
-LIBS=$ac_func_search_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
-echo "${ECHO_T}$ac_cv_search_opendir" >&6
-if test "$ac_cv_search_opendir" != no; then
-  test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS"
-
-fi
-
-fi
-
-
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
-if test "${ac_cv_header_stdc+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_header_stdc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_header_stdc=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then
-  :
-else
-  ac_cv_header_stdc=no
+_ACEOF
+
+  LIBS="-lelf $LIBS"
+
 fi
-rm -f conftest*
 
 fi
 
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+
+
+
+
+
+ac_header_dirent=no
+for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do
+  as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5
+$as_echo_n "checking for $ac_hdr that defines DIR... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <stdlib.h>
+#include <sys/types.h>
+#include <$ac_hdr>
 
+int
+main ()
+{
+if ((DIR *) 0)
+return 0;
+  ;
+  return 0;
+}
 _ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then
-  :
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  eval "$as_ac_Header=yes"
 else
-  ac_cv_header_stdc=no
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       eval "$as_ac_Header=no"
 fi
-rm -f conftest*
 
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1
+_ACEOF
 
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then
-  :
+ac_header_dirent=$ac_hdr; break
+fi
+
+done
+# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix.
+if test $ac_header_dirent = dirent.h; then
+  { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5
+$as_echo_n "checking for library containing opendir... " >&6; }
+if test "${ac_cv_search_opendir+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_func_search_save_LIBS=$LIBS
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <ctype.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-                  (('a' <= (c) && (c) <= 'i') \
-                    || ('j' <= (c) && (c) <= 'r') \
-                    || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
 
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char opendir ();
 int
 main ()
 {
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-       || toupper (i) != TOUPPER (i))
-      exit(2);
-  exit (0);
+return opendir ();
+  ;
+  return 0;
 }
 _ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+for ac_lib in '' dir; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  ac_cv_search_opendir=$ac_res
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-( exit $ac_status )
-ac_cv_header_stdc=no
+
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext
+  if test "${ac_cv_search_opendir+set}" = set; then
+  break
 fi
+done
+if test "${ac_cv_search_opendir+set}" = set; then
+  :
+else
+  ac_cv_search_opendir=no
 fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+$as_echo "$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
 fi
 
-echo "$as_me:$LINENO: checking for sys/wait.h that is POSIX.1 compatible" >&5
-echo $ECHO_N "checking for sys/wait.h that is POSIX.1 compatible... $ECHO_C" >&6
-if test "${ac_cv_header_sys_wait_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  { $as_echo "$as_me:$LINENO: checking for library containing opendir" >&5
+$as_echo_n "checking for library containing opendir... " >&6; }
+if test "${ac_cv_search_opendir+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
-#include <sys/types.h>
-#include <sys/wait.h>
-#ifndef WEXITSTATUS
-# define WEXITSTATUS(stat_val) ((unsigned)(stat_val) >> 8)
-#endif
-#ifndef WIFEXITED
-# define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
-#endif
 
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char opendir ();
 int
 main ()
 {
-  int s;
-  wait (&s);
-  s = WIFEXITED (s) ? WEXITSTATUS (s) : 1;
+return opendir ();
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+for ac_lib in '' x; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_header_sys_wait_h=yes
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  ac_cv_search_opendir=$ac_res
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_header_sys_wait_h=no
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext
+  if test "${ac_cv_search_opendir+set}" = set; then
+  break
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_sys_wait_h" >&5
-echo "${ECHO_T}$ac_cv_header_sys_wait_h" >&6
-if test $ac_cv_header_sys_wait_h = yes; then
+done
+if test "${ac_cv_search_opendir+set}" = set; then
+  :
+else
+  ac_cv_search_opendir=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5
+$as_echo "$ac_cv_search_opendir" >&6; }
+ac_res=$ac_cv_search_opendir
+if test "$ac_res" != no; then
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
 
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_SYS_WAIT_H 1
-_ACEOF
+fi
 
 fi
 
 
 if test $ac_cv_header_sys_wait_h = no; then
-  echo "$as_me:$LINENO: checking for sys/wait.h that defines union wait" >&5
-echo $ECHO_N "checking for sys/wait.h that defines union wait... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking for sys/wait.h that defines union wait" >&5
+$as_echo_n "checking for sys/wait.h that defines union wait... " >&6; }
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -10318,29 +10804,25 @@ union wait xx, yy; xx = yy
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
                        cat >>confdefs.h <<\_ACEOF
 #define HAVE_SYS_WAIT_H 1
 _ACEOF
@@ -10350,13 +10832,14 @@ _ACEOF
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
 
 
 
 
 
+
 
 
 for ac_header in stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
        termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h sys/types.h termio.h \
-       iconv.h langinfo.h unistd.h stropts.h errno.h \
+       iconv.h langinfo.h math.h unistd.h stropts.h errno.h \
        sys/resource.h sys/systeminfo.h locale.h \
        sys/stream.h sys/ptem.h termios.h libc.h sys/statfs.h \
        poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \
        libgen.h util/debug.h util/msg18n.h frame.h \
        sys/acl.h sys/access.h sys/sysctl.h sys/sysinfo.h wchar.h wctype.h
 do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -10432,41 +10918,38 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -10475,81 +10958,77 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
   yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
     ac_header_preproc=yes
     ;;
   no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists.  ##
-## ------------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 
 fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
 fi
@@ -10557,8 +11036,8 @@ fi
 done
 
 
-echo "$as_me:$LINENO: checking for pthread_np.h" >&5
-echo $ECHO_N "checking for pthread_np.h... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for pthread_np.h" >&5
+$as_echo_n "checking for pthread_np.h... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -10577,58 +11056,57 @@ int i; i = 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
                      cat >>confdefs.h <<\_ACEOF
 #define HAVE_PTHREAD_NP_H 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
 for ac_header in strings.h
 do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -10639,41 +11117,38 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -10682,81 +11157,77 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
   yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
     ac_header_preproc=yes
     ;;
   no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists.  ##
-## ------------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 
 fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
 fi
@@ -10770,8 +11241,8 @@ _ACEOF
 
 else
 
-echo "$as_me:$LINENO: checking if strings.h can be included after string.h" >&5
-echo $ECHO_N "checking if strings.h can be included after string.h... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking if strings.h can be included after string.h" >&5
+$as_echo_n "checking if strings.h can be included after string.h... " >&6; }
 cppflags_save=$CPPFLAGS
 CPPFLAGS="$CPPFLAGS $X_CFLAGS"
 cat >conftest.$ac_ext <<_ACEOF
@@ -10804,49 +11275,46 @@ int i; i = 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-cat >>confdefs.h <<\_ACEOF
+       cat >>confdefs.h <<\_ACEOF
 #define NO_STRINGS_WITH_STRING_H 1
 _ACEOF
 
-               echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+               { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 CPPFLAGS=$cppflags_save
 fi
 
 if test $ac_cv_c_compiler_gnu = yes; then
-    echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5
-echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5
+$as_echo_n "checking whether $CC needs -traditional... " >&6; }
 if test "${ac_cv_prog_gcc_traditional+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
     ac_pattern="Autoconf.*'x'"
   cat >conftest.$ac_ext <<_ACEOF
@@ -10885,17 +11353,17 @@ rm -f conftest*
 
   fi
 fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5
-echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5
+$as_echo "$ac_cv_prog_gcc_traditional" >&6; }
   if test $ac_cv_prog_gcc_traditional = yes; then
     CC="$CC -traditional"
   fi
 fi
 
-echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
-echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
 if test "${ac_cv_c_const+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -10911,10 +11379,10 @@ main ()
 #ifndef __cplusplus
   /* Ultrix mips cc rejects this.  */
   typedef int charset[2];
-  const charset x;
+  const charset cs;
   /* SunOS 4.1.1 cc rejects this.  */
-  char const *const *ccp;
-  char **p;
+  char const *const *pcpcc;
+  char **ppc;
   /* NEC SVR4.0.2 mips cc rejects this.  */
   struct point {int x, y;};
   static struct point const zero = {0,0};
@@ -10923,16 +11391,17 @@ main ()
      an arm of an if-expression whose if-part is not a constant
      expression */
   const char *g = "string";
-  ccp = &g + (g ? g-g : 0);
+  pcpcc = &g + (g ? g-g : 0);
   /* HPUX 7.0 cc rejects these. */
-  ++ccp;
-  p = (char**) ccp;
-  ccp = (char const *const *) p;
+  ++pcpcc;
+  ppc = (char**) pcpcc;
+  pcpcc = (char const *const *) ppc;
   { /* SCO 3.2v4 cc rejects this.  */
     char *t;
     char const *s = 0 ? (char *) 0 : (char const *) 0;
 
     *t++ = 0;
+    if (s) return 0;
   }
   { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
     int x[] = {25, 17};
@@ -10951,7 +11420,9 @@ main ()
   }
   { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
     const int foo = 10;
+    if (!foo) return 0;
   }
+  return !cs[0] && !zero.x;
 #endif
 
   ;
@@ -10959,52 +11430,50 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_c_const=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_c_const=no
+       ac_cv_c_const=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
-echo "${ECHO_T}$ac_cv_c_const" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
+$as_echo "$ac_cv_c_const" >&6; }
 if test $ac_cv_c_const = no; then
 
 cat >>confdefs.h <<\_ACEOF
-#define const
+#define const /**/
 _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for mode_t" >&5
-echo $ECHO_N "checking for mode_t... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for mode_t" >&5
+$as_echo_n "checking for mode_t... " >&6; }
 if test "${ac_cv_type_mode_t+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_cv_type_mode_t=no
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -11014,47 +11483,84 @@ $ac_includes_default
 int
 main ()
 {
-if ((mode_t *) 0)
-  return 0;
 if (sizeof (mode_t))
-  return 0;
+       return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((mode_t)))
+         return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_type_mode_t=yes
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_type_mode_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_mode_t=no
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5
-echo "${ECHO_T}$ac_cv_type_mode_t" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_mode_t" >&5
+$as_echo "$ac_cv_type_mode_t" >&6; }
 if test $ac_cv_type_mode_t = yes; then
   :
 else
@@ -11065,11 +11571,46 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for off_t" >&5
-echo $ECHO_N "checking for off_t... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for off_t" >&5
+$as_echo_n "checking for off_t... " >&6; }
 if test "${ac_cv_type_off_t+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
+  ac_cv_type_off_t=no
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof (off_t))
+       return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -11080,63 +11621,67 @@ $ac_includes_default
 int
 main ()
 {
-if ((off_t *) 0)
-  return 0;
-if (sizeof (off_t))
-  return 0;
+if (sizeof ((off_t)))
+         return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_type_off_t=yes
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_type_off_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_off_t=no
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
-echo "${ECHO_T}$ac_cv_type_off_t" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
+$as_echo "$ac_cv_type_off_t" >&6; }
 if test $ac_cv_type_off_t = yes; then
   :
 else
 
 cat >>confdefs.h <<_ACEOF
-#define off_t long
+#define off_t long int
 _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for pid_t" >&5
-echo $ECHO_N "checking for pid_t... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for pid_t" >&5
+$as_echo_n "checking for pid_t... " >&6; }
 if test "${ac_cv_type_pid_t+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_cv_type_pid_t=no
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -11146,47 +11691,84 @@ $ac_includes_default
 int
 main ()
 {
-if ((pid_t *) 0)
-  return 0;
 if (sizeof (pid_t))
-  return 0;
+       return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((pid_t)))
+         return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_type_pid_t=yes
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_pid_t=no
+       ac_cv_type_pid_t=yes
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
-echo "${ECHO_T}$ac_cv_type_pid_t" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5
+$as_echo "$ac_cv_type_pid_t" >&6; }
 if test $ac_cv_type_pid_t = yes; then
   :
 else
@@ -11197,12 +11779,13 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for size_t" >&5
-echo $ECHO_N "checking for size_t... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for size_t" >&5
+$as_echo_n "checking for size_t... " >&6; }
 if test "${ac_cv_type_size_t+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_cv_type_size_t=no
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -11212,61 +11795,98 @@ $ac_includes_default
 int
 main ()
 {
-if ((size_t *) 0)
-  return 0;
 if (sizeof (size_t))
-  return 0;
+       return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((size_t)))
+         return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_type_size_t=yes
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_type_size_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_size_t=no
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
-echo "${ECHO_T}$ac_cv_type_size_t" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
+$as_echo "$ac_cv_type_size_t" >&6; }
 if test $ac_cv_type_size_t = yes; then
   :
 else
 
 cat >>confdefs.h <<_ACEOF
-#define size_t unsigned
+#define size_t unsigned int
 _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5
-echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5
+$as_echo_n "checking for uid_t in sys/types.h... " >&6; }
 if test "${ac_cv_type_uid_t+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -11286,8 +11906,8 @@ fi
 rm -f conftest*
 
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5
-echo "${ECHO_T}$ac_cv_type_uid_t" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5
+$as_echo "$ac_cv_type_uid_t" >&6; }
 if test $ac_cv_type_uid_t = no; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -11301,10 +11921,10 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
-echo $ECHO_N "checking whether time.h and sys/time.h may both be included... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether time.h and sys/time.h may both be included" >&5
+$as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; }
 if test "${ac_cv_header_time+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -11326,38 +11946,35 @@ return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_cv_header_time=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_header_time=no
+       ac_cv_header_time=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
-echo "${ECHO_T}$ac_cv_header_time" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_time" >&5
+$as_echo "$ac_cv_header_time" >&6; }
 if test $ac_cv_header_time = yes; then
 
 cat >>confdefs.h <<\_ACEOF
@@ -11366,12 +11983,13 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for ino_t" >&5
-echo $ECHO_N "checking for ino_t... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for ino_t" >&5
+$as_echo_n "checking for ino_t... " >&6; }
 if test "${ac_cv_type_ino_t+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_cv_type_ino_t=no
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -11381,47 +11999,84 @@ $ac_includes_default
 int
 main ()
 {
-if ((ino_t *) 0)
-  return 0;
 if (sizeof (ino_t))
-  return 0;
+       return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((ino_t)))
+         return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_type_ino_t=yes
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_type_ino_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_ino_t=no
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_ino_t" >&5
-echo "${ECHO_T}$ac_cv_type_ino_t" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_ino_t" >&5
+$as_echo "$ac_cv_type_ino_t" >&6; }
 if test $ac_cv_type_ino_t = yes; then
   :
 else
@@ -11432,12 +12087,13 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for dev_t" >&5
-echo $ECHO_N "checking for dev_t... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for dev_t" >&5
+$as_echo_n "checking for dev_t... " >&6; }
 if test "${ac_cv_type_dev_t+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
-  cat >conftest.$ac_ext <<_ACEOF
+  ac_cv_type_dev_t=no
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
@@ -11447,47 +12103,84 @@ $ac_includes_default
 int
 main ()
 {
-if ((dev_t *) 0)
-  return 0;
 if (sizeof (dev_t))
-  return 0;
+       return 0;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+if (sizeof ((dev_t)))
+         return 0;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_type_dev_t=yes
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  :
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_cv_type_dev_t=yes
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_dev_t=no
+
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_dev_t" >&5
-echo "${ECHO_T}$ac_cv_type_dev_t" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_dev_t" >&5
+$as_echo "$ac_cv_type_dev_t" >&6; }
 if test $ac_cv_type_dev_t = yes; then
   :
 else
@@ -11499,11 +12192,11 @@ _ACEOF
 fi
 
 
-echo "$as_me:$LINENO: checking for rlim_t" >&5
-echo $ECHO_N "checking for rlim_t... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for rlim_t" >&5
+$as_echo_n "checking for rlim_t... " >&6; }
 if eval "test \"`echo '$''{'ac_cv_type_rlim_t'+set}'`\" = set"; then
-  echo "$as_me:$LINENO: result: (cached) $ac_cv_type_rlim_t" >&5
-echo "${ECHO_T}(cached) $ac_cv_type_rlim_t" >&6
+  { $as_echo "$as_me:$LINENO: result: (cached) $ac_cv_type_rlim_t" >&5
+$as_echo "(cached) $ac_cv_type_rlim_t" >&6; }
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -11514,11 +12207,11 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 #include <sys/types.h>
 #if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
+# include <stdlib.h>
+# include <stddef.h>
 #endif
 #ifdef HAVE_SYS_RESOURCE_H
-#include <sys/resource.h>
+# include <sys/resource.h>
 #endif
 
 _ACEOF
@@ -11530,8 +12223,8 @@ else
 fi
 rm -f conftest*
 
-         echo "$as_me:$LINENO: result: $ac_cv_type_rlim_t" >&5
-echo "${ECHO_T}$ac_cv_type_rlim_t" >&6
+         { $as_echo "$as_me:$LINENO: result: $ac_cv_type_rlim_t" >&5
+$as_echo "$ac_cv_type_rlim_t" >&6; }
 fi
 if test $ac_cv_type_rlim_t = no; then
   cat >> confdefs.h <<\EOF
@@ -11539,11 +12232,11 @@ if test $ac_cv_type_rlim_t = no; then
 EOF
 fi
 
-echo "$as_me:$LINENO: checking for stack_t" >&5
-echo $ECHO_N "checking for stack_t... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for stack_t" >&5
+$as_echo_n "checking for stack_t... " >&6; }
 if eval "test \"`echo '$''{'ac_cv_type_stack_t'+set}'`\" = set"; then
-  echo "$as_me:$LINENO: result: (cached) $ac_cv_type_stack_t" >&5
-echo "${ECHO_T}(cached) $ac_cv_type_stack_t" >&6
+  { $as_echo "$as_me:$LINENO: result: (cached) $ac_cv_type_stack_t" >&5
+$as_echo "(cached) $ac_cv_type_stack_t" >&6; }
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -11554,8 +12247,8 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 #include <sys/types.h>
 #if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
+# include <stdlib.h>
+# include <stddef.h>
 #endif
 #include <signal.h>
 
@@ -11568,8 +12261,8 @@ else
 fi
 rm -f conftest*
 
-         echo "$as_me:$LINENO: result: $ac_cv_type_stack_t" >&5
-echo "${ECHO_T}$ac_cv_type_stack_t" >&6
+         { $as_echo "$as_me:$LINENO: result: $ac_cv_type_stack_t" >&5
+$as_echo "$ac_cv_type_stack_t" >&6; }
 fi
 if test $ac_cv_type_stack_t = no; then
   cat >> confdefs.h <<\EOF
@@ -11577,8 +12270,8 @@ if test $ac_cv_type_stack_t = no; then
 EOF
 fi
 
-echo "$as_me:$LINENO: checking whether stack_t has an ss_base field" >&5
-echo $ECHO_N "checking whether stack_t has an ss_base field... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether stack_t has an ss_base field" >&5
+$as_echo_n "checking whether stack_t has an ss_base field... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -11588,8 +12281,8 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 #include <sys/types.h>
 #if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
+# include <stdlib.h>
+# include <stddef.h>
 #endif
 #include <signal.h>
 #include "confdefs.h"
@@ -11603,56 +12296,53 @@ stack_t sigstk; sigstk.ss_base = 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define HAVE_SS_BASE 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 olibs="$LIBS"
-echo "$as_me:$LINENO: checking --with-tlib argument" >&5
-echo $ECHO_N "checking --with-tlib argument... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking --with-tlib argument" >&5
+$as_echo_n "checking --with-tlib argument... " >&6; }
 
-# Check whether --with-tlib or --without-tlib was given.
+# Check whether --with-tlib was given.
 if test "${with_tlib+set}" = set; then
-  withval="$with_tlib"
+  withval=$with_tlib;
+fi
 
-fi;
 if test -n "$with_tlib"; then
-  echo "$as_me:$LINENO: result: $with_tlib" >&5
-echo "${ECHO_T}$with_tlib" >&6
+  { $as_echo "$as_me:$LINENO: result: $with_tlib" >&5
+$as_echo "$with_tlib" >&6; }
   LIBS="$LIBS -l$with_tlib"
-  echo "$as_me:$LINENO: checking for linking with $with_tlib library" >&5
-echo $ECHO_N "checking for linking with $with_tlib library... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking for linking with $with_tlib library" >&5
+$as_echo_n "checking for linking with $with_tlib library... " >&6; }
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -11669,54 +12359,55 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: OK" >&5
-echo "${ECHO_T}OK" >&6
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: OK" >&5
+$as_echo "OK" >&6; }
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { echo "$as_me:$LINENO: error: FAILED" >&5
-echo "$as_me: error: FAILED" >&2;}
+       { { $as_echo "$as_me:$LINENO: error: FAILED" >&5
+$as_echo "$as_me: error: FAILED" >&2;}
    { (exit 1); exit 1; }; }
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
     olibs="$LIBS"
 else
-  echo "$as_me:$LINENO: result: empty: automatic terminal library selection" >&5
-echo "${ECHO_T}empty: automatic terminal library selection" >&6
+  { $as_echo "$as_me:$LINENO: result: empty: automatic terminal library selection" >&5
+$as_echo "empty: automatic terminal library selection" >&6; }
               case "`uname -s 2>/dev/null`" in
        OSF1|SCO_SV)    tlibs="ncurses curses termlib termcap";;
        *)      tlibs="ncurses termlib termcap curses";;
   esac
   for libname in $tlibs; do
 
-as_ac_Lib=`echo "ac_cv_lib_${libname}''_tgetent" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for tgetent in -l${libname}" >&5
-echo $ECHO_N "checking for tgetent in -l${libname}... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Lib+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+as_ac_Lib=`$as_echo "ac_cv_lib_${libname}''_tgetent" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for tgetent in -l${libname}" >&5
+$as_echo_n "checking for tgetent in -l${libname}... " >&6; }
+if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-l${libname}  $LIBS"
@@ -11727,59 +12418,63 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char tgetent ();
 int
 main ()
 {
-tgetent ();
+return tgetent ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   eval "$as_ac_Lib=yes"
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_Lib=no"
+       eval "$as_ac_Lib=no"
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Lib'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Lib'}'`" >&6
-if test `eval echo '${'$as_ac_Lib'}'` = yes; then
+ac_res=`eval 'as_val=${'$as_ac_Lib'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test `eval 'as_val=${'$as_ac_Lib'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_LIB${libname}" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_LIB${libname}" | $as_tr_cpp` 1
 _ACEOF
 
   LIBS="-l${libname} $LIBS"
@@ -11800,47 +12495,65 @@ cat >>conftest.$ac_ext <<_ACEOF
 #ifdef HAVE_TERMCAP_H
 # include <termcap.h>
 #endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
 main() {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(0); }
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   res="OK"
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 res="FAIL"
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
       if test "$res" = "OK"; then
        break
       fi
-      echo "$as_me:$LINENO: result: $libname library is not usable" >&5
-echo "${ECHO_T}$libname library is not usable" >&6
+      { $as_echo "$as_me:$LINENO: result: $libname library is not usable" >&5
+$as_echo "$libname library is not usable" >&6; }
       LIBS="$olibs"
     fi
   done
   if test "x$olibs" = "x$LIBS"; then
-    echo "$as_me:$LINENO: result: no terminal library found" >&5
-echo "${ECHO_T}no terminal library found" >&6
+    { $as_echo "$as_me:$LINENO: result: no terminal library found" >&5
+$as_echo "no terminal library found" >&6; }
   fi
 fi
 
 if test "x$olibs" = "x$LIBS"; then
-  echo "$as_me:$LINENO: checking for tgetent()" >&5
-echo $ECHO_N "checking for tgetent()... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking for tgetent()" >&5
+$as_echo_n "checking for tgetent()... " >&6; }
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -11857,145 +12570,211 @@ char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist");
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-{ { echo "$as_me:$LINENO: error: NOT FOUND!
+       { { $as_echo "$as_me:$LINENO: error: NOT FOUND!
       You need to install a terminal library; for example ncurses.
       Or specify the name of the library with --with-tlib." >&5
-echo "$as_me: error: NOT FOUND!
+$as_echo "$as_me: error: NOT FOUND!
       You need to install a terminal library; for example ncurses.
       Or specify the name of the library with --with-tlib." >&2;}
    { (exit 1); exit 1; }; }
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: checking whether we talk terminfo" >&5
-echo $ECHO_N "checking whether we talk terminfo... $ECHO_C" >&6
-if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: failed to compile test program." >&5
-echo "$as_me: error: failed to compile test program." >&2;}
+{ $as_echo "$as_me:$LINENO: checking whether we talk terminfo" >&5
+$as_echo_n "checking whether we talk terminfo... " >&6; }
+if test "${vim_cv_terminfo+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+
+    if test "$cross_compiling" = yes; then
+
+      { { $as_echo "$as_me:$LINENO: error: cross-compiling: please set 'vim_cv_terminfo'" >&5
+$as_echo "$as_me: error: cross-compiling: please set 'vim_cv_terminfo'" >&2;}
    { (exit 1); exit 1; }; }
+
 else
   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
+#include "confdefs.h"
 #ifdef HAVE_TERMCAP_H
 # include <termcap.h>
 #endif
+#ifdef HAVE_STRING_H
+# include <string.h>
+#endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
 main()
 {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); }
+
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: no -- we are in termcap land" >&5
-echo "${ECHO_T}no -- we are in termcap land" >&6
+
+      vim_cv_terminfo=no
+
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-echo "$as_me:$LINENO: result: yes -- terminfo spoken here" >&5
-echo "${ECHO_T}yes -- terminfo spoken here" >&6; cat >>confdefs.h <<\_ACEOF
+
+      vim_cv_terminfo=yes
+
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $vim_cv_terminfo" >&5
+$as_echo "$vim_cv_terminfo" >&6; }
+
+if test "x$vim_cv_terminfo" = "xyes" ; then
+  cat >>confdefs.h <<\_ACEOF
 #define TERMINFO 1
 _ACEOF
 
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
 
 if test "x$olibs" != "x$LIBS"; then
-  echo "$as_me:$LINENO: checking what tgetent() returns for an unknown terminal" >&5
-echo $ECHO_N "checking what tgetent() returns for an unknown terminal... $ECHO_C" >&6
-  if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: failed to compile test program." >&5
-echo "$as_me: error: failed to compile test program." >&2;}
+  { $as_echo "$as_me:$LINENO: checking what tgetent() returns for an unknown terminal" >&5
+$as_echo_n "checking what tgetent() returns for an unknown terminal... " >&6; }
+if test "${vim_cv_tgent+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+
+      if test "$cross_compiling" = yes; then
+
+       { { $as_echo "$as_me:$LINENO: error: failed to compile test program." >&5
+$as_echo "$as_me: error: failed to compile test program." >&2;}
    { (exit 1); exit 1; }; }
+
 else
   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
+#include "confdefs.h"
 #ifdef HAVE_TERMCAP_H
 # include <termcap.h>
 #endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
 main()
 {char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist"); exit(res != 0); }
+
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: zero" >&5
-echo "${ECHO_T}zero" >&6; cat >>confdefs.h <<\_ACEOF
-#define TGETENT_ZERO_ERR 0
-_ACEOF
+
+       vim_cv_tgent=zero
 
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-echo "$as_me:$LINENO: result: non-zero" >&5
-echo "${ECHO_T}non-zero" >&6
+
+       vim_cv_tgent=non-zero
+
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
 fi
+{ $as_echo "$as_me:$LINENO: result: $vim_cv_tgent" >&5
+$as_echo "$vim_cv_tgent" >&6; }
+
+  if test "x$vim_cv_tgent" = "xzero" ; then
+    cat >>confdefs.h <<\_ACEOF
+#define TGETENT_ZERO_ERR 0
+_ACEOF
+
+  fi
 fi
 
-echo "$as_me:$LINENO: checking whether termcap.h contains ospeed" >&5
-echo $ECHO_N "checking whether termcap.h contains ospeed... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether termcap.h contains ospeed" >&5
+$as_echo_n "checking whether termcap.h contains ospeed... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -12016,40 +12795,39 @@ ospeed = 20000
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define HAVE_OSPEED 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-       echo "$as_me:$LINENO: checking whether ospeed can be extern" >&5
-echo $ECHO_N "checking whether ospeed can be extern... $ECHO_C" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether ospeed can be extern" >&5
+$as_echo_n "checking whether ospeed can be extern... " >&6; }
        cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -12071,48 +12849,51 @@ ospeed = 20000
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define OSPEED_EXTERN 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking whether termcap.h contains UP, BC and PC" >&5
-echo $ECHO_N "checking whether termcap.h contains UP, BC and PC... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether termcap.h contains UP, BC and PC" >&5
+$as_echo_n "checking whether termcap.h contains UP, BC and PC... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -12133,40 +12914,39 @@ if (UP == 0 && BC == 0) PC = 1
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define HAVE_UP_BC_PC 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-       echo "$as_me:$LINENO: checking whether UP, BC and PC can be extern" >&5
-echo $ECHO_N "checking whether UP, BC and PC can be extern... $ECHO_C" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+       { $as_echo "$as_me:$LINENO: checking whether UP, BC and PC can be extern" >&5
+$as_echo_n "checking whether UP, BC and PC can be extern... " >&6; }
        cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -12188,48 +12968,51 @@ if (UP == 0 && BC == 0) PC = 1
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define UP_BC_PC_EXTERN 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking whether tputs() uses outfuntype" >&5
-echo $ECHO_N "checking whether tputs() uses outfuntype... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking whether tputs() uses outfuntype" >&5
+$as_echo_n "checking whether tputs() uses outfuntype... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -12250,43 +13033,40 @@ extern int xx(); tputs("test", 1, (outfuntype)xx)
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define HAVE_OUTFUNTYPE 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking whether sys/select.h and sys/time.h may both be included" >&5
-echo $ECHO_N "checking whether sys/select.h and sys/time.h may both be included... $ECHO_C" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ $as_echo "$as_me:$LINENO: checking whether sys/select.h and sys/time.h may both be included" >&5
+$as_echo_n "checking whether sys/select.h and sys/time.h may both be included... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -12306,59 +13086,56 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
                        cat >>confdefs.h <<\_ACEOF
 #define SYS_SELECT_WITH_SYS_TIME 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
-echo "$as_me:$LINENO: checking for /dev/ptc" >&5
-echo $ECHO_N "checking for /dev/ptc... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for /dev/ptc" >&5
+$as_echo_n "checking for /dev/ptc... " >&6; }
 if test -r /dev/ptc; then
   cat >>confdefs.h <<\_ACEOF
 #define HAVE_DEV_PTC 1
 _ACEOF
 
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking for SVR4 ptys" >&5
-echo $ECHO_N "checking for SVR4 ptys... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for SVR4 ptys" >&5
+$as_echo_n "checking for SVR4 ptys... " >&6; }
 if test -c /dev/ptmx ; then
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -12376,48 +13153,49 @@ ptsname(0);grantpt(0);unlockpt(0);
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define HAVE_SVR4_PTYS 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking for ptyranges" >&5
-echo $ECHO_N "checking for ptyranges... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for ptyranges" >&5
+$as_echo_n "checking for ptyranges... " >&6; }
 if test -d /dev/ptym ; then
   pdir='/dev/ptym'
 else
@@ -12453,29 +13231,38 @@ _ACEOF
 #define PTYRANGE1 "$p1"
 _ACEOF
 
-  echo "$as_me:$LINENO: result: $p0 / $p1" >&5
-echo "${ECHO_T}$p0 / $p1" >&6
+  { $as_echo "$as_me:$LINENO: result: $p0 / $p1" >&5
+$as_echo "$p0 / $p1" >&6; }
 else
-  echo "$as_me:$LINENO: result: don't know" >&5
-echo "${ECHO_T}don't know" >&6
+  { $as_echo "$as_me:$LINENO: result: don't know" >&5
+$as_echo "don't know" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking default tty permissions/group" >&5
-echo $ECHO_N "checking default tty permissions/group... $ECHO_C" >&6
 rm -f conftest_grp
-if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
-echo "$as_me: error: failed to compile test program" >&2;}
+{ $as_echo "$as_me:$LINENO: checking default tty permissions/group" >&5
+$as_echo_n "checking default tty permissions/group... " >&6; }
+if test "${vim_cv_tty_group+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+
+    if test "$cross_compiling" = yes; then
+
+      { { $as_echo "$as_me:$LINENO: error: cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode'" >&5
+$as_echo "$as_me: error: cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode'" >&2;}
    { (exit 1); exit 1; }; }
+
 else
   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
+#include "confdefs.h"
 #include <sys/types.h>
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
 #include <sys/stat.h>
 #include <stdio.h>
 main()
@@ -12505,52 +13292,86 @@ main()
 
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
 
-    if test -f conftest_grp; then
-       ptygrp=`cat conftest_grp`
-       echo "$as_me:$LINENO: result: pty mode: 0620, group: $ptygrp" >&5
-echo "${ECHO_T}pty mode: 0620, group: $ptygrp" >&6
-       cat >>confdefs.h <<\_ACEOF
-#define PTYMODE 0620
-_ACEOF
-
-       cat >>confdefs.h <<_ACEOF
-#define PTYGROUP $ptygrp
-_ACEOF
-
-    else
-       echo "$as_me:$LINENO: result: ptys are world accessable" >&5
-echo "${ECHO_T}ptys are world accessable" >&6
-    fi
+      if test -f conftest_grp; then
+       vim_cv_tty_group=`cat conftest_grp`
+       if test "x$vim_cv_tty_mode" = "x" ; then
+         vim_cv_tty_mode=0620
+       fi
+       { $as_echo "$as_me:$LINENO: result: pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group" >&5
+$as_echo "pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group" >&6; }
+      else
+       vim_cv_tty_group=world
+       { $as_echo "$as_me:$LINENO: result: ptys are world accessable" >&5
+$as_echo "ptys are world accessable" >&6; }
+      fi
 
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-echo "$as_me:$LINENO: result: can't determine - assume ptys are world accessable" >&5
-echo "${ECHO_T}can't determine - assume ptys are world accessable" >&6
+
+      vim_cv_tty_group=world
+      { $as_echo "$as_me:$LINENO: result: can't determine - assume ptys are world accessable" >&5
+$as_echo "can't determine - assume ptys are world accessable" >&6; }
+
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+
+
+
 fi
+{ $as_echo "$as_me:$LINENO: result: $vim_cv_tty_group" >&5
+$as_echo "$vim_cv_tty_group" >&6; }
 rm -f conftest_grp
 
+if test "x$vim_cv_tty_group" != "xworld" ; then
+  cat >>confdefs.h <<_ACEOF
+#define PTYGROUP $vim_cv_tty_group
+_ACEOF
+
+  if test "x$vim_cv_tty_mode" = "x" ; then
+    { { $as_echo "$as_me:$LINENO: error: It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (propably 0620)" >&5
+$as_echo "$as_me: error: It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (propably 0620)" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    cat >>confdefs.h <<\_ACEOF
+#define PTYMODE 0620
+_ACEOF
+
+  fi
+fi
 
-echo "$as_me:$LINENO: checking return type of signal handlers" >&5
-echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
+
+{ $as_echo "$as_me:$LINENO: checking return type of signal handlers" >&5
+$as_echo_n "checking return type of signal handlers... " >&6; }
 if test "${ac_cv_type_signal+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -12560,56 +13381,45 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <sys/types.h>
 #include <signal.h>
-#ifdef signal
-# undef signal
-#endif
-#ifdef __cplusplus
-extern "C" void (*signal (int, void (*)(int)))(int);
-#else
-void (*signal ()) ();
-#endif
 
 int
 main ()
 {
-int i;
+return *(signal (0, 0)) (0) == 1;
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  ac_cv_type_signal=void
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_type_signal=int
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_type_signal=int
+       ac_cv_type_signal=void
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
-echo "${ECHO_T}$ac_cv_type_signal" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
+$as_echo "$ac_cv_type_signal" >&6; }
 
 cat >>confdefs.h <<_ACEOF
 #define RETSIGTYPE $ac_cv_type_signal
@@ -12629,8 +13439,8 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking for struct sigcontext" >&5
-echo $ECHO_N "checking for struct sigcontext... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for struct sigcontext" >&5
+$as_echo_n "checking for struct sigcontext... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -12654,56 +13464,58 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
                cat >>confdefs.h <<\_ACEOF
 #define HAVE_SIGCONTEXT 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking getcwd implementation" >&5
-echo $ECHO_N "checking getcwd implementation... $ECHO_C" >&6
-if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
-echo "$as_me: error: failed to compile test program" >&2;}
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ $as_echo "$as_me:$LINENO: checking getcwd implementation is broken" >&5
+$as_echo_n "checking getcwd implementation is broken... " >&6; }
+if test "${vim_cv_getcwd_broken+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+
+    if test "$cross_compiling" = yes; then
+
+      { { $as_echo "$as_me:$LINENO: error: cross-compiling: please set 'vim_cv_getcwd_broken'" >&5
+$as_echo "$as_me: error: cross-compiling: please set 'vim_cv_getcwd_broken'" >&2;}
    { (exit 1); exit 1; }; }
+
 else
   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 
+#include "confdefs.h"
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
 char *dagger[] = { "IFS=pwd", 0 };
 main()
 {
@@ -12712,35 +13524,59 @@ main()
   environ = dagger;
   return getcwd(buffer, 500) ? 0 : 1;
 }
+
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: it is usable" >&5
-echo "${ECHO_T}it is usable" >&6
+
+      vim_cv_getcwd_broken=no
+
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-echo "$as_me:$LINENO: result: it stinks" >&5
-echo "${ECHO_T}it stinks" >&6
-               cat >>confdefs.h <<\_ACEOF
+
+      vim_cv_getcwd_broken=yes
+
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $vim_cv_getcwd_broken" >&5
+$as_echo "$vim_cv_getcwd_broken" >&6; }
+
+if test "x$vim_cv_getcwd_broken" = "xyes" ; then
+  cat >>confdefs.h <<\_ACEOF
 #define BAD_GETCWD 1
 _ACEOF
 
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
 
 
 
@@ -12796,11 +13632,11 @@ for ac_func in bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \
        strnicmp strpbrk strtol tgetent towlower towupper iswupper \
        usleep utime utimes
 do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -12825,79 +13661,77 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 #undef $ac_func
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   eval "$as_ac_var=yes"
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
+ac_res=`eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
 
 fi
 done
 
 
-echo "$as_me:$LINENO: checking for st_blksize" >&5
-echo $ECHO_N "checking for st_blksize... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for st_blksize" >&5
+$as_echo_n "checking for st_blksize... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -12919,90 +13753,234 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define HAVE_ST_BLKSIZE 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking whether stat() ignores a trailing slash" >&5
-echo $ECHO_N "checking whether stat() ignores a trailing slash... $ECHO_C" >&6
-if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
-echo "$as_me: error: failed to compile test program" >&2;}
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ $as_echo "$as_me:$LINENO: checking whether stat() ignores a trailing slash" >&5
+$as_echo_n "checking whether stat() ignores a trailing slash... " >&6; }
+if test "${vim_cv_stat_ignores_slash+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+
+    if test "$cross_compiling" = yes; then
+
+      { { $as_echo "$as_me:$LINENO: error: cross-compiling: please set 'vim_cv_stat_ignores_slash'" >&5
+$as_echo "$as_me: error: cross-compiling: please set 'vim_cv_stat_ignores_slash'" >&2;}
    { (exit 1); exit 1; }; }
+
 else
   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
+
+#include "confdefs.h"
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
 #include <sys/types.h>
 #include <sys/stat.h>
 main() {struct stat st;  exit(stat("configure/", &st) != 0); }
+
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+
+      vim_cv_stat_ignores_slash=yes
+
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+
+      vim_cv_stat_ignores_slash=no
+
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $vim_cv_stat_ignores_slash" >&5
+$as_echo "$vim_cv_stat_ignores_slash" >&6; }
+
+if test "x$vim_cv_stat_ignores_slash" = "xyes" ; then
+  cat >>confdefs.h <<\_ACEOF
+#define STAT_IGNORES_SLASH 1
+_ACEOF
+
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for iconv_open()" >&5
+$as_echo_n "checking for iconv_open()... " >&6; }
+save_LIBS="$LIBS"
+LIBS="$LIBS -liconv"
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#ifdef HAVE_ICONV_H
+# include <iconv.h>
+#endif
+
+int
+main ()
+{
+iconv_open("fr", "to");
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes; with -liconv" >&5
+$as_echo "yes; with -liconv" >&6; }; cat >>confdefs.h <<\_ACEOF
+#define HAVE_ICONV 1
+_ACEOF
+
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       LIBS="$save_LIBS"
+    cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+#ifdef HAVE_ICONV_H
+# include <iconv.h>
+#endif
+
+int
+main ()
+{
+iconv_open("fr", "to");
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
-#define STAT_IGNORES_SLASH 1
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
+#define HAVE_ICONV 1
 _ACEOF
 
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-( exit $ac_status )
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
 fi
 
-echo "$as_me:$LINENO: checking for iconv_open()" >&5
-echo $ECHO_N "checking for iconv_open()... $ECHO_C" >&6
-save_LIBS="$LIBS"
-LIBS="$LIBS -liconv"
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+
+
+{ $as_echo "$as_me:$LINENO: checking for nl_langinfo(CODESET)" >&5
+$as_echo_n "checking for nl_langinfo(CODESET)... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -13010,112 +13988,133 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-#ifdef HAVE_ICONV_H
-# include <iconv.h>
+#ifdef HAVE_LANGINFO_H
+# include <langinfo.h>
 #endif
 
 int
 main ()
 {
-iconv_open("fr", "to");
+char *cs = nl_langinfo(CODESET);
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes; with -liconv" >&5
-echo "${ECHO_T}yes; with -liconv" >&6; cat >>confdefs.h <<\_ACEOF
-#define HAVE_ICONV 1
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
+#define HAVE_NL_LANGINFO_CODESET 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-LIBS="$save_LIBS"
-    cat >conftest.$ac_ext <<_ACEOF
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+
+
+{ $as_echo "$as_me:$LINENO: checking for strtod in -lm" >&5
+$as_echo_n "checking for strtod in -lm... " >&6; }
+if test "${ac_cv_lib_m_strtod+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lm  $LIBS"
+cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-#ifdef HAVE_ICONV_H
-# include <iconv.h>
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
 #endif
-
+char strtod ();
 int
 main ()
 {
-iconv_open("fr", "to");
+return strtod ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
-#define HAVE_ICONV 1
-_ACEOF
-
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  ac_cv_lib_m_strtod=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       ac_cv_lib_m_strtod=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
 fi
-rm -f conftest.err conftest.$ac_objext \
-      conftest$ac_exeext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_m_strtod" >&5
+$as_echo "$ac_cv_lib_m_strtod" >&6; }
+if test $ac_cv_lib_m_strtod = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBM 1
+_ACEOF
 
+  LIBS="-lm $LIBS"
 
-echo "$as_me:$LINENO: checking for nl_langinfo(CODESET)" >&5
-echo $ECHO_N "checking for nl_langinfo(CODESET)... $ECHO_C" >&6
+fi
+
+{ $as_echo "$as_me:$LINENO: checking for strtod() and other floating point functions" >&5
+$as_echo_n "checking for strtod() and other floating point functions... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -13123,71 +14122,87 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-#ifdef HAVE_LANGINFO_H
-# include <langinfo.h>
+#ifdef HAVE_MATH_H
+# include <math.h>
+#endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
 #endif
 
 int
 main ()
 {
-char *cs = nl_langinfo(CODESET);
+char *s; double d;
+    d = strtod("1.1", &s);
+    d = fabs(1.11);
+    d = ceil(1.11);
+    d = floor(1.11);
+    d = log10(1.11);
+    d = pow(1.11, 2.22);
+    d = sqrt(1.11);
+    d = sin(1.11);
+    d = cos(1.11);
+    d = atan(1.11);
+
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
-#define HAVE_NL_LANGINFO_CODESET 1
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
+#define HAVE_FLOAT_FUNCS 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking --disable-acl argument" >&5
-echo $ECHO_N "checking --disable-acl argument... $ECHO_C" >&6
-# Check whether --enable-acl or --disable-acl was given.
+{ $as_echo "$as_me:$LINENO: checking --disable-acl argument" >&5
+$as_echo_n "checking --disable-acl argument... " >&6; }
+# Check whether --enable-acl was given.
 if test "${enable_acl+set}" = set; then
-  enableval="$enable_acl"
-
+  enableval=$enable_acl;
 else
   enable_acl="yes"
-fi;
+fi
+
 if test "$enable_acl" = "yes"; then
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-echo "$as_me:$LINENO: checking for acl_get_file in -lposix1e" >&5
-echo $ECHO_N "checking for acl_get_file in -lposix1e... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+{ $as_echo "$as_me:$LINENO: checking for acl_get_file in -lposix1e" >&5
+$as_echo_n "checking for acl_get_file in -lposix1e... " >&6; }
 if test "${ac_cv_lib_posix1e_acl_get_file+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lposix1e  $LIBS"
@@ -13198,63 +14213,64 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char acl_get_file ();
 int
 main ()
 {
-acl_get_file ();
+return acl_get_file ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_posix1e_acl_get_file=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_posix1e_acl_get_file=no
+       ac_cv_lib_posix1e_acl_get_file=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_posix1e_acl_get_file" >&5
-echo "${ECHO_T}$ac_cv_lib_posix1e_acl_get_file" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_posix1e_acl_get_file" >&5
+$as_echo "$ac_cv_lib_posix1e_acl_get_file" >&6; }
 if test $ac_cv_lib_posix1e_acl_get_file = yes; then
   LIBS="$LIBS -lposix1e"
 else
-  echo "$as_me:$LINENO: checking for acl_get_file in -lacl" >&5
-echo $ECHO_N "checking for acl_get_file in -lacl... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking for acl_get_file in -lacl" >&5
+$as_echo_n "checking for acl_get_file in -lacl... " >&6; }
 if test "${ac_cv_lib_acl_acl_get_file+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lacl  $LIBS"
@@ -13265,62 +14281,63 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char acl_get_file ();
 int
 main ()
 {
-acl_get_file ();
+return acl_get_file ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_acl_acl_get_file=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_acl_acl_get_file=no
+       ac_cv_lib_acl_acl_get_file=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_acl_acl_get_file" >&5
-echo "${ECHO_T}$ac_cv_lib_acl_acl_get_file" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_acl_acl_get_file" >&5
+$as_echo "$ac_cv_lib_acl_acl_get_file" >&6; }
 if test $ac_cv_lib_acl_acl_get_file = yes; then
   LIBS="$LIBS -lacl"
-                 echo "$as_me:$LINENO: checking for fgetxattr in -lattr" >&5
-echo $ECHO_N "checking for fgetxattr in -lattr... $ECHO_C" >&6
+                 { $as_echo "$as_me:$LINENO: checking for fgetxattr in -lattr" >&5
+$as_echo_n "checking for fgetxattr in -lattr... " >&6; }
 if test "${ac_cv_lib_attr_fgetxattr+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lattr  $LIBS"
@@ -13331,56 +14348,57 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char fgetxattr ();
 int
 main ()
 {
-fgetxattr ();
+return fgetxattr ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_attr_fgetxattr=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_attr_fgetxattr=no
+       ac_cv_lib_attr_fgetxattr=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_attr_fgetxattr" >&5
-echo "${ECHO_T}$ac_cv_lib_attr_fgetxattr" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_attr_fgetxattr" >&5
+$as_echo "$ac_cv_lib_attr_fgetxattr" >&6; }
 if test $ac_cv_lib_attr_fgetxattr = yes; then
   LIBS="$LIBS -lattr"
 fi
@@ -13390,8 +14408,8 @@ fi
 fi
 
 
-echo "$as_me:$LINENO: checking for POSIX ACL support" >&5
-echo $ECHO_N "checking for POSIX ACL support... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for POSIX ACL support" >&5
+$as_echo_n "checking for POSIX ACL support... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -13415,44 +14433,45 @@ acl = acl_get_file("foo", ACL_TYPE_ACCESS);
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define HAVE_POSIX_ACL 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking for Solaris ACL support" >&5
-echo $ECHO_N "checking for Solaris ACL support... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for Solaris ACL support" >&5
+$as_echo_n "checking for Solaris ACL support... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -13473,44 +14492,45 @@ acl("foo", GETACLCNT, 0, NULL);
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define HAVE_SOLARIS_ACL 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking for AIX ACL support" >&5
-echo $ECHO_N "checking for AIX ACL support... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for AIX ACL support" >&5
+$as_echo_n "checking for AIX ACL support... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -13518,6 +14538,10 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
 #ifdef HAVE_SYS_ACL_H
 # include <sys/acl.h>
 #endif
@@ -13542,63 +14566,64 @@ aclsize = sizeof(struct acl);
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define HAVE_AIX_ACL 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 else
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking --disable-gpm argument" >&5
-echo $ECHO_N "checking --disable-gpm argument... $ECHO_C" >&6
-# Check whether --enable-gpm or --disable-gpm was given.
+{ $as_echo "$as_me:$LINENO: checking --disable-gpm argument" >&5
+$as_echo_n "checking --disable-gpm argument... " >&6; }
+# Check whether --enable-gpm was given.
 if test "${enable_gpm+set}" = set; then
-  enableval="$enable_gpm"
-
+  enableval=$enable_gpm;
 else
   enable_gpm="yes"
-fi;
+fi
+
 
 if test "$enable_gpm" = "yes"; then
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-    echo "$as_me:$LINENO: checking for gpm" >&5
-echo $ECHO_N "checking for gpm... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+    { $as_echo "$as_me:$LINENO: checking for gpm" >&5
+$as_echo_n "checking for gpm... " >&6; }
 if test "${vi_cv_have_gpm+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   olibs="$LIBS" ; LIBS="-lgpm"
        cat >conftest.$ac_ext <<_ACEOF
@@ -13618,41 +14643,42 @@ Gpm_GetLibVersion(NULL);
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
                    vi_cv_have_gpm=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-vi_cv_have_gpm=no
+       vi_cv_have_gpm=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
        LIBS="$olibs"
 
 fi
-echo "$as_me:$LINENO: result: $vi_cv_have_gpm" >&5
-echo "${ECHO_T}$vi_cv_have_gpm" >&6
+{ $as_echo "$as_me:$LINENO: result: $vi_cv_have_gpm" >&5
+$as_echo "$vi_cv_have_gpm" >&6; }
   if test $vi_cv_have_gpm = yes; then
     LIBS="$LIBS -lgpm"
     cat >>confdefs.h <<\_ACEOF
@@ -13661,12 +14687,98 @@ _ACEOF
 
   fi
 else
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+
+{ $as_echo "$as_me:$LINENO: checking --disable-sysmouse argument" >&5
+$as_echo_n "checking --disable-sysmouse argument... " >&6; }
+# Check whether --enable-sysmouse was given.
+if test "${enable_sysmouse+set}" = set; then
+  enableval=$enable_sysmouse;
+else
+  enable_sysmouse="yes"
+fi
+
+
+if test "$enable_sysmouse" = "yes"; then
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+        { $as_echo "$as_me:$LINENO: checking for sysmouse" >&5
+$as_echo_n "checking for sysmouse... " >&6; }
+if test "${vi_cv_have_sysmouse+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/consio.h>
+            #include <signal.h>
+            #include <sys/fbio.h>
+int
+main ()
+{
+struct mouse_info   mouse;
+            mouse.operation = MOUSE_MODE;
+            mouse.operation = MOUSE_SHOW;
+            mouse.u.mode.mode = 0;
+            mouse.u.mode.signal = SIGUSR2;
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  vi_cv_have_sysmouse=yes
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       vi_cv_have_sysmouse=no
+fi
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $vi_cv_have_sysmouse" >&5
+$as_echo "$vi_cv_have_sysmouse" >&6; }
+  if test $vi_cv_have_sysmouse = yes; then
+    cat >>confdefs.h <<\_ACEOF
+#define HAVE_SYSMOUSE 1
+_ACEOF
+
+  fi
+else
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
 
-echo "$as_me:$LINENO: checking for rename" >&5
-echo $ECHO_N "checking for rename... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for rename" >&5
+$as_echo_n "checking for rename... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -13683,44 +14795,45 @@ rename("this", "that")
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define HAVE_RENAME 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking for sysctl" >&5
-echo $ECHO_N "checking for sysctl... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for sysctl" >&5
+$as_echo_n "checking for sysctl... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -13745,43 +14858,40 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define HAVE_SYSCTL 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: not usable" >&5
-echo "${ECHO_T}not usable" >&6
+       { $as_echo "$as_me:$LINENO: result: not usable" >&5
+$as_echo "not usable" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking for sysinfo" >&5
-echo $ECHO_N "checking for sysinfo... $ECHO_C" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ $as_echo "$as_me:$LINENO: checking for sysinfo" >&5
+$as_echo_n "checking for sysinfo... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -13804,43 +14914,40 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define HAVE_SYSINFO 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: not usable" >&5
-echo "${ECHO_T}not usable" >&6
+       { $as_echo "$as_me:$LINENO: result: not usable" >&5
+$as_echo "not usable" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking for sysinfo.mem_unit" >&5
-echo $ECHO_N "checking for sysinfo.mem_unit... $ECHO_C" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ $as_echo "$as_me:$LINENO: checking for sysinfo.mem_unit" >&5
+$as_echo_n "checking for sysinfo.mem_unit... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -13860,43 +14967,40 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define HAVE_SYSINFO_MEM_UNIT 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
 
-echo "$as_me:$LINENO: checking for sysconf" >&5
-echo $ECHO_N "checking for sysconf... $ECHO_C" >&6
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+{ $as_echo "$as_me:$LINENO: checking for sysconf" >&5
+$as_echo_n "checking for sysconf... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -13915,50 +15019,47 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define HAVE_SYSCONF 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: not usable" >&5
-echo "${ECHO_T}not usable" >&6
+       { $as_echo "$as_me:$LINENO: result: not usable" >&5
+$as_echo "not usable" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
 
 
-echo "$as_me:$LINENO: checking size of int" >&5
-echo $ECHO_N "checking size of int... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking size of int" >&5
+$as_echo_n "checking size of int... " >&6; }
 if test "${ac_cv_sizeof_int+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
-echo "$as_me: error: failed to compile test program" >&2;}
+  { { $as_echo "$as_me:$LINENO: error: failed to compile test program" >&5
+$as_echo "$as_me: error: failed to compile test program" >&2;}
    { (exit 1); exit 1; }; }
 else
   cat >conftest.$ac_ext <<_ACEOF
@@ -13967,49 +15068,76 @@ _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+
 #include <stdio.h>
-               main()
-               {
-                 FILE *f=fopen("conftestval", "w");
-                 if (!f) exit(1);
-                 fprintf(f, "%d\n", (int)sizeof(int));
-                 exit(0);
-               }
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
+main()
+{
+  FILE *f=fopen("conftestval", "w");
+  if (!f) exit(1);
+  fprintf(f, "%d\n", (int)sizeof(int));
+  exit(0);
+}
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
   ac_cv_sizeof_int=`cat conftestval`
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
 ac_cv_sizeof_int=0
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
 fi
 
-echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
-echo "${ECHO_T}$ac_cv_sizeof_int" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_sizeof_int" >&5
+$as_echo "$ac_cv_sizeof_int" >&6; }
 cat >>confdefs.h <<_ACEOF
 #define SIZEOF_INT $ac_cv_sizeof_int
 _ACEOF
 
 
-echo "$as_me:$LINENO: checking whether memmove/bcopy/memcpy handle overlaps" >&5
-echo $ECHO_N "checking whether memmove/bcopy/memcpy handle overlaps... $ECHO_C" >&6
+
+
 bcopy_test_prog='
+#include "confdefs.h"
+#ifdef HAVE_STRING_H
+# include <string.h>
+#endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
 main() {
   char buf[10];
   strcpy(buf, "abcdefghi");
@@ -14023,133 +15151,220 @@ main() {
   exit(0); /* libc version works properly.  */
 }'
 
+{ $as_echo "$as_me:$LINENO: checking whether memmove handles overlaps" >&5
+$as_echo_n "checking whether memmove handles overlaps... " >&6; }
+if test "${vim_cv_memmove_handles_overlap+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+
+    if test "$cross_compiling" = yes; then
 
-if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
-echo "$as_me: error: failed to compile test program" >&2;}
+       { { $as_echo "$as_me:$LINENO: error: cross-compiling: please set 'vim_cv_memmove_handles_overlap'" >&5
+$as_echo "$as_me: error: cross-compiling: please set 'vim_cv_memmove_handles_overlap'" >&2;}
    { (exit 1); exit 1; }; }
+
 else
   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
 #define mch_memmove(s,d,l) memmove(d,s,l) $bcopy_test_prog
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
+
+       vim_cv_memmove_handles_overlap=yes
+
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+
+       vim_cv_memmove_handles_overlap=no
+
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $vim_cv_memmove_handles_overlap" >&5
+$as_echo "$vim_cv_memmove_handles_overlap" >&6; }
+
+if test "x$vim_cv_memmove_handles_overlap" = "xyes" ; then
   cat >>confdefs.h <<\_ACEOF
 #define USEMEMMOVE 1
 _ACEOF
- echo "$as_me:$LINENO: result: memmove does" >&5
-echo "${ECHO_T}memmove does" >&6
+
+else
+  { $as_echo "$as_me:$LINENO: checking whether bcopy handles overlaps" >&5
+$as_echo_n "checking whether bcopy handles overlaps... " >&6; }
+if test "${vim_cv_bcopy_handles_overlap+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-( exit $ac_status )
-if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
-echo "$as_me: error: failed to compile test program" >&2;}
+      if test "$cross_compiling" = yes; then
+
+       { { $as_echo "$as_me:$LINENO: error: cross-compiling: please set 'vim_cv_bcopy_handles_overlap'" >&5
+$as_echo "$as_me: error: cross-compiling: please set 'vim_cv_bcopy_handles_overlap'" >&2;}
    { (exit 1); exit 1; }; }
+
 else
   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#define mch_memmove(s,d,l) bcopy(d,s,l) $bcopy_test_prog
+#define mch_bcopy(s,d,l) bcopy(d,s,l) $bcopy_test_prog
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  cat >>confdefs.h <<\_ACEOF
+
+       vim_cv_bcopy_handles_overlap=yes
+
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+
+       vim_cv_bcopy_handles_overlap=no
+
+fi
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+
+fi
+{ $as_echo "$as_me:$LINENO: result: $vim_cv_bcopy_handles_overlap" >&5
+$as_echo "$vim_cv_bcopy_handles_overlap" >&6; }
+
+  if test "x$vim_cv_bcopy_handles_overlap" = "xyes" ; then
+    cat >>confdefs.h <<\_ACEOF
 #define USEBCOPY 1
 _ACEOF
- echo "$as_me:$LINENO: result: bcopy does" >&5
-echo "${ECHO_T}bcopy does" >&6
+
+  else
+    { $as_echo "$as_me:$LINENO: checking whether memcpy handles overlaps" >&5
+$as_echo_n "checking whether memcpy handles overlaps... " >&6; }
+if test "${vim_cv_memcpy_handles_overlap+set}" = set; then
+  $as_echo_n "(cached) " >&6
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
 
-( exit $ac_status )
-if test "$cross_compiling" = yes; then
-  { { echo "$as_me:$LINENO: error: failed to compile test program" >&5
-echo "$as_me: error: failed to compile test program" >&2;}
+       if test "$cross_compiling" = yes; then
+
+           { { $as_echo "$as_me:$LINENO: error: cross-compiling: please set 'vim_cv_memcpy_handles_overlap'" >&5
+$as_echo "$as_me: error: cross-compiling: please set 'vim_cv_memcpy_handles_overlap'" >&2;}
    { (exit 1); exit 1; }; }
+
 else
   cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#define mch_memmove(s,d,l) memcpy(d,s,l) $bcopy_test_prog
+#define mch_memcpy(s,d,l) memcpy(d,s,l) $bcopy_test_prog
 _ACEOF
 rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>&5
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_try") 2>&5
   ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; }; then
-  cat >>confdefs.h <<\_ACEOF
-#define USEMEMCPY 1
-_ACEOF
- echo "$as_me:$LINENO: result: memcpy does" >&5
-echo "${ECHO_T}memcpy does" >&6
+
+           vim_cv_memcpy_handles_overlap=yes
+
 else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+$as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
 ( exit $ac_status )
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
+
+           vim_cv_memcpy_handles_overlap=no
+
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+rm -rf conftest.dSYM
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
 fi
+
+
+
 fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $vim_cv_memcpy_handles_overlap" >&5
+$as_echo "$vim_cv_memcpy_handles_overlap" >&6; }
+
+    if test "x$vim_cv_memcpy_handles_overlap" = "xyes" ; then
+      cat >>confdefs.h <<\_ACEOF
+#define USEMEMCPY 1
+_ACEOF
+
+    fi
+  fi
 fi
 
 
+
 if test "$enable_multibyte" = "yes"; then
   cflags_save=$CFLAGS
   ldflags_save=$LDFLAGS
   if test -n "$x_includes" ; then
     CFLAGS="$CFLAGS -I$x_includes"
     LDFLAGS="$X_LIBS $LDFLAGS -lX11"
-    echo "$as_me:$LINENO: checking whether X_LOCALE needed" >&5
-echo $ECHO_N "checking whether X_LOCALE needed... $ECHO_C" >&6
+    { $as_echo "$as_me:$LINENO: checking whether X_LOCALE needed" >&5
+$as_echo_n "checking whether X_LOCALE needed... " >&6; }
     cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -14166,27 +15381,23 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -14194,75 +15405,77 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char _Xsetlocale ();
 int
 main ()
 {
-_Xsetlocale ();
+return _Xsetlocale ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
                cat >>confdefs.h <<\_ACEOF
 #define X_LOCALE 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
   fi
   CFLAGS=$cflags_save
   LDFLAGS=$ldflags_save
 fi
 
-echo "$as_me:$LINENO: checking for _xpg4_setrunelocale in -lxpg4" >&5
-echo $ECHO_N "checking for _xpg4_setrunelocale in -lxpg4... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for _xpg4_setrunelocale in -lxpg4" >&5
+$as_echo_n "checking for _xpg4_setrunelocale in -lxpg4... " >&6; }
 if test "${ac_cv_lib_xpg4__xpg4_setrunelocale+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
 LIBS="-lxpg4  $LIBS"
@@ -14273,63 +15486,64 @@ cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char _xpg4_setrunelocale ();
 int
 main ()
 {
-_xpg4_setrunelocale ();
+return _xpg4_setrunelocale ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   ac_cv_lib_xpg4__xpg4_setrunelocale=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_cv_lib_xpg4__xpg4_setrunelocale=no
+       ac_cv_lib_xpg4__xpg4_setrunelocale=no
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 LIBS=$ac_check_lib_save_LIBS
 fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_xpg4__xpg4_setrunelocale" >&5
-echo "${ECHO_T}$ac_cv_lib_xpg4__xpg4_setrunelocale" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_lib_xpg4__xpg4_setrunelocale" >&5
+$as_echo "$ac_cv_lib_xpg4__xpg4_setrunelocale" >&6; }
 if test $ac_cv_lib_xpg4__xpg4_setrunelocale = yes; then
   LIBS="$LIBS -lxpg4"
 fi
 
 
-echo "$as_me:$LINENO: checking how to create tags" >&5
-echo $ECHO_N "checking how to create tags... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking how to create tags" >&5
+$as_echo_n "checking how to create tags... " >&6; }
 test -f tags && mv tags tags.save
 if (eval ctags --version /dev/null | grep Exuberant) < /dev/null 1>&5 2>&1; then
   TAGPRG="ctags -I INIT+ --fields=+S"
@@ -14343,15 +15557,15 @@ else
   (eval ctags -i+m /dev/null) < /dev/null 1>&5 2>&1 && TAGPRG="ctags -i+m"
 fi
 test -f tags.save && mv tags.save tags
-echo "$as_me:$LINENO: result: $TAGPRG" >&5
-echo "${ECHO_T}$TAGPRG" >&6
+{ $as_echo "$as_me:$LINENO: result: $TAGPRG" >&5
+$as_echo "$TAGPRG" >&6; }
 
-echo "$as_me:$LINENO: checking how to run man with a section nr" >&5
-echo $ECHO_N "checking how to run man with a section nr... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking how to run man with a section nr" >&5
+$as_echo_n "checking how to run man with a section nr... " >&6; }
 MANDEF="man"
 (eval MANPAGER=cat PAGER=cat man -s 2 read) < /dev/null > /dev/null 2>&5 && MANDEF="man -s"
-echo "$as_me:$LINENO: result: $MANDEF" >&5
-echo "${ECHO_T}$MANDEF" >&6
+{ $as_echo "$as_me:$LINENO: result: $MANDEF" >&5
+$as_echo "$MANDEF" >&6; }
 if test "$MANDEF" = "man -s"; then
   cat >>confdefs.h <<\_ACEOF
 #define USEMAN_S 1
@@ -14359,19 +15573,19 @@ _ACEOF
 
 fi
 
-echo "$as_me:$LINENO: checking --disable-nls argument" >&5
-echo $ECHO_N "checking --disable-nls argument... $ECHO_C" >&6
-# Check whether --enable-nls or --disable-nls was given.
+{ $as_echo "$as_me:$LINENO: checking --disable-nls argument" >&5
+$as_echo_n "checking --disable-nls argument... " >&6; }
+# Check whether --enable-nls was given.
 if test "${enable_nls+set}" = set; then
-  enableval="$enable_nls"
-
+  enableval=$enable_nls;
 else
   enable_nls="yes"
-fi;
+fi
+
 
 if test "$enable_nls" = "yes"; then
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 
   INSTALL_LANGS=install-languages
 
@@ -14380,10 +15594,10 @@ echo "${ECHO_T}no" >&6
 
   # Extract the first word of "msgfmt", so it can be a program name with args.
 set dummy msgfmt; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
 if test "${ac_cv_prog_MSGFMT+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   if test -n "$MSGFMT"; then
   ac_cv_prog_MSGFMT="$MSGFMT" # Let the user override the test.
   IFS=$as_save_IFS
   test -z "$as_dir" && as_dir=.
   for ac_exec_ext in '' $ac_executable_extensions; do
-  if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
     ac_cv_prog_MSGFMT="msgfmt"
-    echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
     break 2
   fi
 done
 done
+IFS=$as_save_IFS
 
 fi
 fi
 MSGFMT=$ac_cv_prog_MSGFMT
 if test -n "$MSGFMT"; then
-  echo "$as_me:$LINENO: result: $MSGFMT" >&5
-echo "${ECHO_T}$MSGFMT" >&6
+  { $as_echo "$as_me:$LINENO: result: $MSGFMT" >&5
+$as_echo "$MSGFMT" >&6; }
 else
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
 
-  echo "$as_me:$LINENO: checking for NLS" >&5
-echo $ECHO_N "checking for NLS... $ECHO_C" >&6
+
+  { $as_echo "$as_me:$LINENO: checking for NLS" >&5
+$as_echo_n "checking for NLS... " >&6; }
   if test -f po/Makefile; then
     have_gettext="no"
     if test -n "$MSGFMT"; then
@@ -14434,34 +15650,33 @@ gettext("Test");
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: gettext() works" >&5
-echo "${ECHO_T}gettext() works" >&6; have_gettext="yes"
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: gettext() works" >&5
+$as_echo "gettext() works" >&6; }; have_gettext="yes"
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-olibs=$LIBS
+       olibs=$LIBS
          LIBS="$LIBS -lintl"
          cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -14479,45 +15694,48 @@ gettext("Test");
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: gettext() works with -lintl" >&5
-echo "${ECHO_T}gettext() works with -lintl" >&6; have_gettext="yes"
-else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: gettext() works with -lintl" >&5
+$as_echo "gettext() works with -lintl" >&6; }; have_gettext="yes"
+else
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: gettext() doesn't work" >&5
-echo "${ECHO_T}gettext() doesn't work" >&6;
+       { $as_echo "$as_me:$LINENO: result: gettext() doesn't work" >&5
+$as_echo "gettext() doesn't work" >&6; };
              LIBS=$olibs
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
     else
-      echo "$as_me:$LINENO: result: msgfmt not found - disabled" >&5
-echo "${ECHO_T}msgfmt not found - disabled" >&6;
+      { $as_echo "$as_me:$LINENO: result: msgfmt not found - disabled" >&5
+$as_echo "msgfmt not found - disabled" >&6; };
     fi
     if test $have_gettext = "yes"; then
       cat >>confdefs.h <<\_ACEOF
@@ -14529,11 +15747,11 @@ _ACEOF
 
 for ac_func in bind_textdomain_codeset
 do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+{ $as_echo "$as_me:$LINENO: checking for $ac_func" >&5
+$as_echo_n "checking for $ac_func... " >&6; }
+if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
 else
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
@@ -14558,78 +15776,76 @@ cat >>conftest.$ac_ext <<_ACEOF
 
 #undef $ac_func
 
-/* Override any gcc2 internal prototype to avoid an error.  */
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
 #ifdef __cplusplus
 extern "C"
-{
 #endif
-/* We use char because int might match the return type of a gcc2
-   builtin and then its argument prototype would still apply.  */
 char $ac_func ();
 /* The GNU C library defines this for functions which it implements
     to always fail with ENOSYS.  Some functions are actually named
     something starting with __ and the normal name is an alias.  */
-#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
+#if defined __stub_$ac_func || defined __stub___$ac_func
 choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
 #endif
 
 int
 main ()
 {
-return f != $ac_func;
+return $ac_func ();
   ;
   return 0;
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
   eval "$as_ac_var=yes"
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-eval "$as_ac_var=no"
+       eval "$as_ac_var=no"
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
+ac_res=`eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+if test `eval 'as_val=${'$as_ac_var'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
 _ACEOF
 
 fi
 done
 
-            echo "$as_me:$LINENO: checking for _nl_msg_cat_cntr" >&5
-echo $ECHO_N "checking for _nl_msg_cat_cntr... $ECHO_C" >&6
+            { $as_echo "$as_me:$LINENO: checking for _nl_msg_cat_cntr" >&5
+$as_echo_n "checking for _nl_msg_cat_cntr... " >&6; }
       cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -14647,63 +15863,64 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6; cat >>confdefs.h <<\_ACEOF
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }; cat >>confdefs.h <<\_ACEOF
 #define HAVE_NL_MSG_CAT_CNTR 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
     fi
   else
-    echo "$as_me:$LINENO: result: no \"po/Makefile\" - disabled" >&5
-echo "${ECHO_T}no \"po/Makefile\" - disabled" >&6;
+    { $as_echo "$as_me:$LINENO: result: no \"po/Makefile\" - disabled" >&5
+$as_echo "no \"po/Makefile\" - disabled" >&6; };
   fi
 else
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
 
 if test "${ac_cv_header_dlfcn_h+set}" = set; then
-  echo "$as_me:$LINENO: checking for dlfcn.h" >&5
-echo $ECHO_N "checking for dlfcn.h... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking for dlfcn.h" >&5
+$as_echo_n "checking for dlfcn.h... " >&6; }
 if test "${ac_cv_header_dlfcn_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_dlfcn_h" >&5
-echo "${ECHO_T}$ac_cv_header_dlfcn_h" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_dlfcn_h" >&5
+$as_echo "$ac_cv_header_dlfcn_h" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking dlfcn.h usability" >&5
-echo $ECHO_N "checking dlfcn.h usability... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking dlfcn.h usability" >&5
+$as_echo_n "checking dlfcn.h usability... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -14714,41 +15931,38 @@ $ac_includes_default
 #include <dlfcn.h>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking dlfcn.h presence" >&5
-echo $ECHO_N "checking dlfcn.h presence... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking dlfcn.h presence" >&5
+$as_echo_n "checking dlfcn.h presence... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -14757,93 +15971,86 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <dlfcn.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
   yes:no: )
-    { echo "$as_me:$LINENO: WARNING: dlfcn.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: dlfcn.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: dlfcn.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: dlfcn.h: proceeding with the compiler's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: dlfcn.h: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: dlfcn.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: dlfcn.h: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: dlfcn.h: proceeding with the compiler's result" >&2;}
     ac_header_preproc=yes
     ;;
   no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: dlfcn.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: dlfcn.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: dlfcn.h:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: dlfcn.h:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: dlfcn.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: dlfcn.h: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: dlfcn.h:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: dlfcn.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: dlfcn.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: dlfcn.h: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: dlfcn.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: dlfcn.h: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists.  ##
-## ------------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { $as_echo "$as_me:$LINENO: WARNING: dlfcn.h: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: dlfcn.h: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: dlfcn.h:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: dlfcn.h:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: dlfcn.h: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: dlfcn.h: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: dlfcn.h:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: dlfcn.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: dlfcn.h: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: dlfcn.h: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: dlfcn.h: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: dlfcn.h: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for dlfcn.h" >&5
-echo $ECHO_N "checking for dlfcn.h... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for dlfcn.h" >&5
+$as_echo_n "checking for dlfcn.h... " >&6; }
 if test "${ac_cv_header_dlfcn_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_cv_header_dlfcn_h=$ac_header_preproc
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_dlfcn_h" >&5
-echo "${ECHO_T}$ac_cv_header_dlfcn_h" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_dlfcn_h" >&5
+$as_echo "$ac_cv_header_dlfcn_h" >&6; }
 
 fi
 if test $ac_cv_header_dlfcn_h = yes; then
   DLL=dlfcn.h
 else
   if test "${ac_cv_header_dl_h+set}" = set; then
-  echo "$as_me:$LINENO: checking for dl.h" >&5
-echo $ECHO_N "checking for dl.h... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking for dl.h" >&5
+$as_echo_n "checking for dl.h... " >&6; }
 if test "${ac_cv_header_dl_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_dl_h" >&5
-echo "${ECHO_T}$ac_cv_header_dl_h" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_dl_h" >&5
+$as_echo "$ac_cv_header_dl_h" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking dl.h usability" >&5
-echo $ECHO_N "checking dl.h usability... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking dl.h usability" >&5
+$as_echo_n "checking dl.h usability... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -14854,41 +16061,38 @@ $ac_includes_default
 #include <dl.h>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking dl.h presence" >&5
-echo $ECHO_N "checking dl.h presence... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking dl.h presence" >&5
+$as_echo_n "checking dl.h presence... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -14897,76 +16101,69 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <dl.h>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
   yes:no: )
-    { echo "$as_me:$LINENO: WARNING: dl.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: dl.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: dl.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: dl.h: proceeding with the compiler's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: dl.h: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: dl.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: dl.h: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: dl.h: proceeding with the compiler's result" >&2;}
     ac_header_preproc=yes
     ;;
   no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: dl.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: dl.h: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: dl.h:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: dl.h:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: dl.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: dl.h: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: dl.h:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: dl.h:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: dl.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: dl.h: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: dl.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: dl.h: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists.  ##
-## ------------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { $as_echo "$as_me:$LINENO: WARNING: dl.h: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: dl.h: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: dl.h:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: dl.h:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: dl.h: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: dl.h: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: dl.h:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: dl.h:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: dl.h: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: dl.h: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: dl.h: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: dl.h: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for dl.h" >&5
-echo $ECHO_N "checking for dl.h... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for dl.h" >&5
+$as_echo_n "checking for dl.h... " >&6; }
 if test "${ac_cv_header_dl_h+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+  $as_echo_n "(cached) " >&6
 else
   ac_cv_header_dl_h=$ac_header_preproc
 fi
-echo "$as_me:$LINENO: result: $ac_cv_header_dl_h" >&5
-echo "${ECHO_T}$ac_cv_header_dl_h" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_cv_header_dl_h" >&5
+$as_echo "$ac_cv_header_dl_h" >&6; }
 
 fi
 if test $ac_cv_header_dl_h = yes; then
@@ -14983,8 +16180,8 @@ cat >>confdefs.h <<\_ACEOF
 #define HAVE_DLFCN_H 1
 _ACEOF
 
-  echo "$as_me:$LINENO: checking for dlopen()" >&5
-echo $ECHO_N "checking for dlopen()... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking for dlopen()" >&5
+$as_echo_n "checking for dlopen()... " >&6; }
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -15004,42 +16201,41 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6;
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; };
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_DLOPEN 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6;
-             echo "$as_me:$LINENO: checking for dlopen() in -ldl" >&5
-echo $ECHO_N "checking for dlopen() in -ldl... $ECHO_C" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; };
+             { $as_echo "$as_me:$LINENO: checking for dlopen() in -ldl" >&5
+$as_echo_n "checking for dlopen() in -ldl... " >&6; }
              olibs=$LIBS
              LIBS="$LIBS -ldl"
              cat >conftest.$ac_ext <<_ACEOF
@@ -15061,49 +16257,52 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6;
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; };
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_DLOPEN 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6;
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; };
                          LIBS=$olibs
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
-      echo "$as_me:$LINENO: checking for dlsym()" >&5
-echo $ECHO_N "checking for dlsym()... $ECHO_C" >&6
+      { $as_echo "$as_me:$LINENO: checking for dlsym()" >&5
+$as_echo_n "checking for dlsym()... " >&6; }
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -15123,42 +16322,41 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6;
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; };
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_DLSYM 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6;
-             echo "$as_me:$LINENO: checking for dlsym() in -ldl" >&5
-echo $ECHO_N "checking for dlsym() in -ldl... $ECHO_C" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; };
+             { $as_echo "$as_me:$LINENO: checking for dlsym() in -ldl" >&5
+$as_echo_n "checking for dlsym() in -ldl... " >&6; }
              olibs=$LIBS
              LIBS="$LIBS -ldl"
              cat >conftest.$ac_ext <<_ACEOF
@@ -15180,46 +16378,49 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6;
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; };
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_DLSYM 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6;
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; };
                          LIBS=$olibs
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 elif test x${DLL} = xdl.h; then
 
@@ -15227,8 +16428,8 @@ cat >>confdefs.h <<\_ACEOF
 #define HAVE_DL_H 1
 _ACEOF
 
-  echo "$as_me:$LINENO: checking for shl_load()" >&5
-echo $ECHO_N "checking for shl_load()... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking for shl_load()" >&5
+$as_echo_n "checking for shl_load()... " >&6; }
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -15248,42 +16449,41 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6;
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; };
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_SHL_LOAD 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6;
-         echo "$as_me:$LINENO: checking for shl_load() in -ldld" >&5
-echo $ECHO_N "checking for shl_load() in -ldld... $ECHO_C" >&6
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; };
+         { $as_echo "$as_me:$LINENO: checking for shl_load() in -ldld" >&5
+$as_echo_n "checking for shl_load() in -ldld... " >&6; }
          olibs=$LIBS
          LIBS="$LIBS -ldld"
          cat >conftest.$ac_ext <<_ACEOF
@@ -15305,64 +16505,69 @@ main ()
 }
 _ACEOF
 rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
-  (eval $ac_link) 2>conftest.er1
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_link") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest$ac_exeext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6;
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+        test "$cross_compiling" = yes ||
+        $as_test_x conftest$ac_exeext
+       }; then
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; };
 
 cat >>confdefs.h <<\_ACEOF
 #define HAVE_SHL_LOAD 1
 _ACEOF
 
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6;
+       { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; };
                  LIBS=$olibs
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
-rm -f conftest.err conftest.$ac_objext \
+
+rm -rf conftest.dSYM
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
       conftest$ac_exeext conftest.$ac_ext
 fi
 
 for ac_header in setjmp.h
 do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
+fi
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 else
   # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5
+$as_echo_n "checking $ac_header usability... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -15373,41 +16578,38 @@ $ac_includes_default
 #include <$ac_header>
 _ACEOF
 rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-  (eval $ac_compile) 2>conftest.er1
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } &&
-        { ac_try='test -z "$ac_c_werror_flag"
-                        || test ! -s conftest.err'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; } &&
-        { ac_try='test -s conftest.$ac_objext'
-  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
-  (eval $ac_try) 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+        test -z "$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
   ac_header_compiler=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-ac_header_compiler=no
+       ac_header_compiler=no
 fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
 
 # Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5
+$as_echo_n "checking $ac_header presence... " >&6; }
 cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
@@ -15416,81 +16618,77 @@ cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
 #include <$ac_header>
 _ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
-  (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
+if { (ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
+$as_echo "$ac_try_echo") >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } >/dev/null; then
-  if test -s conftest.err; then
-    ac_cpp_err=$ac_c_preproc_warn_flag
-    ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
-  else
-    ac_cpp_err=
-  fi
-else
-  ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
+  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } >/dev/null && {
+        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+        test ! -s conftest.err
+       }; then
   ac_header_preproc=yes
 else
-  echo "$as_me: failed program was:" >&5
+  $as_echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
   ac_header_preproc=no
 fi
+
 rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
+{ $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
 
 # So?  What about this header?
 case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
   yes:no: )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
     ac_header_preproc=yes
     ;;
   no:yes:* )
-    { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
-    { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
-    (
-      cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists.  ##
-## ------------------------------------------ ##
-_ASBOX
-    ) |
-      sed "s/^/$as_me: WARNING:     /" >&2
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $ac_header:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $ac_header:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
+$as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
+    { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
+$as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
+
     ;;
 esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for $ac_header" >&5
+$as_echo_n "checking for $ac_header... " >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  $as_echo_n "(cached) " >&6
 else
   eval "$as_ac_Header=\$ac_header_preproc"
 fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
+ac_res=`eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'`
+              { $as_echo "$as_me:$LINENO: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
 
 fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
+if test `eval 'as_val=${'$as_ac_Header'}
+                $as_echo "$as_val"'` = yes; then
   cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
 _ACEOF
 
 fi
 
 if test "x$MACOSX" = "xyes" && test "x$CARBON" = "xyes" \
        && test "x$GUITYPE" != "xCARBONGUI"; then
-  echo "$as_me:$LINENO: checking whether we need -framework Carbon" >&5
-echo $ECHO_N "checking whether we need -framework Carbon... $ECHO_C" >&6
+  { $as_echo "$as_me:$LINENO: checking whether we need -framework Carbon" >&5
+$as_echo_n "checking whether we need -framework Carbon... " >&6; }
     if test "x$enable_multibyte" = "xyes" || test "x$features" = "xbig" \
        || test "x$features" = "xhuge"; then
     LIBS="$LIBS -framework Carbon"
-    echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+    { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
   else
-    echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+    { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
   fi
 fi
 if test "x$MACARCH" = "xboth"; then
   LDFLAGS="$LDFLAGS -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
 fi
 
-echo "$as_me:$LINENO: checking for GCC 3 or later" >&5
-echo $ECHO_N "checking for GCC 3 or later... $ECHO_C" >&6
+{ $as_echo "$as_me:$LINENO: checking for GCC 3 or later" >&5
+$as_echo_n "checking for GCC 3 or later... " >&6; }
 DEPEND_CFLAGS_FILTER=
 if test "$GCC" = yes; then
   gccmajor=`echo "$gccversion" | sed -e 's/^\([1-9]\)\..*$/\1/g'`
@@ -15533,15 +16731,16 @@ if test "$GCC" = yes; then
   fi
 fi
 if test "$DEPEND_CFLAGS_FILTER" = ""; then
-  echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
 else
-  echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
+  { $as_echo "$as_me:$LINENO: result: yes" >&5
+$as_echo "yes" >&6; }
 fi
 
 
-          ac_config_files="$ac_config_files auto/config.mk:config.mk.in"
+ac_config_files="$ac_config_files auto/config.mk:config.mk.in"
+
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -15560,39 +16759,59 @@ _ACEOF
 
 # The following way of writing the cache mishandles newlines in values,
 # but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
+# So, we kill variables containing newlines.
 # Ultrix sh set writes to stderr and can't be redirected directly,
 # and sets the high bit in the cache file unless we assign to the vars.
-{
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+$as_echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) $as_unset $ac_var ;;
+      esac ;;
+    esac
+  done
+
   (set) 2>&1 |
-    case `(ac_space=' '; set | grep ac_space) 2>&1` in
-    *ac_space=\ *)
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
       # `set' does not quote correctly, so add quotes (double-quote
       # substitution turns \\\\ into \\, and sed turns \\ into \).
       sed -n \
        "s/'/'\\\\''/g;
          s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;;
+      ;; #(
     *)
       # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n \
-       "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
       ;;
-    esac;
-} |
+    esac |
+    sort
+) |
   sed '
+     /^ac_cv_env_/b end
      t clear
-     : clear
+     :clear
      s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
      t end
-     /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
-  if test -w $cache_file; then
-    test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
     cat confcache >$cache_file
   else
-    echo "not updating unwritable cache $cache_file"
+    { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
   fi
 fi
 rm -f confcache
@@ -15601,32 +16820,18 @@ test "x$prefix" = xNONE && prefix=$ac_default_prefix
 # Let make expand exec_prefix.
 test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
 
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[    ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[      ]*$//;
-}'
-fi
-
 DEFS=-DHAVE_CONFIG_H
 
 ac_libobjs=
 ac_ltlibobjs=
 for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
   # 1. Remove the extension, and $U if already installed.
-  ac_i=`echo "$ac_i" |
-        sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
-  # 2. Add them.
-  ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
-  ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
 done
 LIBOBJS=$ac_libobjs
 
@@ -15635,11 +16840,12 @@ LTLIBOBJS=$ac_ltlibobjs
 
 
 : ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
 ac_clean_files_save=$ac_clean_files
 ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
+{ $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 #! $SHELL
 # Generated by $as_me.
 # Run this file to recreate the current configuration.
@@ -15652,22 +16858,78 @@ ac_cs_silent=false
 SHELL=\${CONFIG_SHELL-$SHELL}
 _ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 ## --------------------- ##
 ## M4sh Initialization.  ##
 ## --------------------- ##
 
-# Be Bourne compatible
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
   emulate sh
   NULLCMD=:
-  # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
   # is contrary to our usage.  Disable this feature.
   alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
-  set -o posix
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in
+  *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in
+      *"$as_nl"*)
+       expr "X$arg" : "X\\(.*\\)$as_nl";
+       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
 fi
-DUALCASE=1; export DUALCASE # for MKS sh
 
 # Support unset when possible.
 if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
@@ -15677,33 +16939,60 @@ else
 fi
 
 
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""       $as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  { (exit 1); exit 1; }
+fi
+
 # Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
 PS1='$ '
 PS2='> '
 PS4='+ '
 
 # NLS nuisances.
-for as_var in \
-  LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
-  LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
-  LC_TELEPHONE LC_TIME
-do
-  if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
-    eval $as_var=C; export $as_var
-  else
-    $as_unset $as_var
-  fi
-done
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
 
 # Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; then
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
-if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
   as_basename=basename
 else
   as_basename=false
 
 
 # Name of the executable.
-as_me=`$as_basename "$0" ||
+as_me=`$as_basename -- "$0" ||
 $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)$' \| \
-        .     : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
-         /^X\/\(\/\/\)$/{ s//\1/; q; }
-         /^X\/\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-
-
-  as_lineno_1=$LINENO
-  as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
-  test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2"  || {
-  # Find who we are.  Look in the path if we contain no path at all
-  # relative or not.
-  case $0 in
-    *[\\/]* ) as_myself=$0 ;;
-    *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-done
+        X"$0" : 'X\(//\)$' \| \
+        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\/\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
 
-       ;;
-  esac
-  # We did not find ourselves, most probably we were run as `sh COMMAND'
-  # in which case we are not to be found in the path.
-  if test "x$as_myself" = x; then
-    as_myself=$0
-  fi
-  if test ! -f "$as_myself"; then
-    { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
-   { (exit 1); exit 1; }; }
-  fi
-  case $CONFIG_SHELL in
-  '')
-    as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  for as_base in sh bash ksh sh5; do
-        case $as_dir in
-        /*)
-          if ("$as_dir/$as_base" -c '
   as_lineno_1=$LINENO
   as_lineno_2=$LINENO
-  as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
   test "x$as_lineno_1" != "x$as_lineno_2" &&
-  test "x$as_lineno_3"  = "x$as_lineno_2" ') 2>/dev/null; then
-            $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
-            $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
-            CONFIG_SHELL=$as_dir/$as_base
-            export CONFIG_SHELL
-            exec "$CONFIG_SHELL" "$0" ${1+"$@"}
-          fi;;
-        esac
-       done
-done
-;;
-  esac
+  test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
 
   # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
   # uniformly replaced by the line number.  The first 'sed' inserts a
-  # line-number line before each line; the second 'sed' does the real
-  # work.  The second script uses 'N' to pair each line-number line
-  # with the numbered line, and appends trailing '-' during
-  # substitution so that $LINENO is not a special case at line end.
+  # line-number line after each line using $LINENO; the second 'sed'
+  # does the real work.  The second script uses 'N' to pair each
+  # line-number line with the line containing $LINENO, and appends
+  # trailing '-' during substitution so that $LINENO is not a special
+  # case at line end.
   # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
-  # second 'sed' script.  Blame Lee E. McMahon for sed's syntax.  :-)
-  sed '=' <$as_myself |
+  # scripts with optimization help from Paolo Bonzini.  Blame Lee
+  # E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
     sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
       N
-      s,$,-,
-      : loop
-      s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
       t loop
-      s,-$,,
-      s,^['$as_cr_digits']*\n,,
+      s/-\n.*//
     ' >$as_me.lineno &&
-  chmod +x $as_me.lineno ||
-    { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
    { (exit 1); exit 1; }; }
 
   # Don't try to exec as it changes $[0], causing all sort of problems
   # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensible to this).
-  . ./$as_me.lineno
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
   # Exit status is that of the last command.
   exit
 }
 
 
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
-  *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T='     ' ;;
-  *c*,*  ) ECHO_N=-n ECHO_C= ECHO_T= ;;
-  *)       ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
 
-if expr a : '\(a\)' >/dev/null 2>&1; then
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+  case `echo 'x\c'` in
+  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
+  *)   ECHO_C='\c';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
   as_expr=expr
 else
   as_expr=false
 fi
 
 rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
-  # We could just check for DJGPP; but this test a) works b) is more generic
-  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
-  if test -f conf$$.exe; then
-    # Don't use ln at all; we don't have any links
-    as_ln_s='cp -p'
-  else
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
     as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
   fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
-  as_ln_s=ln
 else
   as_ln_s='cp -p'
 fi
-rm -f conf$$ conf$$.exe conf$$.file
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
 
 if mkdir -p . 2>/dev/null; then
   as_mkdir_p=:
@@ -15872,7 +17124,28 @@ else
   as_mkdir_p=false
 fi
 
-as_executable_p="test -f"
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+       test -d "$1/.";
+      else
+       case $1 in
+       -*)set "./$1";;
+       esac;
+       case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+       ???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
 
 # Sed expression to map a string onto a valid CPP name.
 as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
@@ -15881,31 +17154,14 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
 as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
 
 
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS="  $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
 exec 6>&1
 
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
+# Save the log message, to keep $[0] and so on meaningful, and to
 # report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.  Logging --version etc. is OK.
-exec 5>>auto/config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
+# values after options handling.
+ac_log="
 This file was extended by $as_me, which was
-generated by GNU Autoconf 2.59.  Invocation command line was
+generated by GNU Autoconf 2.62.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_HEADERS  = $CONFIG_HEADERS
@@ -15913,30 +17169,19 @@ generated by GNU Autoconf 2.59.  Invocation command line was
   CONFIG_COMMANDS = $CONFIG_COMMANDS
   $ $0 $@
 
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
 _ACEOF
 
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 # Files that config.status was made for.
-if test -n "$ac_config_files"; then
-  echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
-  echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
-  echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
-  echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
 
-cat >>$CONFIG_STATUS <<\_ACEOF
+_ACEOF
 
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 ac_cs_usage="\
 \`$as_me' instantiates files from templates according to the
 current configuration.
@@ -15944,14 +17189,14 @@ current configuration.
 Usage: $0 [OPTIONS] [FILE]...
 
   -h, --help       print this help, then exit
-  -V, --version    print version number, then exit
+  -V, --version    print version number and configuration settings, then exit
   -q, --quiet      do not print progress messages
   -d, --debug      don't remove temporary files
       --recheck    update $as_me by reconfiguring in the same conditions
   --file=FILE[:TEMPLATE]
-                  instantiate the configuration file FILE
+                   instantiate the configuration file FILE
   --header=FILE[:TEMPLATE]
-                  instantiate the configuration header FILE
+                   instantiate the configuration header FILE
 
 Configuration files:
 $config_files
@@ -15960,82 +17205,82 @@ Configuration headers:
 $config_headers
 
 Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
 
-cat >>$CONFIG_STATUS <<_ACEOF
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_version="\\
 config.status
-configured by $0, generated by GNU Autoconf 2.59,
-  with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
+configured by $0, generated by GNU Autoconf 2.62,
+  with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
-Copyright (C) 2003 Free Software Foundation, Inc.
+Copyright (C) 2008 Free Software Foundation, Inc.
 This config.status script is free software; the Free Software Foundation
 gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
 _ACEOF
 
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value.  By we need to know if files were specified by the user.
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
 ac_need_defaults=:
 while test $# != 0
 do
   case $1 in
   --*=*)
-    ac_option=`expr "x$1" : 'x\([^=]*\)='`
-    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
     ac_shift=:
     ;;
-  -*)
+  *)
     ac_option=$1
     ac_optarg=$2
     ac_shift=shift
     ;;
-  *) # This is not an option, so the user has probably given explicit
-     # arguments.
-     ac_option=$1
-     ac_need_defaults=false;;
   esac
 
   case $ac_option in
   # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
   -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
     ac_cs_recheck=: ;;
-  --version | --vers* | -V )
-    echo "$ac_cs_version"; exit 0 ;;
-  --he | --h)
-    # Conflict between --help and --header
-    { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
-   { (exit 1); exit 1; }; };;
-  --help | --hel | -h )
-    echo "$ac_cs_usage"; exit 0 ;;
-  --debug | --d* | -d )
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    $as_echo "$ac_cs_version"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
     debug=: ;;
   --file | --fil | --fi | --f )
     $ac_shift
-    CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    CONFIG_FILES="$CONFIG_FILES '$ac_optarg'"
     ac_need_defaults=false;;
   --header | --heade | --head | --hea )
     $ac_shift
-    CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'"
     ac_need_defaults=false;;
+  --he | --h)
+    # Conflict between --help and --header
+    { $as_echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    $as_echo "$ac_cs_usage"; exit ;;
   -q | -quiet | --quiet | --quie | --qui | --qu | --q \
   | -silent | --silent | --silen | --sile | --sil | --si | --s)
     ac_cs_silent=: ;;
 
   # This is an error.
-  -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
+  -*) { $as_echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
    { (exit 1); exit 1; }; } ;;
 
-  *) ac_config_targets="$ac_config_targets $1" ;;
+  *) ac_config_targets="$ac_config_targets $1"
+     ac_need_defaults=false ;;
 
   esac
   shift
@@ -16049,31 +17294,47 @@ if $ac_cs_silent; then
 fi
 
 _ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 if \$ac_cs_recheck; then
-  echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
-  exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  shift
+  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  CONFIG_SHELL='$SHELL'
+  export CONFIG_SHELL
+  exec "\$@"
 fi
 
 _ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>auto/config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  $as_echo "$ac_log"
+} >&5
 
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACEOF
 
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 
-
-
-cat >>$CONFIG_STATUS <<\_ACEOF
+# Handling of arguments.
 for ac_config_target in $ac_config_targets
 do
-  case "$ac_config_target" in
-  # Handling of arguments.
-  "auto/config.mk" ) CONFIG_FILES="$CONFIG_FILES auto/config.mk:config.mk.in" ;;
-  "auto/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS auto/config.h:config.h.in" ;;
-  *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+  case $ac_config_target in
+    "auto/config.h") CONFIG_HEADERS="$CONFIG_HEADERS auto/config.h:config.h.in" ;;
+    "auto/config.mk") CONFIG_FILES="$CONFIG_FILES auto/config.mk:config.mk.in" ;;
+
+  *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+$as_echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
    { (exit 1); exit 1; }; };;
   esac
 done
 
+
 # If the user did not use the arguments to specify the items to instantiate,
 # then the envvar interface is used.  Set only those that are not.
 # We use the long form for the default assignment because of an extremely
@@ -16084,631 +17345,604 @@ if $ac_need_defaults; then
 fi
 
 # Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
+# simply because there is no reason against having it here, and in addition,
 # creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
 $debug ||
 {
-  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
   trap '{ (exit 1); exit 1; }' 1 2 13 15
 }
-
 # Create a (secure) tmp directory for tmp files.
 
 {
-  tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
   test -n "$tmp" && test -d "$tmp"
 }  ||
 {
-  tmp=./confstat$$-$RANDOM
-  (umask 077 && mkdir $tmp)
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
 } ||
 {
-   echo "$me: cannot create a temporary directory in ." >&2
+   $as_echo "$as_me: cannot create a temporary directory in ." >&2
    { (exit 1); exit 1; }
 }
 
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr='\r'
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+  ac_cs_awk_cr='\\r'
+else
+  ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
 _ACEOF
 
-cat >>$CONFIG_STATUS <<_ACEOF
 
-#
-# CONFIG_FILES section.
-#
+{
+  echo "cat >conf$$subs.awk <<_ACEOF" &&
+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+  echo "_ACEOF"
+} >conf$$subs.sh ||
+  { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  . ./conf$$subs.sh ||
+    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
 
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
-  # Protect against being on the right side of a sed subst in config.status.
-  sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
-   s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@SET_MAKE@,$SET_MAKE,;t t
-s,@CC@,$CC,;t t
-s,@CFLAGS@,$CFLAGS,;t t
-s,@LDFLAGS@,$LDFLAGS,;t t
-s,@CPPFLAGS@,$CPPFLAGS,;t t
-s,@ac_ct_CC@,$ac_ct_CC,;t t
-s,@EXEEXT@,$EXEEXT,;t t
-s,@OBJEXT@,$OBJEXT,;t t
-s,@CPP@,$CPP,;t t
-s,@EGREP@,$EGREP,;t t
-s,@AWK@,$AWK,;t t
-s,@STRIP@,$STRIP,;t t
-s,@CPP_MM@,$CPP_MM,;t t
-s,@OS_EXTRA_SRC@,$OS_EXTRA_SRC,;t t
-s,@OS_EXTRA_OBJ@,$OS_EXTRA_OBJ,;t t
-s,@VIMNAME@,$VIMNAME,;t t
-s,@EXNAME@,$EXNAME,;t t
-s,@VIEWNAME@,$VIEWNAME,;t t
-s,@line_break@,$line_break,;t t
-s,@dovimdiff@,$dovimdiff,;t t
-s,@dogvimdiff@,$dogvimdiff,;t t
-s,@compiledby@,$compiledby,;t t
-s,@vi_cv_path_mzscheme@,$vi_cv_path_mzscheme,;t t
-s,@MZSCHEME_SRC@,$MZSCHEME_SRC,;t t
-s,@MZSCHEME_OBJ@,$MZSCHEME_OBJ,;t t
-s,@MZSCHEME_PRO@,$MZSCHEME_PRO,;t t
-s,@MZSCHEME_LIBS@,$MZSCHEME_LIBS,;t t
-s,@MZSCHEME_CFLAGS@,$MZSCHEME_CFLAGS,;t t
-s,@vi_cv_path_perl@,$vi_cv_path_perl,;t t
-s,@vi_cv_perllib@,$vi_cv_perllib,;t t
-s,@shrpenv@,$shrpenv,;t t
-s,@PERL_SRC@,$PERL_SRC,;t t
-s,@PERL_OBJ@,$PERL_OBJ,;t t
-s,@PERL_PRO@,$PERL_PRO,;t t
-s,@PERL_CFLAGS@,$PERL_CFLAGS,;t t
-s,@PERL_LIBS@,$PERL_LIBS,;t t
-s,@vi_cv_path_python@,$vi_cv_path_python,;t t
-s,@PYTHON_CONFDIR@,$PYTHON_CONFDIR,;t t
-s,@PYTHON_LIBS@,$PYTHON_LIBS,;t t
-s,@PYTHON_GETPATH_CFLAGS@,$PYTHON_GETPATH_CFLAGS,;t t
-s,@PYTHON_CFLAGS@,$PYTHON_CFLAGS,;t t
-s,@PYTHON_SRC@,$PYTHON_SRC,;t t
-s,@PYTHON_OBJ@,$PYTHON_OBJ,;t t
-s,@vi_cv_path_tcl@,$vi_cv_path_tcl,;t t
-s,@TCL_SRC@,$TCL_SRC,;t t
-s,@TCL_OBJ@,$TCL_OBJ,;t t
-s,@TCL_PRO@,$TCL_PRO,;t t
-s,@TCL_CFLAGS@,$TCL_CFLAGS,;t t
-s,@TCL_LIBS@,$TCL_LIBS,;t t
-s,@vi_cv_path_ruby@,$vi_cv_path_ruby,;t t
-s,@RUBY_SRC@,$RUBY_SRC,;t t
-s,@RUBY_OBJ@,$RUBY_OBJ,;t t
-s,@RUBY_PRO@,$RUBY_PRO,;t t
-s,@RUBY_CFLAGS@,$RUBY_CFLAGS,;t t
-s,@RUBY_LIBS@,$RUBY_LIBS,;t t
-s,@WORKSHOP_SRC@,$WORKSHOP_SRC,;t t
-s,@WORKSHOP_OBJ@,$WORKSHOP_OBJ,;t t
-s,@NETBEANS_SRC@,$NETBEANS_SRC,;t t
-s,@NETBEANS_OBJ@,$NETBEANS_OBJ,;t t
-s,@SNIFF_SRC@,$SNIFF_SRC,;t t
-s,@SNIFF_OBJ@,$SNIFF_OBJ,;t t
-s,@xmkmfpath@,$xmkmfpath,;t t
-s,@X_CFLAGS@,$X_CFLAGS,;t t
-s,@X_PRE_LIBS@,$X_PRE_LIBS,;t t
-s,@X_LIBS@,$X_LIBS,;t t
-s,@X_EXTRA_LIBS@,$X_EXTRA_LIBS,;t t
-s,@X_LIB@,$X_LIB,;t t
-s,@GTK_CONFIG@,$GTK_CONFIG,;t t
-s,@GTK12_CONFIG@,$GTK12_CONFIG,;t t
-s,@PKG_CONFIG@,$PKG_CONFIG,;t t
-s,@GTK_CFLAGS@,$GTK_CFLAGS,;t t
-s,@GTK_LIBS@,$GTK_LIBS,;t t
-s,@GTK_LIBNAME@,$GTK_LIBNAME,;t t
-s,@GNOME_LIBS@,$GNOME_LIBS,;t t
-s,@GNOME_LIBDIR@,$GNOME_LIBDIR,;t t
-s,@GNOME_INCLUDEDIR@,$GNOME_INCLUDEDIR,;t t
-s,@GNOME_CONFIG@,$GNOME_CONFIG,;t t
-s,@MOTIF_LIBNAME@,$MOTIF_LIBNAME,;t t
-s,@NARROW_PROTO@,$NARROW_PROTO,;t t
-s,@GUI_INC_LOC@,$GUI_INC_LOC,;t t
-s,@GUI_LIB_LOC@,$GUI_LIB_LOC,;t t
-s,@GUITYPE@,$GUITYPE,;t t
-s,@GUI_X_LIBS@,$GUI_X_LIBS,;t t
-s,@HANGULIN_SRC@,$HANGULIN_SRC,;t t
-s,@HANGULIN_OBJ@,$HANGULIN_OBJ,;t t
-s,@TAGPRG@,$TAGPRG,;t t
-s,@INSTALL_LANGS@,$INSTALL_LANGS,;t t
-s,@INSTALL_TOOL_LANGS@,$INSTALL_TOOL_LANGS,;t t
-s,@MSGFMT@,$MSGFMT,;t t
-s,@MAKEMO@,$MAKEMO,;t t
-s,@DEPEND_CFLAGS_FILTER@,$DEPEND_CFLAGS_FILTER,;t t
-s,@LIBOBJS@,$LIBOBJS,;t t
-s,@LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
-
-_ACEOF
-
-  cat >>$CONFIG_STATUS <<\_ACEOF
-  # Split the substitutions into bite-sized pieces for seds with
-  # small command number limits, like on Digital OSF/1 and HP-UX.
-  ac_max_sed_lines=48
-  ac_sed_frag=1 # Number of current file.
-  ac_beg=1 # First line for current file.
-  ac_end=$ac_max_sed_lines # Line after last line for current file.
-  ac_more_lines=:
-  ac_sed_cmds=
-  while $ac_more_lines; do
-    if test $ac_beg -gt 1; then
-      sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-    else
-      sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
-    fi
-    if test ! -s $tmp/subs.frag; then
-      ac_more_lines=false
-    else
-      # The purpose of the label and of the branching condition is to
-      # speed up the sed processing (if there are no `@' at all, there
-      # is no need to browse any of the substitutions).
-      # These are the two extra sed commands mentioned above.
-      (echo ':t
-  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
-      if test -z "$ac_sed_cmds"; then
-       ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
-      else
-       ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
-      fi
-      ac_sed_frag=`expr $ac_sed_frag + 1`
-      ac_beg=$ac_end
-      ac_end=`expr $ac_end + $ac_max_sed_lines`
-    fi
-  done
-  if test -z "$ac_sed_cmds"; then
-    ac_sed_cmds=cat
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` = $ac_delim_num; then
+    break
+  elif $ac_last_try; then
+    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
   fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\).*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\).*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+  N
+  s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+  for (key in S) S_is_set[key] = 1
+  FS = "\a"
+
+}
+{
+  line = $ 0
+  nfields = split(line, field, "@")
+  substed = 0
+  len = length(field[1])
+  for (i = 2; i < nfields; i++) {
+    key = field[i]
+    keylen = length(key)
+    if (S_is_set[key]) {
+      value = S[key]
+      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+      len += length(value) + length(field[++i])
+      substed = 1
+    } else
+      len += 1 + keylen
+  }
+
+  print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+  cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+  || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5
+$as_echo "$as_me: error: could not setup config files machinery" >&2;}
+   { (exit 1); exit 1; }; }
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[         ]*VPATH[        ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[    ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[      ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 fi # test -n "$CONFIG_FILES"
 
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
 _ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
-  case $ac_file in
-  - | *:- | *:-:* ) # input from stdin
-       cat >$tmp/stdin
-       ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-       ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-       ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  * )   ac_file_in=$ac_file.in ;;
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_t"; then
+    break
+  elif $ac_last_try; then
+    { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5
+$as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;}
+   { (exit 1); exit 1; }; }
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any.  Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[    ]*#[    ]*define[       ][      ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  for (key in D) D_is_set[key] = 1
+  FS = "\a"
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+  line = \$ 0
+  split(line, arg, " ")
+  if (arg[1] == "#") {
+    defundef = arg[2]
+    mac1 = arg[3]
+  } else {
+    defundef = substr(arg[1], 2)
+    mac1 = arg[2]
+  }
+  split(mac1, mac2, "(") #)
+  macro = mac2[1]
+  if (D_is_set[macro]) {
+    # Preserve the white space surrounding the "#".
+    prefix = substr(line, 1, index(line, defundef) - 1)
+    print prefix "define", macro P[macro] D[macro]
+    next
+  } else {
+    # Replace #undef with comments.  This is necessary, for example,
+    # in the case of _POSIX_SOURCE, which is predefined and required
+    # on some systems where configure will not decide to define it.
+    if (defundef == "undef") {
+      print "/*", line, "*/"
+      next
+    }
+  }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+  { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5
+$as_echo "$as_me: error: could not setup config headers machinery" >&2;}
+   { (exit 1); exit 1; }; }
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    "
+shift
+for ac_tag
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+$as_echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+   { (exit 1); exit 1; }; };;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+        # (if the path is not absolute).  The absolute path cannot be DOS-style,
+        # because $ac_f cannot contain `:'.
+        test -f "$ac_f" ||
+          case $ac_f in
+          [\\/$]*) false;;
+          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+          esac ||
+          { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+$as_echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+   { (exit 1); exit 1; }; };;
+      esac
+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      ac_file_inputs="$ac_file_inputs '$ac_f'"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input='Generated from '`
+         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+       `' by configure.'
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { $as_echo "$as_me:$LINENO: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+    fi
+    # Neutralize special characters interpreted by sed in replacement strings.
+    case $configure_input in #(
+    *\&* | *\|* | *\\* )
+       ac_sed_conf_input=`$as_echo "$configure_input" |
+       sed 's/[\\\\&|]/\\\\&/g'`;; #(
+    *) ac_sed_conf_input=$configure_input;;
+    esac
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin" \
+      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; } ;;
+    esac
+    ;;
   esac
 
-  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
-  ac_dir=`(dirname "$ac_file") 2>/dev/null ||
+  ac_dir=`$as_dirname -- "$ac_file" ||
 $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$ac_file" : 'X\(//\)[^/]' \| \
         X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| \
-        .     : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
-  { if $as_mkdir_p; then
-    mkdir -p "$ac_dir"
-  else
-    as_dir="$ac_dir"
+        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+  { as_dir="$ac_dir"
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
     as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
 $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
         X"$as_dir" : 'X\(//\)[^/]' \| \
         X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| \
-        .     : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
+        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)[^/].*/{
+           s//\1/
+           q
+         }
+         /^X\(\/\/\)$/{
+           s//\1/
+           q
+         }
+         /^X\(\/\).*/{
+           s//\1/
+           q
+         }
+         s/.*/./; q'`
+      test -d "$as_dir" && break
     done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+$as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
    { (exit 1); exit 1; }; }; }
-
   ac_builddir=.
 
-if test "$ac_dir" != .; then
-  ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
-  # A "../" for each directory in $ac_dir_suffix.
-  ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
-  ac_dir_suffix= ac_top_builddir=
-fi
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
 
 case $srcdir in
-  .)  # No --srcdir option.  We are building in place.
+  .)  # We are building in place.
     ac_srcdir=.
-    if test -z "$ac_top_builddir"; then
-       ac_top_srcdir=.
-    else
-       ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
-    fi ;;
-  [\\/]* | ?:[\\/]* )  # Absolute path.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
     ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir ;;
-  *) # Relative path.
-    ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_builddir$srcdir ;;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
 esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
 
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
-  case "$ac_dir" in
-  .) ac_abs_builddir=`pwd`;;
-  [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
-  *) ac_abs_builddir=`pwd`/"$ac_dir";;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
-  case ${ac_top_builddir}. in
-  .) ac_abs_top_builddir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
-  *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
-  case $ac_srcdir in
-  .) ac_abs_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
-  *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
-  esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
-  case $ac_top_srcdir in
-  .) ac_abs_top_srcdir=$ac_abs_builddir;;
-  [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
-  *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
-  esac;;
-esac
 
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
 
+_ACEOF
 
-  if test x"$ac_file" != x-; then
-    { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-    rm -f "$ac_file"
-  fi
-  # Let's still pretend it is `configure' which instantiates (i.e., don't
-  # use $as_me), people would be surprised to read:
-  #    /* config.h.  Generated by config.status.  */
-  if test x"$ac_file" = x-; then
-    configure_input=
-  else
-    configure_input="$ac_file.  "
-  fi
-  configure_input=$configure_input"Generated from `echo $ac_file_in |
-                                    sed 's,.*/,,'` by configure."
-
-  # First look for the input files in the build tree, otherwise in the
-  # src tree.
-  ac_file_inputs=`IFS=:
-    for f in $ac_file_in; do
-      case $f in
-      -) echo $tmp/stdin ;;
-      [\\/$]*)
-        # Absolute (can't be DOS-style, as IFS=:)
-        test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-        echo "$f";;
-      *) # Relative
-        if test -f "$f"; then
-          # Build tree
-          echo "$f"
-        elif test -f "$srcdir/$f"; then
-          # Source tree
-          echo "$srcdir/$f"
-        else
-          # /dev/null tree
-          { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-        fi;;
-      esac
-    done` || { (exit 1); exit 1; }
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+ac_sed_dataroot='
+/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+    s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
 _ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
-  sed "$ac_vpsub
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
 $extrasub
 _ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 :t
 /@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;t t
-s,@srcdir@,$ac_srcdir,;t t
-s,@abs_srcdir@,$ac_abs_srcdir,;t t
-s,@top_srcdir@,$ac_top_srcdir,;t t
-s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t
-s,@builddir@,$ac_builddir,;t t
-s,@abs_builddir@,$ac_abs_builddir,;t t
-s,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
-  rm -f $tmp/stdin
-  if test x"$ac_file" != x-; then
-    mv $tmp/out $ac_file
-  else
-    cat $tmp/out
-    rm -f $tmp/out
-  fi
-
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; }
 
-#
-# CONFIG_HEADER section.
-#
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { $as_echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&2;}
 
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([   ]*\)#\([        ]*define[       ][      ]*\)'
-ac_dB='[        ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([   ]*\)#\([        ]*\)undef\([    ][      ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
-  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  rm -f "$tmp/stdin"
   case $ac_file in
-  - | *:- | *:-:* ) # input from stdin
-       cat >$tmp/stdin
-       ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-       ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
-       ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
-  * )   ac_file_in=$ac_file.in ;;
-  esac
-
-  test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
-  # First look for the input files in the build tree, otherwise in the
-  # src tree.
-  ac_file_inputs=`IFS=:
-    for f in $ac_file_in; do
-      case $f in
-      -) echo $tmp/stdin ;;
-      [\\/$]*)
-        # Absolute (can't be DOS-style, as IFS=:)
-        test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
-   { (exit 1); exit 1; }; }
-        # Do quote $f, to prevent DOS paths from being IFS'd.
-        echo "$f";;
-      *) # Relative
-        if test -f "$f"; then
-          # Build tree
-          echo "$f"
-        elif test -f "$srcdir/$f"; then
-          # Source tree
-          echo "$srcdir/$f"
-        else
-          # /dev/null tree
-          { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
+  -) cat "$tmp/out" && rm -f "$tmp/out";;
+  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  esac \
+  || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
    { (exit 1); exit 1; }; }
-        fi;;
-      esac
-    done` || { (exit 1); exit 1; }
-  # Remove the trailing spaces.
-  sed 's/[      ]*$//' $ac_file_inputs >$tmp/in
-
-_ACEOF
-
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h.  The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status.  Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[    ]*#[    ]*define[       ][      ]*\([^  (][^    (]*\)\(([^)]*)\)[       ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[    ]*#[    ]*define[       ][      ]*\([^  ][^     ]*\)[   ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless.  Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #undef with comments.  This is necessary, for
-# example, in the case of _POSIX_SOURCE, which is predefined and required
-# on some systems where configure will not decide to define it.
-cat >>conftest.undefs <<\_ACEOF
-s,^[    ]*#[    ]*undef[        ][      ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
-
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo '  # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo '  if grep "^[     ]*#[    ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo '  # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo '  :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
-do
-  # Write a limited-size here document to $tmp/defines.sed.
-  echo '  cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
-  # Speed up: don't consider the non `#define' lines.
-  echo '/^[     ]*#[    ]*define/!b' >>$CONFIG_STATUS
-  # Work around the forget-to-reset-the-flag bug.
-  echo 't clr' >>$CONFIG_STATUS
-  echo ': clr' >>$CONFIG_STATUS
-  sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
-  echo 'CEOF
-  sed -f $tmp/defines.sed $tmp/in >$tmp/out
-  rm -f $tmp/in
-  mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
-  sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
-  rm -f conftest.defines
-  mv conftest.tail conftest.defines
-done
-rm -f conftest.defines
-echo '  fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
-
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo '  # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
-  # Write a limited-size here document to $tmp/undefs.sed.
-  echo '  cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
-  # Speed up: don't consider the non `#undef'
-  echo '/^[     ]*#[    ]*undef/!b' >>$CONFIG_STATUS
-  # Work around the forget-to-reset-the-flag bug.
-  echo 't clr' >>$CONFIG_STATUS
-  echo ': clr' >>$CONFIG_STATUS
-  sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
-  echo 'CEOF
-  sed -f $tmp/undefs.sed $tmp/in >$tmp/out
-  rm -f $tmp/in
-  mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
-  sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
-  rm -f conftest.undefs
-  mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-  # Let's still pretend it is `configure' which instantiates (i.e., don't
-  # use $as_me), people would be surprised to read:
-  #    /* config.h.  Generated by config.status.  */
-  if test x"$ac_file" = x-; then
-    echo "/* Generated by configure.  */" >$tmp/config.h
-  else
-    echo "/* $ac_file.  Generated by configure.  */" >$tmp/config.h
-  fi
-  cat $tmp/in >>$tmp/config.h
-  rm -f $tmp/in
+ ;;
+  :H)
+  #
+  # CONFIG_HEADER
+  #
   if test x"$ac_file" != x-; then
-    if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
-      { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
+    {
+      $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+    } >"$tmp/config.h" \
+      || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; }
+    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
     else
-      ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| \
-        .     : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
-      { if $as_mkdir_p; then
-    mkdir -p "$ac_dir"
-  else
-    as_dir="$ac_dir"
-    as_dirs=
-    while test ! -d "$as_dir"; do
-      as_dirs="$as_dir $as_dirs"
-      as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| \
-        .     : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
-         /^X\(\/\/\)[^/].*/{ s//\1/; q; }
-         /^X\(\/\/\)$/{ s//\1/; q; }
-         /^X\(\/\).*/{ s//\1/; q; }
-         s/.*/./; q'`
-    done
-    test ! -n "$as_dirs" || mkdir $as_dirs
-  fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
-   { (exit 1); exit 1; }; }; }
-
-      rm -f $ac_file
-      mv $tmp/config.h $ac_file
+      rm -f "$ac_file"
+      mv "$tmp/config.h" "$ac_file" \
+       || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5
+$as_echo "$as_me: error: could not create $ac_file" >&2;}
+   { (exit 1); exit 1; }; }
     fi
   else
-    cat $tmp/config.h
-    rm -f $tmp/config.h
+    $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+      || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5
+$as_echo "$as_me: error: could not create -" >&2;}
+   { (exit 1); exit 1; }; }
   fi
-done
-_ACEOF
+ ;;
+
+
+  esac
+
+done # for ac_tag
 
-cat >>$CONFIG_STATUS <<\_ACEOF
 
 { (exit 0); exit 0; }
 _ACEOF
 chmod +x $CONFIG_STATUS
 ac_clean_files=$ac_clean_files_save
 
+test $ac_write_fail = 0 ||
+  { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;}
+   { (exit 1); exit 1; }; }
+
 
 # configure is writing to config.log, and then calls config.status.
 # config.status does its own redirection, appending to config.log.
@@ -16730,5 +17964,9 @@ if test "$no_create" != yes; then
   # would make configure fail if this is the last instruction.
   $ac_cs_success || { (exit 1); exit 1; }
 fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+  { $as_echo "$as_me:$LINENO: WARNING: Unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: Unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
 
 
index a79f0fd02bd65bd31ec46cd7932c328ebebfe6e5..282e8573e587f982bad058ac354d0ee47eb503d7 100644 (file)
@@ -476,14 +476,12 @@ str_foldcase(str, orglen, buf, buflen)
                        {
                            if (buf == NULL)
                            {
-                               mch_memmove(GA_PTR(i) + nl, GA_PTR(i) + ol,
-                                                 STRLEN(GA_PTR(i) + ol) + 1);
+                               STRMOVE(GA_PTR(i) + nl, GA_PTR(i) + ol);
                                ga.ga_len += nl - ol;
                            }
                            else
                            {
-                               mch_memmove(buf + i + nl, buf + i + ol,
-                                                   STRLEN(buf + i + ol) + 1);
+                               STRMOVE(buf + i + nl, buf + i + ol);
                                len += nl - ol;
                            }
                        }
@@ -1744,7 +1742,6 @@ vim_isblankline(lbuf)
  * If "len" is not NULL, the length of the number in characters is returned.
  * If "nptr" is not NULL, the signed result is returned in it.
  * If "unptr" is not NULL, the unsigned result is returned in it.
- * If "unptr" is not NULL, the unsigned result is returned in it.
  * If "dooct" is non-zero recognize octal numbers, when > 1 always assume
  * octal number.
  * If "dohex" is non-zero recognize hex numbers, when > 1 always assume
@@ -1919,7 +1916,7 @@ backslash_halve(p)
 {
     for ( ; *p; ++p)
        if (rem_backslash(p))
-           mch_memmove(p, p + 1, STRLEN(p));
+           STRMOVE(p, p + 1);
 }
 
 /*
index cb1feaf8662f205ec728b3b496fbb0a5435c46c6..d1fb8d1b545a0d5be6f1efe02631cd6b2d8d0c1a 100644 (file)
 #undef HAVE_MEMSET
 #undef HAVE_NANOSLEEP
 #undef HAVE_OPENDIR
+#undef HAVE_FLOAT_FUNCS
 #undef HAVE_PUTENV
 #undef HAVE_QSORT
 #undef HAVE_READLINK
 #undef HAVE_LIBGEN_H
 #undef HAVE_LIBINTL_H
 #undef HAVE_LOCALE_H
+#undef HAVE_MATH_H
 #undef HAVE_NDIR_H
 #undef HAVE_POLL_H
 #undef HAVE_PTHREAD_NP_H
 /* Define if you want to add support of GPM (Linux console mouse daemon) */
 #undef HAVE_GPM
 
+/* Define if you want to add support of sysmouse (*BSD console mouse) */
+#undef HAVE_SYSMOUSE
+
 /* Define if you want to include the Cscope interface. */
 #undef FEAT_CSCOPE
 
index 628c2c3040e83f2670f4d5603f0177467f515d4c..7d854554cedd9237925ad64afbad884062d618f5 100644 (file)
@@ -23,6 +23,11 @@ AC_CHECK_PROG(STRIP, strip, strip, :)
 dnl Check for extension of executables
 AC_EXEEXT
 
+dnl Check for standard headers.  We don't use this in Vim but other stuff
+dnl in autoconf needs it, where it uses STDC_HEADERS.
+AC_HEADER_STDC
+AC_HEADER_SYS_WAIT
+
 dnl Set default value for CFLAGS if none is defined or it's empty
 if test -z "$CFLAGS"; then
   CFLAGS="-O"
@@ -47,11 +52,10 @@ if test "$GCC" = yes; then
   fi
 fi
 
-dnl If configure thinks we are cross compiling, there is probably something
-dnl wrong with the CC or CFLAGS settings, give an understandable error message
+dnl If configure thinks we are cross compiling, there might be something
+dnl wrong with the CC or CFLAGS settings, give a useful warning message
 if test "$cross_compiling" = yes; then
-  AC_MSG_ERROR([cannot compile a simple program, check CC and CFLAGS
-  (cross compiling doesn't work)])
+  AC_MSG_RESULT([cannot compile a simple program; if not cross compiling check CC and CFLAGS])
 fi
 
 dnl gcc-cpp has the wonderful -MM option to produce nicer dependencies.
@@ -186,25 +190,28 @@ AC_SUBST(OS_EXTRA_OBJ)
 dnl Add /usr/local/lib to $LDFLAGS and /usr/local/include to CFLAGS.
 dnl Only when the directory exists and it wasn't there yet.
 dnl For gcc don't do this when it is already in the default search path.
-have_local_include=''
-have_local_lib=''
-if test "$GCC" = yes; then
-  echo 'void f(){}' > conftest.c
-  dnl -no-cpp-precomp is needed for OS X 10.2 (Ben Fowler)
-  have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep '/usr/local/include'`
-  have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep '/usr/local/lib'`
-  rm -f conftest.c conftest.o
-fi
-if test -z "$have_local_lib" -a -d /usr/local/lib; then
-  tt=`echo "$LDFLAGS" | sed -e 's+-L/usr/local/lib ++g' -e 's+-L/usr/local/lib$++g'`
-  if test "$tt" = "$LDFLAGS"; then
-    LDFLAGS="$LDFLAGS -L/usr/local/lib"
+dnl Skip all of this when cross-compiling.
+if test "$cross_compiling" = no; then
+  have_local_include=''
+  have_local_lib=''
+  if test "$GCC" = yes; then
+    echo 'void f(){}' > conftest.c
+    dnl -no-cpp-precomp is needed for OS X 10.2 (Ben Fowler)
+    have_local_include=`${CC-cc} -no-cpp-precomp -c -v conftest.c 2>&1 | grep '/usr/local/include'`
+    have_local_lib=`${CC-cc} -c -v conftest.c 2>&1 | grep '/usr/local/lib'`
+    rm -f conftest.c conftest.o
   fi
-fi
-if test -z "$have_local_include" -a -d /usr/local/include; then
-  tt=`echo "$CPPFLAGS" | sed -e 's+-I/usr/local/include ++g' -e 's+-I/usr/local/include$++g'`
-  if test "$tt" = "$CPPFLAGS"; then
-    CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+  if test -z "$have_local_lib" -a -d /usr/local/lib; then
+    tt=`echo "$LDFLAGS" | sed -e 's+-L/usr/local/lib ++g' -e 's+-L/usr/local/lib$++g'`
+    if test "$tt" = "$LDFLAGS"; then
+      LDFLAGS="$LDFLAGS -L/usr/local/lib"
+    fi
+  fi
+  if test -z "$have_local_include" -a -d /usr/local/include; then
+    tt=`echo "$CPPFLAGS" | sed -e 's+-I/usr/local/include ++g' -e 's+-I/usr/local/include$++g'`
+    if test "$tt" = "$CPPFLAGS"; then
+      CPPFLAGS="$CPPFLAGS -I/usr/local/include"
+    fi
   fi
 fi
 
@@ -1422,6 +1429,10 @@ AC_DEFUN(AM_PATH_GTK,
       AC_TRY_RUN([
 #include <gtk/gtk.h>
 #include <stdio.h>
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
 
 int
 main ()
@@ -2008,14 +2019,30 @@ fi
 
 dnl Checks for libraries and include files.
 
-AC_MSG_CHECKING(quality of toupper)
-AC_TRY_RUN([#include <ctype.h>
-main() { exit(toupper('A') == 'A' && tolower('z') == 'z'); }],
-       AC_DEFINE(BROKEN_TOUPPER) AC_MSG_RESULT(bad),
-       AC_MSG_RESULT(good), AC_MSG_ERROR(failed to compile test program))
+AC_CACHE_CHECK([whether toupper is broken], [vim_cv_toupper_broken],
+  [
+    AC_RUN_IFELSE([[
+#include "confdefs.h"
+#include <ctype.h>
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
+main() { exit(toupper('A') == 'A' && tolower('z') == 'z'); }
+  ]],[
+    vim_cv_toupper_broken=yes
+  ],[
+    vim_cv_toupper_broken=no
+  ],[
+    AC_MSG_ERROR(cross-compiling: please set 'vim_cv_toupper_broken')
+  ])])
+
+if test "x$vim_cv_toupper_broken" = "xyes" ; then
+  AC_DEFINE(BROKEN_TOUPPER)
+fi
 
 AC_MSG_CHECKING(whether __DATE__ and __TIME__ work)
-AC_TRY_COMPILE(, [printf("(" __DATE__ " " __TIME__ ")");],
+AC_TRY_COMPILE([#include <stdio.h>], [printf("(" __DATE__ " " __TIME__ ")");],
        AC_MSG_RESULT(yes); AC_DEFINE(HAVE_DATE_TIME),
        AC_MSG_RESULT(no))
 
@@ -2028,11 +2055,6 @@ fi
 
 AC_HEADER_DIRENT
 
-dnl check for standard headers, we don't use this in Vim but other stuff
-dnl in autoconf needs it
-AC_HEADER_STDC
-AC_HEADER_SYS_WAIT
-
 dnl If sys/wait.h is not found it might still exist but not be POSIX
 dnl compliant. In that case we define HAVE_UNION_WAIT (for NeXT)
 if test $ac_cv_header_sys_wait_h = no; then
@@ -2047,7 +2069,7 @@ fi
 
 AC_CHECK_HEADERS(stdarg.h stdlib.h string.h sys/select.h sys/utsname.h \
        termcap.h fcntl.h sgtty.h sys/ioctl.h sys/time.h sys/types.h termio.h \
-       iconv.h langinfo.h unistd.h stropts.h errno.h \
+       iconv.h langinfo.h math.h unistd.h stropts.h errno.h \
        sys/resource.h sys/systeminfo.h locale.h \
        sys/stream.h sys/ptem.h termios.h libc.h sys/statfs.h \
        poll.h sys/poll.h pwd.h utime.h sys/param.h libintl.h \
@@ -2118,11 +2140,11 @@ changequote([,]),
   [
 #include <sys/types.h>
 #if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
+# include <stdlib.h>
+# include <stddef.h>
 #endif
 #ifdef HAVE_SYS_RESOURCE_H
-#include <sys/resource.h>
+# include <sys/resource.h>
 #endif
          ], ac_cv_type_rlim_t=yes, ac_cv_type_rlim_t=no)
          AC_MSG_RESULT($ac_cv_type_rlim_t)
@@ -2141,8 +2163,8 @@ else
   [
 #include <sys/types.h>
 #if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
+# include <stdlib.h>
+# include <stddef.h>
 #endif
 #include <signal.h>
          ], ac_cv_type_stack_t=yes, ac_cv_type_stack_t=no)
@@ -2159,8 +2181,8 @@ AC_MSG_CHECKING(whether stack_t has an ss_base field)
 AC_TRY_COMPILE([
 #include <sys/types.h>
 #if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
+# include <stdlib.h>
+# include <stddef.h>
 #endif
 #include <signal.h>
 #include "confdefs.h"
@@ -2200,6 +2222,10 @@ else
 #ifdef HAVE_TERMCAP_H
 # include <termcap.h>
 #endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
 main() {char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(0); }],
                          res="OK", res="FAIL", res="FAIL")
       if test "$res" = "OK"; then
@@ -2224,28 +2250,61 @@ if test "x$olibs" = "x$LIBS"; then
       Or specify the name of the library with --with-tlib.]))
 fi
 
-AC_MSG_CHECKING(whether we talk terminfo)
-AC_TRY_RUN([
+AC_CACHE_CHECK([whether we talk terminfo], [vim_cv_terminfo],
+  [
+    AC_RUN_IFELSE([[
+#include "confdefs.h"
 #ifdef HAVE_TERMCAP_H
 # include <termcap.h>
 #endif
+#ifdef HAVE_STRING_H
+# include <string.h>
+#endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
 main()
-{char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); }],
-         AC_MSG_RESULT([no -- we are in termcap land]),
-         AC_MSG_RESULT([yes -- terminfo spoken here]); AC_DEFINE(TERMINFO),
-         AC_MSG_ERROR(failed to compile test program.))
+{char *s; s=(char *)tgoto("%p1%d", 0, 1); exit(!strcmp(s==0 ? "" : s, "1")); }
+    ]],[
+      vim_cv_terminfo=no
+    ],[
+      vim_cv_terminfo=yes
+    ],[
+      AC_MSG_ERROR(cross-compiling: please set 'vim_cv_terminfo')
+    ])
+  ])
+
+if test "x$vim_cv_terminfo" = "xyes" ; then
+  AC_DEFINE(TERMINFO)
+fi
 
 if test "x$olibs" != "x$LIBS"; then
-  AC_MSG_CHECKING(what tgetent() returns for an unknown terminal)
-  AC_TRY_RUN([
+  AC_CACHE_CHECK([what tgetent() returns for an unknown terminal], [vim_cv_tgent],
+    [
+      AC_RUN_IFELSE([[
+#include "confdefs.h"
 #ifdef HAVE_TERMCAP_H
 # include <termcap.h>
 #endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
 main()
-{char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist"); exit(res != 0); }],
-         AC_MSG_RESULT(zero); AC_DEFINE(TGETENT_ZERO_ERR, 0),
-         AC_MSG_RESULT(non-zero),
-         AC_MSG_ERROR(failed to compile test program.))
+{char s[10000]; int res = tgetent(s, "thisterminaldoesnotexist"); exit(res != 0); }
+      ]],[
+       vim_cv_tgent=zero
+      ],[
+       vim_cv_tgent=non-zero
+      ],[
+       AC_MSG_ERROR(failed to compile test program.)
+      ])
+    ])
+  
+  if test "x$vim_cv_tgent" = "xzero" ; then
+    AC_DEFINE(TGETENT_ZERO_ERR, 0)
+  fi
 fi
 
 AC_MSG_CHECKING(whether termcap.h contains ospeed)
@@ -2355,10 +2414,19 @@ fi
 dnl    ****  pty mode/group handling ****
 dnl
 dnl support provided by Luke Mewburn <lm@rmit.edu.au>, 931222
-AC_MSG_CHECKING(default tty permissions/group)
 rm -f conftest_grp
-AC_TRY_RUN([
+AC_CACHE_CHECK([default tty permissions/group], [vim_cv_tty_group],
+  [
+    AC_RUN_IFELSE([[
+#include "confdefs.h"
 #include <sys/types.h>
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
 #include <sys/stat.h>
 #include <stdio.h>
 main()
@@ -2385,20 +2453,35 @@ main()
   fclose(fp);
   exit(0);
 }
-],[
-    if test -f conftest_grp; then
-       ptygrp=`cat conftest_grp`
-       AC_MSG_RESULT([pty mode: 0620, group: $ptygrp])
-       AC_DEFINE(PTYMODE, 0620)
-       AC_DEFINE_UNQUOTED(PTYGROUP,$ptygrp)
-    else
+    ]],[
+      if test -f conftest_grp; then
+       vim_cv_tty_group=`cat conftest_grp`
+       if test "x$vim_cv_tty_mode" = "x" ; then
+         vim_cv_tty_mode=0620
+       fi
+       AC_MSG_RESULT([pty mode: $vim_cv_tty_mode, group: $vim_cv_tty_group])
+      else
+       vim_cv_tty_group=world
        AC_MSG_RESULT([ptys are world accessable])
-    fi
-],
-    AC_MSG_RESULT([can't determine - assume ptys are world accessable]),
-    AC_MSG_ERROR(failed to compile test program))
+      fi
+    ],[
+      vim_cv_tty_group=world
+      AC_MSG_RESULT([can't determine - assume ptys are world accessable])
+    ],[
+      AC_MSG_ERROR(cross-compiling: please set 'vim_cv_tty_group' and 'vim_cv_tty_mode')
+    ])
+  ])
 rm -f conftest_grp
 
+if test "x$vim_cv_tty_group" != "xworld" ; then
+  AC_DEFINE_UNQUOTED(PTYGROUP,$vim_cv_tty_group)
+  if test "x$vim_cv_tty_mode" = "x" ; then
+    AC_MSG_ERROR([It seems you're cross compiling and have 'vim_cv_tty_group' set, please also set the environment variable 'vim_cv_tty_mode' to the correct mode (propably 0620)])
+  else
+    AC_DEFINE(PTYMODE, 0620)
+  fi
+fi
+
 dnl Checks for library functions. ===================================
 
 AC_TYPE_SIGNAL
@@ -2426,8 +2509,13 @@ test_sig()
 
 dnl tricky stuff: try to find out if getcwd() is implemented with
 dnl system("sh -c pwd")
-AC_MSG_CHECKING(getcwd implementation)
-AC_TRY_RUN([
+AC_CACHE_CHECK([getcwd implementation is broken], [vim_cv_getcwd_broken],
+  [
+    AC_RUN_IFELSE([[
+#include "confdefs.h"
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
 char *dagger[] = { "IFS=pwd", 0 };
 main()
 {
@@ -2435,11 +2523,19 @@ main()
   extern char **environ;
   environ = dagger;
   return getcwd(buffer, 500) ? 0 : 1;
-}],
-       AC_MSG_RESULT(it is usable),
-       AC_MSG_RESULT(it stinks)
-               AC_DEFINE(BAD_GETCWD),
-       AC_MSG_ERROR(failed to compile test program))
+}
+    ]],[
+      vim_cv_getcwd_broken=no
+    ],[
+      vim_cv_getcwd_broken=yes
+    ],[
+      AC_MSG_ERROR(cross-compiling: please set 'vim_cv_getcwd_broken')
+    ])
+  ])
+
+if test "x$vim_cv_getcwd_broken" = "xyes" ; then
+  AC_DEFINE(BAD_GETCWD)
+fi
 
 dnl Check for functions in one big call, to reduce the size of configure
 AC_CHECK_FUNCS(bcmp fchdir fchown fseeko fsync ftello getcwd getpseudotty \
@@ -2463,14 +2559,30 @@ AC_TRY_COMPILE(
        AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ST_BLKSIZE),
        AC_MSG_RESULT(no))
 
-AC_MSG_CHECKING(whether stat() ignores a trailing slash)
-AC_TRY_RUN(
-[#include <sys/types.h>
+AC_CACHE_CHECK([whether stat() ignores a trailing slash], [vim_cv_stat_ignores_slash],
+  [
+    AC_RUN_IFELSE([[
+#include "confdefs.h"
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
+#include <sys/types.h>
 #include <sys/stat.h>
-main() {struct stat st;  exit(stat("configure/", &st) != 0); }],
-       AC_MSG_RESULT(yes); AC_DEFINE(STAT_IGNORES_SLASH),
-       AC_MSG_RESULT(no), AC_MSG_ERROR(failed to compile test program))
-
+main() {struct stat st;  exit(stat("configure/", &st) != 0); }
+    ]],[
+      vim_cv_stat_ignores_slash=yes
+    ],[
+      vim_cv_stat_ignores_slash=no
+    ],[
+      AC_MSG_ERROR(cross-compiling: please set 'vim_cv_stat_ignores_slash')
+    ])
+  ])
+
+if test "x$vim_cv_stat_ignores_slash" = "xyes" ; then
+  AC_DEFINE(STAT_IGNORES_SLASH)
+fi
+  
 dnl Link with iconv for charset translation, if not found without library.
 dnl check for iconv() requires including iconv.h
 dnl Add "-liconv" when possible; Solaris has iconv but use GNU iconv when it
@@ -2503,6 +2615,33 @@ AC_TRY_LINK([
        AC_MSG_RESULT(yes); AC_DEFINE(HAVE_NL_LANGINFO_CODESET),
        AC_MSG_RESULT(no))
 
+dnl Need various functions for floating point support.  Only enable
+dnl floating point when they are all present.
+AC_CHECK_LIB(m, strtod)
+AC_MSG_CHECKING([for strtod() and other floating point functions])
+AC_TRY_LINK([
+#ifdef HAVE_MATH_H
+# include <math.h>
+#endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
+], [char *s; double d;
+    d = strtod("1.1", &s);
+    d = fabs(1.11);
+    d = ceil(1.11);
+    d = floor(1.11);
+    d = log10(1.11);
+    d = pow(1.11, 2.22);
+    d = sqrt(1.11);
+    d = sin(1.11);
+    d = cos(1.11);
+    d = atan(1.11);
+    ],
+       AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FLOAT_FUNCS),
+       AC_MSG_RESULT(no))
+
 dnl Link with -lposix1e for ACL stuff; if not found, try -lacl for SGI
 dnl when -lacl works, also try to use -lattr (required for Debian).
 AC_MSG_CHECKING(--disable-acl argument)
@@ -2538,6 +2677,10 @@ AC_TRY_LINK([
 
 AC_MSG_CHECKING(for AIX ACL support)
 AC_TRY_LINK([
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
 #ifdef HAVE_SYS_ACL_H
 # include <sys/acl.h>
 #endif
@@ -2587,6 +2730,36 @@ else
   AC_MSG_RESULT(yes)
 fi
 
+AC_MSG_CHECKING(--disable-sysmouse argument)
+AC_ARG_ENABLE(sysmouse,
+       [  --disable-sysmouse    Don't use sysmouse (mouse in *BSD console).], ,
+       [enable_sysmouse="yes"])
+
+if test "$enable_sysmouse" = "yes"; then
+  AC_MSG_RESULT(no)
+  dnl Checking if sysmouse support can be compiled
+  dnl Configure defines HAVE_SYSMOUSE, if it is defined feature.h
+  dnl defines FEAT_SYSMOUSE if mouse support is included
+  AC_CACHE_CHECK([for sysmouse], vi_cv_have_sysmouse,
+       AC_TRY_LINK(
+           [#include <sys/consio.h>
+            #include <signal.h>
+            #include <sys/fbio.h>],
+           [struct mouse_info   mouse;
+            mouse.operation = MOUSE_MODE;
+            mouse.operation = MOUSE_SHOW;
+            mouse.u.mode.mode = 0;
+            mouse.u.mode.signal = SIGUSR2;],
+           [vi_cv_have_sysmouse=yes],
+           [vi_cv_have_sysmouse=no])
+    )
+  if test $vi_cv_have_sysmouse = yes; then
+    AC_DEFINE(HAVE_SYSMOUSE)
+  fi
+else
+  AC_MSG_RESULT(yes)
+fi
+
 dnl rename needs to be checked separately to work on Nextstep with cc
 AC_MSG_CHECKING(for rename)
 AC_TRY_LINK([#include <stdio.h>], [rename("this", "that")],
@@ -2649,22 +2822,38 @@ dnl be printed with "%d", and avoids a warning for cross-compiling.
 
 AC_MSG_CHECKING(size of int)
 AC_CACHE_VAL(ac_cv_sizeof_int,
-       [AC_TRY_RUN([#include <stdio.h>
-               main()
-               {
-                 FILE *f=fopen("conftestval", "w");
-                 if (!f) exit(1);
-                 fprintf(f, "%d\n", (int)sizeof(int));
-                 exit(0);
-               }],
+       [AC_TRY_RUN([
+#include <stdio.h>
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
+main()
+{
+  FILE *f=fopen("conftestval", "w");
+  if (!f) exit(1);
+  fprintf(f, "%d\n", (int)sizeof(int));
+  exit(0);
+}],
            ac_cv_sizeof_int=`cat conftestval`,
            ac_cv_sizeof_int=0,
            AC_MSG_ERROR(failed to compile test program))])
 AC_MSG_RESULT($ac_cv_sizeof_int)
 AC_DEFINE_UNQUOTED(SIZEOF_INT, $ac_cv_sizeof_int)
 
-AC_MSG_CHECKING(whether memmove/bcopy/memcpy handle overlaps)
+
+dnl Check for memmove() before bcopy(), makes memmove() be used when both are
+dnl present, fixes problem with incompatibility between Solaris 2.4 and 2.5.
+
 [bcopy_test_prog='
+#include "confdefs.h"
+#ifdef HAVE_STRING_H
+# include <string.h>
+#endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#endif
 main() {
   char buf[10];
   strcpy(buf, "abcdefghi");
@@ -2678,18 +2867,54 @@ main() {
   exit(0); /* libc version works properly.  */
 }']
 
-dnl Check for memmove() before bcopy(), makes memmove() be used when both are
-dnl present, fixes problem with incompatibility between Solaris 2.4 and 2.5.
+AC_CACHE_CHECK([whether memmove handles overlaps],[vim_cv_memmove_handles_overlap],
+  [
+    AC_RUN_IFELSE([[#define mch_memmove(s,d,l) memmove(d,s,l) $bcopy_test_prog]],
+      [
+       vim_cv_memmove_handles_overlap=yes
+      ],[
+       vim_cv_memmove_handles_overlap=no
+      ],[
+       AC_MSG_ERROR(cross-compiling: please set 'vim_cv_memmove_handles_overlap')
+      ])
+  ])
+
+if test "x$vim_cv_memmove_handles_overlap" = "xyes" ; then
+  AC_DEFINE(USEMEMMOVE)
+else
+  AC_CACHE_CHECK([whether bcopy handles overlaps],[vim_cv_bcopy_handles_overlap],
+    [
+      AC_RUN_IFELSE([[#define mch_bcopy(s,d,l) bcopy(d,s,l) $bcopy_test_prog]],
+      [
+       vim_cv_bcopy_handles_overlap=yes
+      ],[
+       vim_cv_bcopy_handles_overlap=no
+      ],[
+       AC_MSG_ERROR(cross-compiling: please set 'vim_cv_bcopy_handles_overlap')
+      ])
+    ])
+
+  if test "x$vim_cv_bcopy_handles_overlap" = "xyes" ; then
+    AC_DEFINE(USEBCOPY)
+  else
+    AC_CACHE_CHECK([whether memcpy handles overlaps],[vim_cv_memcpy_handles_overlap],
+      [
+       AC_RUN_IFELSE([[#define mch_memcpy(s,d,l) memcpy(d,s,l) $bcopy_test_prog]],
+         [
+           vim_cv_memcpy_handles_overlap=yes
+         ],[
+           vim_cv_memcpy_handles_overlap=no
+         ],[
+           AC_MSG_ERROR(cross-compiling: please set 'vim_cv_memcpy_handles_overlap')
+         ])
+      ])
+
+    if test "x$vim_cv_memcpy_handles_overlap" = "xyes" ; then
+      AC_DEFINE(USEMEMCPY)
+    fi
+  fi
+fi
 
-AC_TRY_RUN([#define mch_memmove(s,d,l) memmove(d,s,l) $bcopy_test_prog],
-    AC_DEFINE(USEMEMMOVE) AC_MSG_RESULT(memmove does),
-    AC_TRY_RUN([#define mch_memmove(s,d,l) bcopy(d,s,l) $bcopy_test_prog],
-       AC_DEFINE(USEBCOPY) AC_MSG_RESULT(bcopy does),
-       AC_TRY_RUN([#define mch_memmove(s,d,l) memcpy(d,s,l) $bcopy_test_prog],
-           AC_DEFINE(USEMEMCPY) AC_MSG_RESULT(memcpy does), AC_MSG_RESULT(no),
-           AC_MSG_ERROR(failed to compile test program)),
-       AC_MSG_ERROR(failed to compile test program)),
-    AC_MSG_ERROR(failed to compile test program))
 
 dnl Check for multibyte locale functions
 dnl Find out if _Xsetlocale() is supported by libX11.
index 66715893590c2083701aa7509bf005b252d7a3ee..4979b2ff9d893732f7bf479008df89ea6567539f 100644 (file)
@@ -533,6 +533,7 @@ getcmdline(firstc, count, indent)
            }
        }
        if ((xpc.xp_context == EXPAND_FILES
+                             || xpc.xp_context == EXPAND_DIRECTORIES
                              || xpc.xp_context == EXPAND_SHELLCMD) && p_wmnu)
        {
            char_u upseg[5];
@@ -4354,11 +4355,10 @@ ExpandFromContext(xp, pat, num_file, file, options)
                            && pat[i + 1] == '\\'
                            && pat[i + 2] == '\\'
                            && pat[i + 3] == ' ')
-                       mch_memmove(pat + i, pat + i + 3,
-                                                    STRLEN(pat + i + 3) + 1);
+                       STRMOVE(pat + i, pat + i + 3);
                    if (xp->xp_backslash == XP_BS_ONE
                            && pat[i + 1] == ' ')
-                       mch_memmove(pat + i, pat + i + 1, STRLEN(pat + i));
+                       STRMOVE(pat + i, pat + i + 1);
                }
        }
 
@@ -4601,7 +4601,7 @@ expand_shellcmd(filepat, num_file, file, flagsarg)
     pat = vim_strsave(filepat);
     for (i = 0; pat[i]; ++i)
        if (pat[i] == '\\' && pat[i + 1] == ' ')
-           mch_memmove(pat + i, pat + i + 1, STRLEN(pat + i));
+           STRMOVE(pat + i, pat + i + 1);
 
     flags |= EW_FILE | EW_EXEC;
 
@@ -4654,7 +4654,7 @@ expand_shellcmd(filepat, num_file, file, flagsarg)
                    if (STRLEN(s) > l)
                    {
                        /* Remove the path again. */
-                       mch_memmove(s, s + l, STRLEN(s + l) + 1);
+                       STRMOVE(s, s + l);
                        ((char_u **)ga.ga_data)[ga.ga_len++] = s;
                    }
                    else
@@ -5535,7 +5535,7 @@ remove_key_from_history()
                for (i = 0; p[i] && !vim_iswhite(p[i]); ++i)
                    if (p[i] == '\\' && p[i + 1])
                        ++i;
-               mch_memmove(p, p + i, STRLEN(p + i) + 1);
+               STRMOVE(p, p + i);
                --p;
            }
 }
@@ -6004,7 +6004,7 @@ ex_window()
 
     /* Create the command-line buffer empty. */
     (void)do_ecmd(0, NULL, NULL, NULL, ECMD_ONE, ECMD_HIDE);
-    (void)setfname(curbuf, (char_u *)"command-line", NULL, TRUE);
+    (void)setfname(curbuf, (char_u *)"[Command Line]", NULL, TRUE);
     set_option_value((char_u *)"bt", 0L, (char_u *)"nofile", OPT_LOCAL);
     set_option_value((char_u *)"swf", 0L, NULL, OPT_LOCAL);
     curbuf->b_p_ma = TRUE;
index 740d4a044e04b41315cc883a3b1a6c1b78211fcf..c097545e4de53ba30ed2512e6800701a3f251e67 100644 (file)
@@ -1510,7 +1510,7 @@ gui_gnome_dialog( int     type,
        for (next = p; *next; ++next)
        {
            if (*next == DLG_HOTKEY_CHAR)
-               mch_memmove(next, next + 1, STRLEN(next));
+               STRMOVE(next, next + 1);
            if (*next == DLG_BUTTON_SEP)
            {
                *next++ = NUL;
index b3c6f1f5409e6558753922c92f91298d65ce544b..1ef5820539309e857e3814cc06827abef0f7d0fd 100644 (file)
@@ -484,7 +484,7 @@ menu_title_removing_mnemonic(vimmenu_T *menu)
     CFMutableStringRef cleanedName;
 
     menuTitleLen = STRLEN(menu->dname);
-    name = mac_enc_to_cfstring(menu->dname, menuTitleLen);
+    name = (CFStringRef) mac_enc_to_cfstring(menu->dname, menuTitleLen);
 
     if (name)
     {
@@ -6073,7 +6073,7 @@ gui_mch_settitle(char_u *title, char_u *icon)
 
 #ifdef MACOS_CONVERT
     windowTitleLen = STRLEN(title);
-    windowTitle  = mac_enc_to_cfstring(title, windowTitleLen);
+    windowTitle  = (CFStringRef)mac_enc_to_cfstring(title, windowTitleLen);
 
     if (windowTitle)
     {
@@ -6520,7 +6520,7 @@ getTabLabel(tabpage_T *page)
 {
     get_tabline_label(page, FALSE);
 #ifdef MACOS_CONVERT
-    return mac_enc_to_cfstring(NameBuff, STRLEN(NameBuff));
+    return (CFStringRef)mac_enc_to_cfstring(NameBuff, STRLEN(NameBuff));
 #else
     // TODO: check internal encoding?
     return CFStringCreateWithCString(kCFAllocatorDefault, (char *)NameBuff,
index e5593357c9c1e457efbf96ca39ac632e337d2252..9b77f7d69bb3446266d2444da6e3f3ff6fbb9ff6 100644 (file)
 # define BEVAL_TEXT_LEN            MAXPATHL
 
 #if _MSC_VER < 1300
-/* Work around old versions of basetsd.h which wrongly declare
- * UINT_PTR as unsigned long */
+/* Work around old versions of basetsd.h which wrongly declares
+ * UINT_PTR as unsigned long. */
 # define UINT_PTR UINT
 #endif
 
@@ -4447,7 +4447,7 @@ gui_mch_destroy_sign(sign)
  * async request to debugger
  * 4) gui_mch_post_balloon (invoked from netbeans.c) creates tooltip control
  * and performs some actions to show it ASAP
- * 5) WM_NOTOFY:TTN_POP destroys created tooltip
+ * 5) WM_NOTIFY:TTN_POP destroys created tooltip
  */
 
 /*
index a7470580cc6a74bf6601e2459ae3c2c570ea006e..95e3268e335cac95069362a5c3e9d5910714b170 100644 (file)
@@ -69,7 +69,7 @@ add_cancel_action(Widget shell, XtCallbackProc close_callback, void *arg)
     Display *display = XtDisplay(shell);
 
     /* deactivate the built-in delete response of killing the application */
-    XtVaSetValues(shell, XmNdeleteResponse, XmDO_NOTHING, 0);
+    XtVaSetValues(shell, XmNdeleteResponse, XmDO_NOTHING, NULL);
 
     /* add a delete window protocol callback instead */
     if (!dw_atom)
index 0019559512d68d35e49e97a1d4edb28ca0a1d21e..600fcb0a371fee68e85a7c7344ca6835abb7ce5f 100644 (file)
@@ -23,7 +23,6 @@
 #else
     /* not UNIX, must be WIN32 */
 # include "vimio.h"
-# include <fcntl.h>
 #endif
 #include "if_cscope.h"
 
@@ -171,7 +170,7 @@ do_cstag(eap)
 
     cs_init();
 
-    if (eap->arg == NULL || strlen((const char *)(eap->arg)) == 0)
+    if (*eap->arg == NUL)
     {
        (void)EMSG(_("E562: Usage: cstag <ident>"));
        return;
@@ -1225,7 +1224,7 @@ clear_csinfo(i)
     csinfo[i].nIndexHigh = 0;
     csinfo[i].nIndexLow = 0;
 #endif
-    csinfo[i].pid    = -1;
+    csinfo[i].pid    = 0;
     csinfo[i].fr_fp  = NULL;
     csinfo[i].to_fp  = NULL;
 #if defined(WIN32)
index 6a562d8893c2f4f4f57aec3cbf71e0c65518cad0..62a8cda14601a3cf449e0fb22ead5024d0dfd922 100644 (file)
  */
 #include "vim.h"
 
-#ifdef HAVE_FCNTL_H
-# include <fcntl.h>        /* for chdir() */
-#endif
-
 static char_u  *username = NULL; /* cached result of mch_get_user_name() */
 
 static char_u  *ff_expand_buffer = NULL; /* used for expanding filenames */
@@ -347,13 +343,7 @@ coladvance2(pos, addspaces, finetune, wcol)
 }
 
 /*
- * inc(p)
- *
- * Increment the line pointer 'p' crossing line boundaries as necessary.
- * Return 1 when going to the next line.
- * Return 2 when moving forward onto a NUL at the end of the line).
- * Return -1 when at the end of file.
- * Return 0 otherwise.
+ * Increment the cursor position.  See inc() for return values.
  */
     int
 inc_cursor()
@@ -361,6 +351,13 @@ inc_cursor()
     return inc(&curwin->w_cursor);
 }
 
+/*
+ * Increment the line pointer "lp" crossing line boundaries as necessary.
+ * Return 1 when going to the next line.
+ * Return 2 when moving forward onto a NUL at the end of the line).
+ * Return -1 when at the end of file.
+ * Return 0 otherwise.
+ */
     int
 inc(lp)
     pos_T  *lp;
@@ -4302,7 +4299,7 @@ vim_findfile_stopdir(buf)
            /* overwrite the escape char,
             * use STRLEN(r_ptr) to move the trailing '\0'
             */
-           mch_memmove(r_ptr, r_ptr + 1, STRLEN(r_ptr));
+           STRMOVE(r_ptr, r_ptr + 1);
            r_ptr++;
        }
        r_ptr++;
@@ -4514,9 +4511,7 @@ vim_findfile(search_ctx_arg)
                        if (*p == 0)
                        {
                            /* remove '**<numb> from wildcards */
-                           mch_memmove(rest_of_wildcards,
-                                   rest_of_wildcards + 3,
-                                   STRLEN(rest_of_wildcards + 3) + 1);
+                           STRMOVE(rest_of_wildcards, rest_of_wildcards + 3);
                        }
                        else
                            rest_of_wildcards += 3;
@@ -4662,8 +4657,7 @@ vim_findfile(search_ctx_arg)
                                    p = shorten_fname(file_path,
                                                            ff_expand_buffer);
                                    if (p != NULL)
-                                       mch_memmove(file_path, p,
-                                                              STRLEN(p) + 1);
+                                       STRMOVE(file_path, p);
                                }
 #ifdef FF_VERBOSE
                                if (p_verbose >= 5)
index d73a5e5e828bdd2b2b3cad483a178eab9c220b07..3dfe86ae99bb7506bdd97788c6f68440e24ffa3a 100644 (file)
@@ -36,7 +36,7 @@ void           nbdb(char *, ...);
 void            nbtrace(char *, ...);
 
 static int      lookup(char *);
-#ifndef FEAT_GUI_W32
+#ifdef USE_NB_ERRORHANDLER
 static int      errorHandler(Display *, XErrorEvent *);
 #endif
 
@@ -92,6 +92,9 @@ nbdebug_log_init(
                } else {
                        nb_dlevel = NB_TRACE;   /* default level */
                }
+#ifdef USE_NB_ERRORHANDLER
+               XSetErrorHandler(errorHandler);
+#endif
        }
 
 }    /* end nbdebug_log_init */
@@ -166,7 +169,7 @@ lookup(
 
 }    /* end lookup */
 
-#ifndef FEAT_GUI_W32
+#ifdef USE_NB_ERRORHANDLER
 static int
 errorHandler(
        Display         *dpy,
index 56d8953c17e71d8635fb2b9d1d65cec1b13aefc4..7930189988a2cdee07a82431743f74a6337cde5e 100644 (file)
@@ -318,10 +318,12 @@ mac_conv_cleanup()
 
 /*
  * Conversion from UTF-16 UniChars to 'encoding'
+ * The function signature uses the real type of UniChar (as typedef'ed in
+ * CFBase.h) to avoid clashes with X11 header files in the .pro file
  */
     char_u *
 mac_utf16_to_enc(from, fromLen, actualLen)
-    UniChar *from;
+    unsigned short *from;
     size_t fromLen;
     size_t *actualLen;
 {
@@ -370,8 +372,10 @@ mac_utf16_to_enc(from, fromLen, actualLen)
 
 /*
  * Conversion from 'encoding' to UTF-16 UniChars
+ * The function return uses the real type of UniChar (as typedef'ed in
+ * CFBase.h) to avoid clashes with X11 header files in the .pro file
  */
-    UniChar *
+    unsigned short *
 mac_enc_to_utf16(from, fromLen, actualLen)
     char_u *from;
     size_t fromLen;
@@ -428,8 +432,9 @@ mac_enc_to_utf16(from, fromLen, actualLen)
 
 /*
  * Converts from UTF-16 UniChars to CFString
+ * The void * return type is actually a CFStringRef
  */
-    CFStringRef
+    void *
 mac_enc_to_cfstring(from, fromLen)
     char_u  *from;
     size_t  fromLen;
@@ -445,7 +450,7 @@ mac_enc_to_cfstring(from, fromLen)
        vim_free(utf16_str);
     }
 
-    return result;
+    return (void *)result;
 }
 
 /*
@@ -555,4 +560,25 @@ mac_utf8_to_utf16(from, fromLen, actualLen)
 
     return result;
 }
+
+/*
+ * Sets LANG environment variable in Vim from Mac locale
+ */
+    void
+mac_lang_init() {
+    if (mch_getenv((char_u *)"LANG") == NULL)
+    {
+       char    buf[20];
+       if (LocaleRefGetPartString(NULL,
+                   kLocaleLanguageMask | kLocaleLanguageVariantMask |
+                   kLocaleRegionMask | kLocaleRegionVariantMask,
+                   sizeof buf, buf) == noErr && *buf)
+       {
+           vim_setenv((char_u *)"LANG", (char_u *)buf);
+#   ifdef HAVE_LOCALE_H
+           setlocale(LC_ALL, "");
+#   endif
+       }
+    }
+}
 #endif /* MACOS_CONVERT */
index 9fadba9262816456ce9d388970d3805602a6c196..6748e6a83e69b8aa2cdc0c90659c23f696cd1118 100644 (file)
@@ -25,9 +25,6 @@
 #include "vim.h"
 
 #include <conio.h>
-#ifdef HAVE_FCNTL_H
-# include <fcntl.h>
-#endif
 
 /*
  * MS-DOS only code, not used for Win16.
@@ -1629,8 +1626,7 @@ mch_FullName(
                    {
                        added -= (tail - head);
                        if (added != 0)
-                           mch_memmove(tail + 1 + added, tail + 1,
-                                                       STRLEN(tail + 1) + 1);
+                           STRMOVE(tail + 1 + added, tail + 1);
                        STRCPY(head, fb.ff_name);
                        tail += added;
                    }
index 49420a8959a0979fa44be5f46168992a39e973f9..95578bc1f1fbada6a153bccb623f44607669568e 100644 (file)
@@ -35,6 +35,7 @@
 #define HAVE_MEMSET
 #define HAVE_QSORT
 #define HAVE_ST_MODE           /* have stat.st_mode */
+#define HAVE_MATH_H
 #if defined(__DATE__) && defined(__TIME__)
 # define HAVE_DATE_TIME
 #endif
index 537568956b4b02d84e541729af183a76bdedd3e2..618fc80db75f0bc07f8fcab69c7a446a7e9344ac 100644 (file)
@@ -25,9 +25,6 @@
 #include "vimio.h"
 #include "vim.h"
 
-#ifdef HAVE_FCNTL_H
-# include <fcntl.h>
-#endif
 #ifdef WIN16
 # define SHORT_FNAME           /* always 8.3 file name */
 # include <dos.h>
index 574bdd256729a129894e8e1a79a02b7d95092fa8..781c8ad4666999ee7f023c419bd1f79c8cc0e01f 100644 (file)
@@ -16,7 +16,9 @@ LANGUAGES = \
                cs \
                de \
                en_GB \
+               eo \
                es \
+               fi \
                fr \
                ga \
                it \
@@ -40,7 +42,9 @@ MOFILES = \
                cs.mo \
                de.mo \
                en_GB.mo \
+               eo.mo \
                es.mo \
+               fi.mo \
                fr.mo \
                ga.mo \
                it.mo \
index 5448bee7a0bdbbfd063aabff34ddb05d5711840c..426194aafde38a758fc41e28f22cd76a643e98b8 100644 (file)
@@ -12,7 +12,9 @@ LANGUAGES = \
                cs \
                de \
                en_GB \
+               eo \
                es \
+               fi \
                fr \
                ga \
                it \
@@ -36,7 +38,9 @@ MOFILES = \
                cs.mo \
                de.mo \
                en_GB.mo \
+               eo.mo \
                es.mo \
+               fi.mo \
                fr.mo \
                ga.mo \
                it.mo \
diff --git a/src/po/eo.po b/src/po/eo.po
new file mode 100644 (file)
index 0000000..3aa1ba3
--- /dev/null
@@ -0,0 +1,6262 @@
+# Esperanto Translation for Vim
+#
+# Do ":help uganda"  in Vim to read copying and usage conditions.
+# Do ":help credits" in Vim to see a list of people who contributed.
+#
+# UNUA TRADUKISTO Dominique PELLE   <dominique.pelle ĉe free.fr> Novembro 2007
+# PROVLEGANTO(J)  Felipe CASTRO     <fefcas ĉe gmail.com>
+#                 Antono MECHELYNCK <antoine.mechelynck ĉe skynet.be>
+#                 Yves NEVELSTEEN
+#
+# Lasta ŝanĝo: 26 Apr 2008
+#
+# Uzitaj vortaroj kaj fakvortaroj:
+#   Revo:                http://www.reta-vortaro.de/revo/
+#   Komputeko:           http://komputeko.net/index_eo.php
+#   Komputada leksikono: http://bertilow.com/div/komputada_leksikono/
+#
+# Mallongigoj:
+#   http://www.kafejo.com/lingvoj/auxlangs/eo/mallongi.htm
+#
+# Ĉiu komento estas bonvenata...
+# Every remark is welcome...
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Vim(Esperanto)\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-01-12 18:05+0100\n"
+"PO-Revision-Date: 2008-04-26 18:14+0100\n"
+"Last-Translator: Dominique PELLÉ <dominique.pelle@gmail.com>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+msgid "E82: Cannot allocate any buffer, exiting..."
+msgstr "E82: Ne eblas disponigi iun ajn bufron, nun eliras..."
+
+msgid "E83: Cannot allocate buffer, using other one..."
+msgstr "E83: Ne eblas disponigi bufron, nun uzas alian..."
+
+msgid "E515: No buffers were unloaded"
+msgstr "E515: Neniu bufro estis malŝargita"
+
+msgid "E516: No buffers were deleted"
+msgstr "E516: Neniu bufro estis forviŝita"
+
+msgid "E517: No buffers were wiped out"
+msgstr "E517: Neniu bufro estis detruita"
+
+msgid "1 buffer unloaded"
+msgstr "1 bufro malŝargita"
+
+#, c-format
+msgid "%d buffers unloaded"
+msgstr "%d bufroj malŝargitaj"
+
+msgid "1 buffer deleted"
+msgstr "1 bufro forviŝita"
+
+#, c-format
+msgid "%d buffers deleted"
+msgstr "%d bufroj forviŝitaj"
+
+msgid "1 buffer wiped out"
+msgstr "1 bufro detruita"
+
+#, c-format
+msgid "%d buffers wiped out"
+msgstr "%d bufroj detruitaj"
+
+msgid "E84: No modified buffer found"
+msgstr "E84: Neniu modifita bufro trovita"
+
+#. back where we started, didn't find anything.
+msgid "E85: There is no listed buffer"
+msgstr "E85: Estas neniu listigita bufro"
+
+#, c-format
+msgid "E86: Buffer %ld does not exist"
+msgstr "E86: La bufro %ld ne ekzistas"
+
+msgid "E87: Cannot go beyond last buffer"
+msgstr "E87: Ne eblas iri preter la lastan bufron"
+
+msgid "E88: Cannot go before first buffer"
+msgstr "E88: Ne eblas iri antaŭ la unuan bufron"
+
+#, c-format
+msgid "E89: No write since last change for buffer %ld (add ! to override)"
+msgstr ""
+"E89: Neniu skribo de post la lasta ŝanĝo de la bufro %ld (aldonu ! por "
+"transpasi)"
+
+msgid "E90: Cannot unload last buffer"
+msgstr "E90: Ne eblas malŝargi la lastan bufron"
+
+msgid "W14: Warning: List of file names overflow"
+msgstr "W14: Averto: Listo de dosiernomoj troas"
+
+#, c-format
+msgid "E92: Buffer %ld not found"
+msgstr "E92: Bufro %ld ne trovita"
+
+#, c-format
+msgid "E93: More than one match for %s"
+msgstr "E93: Pli ol unu kongruo kun %s"
+
+#, c-format
+msgid "E94: No matching buffer for %s"
+msgstr "E94: Neniu bufro kongruas kun %s"
+
+#, c-format
+msgid "line %ld"
+msgstr "linio %ld"
+
+msgid "E95: Buffer with this name already exists"
+msgstr "E95: Bufro kun tiu nomo jam ekzistas"
+
+msgid " [Modified]"
+msgstr "[Modifita]"
+
+msgid "[Not edited]"
+msgstr "[Ne redaktita]"
+
+msgid "[New file]"
+msgstr "[Nova dosiero]"
+
+msgid "[Read errors]"
+msgstr "[Eraroj de legado]"
+
+msgid "[readonly]"
+msgstr "[nurlegebla]"
+
+#, c-format
+msgid "1 line --%d%%--"
+msgstr "1 linio --%d%%--"
+
+#, c-format
+msgid "%ld lines --%d%%--"
+msgstr "%ld linioj --%d%%--"
+
+#, c-format
+msgid "line %ld of %ld --%d%%-- col "
+msgstr "linio %ld de %ld --%d%%-- kol "
+
+msgid "[No Name]"
+msgstr "[Neniu nomo]"
+
+#. must be a help buffer
+msgid "help"
+msgstr "helpo"
+
+msgid "[Help]"
+msgstr "[Helpo]"
+
+msgid "[Preview]"
+msgstr "[Antaŭvido]"
+
+msgid "All"
+msgstr "Ĉio"
+
+msgid "Bot"
+msgstr "Subo"
+
+msgid "Top"
+msgstr "Supro"
+
+#, c-format
+msgid ""
+"\n"
+"# Buffer list:\n"
+msgstr ""
+"\n"
+"# Listo de bufroj:\n"
+
+msgid "[Location List]"
+msgstr "[Listo de lokoj]"
+
+# DP: Ĉu vere indas traduki Quickfix?
+msgid "[Quickfix List]"
+msgstr "[Listo de rapidriparoj]"
+
+# DP: Vidu ":help sign-support" por klarigo pri "Sign"
+msgid ""
+"\n"
+"--- Signs ---"
+msgstr ""
+"\n"
+"--- Emfazaj simbolaĵoj ---"
+
+#, c-format
+msgid "Signs for %s:"
+msgstr "Emfazaj simbolaĵoj de %s:"
+
+#, c-format
+msgid "    line=%ld  id=%d  name=%s"
+msgstr "    linio=%ld  id=%d  nomo=%s"
+
+#, c-format
+msgid "E96: Can not diff more than %ld buffers"
+msgstr "E96: Ne eblas dosierdiferenci pli ol %ld bufrojn"
+
+msgid "E97: Cannot create diffs"
+msgstr "E97: Ne eblas krei dosierdiferencojn"
+
+msgid "Patch file"
+msgstr "Flika dosiero"
+
+msgid "E98: Cannot read diff output"
+msgstr "E98: Ne eblas legi eliron de dosierdiferenco"
+
+msgid "E99: Current buffer is not in diff mode"
+msgstr "E99: Aktuala bufro ne estas en dosierdiferenca reĝimo"
+
+msgid "E793: No other buffer in diff mode is modifiable"
+msgstr "E793: Neniu alia bufro en dosierdiferenca reĝimo estas modifebla"
+
+msgid "E100: No other buffer in diff mode"
+msgstr "E100: Neniu alia bufro en dosierdiferenca reĝimo"
+
+msgid "E101: More than two buffers in diff mode, don't know which one to use"
+msgstr "E101: Pli ol du bufroj en dosierdiferenca reĝimo, ne scias kiun uzi"
+
+#, c-format
+msgid "E102: Can't find buffer \"%s\""
+msgstr "E102: Ne eblas trovi bufron \"%s\""
+
+#, c-format
+msgid "E103: Buffer \"%s\" is not in diff mode"
+msgstr "E103: Bufro \"%s\" ne estas en dosierdiferenca reĝimo"
+
+msgid "E787: Buffer changed unexpectedly"
+msgstr "E787: Bufro ŝanĝiĝis neatendite"
+
+msgid "E104: Escape not allowed in digraph"
+msgstr "E104: Eskapsigno malpermesita en duliteraĵo"
+
+msgid "E544: Keymap file not found"
+msgstr "E544: Dosiero de klavmapo ne troveblas"
+
+msgid "E105: Using :loadkeymap not in a sourced file"
+msgstr "E105: Uzo de \":loadkeymap\" nur eblas en vim-skripto"
+
+msgid "E791: Empty keymap entry"
+msgstr "E791: Malplena rikordo en klavmapo"
+
+msgid " Keyword completion (^N^P)"
+msgstr " Kompletigo de ŝlosilvorto (^N^P)"
+
+#. ctrl_x_mode == 0, ^P/^N compl.
+msgid " ^X mode (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
+msgstr " Reĝimo ^X (^]^D^E^F^I^K^L^N^O^Ps^U^V^Y)"
+
+msgid " Whole line completion (^L^N^P)"
+msgstr " Kompletigo de tuta linio (^L^N^P)"
+
+msgid " File name completion (^F^N^P)"
+msgstr " Kompletigo de dosiernomo (^F^N^P)"
+
+msgid " Tag completion (^]^N^P)"
+msgstr " Kompletigo de etikedo (^]^N^P)"
+
+msgid " Path pattern completion (^N^P)"
+msgstr " Kompletigo de ŝablona dosierindiko (^N^P)"
+
+msgid " Definition completion (^D^N^P)"
+msgstr " Kompletigo de difino (^D^N^P)"
+
+msgid " Dictionary completion (^K^N^P)"
+msgstr " Kompletigo de vortaro (^K^N^P)"
+
+msgid " Thesaurus completion (^T^N^P)"
+msgstr " Kompletigo de tesaŭro (^T^N^P)"
+
+msgid " Command-line completion (^V^N^P)"
+msgstr " Kompletigo de komanda linio (^V^N^P)"
+
+msgid " User defined completion (^U^N^P)"
+msgstr " Kompletigo difinita de uzanto (^U^N^P)"
+
+# DP: Ĉu eblas trovi pli bonan tradukon?
+msgid " Omni completion (^O^N^P)"
+msgstr " Kompletigo Omni (^O^N^P)"
+
+msgid " Spelling suggestion (s^N^P)"
+msgstr " Sugesto de literumo (s^N^P)"
+
+msgid " Keyword Local completion (^N^P)"
+msgstr " Kompletigo loka de ŝlosilvorto (^N/^P)"
+
+msgid "Hit end of paragraph"
+msgstr "Atingis finon de alineo"
+
+msgid "'dictionary' option is empty"
+msgstr "La opcio 'dictionary' estas malplena"
+
+msgid "'thesaurus' option is empty"
+msgstr "La opcio 'thesaurus' estas malplena"
+
+#, c-format
+msgid "Scanning dictionary: %s"
+msgstr "Analizas vortaron: %s"
+
+msgid " (insert) Scroll (^E/^Y)"
+msgstr " (enmeto) Rulumo (^E/^Y)"
+
+msgid " (replace) Scroll (^E/^Y)"
+msgstr " (anstataŭigo) Rulumo (^E/^Y)"
+
+#, c-format
+msgid "Scanning: %s"
+msgstr "Analizas: %s"
+
+#, c-format
+msgid "Scanning tags."
+msgstr "Analizas etikedojn."
+
+msgid " Adding"
+msgstr " Aldonanta"
+
+#. showmode might reset the internal line pointers, so it must
+#. * be called before line = ml_get(), or when this address is no
+#. * longer needed.  -- Acevedo.
+#.
+msgid "-- Searching..."
+msgstr "-- Serĉanta..."
+
+msgid "Back at original"
+msgstr "Reveninta al originalo"
+
+msgid "Word from other line"
+msgstr "Vorto el alia linio"
+
+msgid "The only match"
+msgstr "La sola kongruo"
+
+#, c-format
+msgid "match %d of %d"
+msgstr "kongruo %d de %d"
+
+#, c-format
+msgid "match %d"
+msgstr "kongruo %d"
+
+msgid "E18: Unexpected characters in :let"
+msgstr "E18: Neatenditaj signoj en \":let\""
+
+#, c-format
+msgid "E684: list index out of range: %ld"
+msgstr "E684: indekso de listo ekster limoj: %ld"
+
+#, c-format
+msgid "E121: Undefined variable: %s"
+msgstr "E121: Nedifinita variablo: %s"
+
+msgid "E111: Missing ']'"
+msgstr "E111: Mankas ']'"
+
+#, c-format
+msgid "E686: Argument of %s must be a List"
+msgstr "E686: Argumento de %s devas esti Listo"
+
+#, c-format
+msgid "E712: Argument of %s must be a List or Dictionary"
+msgstr "E712: Argumento de %s devas esti Listo aŭ Vortaro"
+
+msgid "E713: Cannot use empty key for Dictionary"
+msgstr "E713: Ne eblas uzi malplenan ŝlosilon de Vortaro"
+
+msgid "E714: List required"
+msgstr "E714: Listo bezonata"
+
+msgid "E715: Dictionary required"
+msgstr "E715: Vortaro bezonata"
+
+#, c-format
+msgid "E118: Too many arguments for function: %s"
+msgstr "E118: Tro da argumentoj por funkcio: %s"
+
+#, c-format
+msgid "E716: Key not present in Dictionary: %s"
+msgstr "E716: Ŝlosilo malekzistas en Vortaro: %s"
+
+#, c-format
+msgid "E122: Function %s already exists, add ! to replace it"
+msgstr "E122: La funkcio %s jam ekzistas (aldonu ! por anstataŭigi ĝin)"
+
+msgid "E717: Dictionary entry already exists"
+msgstr "E717: Rikordo de vortaro jam ekzistas"
+
+msgid "E718: Funcref required"
+msgstr "E718: Funcref bezonata"
+
+msgid "E719: Cannot use [:] with a Dictionary"
+msgstr "E719: Uzo de [:] ne eblas kun Vortaro"
+
+#, c-format
+msgid "E734: Wrong variable type for %s="
+msgstr "E734: Nevalida datumtipo de variablo de %s="
+
+#, c-format
+msgid "E130: Unknown function: %s"
+msgstr "E130: Nekonata funkcio: %s"
+
+#, c-format
+msgid "E461: Illegal variable name: %s"
+msgstr "E461: Nevalida nomo de variablo: %s"
+
+msgid "E687: Less targets than List items"
+msgstr "E687: Malpli da celoj ol Listeroj"
+
+msgid "E688: More targets than List items"
+msgstr "E688: Pli da celoj ol Listeroj"
+
+msgid "Double ; in list of variables"
+msgstr "Duobla ; en listo de variabloj"
+
+#, c-format
+msgid "E738: Can't list variables for %s"
+msgstr "E738: Ne eblas listigi variablojn de %s"
+
+msgid "E689: Can only index a List or Dictionary"
+msgstr "E689: Nur eblas indeksi Liston aŭ Vortaron"
+
+msgid "E708: [:] must come last"
+msgstr "E708: [:] devas esti laste"
+
+msgid "E709: [:] requires a List value"
+msgstr "E709: [:] bezonas listan valoron"
+
+msgid "E710: List value has more items than target"
+msgstr "E710: Lista valoro havas pli da eroj ol la celo"
+
+msgid "E711: List value has not enough items"
+msgstr "E711: Lista valoro ne havas sufiĉe da eroj"
+
+msgid "E690: Missing \"in\" after :for"
+msgstr "E690: \"in\" mankas malantaŭ \":for\""
+
+#, c-format
+msgid "E107: Missing braces: %s"
+msgstr "E107: Mankas kramposigno malantaŭ: %s"
+
+#, c-format
+msgid "E108: No such variable: \"%s\""
+msgstr "E108: Ne estas tia variablo: \"%s\""
+
+msgid "E743: variable nested too deep for (un)lock"
+msgstr "E743: variablo ingita tro profunde por malŝlosi"
+
+msgid "E109: Missing ':' after '?'"
+msgstr "E109: Mankas ':' malantaŭ '?'"
+
+msgid "E691: Can only compare List with List"
+msgstr "E691: Eblas nur kompari Liston kun Listo"
+
+msgid "E692: Invalid operation for Lists"
+msgstr "E692: Nevalida operacio de Listoj"
+
+msgid "E735: Can only compare Dictionary with Dictionary"
+msgstr "E735: Eblas nur kompari Vortaron kun Vortaro"
+
+msgid "E736: Invalid operation for Dictionary"
+msgstr "E736: Nevalida operacio de Vortaro"
+
+msgid "E693: Can only compare Funcref with Funcref"
+msgstr "E693: Eblas nur kompari Funcref kun Funcref"
+
+msgid "E694: Invalid operation for Funcrefs"
+msgstr "E694: Nevalida operacio de Funcref-oj"
+
+msgid "E110: Missing ')'"
+msgstr "E110: Mankas ')'"
+
+msgid "E695: Cannot index a Funcref"
+msgstr "E695: Ne eblas indeksi Funcref"
+
+#, c-format
+msgid "E112: Option name missing: %s"
+msgstr "E112: Mankas nomo de opcio: %s"
+
+#, c-format
+msgid "E113: Unknown option: %s"
+msgstr "E113: Nekonata opcio: %s"
+
+#, c-format
+msgid "E114: Missing quote: %s"
+msgstr "E114: Mankas citilo: %s"
+
+#, c-format
+msgid "E115: Missing quote: %s"
+msgstr "E115: Mankas citilo: %s"
+
+#, c-format
+msgid "E696: Missing comma in List: %s"
+msgstr "E696: Mankas komo en Listo: %s"
+
+#, c-format
+msgid "E697: Missing end of List ']': %s"
+msgstr "E697: Mankas fino de Listo ']': %s"
+
+#, c-format
+msgid "E720: Missing colon in Dictionary: %s"
+msgstr "E720: Mankas dupunkto en la vortaro: %s"
+
+#, c-format
+msgid "E721: Duplicate key in Dictionary: \"%s\""
+msgstr "E721: Ripetita ŝlosilo en la vortaro: \"%s\""
+
+#, c-format
+msgid "E722: Missing comma in Dictionary: %s"
+msgstr "E722: Mankas komo en la vortaro: %s"
+
+#, c-format
+msgid "E723: Missing end of Dictionary '}': %s"
+msgstr "E723: Mankas fino de vortaro '}': %s"
+
+msgid "E724: variable nested too deep for displaying"
+msgstr "E724: variablo ingita tro profunde por vidigi"
+
+#, c-format
+msgid "E117: Unknown function: %s"
+msgstr "E117: Nekonata funkcio: %s"
+
+#, c-format
+msgid "E119: Not enough arguments for function: %s"
+msgstr "E119: Ne sufiĉe da argumentoj de funkcio: %s"
+
+#, c-format
+msgid "E120: Using <SID> not in a script context: %s"
+msgstr "E120: <SID> estas uzata ekster kunteksto de skripto: %s"
+
+#, c-format
+msgid "E725: Calling dict function without Dictionary: %s"
+msgstr "E725: Alvoko de funkcio dict sen Vortaro: %s"
+
+msgid "E699: Too many arguments"
+msgstr "E699: Tro da argumentoj"
+
+msgid "E785: complete() can only be used in Insert mode"
+msgstr "E785: complete() uzeblas nur en Enmeta reĝimo"
+
+#.
+#. * Yes this is ugly, I don't particularly like it either.  But doing it
+#. * this way has the compelling advantage that translations need not to
+#. * be touched at all.  See below what 'ok' and 'ync' are used for.
+#.
+msgid "&Ok"
+msgstr "&Bone"
+
+#, c-format
+msgid "E737: Key already exists: %s"
+msgstr "E737: Ŝlosilo jam ekzistas: %s"
+
+#, c-format
+msgid "+-%s%3ld lines: "
+msgstr "+-%s%3ld linioj: "
+
+#, c-format
+msgid "E700: Unknown function: %s"
+msgstr "E700: Nekonata funkcio: %s"
+
+msgid ""
+"&OK\n"
+"&Cancel"
+msgstr ""
+"&Bone\n"
+"&Rezigni"
+
+msgid "called inputrestore() more often than inputsave()"
+msgstr "alvokis inputrestore() pli ofte ol inputsave()"
+
+msgid "E786: Range not allowed"
+msgstr "E786: Amplekso malpermesita"
+
+msgid "E701: Invalid type for len()"
+msgstr "E701: Nevalida datumtipo de len()"
+
+msgid "E726: Stride is zero"
+msgstr "E726: Paŝo estas nul"
+
+msgid "E727: Start past end"
+msgstr "E727: Komenco preter fino"
+
+msgid "<empty>"
+msgstr "<malplena>"
+
+msgid "E240: No connection to Vim server"
+msgstr "E240: Neniu konekto al Vim-servilo"
+
+#, c-format
+msgid "E241: Unable to send to %s"
+msgstr "E241: Ne eblas sendi al %s"
+
+msgid "E277: Unable to read a server reply"
+msgstr "E277: Ne eblas legi respondon de servilo"
+
+msgid "E655: Too many symbolic links (cycle?)"
+msgstr "E655: Tro da simbolaj ligiloj (ĉu estas ciklo?)"
+
+msgid "E258: Unable to send to client"
+msgstr "E258: Ne eblas sendi al kliento"
+
+msgid "E702: Sort compare function failed"
+msgstr "E702: Ordiga funkcio fiaskis"
+
+msgid "(Invalid)"
+msgstr "(Nevalida)"
+
+msgid "E677: Error writing temp file"
+msgstr "E677: Eraro dum skribo de provizora dosiero"
+
+msgid "E703: Using a Funcref as a number"
+msgstr "E703: Uzo de Funcref kiel nombro"
+
+msgid "E745: Using a List as a number"
+msgstr "E745: Uzo de Listo kiel nombro"
+
+msgid "E728: Using a Dictionary as a number"
+msgstr "E728: Uzo de Vortaro kiel nombro"
+
+msgid "E729: using Funcref as a String"
+msgstr "E729: uzo de Funcref kiel ĉeno"
+
+msgid "E730: using List as a String"
+msgstr "E730: uzo de Listo kiel Ĉeno"
+
+msgid "E731: using Dictionary as a String"
+msgstr "E731: uzo de Vortaro kiel Ĉeno"
+
+#, c-format
+msgid "E704: Funcref variable name must start with a capital: %s"
+msgstr "E704: Nomo de variablo Funcref ekendas per majusklo: %s"
+
+#, c-format
+msgid "E705: Variable name conflicts with existing function: %s"
+msgstr "E705: Nomo de variablo konfliktas kun ekzistanta funkcio: %s"
+
+#, c-format
+msgid "E706: Variable type mismatch for: %s"
+msgstr "E706: Nekongrua datumtipo de variablo: %s"
+
+#, c-format
+msgid "E795: Cannot delete variable %s"
+msgstr "E795: Ne eblas forviŝi variablon %s"
+
+#, c-format
+msgid "E741: Value is locked: %s"
+msgstr "E741: Valoro estas ŝlosita: %s"
+
+msgid "Unknown"
+msgstr "Nekonata"
+
+#, c-format
+msgid "E742: Cannot change value of %s"
+msgstr "E742: Ne eblas ŝanĝi valoron de %s"
+
+msgid "E698: variable nested too deep for making a copy"
+msgstr "E698: variablo ingita tro profunde por fari kopion"
+
+#, c-format
+msgid "E124: Missing '(': %s"
+msgstr "E124: Mankas '(': %s"
+
+#, c-format
+msgid "E125: Illegal argument: %s"
+msgstr "E125: Nevalida argumento: %s"
+
+msgid "E126: Missing :endfunction"
+msgstr "E126: Mankas \":endfunction\""
+
+#, c-format
+msgid "E746: Function name does not match script file name: %s"
+msgstr "E746: Nomo de funkcio ne kongruas kun dosiernomo de skripto: %s"
+
+msgid "E129: Function name required"
+msgstr "E129: Nomo de funkcio bezonata"
+
+#, c-format
+msgid "E128: Function name must start with a capital or contain a colon: %s"
+msgstr "E128: Nomo de funkcio devas eki per majusklo aŭ enhavi dupunkton: %s"
+
+#, c-format
+msgid "E131: Cannot delete function %s: It is in use"
+msgstr "E131: Ne eblas forviŝi funkcion %s: Estas nuntempe uzata"
+
+msgid "E132: Function call depth is higher than 'maxfuncdepth'"
+msgstr "E132: Profundo de funkcia alvoko superas 'maxfuncdepth'"
+
+#, c-format
+msgid "calling %s"
+msgstr "alvokas %s"
+
+#, c-format
+msgid "%s aborted"
+msgstr "%s ĉesigita"
+
+#, c-format
+msgid "%s returning #%ld"
+msgstr "%s liveras #%ld"
+
+#, c-format
+msgid "%s returning %s"
+msgstr "%s liveras %s"
+
+#, c-format
+msgid "continuing in %s"
+msgstr "daŭrigas en %s"
+
+msgid "E133: :return not inside a function"
+msgstr "E133: \":return\" ekster funkcio"
+
+#, c-format
+msgid ""
+"\n"
+"# global variables:\n"
+msgstr ""
+"\n"
+"# mallokaj variabloj:\n"
+
+msgid ""
+"\n"
+"\tLast set from "
+msgstr ""
+"\n"
+"\tLaste ŝaltita de "
+
+#, c-format
+msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
+msgstr "<%s>%s%s  %d,  Deksesuma %02x,  Okuma %03o"
+
+#, c-format
+msgid "> %d, Hex %04x, Octal %o"
+msgstr "> %d, Deksesuma %04x, Okuma %o"
+
+#, c-format
+msgid "> %d, Hex %08x, Octal %o"
+msgstr "> %d, Deksesuma %08x, Okuma %o"
+
+msgid "E134: Move lines into themselves"
+msgstr "E134: Movas liniojn en ilin mem"
+
+msgid "1 line moved"
+msgstr "1 linio movita"
+
+#, c-format
+msgid "%ld lines moved"
+msgstr "%ld linioj movitaj"
+
+#, c-format
+msgid "%ld lines filtered"
+msgstr "%ld linioj filtritaj"
+
+msgid "E135: *Filter* Autocommands must not change current buffer"
+msgstr "E135: *Filtraj* Aŭtokomandoj ne rajtas ŝanĝi aktualan bufron"
+
+msgid "[No write since last change]\n"
+msgstr "[Neniu skribo de post lasta ŝanĝo]\n"
+
+#, c-format
+msgid "%sviminfo: %s in line: "
+msgstr "%sviminfo: %s en linio: "
+
+msgid "E136: viminfo: Too many errors, skipping rest of file"
+msgstr "E136: viminfo: Tro da eraroj, nun ignoras la reston de la dosiero"
+
+#, c-format
+msgid "Reading viminfo file \"%s\"%s%s%s"
+msgstr "Legado de dosiero viminfo \"%s\"%s%s%s"
+
+msgid " info"
+msgstr " informo"
+
+msgid " marks"
+msgstr " markoj"
+
+msgid " FAILED"
+msgstr " FIASKIS"
+
+#. avoid a wait_return for this message, it's annoying
+#, c-format
+msgid "E137: Viminfo file is not writable: %s"
+msgstr "E137: Dosiero viminfo ne skribeblas: %s"
+
+#, c-format
+msgid "E138: Can't write viminfo file %s!"
+msgstr "E138: Ne eblas skribi dosieron viminfo %s!"
+
+#, c-format
+msgid "Writing viminfo file \"%s\""
+msgstr "Skribas dosieron viminfo \"%s\""
+
+#. Write the info:
+#, c-format
+msgid "# This viminfo file was generated by Vim %s.\n"
+msgstr "# Tiu dosiero viminfo estis kreita de Vim %s.\n"
+
+#, c-format
+msgid ""
+"# You may edit it if you're careful!\n"
+"\n"
+msgstr ""
+"# Vi povas redakti ĝin se vi estas singarda.\n"
+"\n"
+
+#, c-format
+msgid "# Value of 'encoding' when this file was written\n"
+msgstr "# Valoro de 'encoding' kiam tiu dosiero estis kreita\n"
+
+msgid "Illegal starting char"
+msgstr "Nevalida eka signo"
+
+msgid "Save As"
+msgstr "Konservi kiel"
+
+msgid "Write partial file?"
+msgstr "Ĉu skribi partan dosieron?"
+
+msgid "E140: Use ! to write partial buffer"
+msgstr "E140: Uzu ! por skribi partan bufron"
+
+#, c-format
+msgid "Overwrite existing file \"%s\"?"
+msgstr "Ĉu anstataŭigi ekzistantan dosieron \"%s\"?"
+
+#, c-format
+msgid "Swap file \"%s\" exists, overwrite anyway?"
+msgstr "Permutodosiero .swp \"%s\" ekzistas, ĉu tamen anstataŭigi ĝin?"
+
+#, c-format
+msgid "E768: Swap file exists: %s (:silent! overrides)"
+msgstr "E768: Permutodosiero .swp ekzistas: %s (:silent! por transpasi)"
+
+#, c-format
+msgid "E141: No file name for buffer %ld"
+msgstr "E141: Neniu dosiernomo de bufro %ld"
+
+msgid "E142: File not written: Writing is disabled by 'write' option"
+msgstr "E142: Dosiero ne skribita: Skribo malŝaltita per la opcio 'write'"
+
+#, c-format
+msgid ""
+"'readonly' option is set for \"%s\".\n"
+"Do you wish to write anyway?"
+msgstr ""
+"La opcio 'readonly' estas ŝaltita por \"%s\".\n"
+"Ĉu vi tamen volas skribi?"
+
+#, c-format
+msgid ""
+"File permissions of \"%s\" are read-only.\n"
+"It may still be possible to write it.\n"
+"Do you wish to try?"
+msgstr ""
+"Permesoj de dosiero \"%s\" estas nur-legeblaj.\n"
+"Bonŝance ĝi eble skribeblus.\n"
+"Ĉu vi volas provi?"
+
+#, c-format
+msgid "E505: \"%s\" is read-only (add ! to override)"
+msgstr "E505: \"%s\" estas nurlegebla (aldonu ! por transpasi)"
+
+msgid "Edit File"
+msgstr "Redakti dosieron"
+
+#, c-format
+msgid "E143: Autocommands unexpectedly deleted new buffer %s"
+msgstr "E143: Aŭtokomandoj neatendite forviŝis novan bufron %s"
+
+msgid "E144: non-numeric argument to :z"
+msgstr "E144: nenumera argumento de :z"
+
+msgid "E145: Shell commands not allowed in rvim"
+msgstr "E145: Ŝelkomandoj ne permesataj en rvim"
+
+msgid "E146: Regular expressions can't be delimited by letters"
+msgstr "E146: Ne eblas limigi regulesprimon per literoj"
+
+#, c-format
+msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
+msgstr "ĉu anstataŭigi per %s (y/n/a/q/l/^E/^Y)?"
+
+msgid "(Interrupted) "
+msgstr "(Interrompita) "
+
+msgid "1 match"
+msgstr "1 kongruo"
+
+msgid "1 substitution"
+msgstr "1 anstataŭigo"
+
+#, c-format
+msgid "%ld matches"
+msgstr "%ld kongruoj"
+
+#, c-format
+msgid "%ld substitutions"
+msgstr "%ld anstataŭigoj"
+
+msgid " on 1 line"
+msgstr " en 1 linio"
+
+#, c-format
+msgid " on %ld lines"
+msgstr " en %ld linioj"
+
+msgid "E147: Cannot do :global recursive"
+msgstr "E147: Ne eblas fari \":global\" rekursie"
+
+# DP: global estas por ":global" do mi ne tradukis ĝin
+msgid "E148: Regular expression missing from global"
+msgstr "E148: Regulesprimo mankas el global"
+
+#, c-format
+msgid "Pattern found in every line: %s"
+msgstr "Ŝablono trovita en ĉiuj linioj: %s"
+
+#, c-format
+msgid ""
+"\n"
+"# Last Substitute String:\n"
+"$"
+msgstr ""
+"\n"
+"# Lasta anstataŭigita ĉeno:\n"
+"$"
+
+# This message should *so* be E42!
+msgid "E478: Don't panic!"
+msgstr "E478: Ne paniku!"
+
+#, c-format
+msgid "E661: Sorry, no '%s' help for %s"
+msgstr "E661: Bedaŭrinde estas neniu helpo '%s' por %s"
+
+#, c-format
+msgid "E149: Sorry, no help for %s"
+msgstr "E149: Bedaŭrinde estas neniu helpo por %s"
+
+#, c-format
+msgid "Sorry, help file \"%s\" not found"
+msgstr "Bedaŭrinde, la helpdosiero \"%s\" ne troveblas"
+
+#, c-format
+msgid "E150: Not a directory: %s"
+msgstr "E150: Ne estas dosierujo: %s"
+
+#, c-format
+msgid "E152: Cannot open %s for writing"
+msgstr "E152: Ne eblas malfermi %s en skribreĝimo"
+
+#, c-format
+msgid "E153: Unable to open %s for reading"
+msgstr "E153: Ne eblas malfermi %s en legreĝimo"
+
+#, c-format
+msgid "E670: Mix of help file encodings within a language: %s"
+msgstr "E670: Miksaĵo de kodoprezento de helpa dosiero en lingvo: %s"
+
+#, c-format
+msgid "E154: Duplicate tag \"%s\" in file %s/%s"
+msgstr "E154: Ripetita etikedo \"%s\" en dosiero %s/%s"
+
+#, c-format
+msgid "E160: Unknown sign command: %s"
+msgstr "E160: Nekonata simbola komando: %s"
+
+msgid "E156: Missing sign name"
+msgstr "E156: Mankas nomo de simbolo"
+
+msgid "E612: Too many signs defined"
+msgstr "E612: Tro da simboloj estas difinitaj"
+
+#, c-format
+msgid "E239: Invalid sign text: %s"
+msgstr "E239: Nevalida teksto de simbolo: %s"
+
+#, c-format
+msgid "E155: Unknown sign: %s"
+msgstr "E155: Nekonata simbolo: %s"
+
+msgid "E159: Missing sign number"
+msgstr "E159: Mankas numero de simbolo"
+
+#, c-format
+msgid "E158: Invalid buffer name: %s"
+msgstr "E158: Nevalida nomo de bufro: %s"
+
+#, c-format
+msgid "E157: Invalid sign ID: %ld"
+msgstr "E157: Nevalida identigilo de simbolo: %ld"
+
+msgid " (NOT FOUND)"
+msgstr "  (NETROVITA)"
+
+msgid " (not supported)"
+msgstr " (nesubtenita)"
+
+msgid "[Deleted]"
+msgstr "[Forviŝita]"
+
+msgid "Entering Debug mode.  Type \"cont\" to continue."
+msgstr "Eniras sencimigan reĝimon.  Tajpu \"cont\" por daŭrigi."
+
+#, c-format
+msgid "line %ld: %s"
+msgstr "linio %ld: %s"
+
+#, c-format
+msgid "cmd: %s"
+msgstr "kmd: %s"
+
+#, c-format
+msgid "Breakpoint in \"%s%s\" line %ld"
+msgstr "Kontrolpunkto en \"%s%s\" linio %ld"
+
+#, c-format
+msgid "E161: Breakpoint not found: %s"
+msgstr "E161: Kontrolpunkto ne trovita: %s"
+
+msgid "No breakpoints defined"
+msgstr "Neniu kontrolpunkto estas difinita"
+
+#, c-format
+msgid "%3d  %s %s  line %ld"
+msgstr "%3d  %s %s  linio %ld"
+
+msgid "E750: First use :profile start <fname>"
+msgstr "E750: Uzu unue \":profile start <dosiernomo>\""
+
+#, c-format
+msgid "Save changes to \"%s\"?"
+msgstr "Ĉu konservi ŝanĝojn al \"%s\"?"
+
+msgid "Untitled"
+msgstr "Sen titolo"
+
+#, c-format
+msgid "E162: No write since last change for buffer \"%s\""
+msgstr "E162: Neniu skribo de post la lasta ŝanĝo por bufro \"%s\""
+
+msgid "Warning: Entered other buffer unexpectedly (check autocommands)"
+msgstr "Averto: Eniris neatendite alian bufron (kontrolu aŭtokomandojn)"
+
+msgid "E163: There is only one file to edit"
+msgstr "E163: Estas nur unu redaktenda dosiero"
+
+msgid "E164: Cannot go before first file"
+msgstr "E164: Ne eblas iri antaŭ ol la unuan dosieron"
+
+msgid "E165: Cannot go beyond last file"
+msgstr "E165: Ne eblas iri preter la lastan dosieron"
+
+#, c-format
+msgid "E666: compiler not supported: %s"
+msgstr "E666: kompililo nesubtenita: %s"
+
+#, c-format
+msgid "Searching for \"%s\" in \"%s\""
+msgstr "Serĉado de \"%s\" en \"%s\""
+
+#, c-format
+msgid "Searching for \"%s\""
+msgstr "Serĉado de \"%s\""
+
+#, c-format
+msgid "not found in 'runtimepath': \"%s\""
+msgstr "ne trovita en 'runtimepath': \"%s\""
+
+msgid "Source Vim script"
+msgstr "Ruli Vim-skripton"
+
+#, c-format
+msgid "Cannot source a directory: \"%s\""
+msgstr "Ne eblas ruli dosierujon: \"%s\""
+
+#, c-format
+msgid "could not source \"%s\""
+msgstr "ne eblis ruli \"%s\""
+
+#, c-format
+msgid "line %ld: could not source \"%s\""
+msgstr "linio %ld: ne eblis ruli \"%s\""
+
+#, c-format
+msgid "sourcing \"%s\""
+msgstr "rulas \"%s\""
+
+#, c-format
+msgid "line %ld: sourcing \"%s\""
+msgstr "linio %ld: rulas \"%s\""
+
+#, c-format
+msgid "finished sourcing %s"
+msgstr "finis ruli %s"
+
+msgid "modeline"
+msgstr "reĝimlinio"
+
+msgid "--cmd argument"
+msgstr "--cmd argumento"
+
+msgid "-c argument"
+msgstr "-c argumento"
+
+msgid "environment variable"
+msgstr "medivariablo"
+
+msgid "error handler"
+msgstr "erartraktilo"
+
+msgid "W15: Warning: Wrong line separator, ^M may be missing"
+msgstr "W15: Averto: Neĝusta disigilo de linio, ^M eble mankas"
+
+msgid "E167: :scriptencoding used outside of a sourced file"
+msgstr "E167: \":scriptencoding\" uzita ekster rulita dosiero"
+
+msgid "E168: :finish used outside of a sourced file"
+msgstr "E168: \":finish\" uzita ekster rulita dosiero"
+
+#, c-format
+msgid "Current %slanguage: \"%s\""
+msgstr "Aktuala %slingvo: \"%s\""
+
+#, c-format
+msgid "E197: Cannot set language to \"%s\""
+msgstr "E197: Ne eblas ŝanĝi la lingvon al \"%s\""
+
+msgid "Entering Ex mode.  Type \"visual\" to go to Normal mode."
+msgstr "Eniras reĝimon Ex. Tajpu \"visual\" por iri al reĝimo Normala."
+
+msgid "E501: At end-of-file"
+msgstr "E501: Ĉe fino-de-dosiero"
+
+msgid "E169: Command too recursive"
+msgstr "E169: Komando tro rekursia"
+
+#, c-format
+msgid "E605: Exception not caught: %s"
+msgstr "E605: Escepto nekaptita: %s"
+
+msgid "End of sourced file"
+msgstr "Fino de rulita dosiero"
+
+msgid "End of function"
+msgstr "Fino de funkcio"
+
+msgid "E464: Ambiguous use of user-defined command"
+msgstr "E464: Ambigua uzo de komando difinita de uzanto"
+
+msgid "E492: Not an editor command"
+msgstr "E492: Ne estas redaktila komando"
+
+msgid "E493: Backwards range given"
+msgstr "E493: Inversa amplekso donita"
+
+msgid "Backwards range given, OK to swap"
+msgstr "Inversa amplekso donita, permuteblas"
+
+msgid "E494: Use w or w>>"
+msgstr "E494: Uzu w aŭ w>>"
+
+msgid "E319: Sorry, the command is not available in this version"
+msgstr "E319: Bedaŭrinde, tiu komando ne haveblas en tiu versio"
+
+msgid "E172: Only one file name allowed"
+msgstr "E172: Nur unu dosiernomo permesita"
+
+msgid "1 more file to edit.  Quit anyway?"
+msgstr "1 plia redaktenda dosiero. Ĉu tamen eliri?"
+
+#, c-format
+msgid "%d more files to edit.  Quit anyway?"
+msgstr "%d pliaj redaktendaj dosieroj. Ĉu tamen eliri?"
+
+msgid "E173: 1 more file to edit"
+msgstr "E173: 1 plia redaktenda dosiero"
+
+#, c-format
+msgid "E173: %ld more files to edit"
+msgstr "E173: %ld pliaj redaktendaj dosieroj"
+
+msgid "E174: Command already exists: add ! to replace it"
+msgstr "E174: La komando jam ekzistas: aldonu ! por anstataŭigi ĝin"
+
+# DP: malfacilas traduki tion, kaj samtempe honori spacetojn
+msgid ""
+"\n"
+"    Name        Args Range Complete  Definition"
+msgstr ""
+"\n"
+"    Nomo        Arg Interv Kompleto  Difino"
+
+msgid "No user-defined commands found"
+msgstr "Neniu komando difinita de uzanto trovita"
+
+msgid "E175: No attribute specified"
+msgstr "E175: Neniu atributo specifita"
+
+msgid "E176: Invalid number of arguments"
+msgstr "E176: Nevalida nombro de argumentoj"
+
+msgid "E177: Count cannot be specified twice"
+msgstr "E177: Kvantoro ne povas aperi dufoje"
+
+msgid "E178: Invalid default value for count"
+msgstr "E178: Nevalida defaŭlta valoro de kvantoro"
+
+msgid "E179: argument required for -complete"
+msgstr "E179: argumento bezonata por -complete"
+
+#, c-format
+msgid "E181: Invalid attribute: %s"
+msgstr "E181: Nevalida atributo: %s"
+
+msgid "E182: Invalid command name"
+msgstr "E182: Nevalida komanda nomo"
+
+msgid "E183: User defined commands must start with an uppercase letter"
+msgstr "E183: Komandoj difinataj de uzanto devas eki per majusklo"
+
+#, c-format
+msgid "E184: No such user-defined command: %s"
+msgstr "E184: Neniu komando-difinita-de-uzanto kiel: %s"
+
+#, c-format
+msgid "E180: Invalid complete value: %s"
+msgstr "E180: Nevalida valoro de kompletigo: %s"
+
+msgid "E468: Completion argument only allowed for custom completion"
+msgstr ""
+"E468: Argumento de kompletigo nur permesata por kompletigo difinita de uzanto"
+
+msgid "E467: Custom completion requires a function argument"
+msgstr "E467: Uzula kompletigo bezonas funkcian argumenton"
+
+#, c-format
+msgid "E185: Cannot find color scheme %s"
+msgstr "E185: Ne eblas trovi agordaron de koloroj %s"
+
+msgid "Greetings, Vim user!"
+msgstr "Bonvenon, uzanto de Vim!"
+
+msgid "E784: Cannot close last tab page"
+msgstr "E784: Ne eblas fermi lastan langeton"
+
+msgid "Already only one tab page"
+msgstr "Jam nur unu langeto"
+
+msgid "Edit File in new window"
+msgstr "Redakti Dosieron en nova fenestro"
+
+#, c-format
+msgid "Tab page %d"
+msgstr "Langeto %d"
+
+msgid "No swap file"
+msgstr "Neniu permutodosiero .swp"
+
+msgid "Append File"
+msgstr "Postaldoni dosieron"
+
+msgid "E747: Cannot change directory, buffer is modified (add ! to override)"
+msgstr ""
+"E747: Ne eblas ŝanĝi dosierujon, bufro estas ŝanĝita (aldonu ! por transpasi)"
+
+msgid "E186: No previous directory"
+msgstr "E186: Neniu antaŭa dosierujo"
+
+msgid "E187: Unknown"
+msgstr "E187: Nekonata"
+
+msgid "E465: :winsize requires two number arguments"
+msgstr "E465: \":winsize\" bezonas du numerajn argumentojn"
+
+#, c-format
+msgid "Window position: X %d, Y %d"
+msgstr "Pozicio de fenestro: X %d, Y %d"
+
+msgid "E188: Obtaining window position not implemented for this platform"
+msgstr ""
+"E188: Akiro de pozicio de fenestro ne estas realigita por tiu platformo"
+
+msgid "E466: :winpos requires two number arguments"
+msgstr "E466: \":winpos\" bezonas du numerajn argumentojn"
+
+msgid "Save Redirection"
+msgstr "Konservi alidirekton"
+
+# DP: mi ne certas pri superflugo
+msgid "Save View"
+msgstr "Konservi superflugon"
+
+msgid "Save Session"
+msgstr "Konservi seancon"
+
+msgid "Save Setup"
+msgstr "Konservi agordaron"
+
+#, c-format
+msgid "E739: Cannot create directory: %s"
+msgstr "E739: Ne eblas krei dosierujon %s"
+
+#, c-format
+msgid "E189: \"%s\" exists (add ! to override)"
+msgstr "E189: \"%s\" ekzistas (aldonu ! por transpasi)"
+
+#, c-format
+msgid "E190: Cannot open \"%s\" for writing"
+msgstr "E190: Ne eblas malfermi \"%s\" por skribi"
+
+#. set mark
+msgid "E191: Argument must be a letter or forward/backward quote"
+msgstr "E191: Argumento devas esti litero, citilo aŭ retrocitilo"
+
+msgid "E192: Recursive use of :normal too deep"
+msgstr "E192: Tro profunda rekursia alvoko de \":normal\""
+
+msgid "E194: No alternate file name to substitute for '#'"
+msgstr "E194: Neniu alterna dosiernomo por anstataŭigi al '#'"
+
+# DP: mi ne certas, ĉu <afile> tradukeblas
+# AM: laŭ mi ne
+msgid "E495: no autocommand file name to substitute for \"<afile>\""
+msgstr "E495: neniu dosiernomo de aŭtokomando por anstataŭigi al \"<afile>\""
+
+# DP: mi ne certas, ĉu <abuf> tradukeblas
+# AM: laŭ mi ne
+msgid "E496: no autocommand buffer number to substitute for \"<abuf>\""
+msgstr "E496: neniu numero de bufro de aŭtokomando por anstataŭigi al \"<abuf>\""
+
+# DP: mi ne certas, ĉu <amatch> tradukeblas
+# AM: laŭ mi ne
+# DP: ĉu match estas verbo aŭ nomo en la angla version?
+# AM: ĉi tie, nomo, ŝajnas al mi
+msgid "E497: no autocommand match name to substitute for \"<amatch>\""
+msgstr ""
+"E497: neniu nomo de kongruo de aŭtokomando por anstataŭigi al \"<amatch>\""
+
+# DP: mi ne certas, ĉu <sfile> tradukeblas
+# AM: laŭ mi ne
+msgid "E498: no :source file name to substitute for \"<sfile>\""
+msgstr "E498: neniu dosiernomo \":source\" por anstataŭigi al \"<sfile>\""
+
+#, no-c-format
+msgid "E499: Empty file name for '%' or '#', only works with \":p:h\""
+msgstr "E499: Malplena dosiernomo por '%'aŭ '#', nur funkcias kun \":p:h\""
+
+msgid "E500: Evaluates to an empty string"
+msgstr "E500: Liveras malplenan ĉenon"
+
+msgid "E195: Cannot open viminfo file for reading"
+msgstr "E195: Ne eblas malfermi dosieron viminfo en lega reĝimo"
+
+msgid "E196: No digraphs in this version"
+msgstr "E196: Neniu duliteraĵo en tiu versio"
+
+msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
+msgstr "E608: Ne eblas lanĉi (:throw) escepton kun prefikso 'Vim'"
+
+#. always scroll up, don't overwrite
+#, c-format
+msgid "Exception thrown: %s"
+msgstr "Escepto lanĉita: %s"
+
+#, c-format
+msgid "Exception finished: %s"
+msgstr "Escepto finiĝis: %s"
+
+#, c-format
+msgid "Exception discarded: %s"
+msgstr "Escepto ne konservita: %s"
+
+#, c-format
+msgid "%s, line %ld"
+msgstr "%s, linio %ld"
+
+#. always scroll up, don't overwrite
+#, c-format
+msgid "Exception caught: %s"
+msgstr "Kaptis escepton: %s"
+
+#, c-format
+msgid "%s made pending"
+msgstr "%s iĝis atendanta(j)"
+
+#, c-format
+msgid "%s resumed"
+msgstr "%s daŭrigita(j)"
+
+#, c-format
+msgid "%s discarded"
+msgstr "%s ne konservita(j)"
+
+msgid "Exception"
+msgstr "Escepto"
+
+msgid "Error and interrupt"
+msgstr "Eraro kaj interrompo"
+
+msgid "Error"
+msgstr "Eraro"
+
+#. if (pending & CSTP_INTERRUPT)
+msgid "Interrupt"
+msgstr "Interrompo"
+
+msgid "E579: :if nesting too deep"
+msgstr "E579: \":if\" tro profunde ingita"
+
+msgid "E580: :endif without :if"
+msgstr "E580: \":endif\" sen \":if\""
+
+msgid "E581: :else without :if"
+msgstr "E581: \":else\" sen \":if\""
+
+msgid "E582: :elseif without :if"
+msgstr "E582: \":elseif\" sen \":if\""
+
+msgid "E583: multiple :else"
+msgstr "E583: pluraj \":else\""
+
+msgid "E584: :elseif after :else"
+msgstr "E584: \":elseif\" malantaŭ \":else\""
+
+msgid "E585: :while/:for nesting too deep"
+msgstr "E585: \":while/:for\" ingita tro profunde"
+
+msgid "E586: :continue without :while or :for"
+msgstr "E586: \":continue\" sen \":while\" aŭ \":for\""
+
+msgid "E587: :break without :while or :for"
+msgstr "E587: \":break\" sen \":while\" aŭ \":for\""
+
+msgid "E732: Using :endfor with :while"
+msgstr "E732: Uzo de \":endfor\" kun \":while\""
+
+msgid "E733: Using :endwhile with :for"
+msgstr "E733: Uzo de \":endwhile\" kun \":for\""
+
+msgid "E601: :try nesting too deep"
+msgstr "E601: \":try\" ingita tro profunde"
+
+msgid "E603: :catch without :try"
+msgstr "E603: \":catch\" sen \":try\""
+
+#. Give up for a ":catch" after ":finally" and ignore it.
+#. * Just parse.
+msgid "E604: :catch after :finally"
+msgstr "E604: \":catch\" malantaŭ \":finally\""
+
+msgid "E606: :finally without :try"
+msgstr "E606: \":finally\" sen \":try\""
+
+#. Give up for a multiple ":finally" and ignore it.
+msgid "E607: multiple :finally"
+msgstr "E607: pluraj \":finally\""
+
+msgid "E602: :endtry without :try"
+msgstr "E602: \":endtry\" sen \":try\""
+
+msgid "E193: :endfunction not inside a function"
+msgstr "E193: \":endfunction\" ekster funkcio"
+
+msgid "E788: Not allowed to edit another buffer now"
+msgstr "E788: Nun malpermesas redakti alian bufron"
+
+msgid "tagname"
+msgstr "nomo de etikedo"
+
+msgid " kind file\n"
+msgstr " tipo de dosiero\n"
+
+msgid "'history' option is zero"
+msgstr "opcio 'history' estas nul"
+
+#, c-format
+msgid ""
+"\n"
+"# %s History (newest to oldest):\n"
+msgstr ""
+"\n"
+"# Historio %s (de plej nova al plej malnova):\n"
+
+msgid "Command Line"
+msgstr "Komanda linio"
+
+msgid "Search String"
+msgstr "Serĉa ĉeno"
+
+msgid "Expression"
+msgstr "Esprimo"
+
+msgid "Input Line"
+msgstr "Eniga linio"
+
+msgid "E198: cmd_pchar beyond the command length"
+msgstr "E198: cmd_pchar preter la longo de komando"
+
+msgid "E199: Active window or buffer deleted"
+msgstr "E199: Aktiva fenestro aŭ bufro forviŝita"
+
+msgid "Illegal file name"
+msgstr "Nevalida dosiernomo"
+
+msgid "is a directory"
+msgstr "estas dosierujo"
+
+msgid "is not a file"
+msgstr "ne estas dosiero"
+
+msgid "is a device (disabled with 'opendevice' option)"
+msgstr "estas aparatdosiero (malŝaltita per la opcio 'opendevice')"
+
+msgid "[New File]"
+msgstr "[Nova dosiero]"
+
+msgid "[New DIRECTORY]"
+msgstr "[Nova DOSIERUJO]"
+
+msgid "[File too big]"
+msgstr "[Dosiero tro granda]"
+
+msgid "[Permission Denied]"
+msgstr "[Permeso rifuzita]"
+
+msgid "E200: *ReadPre autocommands made the file unreadable"
+msgstr "E200: La aŭtokomandoj *ReadPre igis la dosieron nelegebla"
+
+msgid "E201: *ReadPre autocommands must not change current buffer"
+msgstr "E201: La aŭtokomandoj *ReadPre ne rajtas ŝanĝi la aktualan bufron"
+
+msgid "Vim: Reading from stdin...\n"
+msgstr "Vim: Legado el stdin...\n"
+
+msgid "Reading from stdin..."
+msgstr "Legado el stdin..."
+
+#. Re-opening the original file failed!
+msgid "E202: Conversion made file unreadable!"
+msgstr "E202: Konverto igis la dosieron nelegebla!"
+
+msgid "[fifo/socket]"
+msgstr "[rektvica memoro/kontaktoskatolo]"
+
+msgid "[fifo]"
+msgstr "[rektvica memoro]"
+
+msgid "[socket]"
+msgstr "[kontaktoskatolo]"
+
+msgid "[character special]"
+msgstr "[speciala signo]"
+
+msgid "[RO]"
+msgstr "[Nurlegebla]"
+
+msgid "[CR missing]"
+msgstr "[CR mankas]"
+
+# DP: ĉu traduki NL?
+msgid "[NL found]"
+msgstr "[NL trovita]"
+
+msgid "[long lines split]"
+msgstr "[divido de longaj linioj]"
+
+msgid "[NOT converted]"
+msgstr "[NE konvertita]"
+
+msgid "[converted]"
+msgstr "[konvertita]"
+
+msgid "[crypted]"
+msgstr "[ĉifrita]"
+
+#, c-format
+msgid "[CONVERSION ERROR in line %ld]"
+msgstr "[ERARO DE KONVERTO ĉe linio %ld]"
+
+#, c-format
+msgid "[ILLEGAL BYTE in line %ld]"
+msgstr "[NEVALIDA BAJTO en linio %ld]"
+
+msgid "[READ ERRORS]"
+msgstr "[ERAROJ DE LEGADO]"
+
+msgid "Can't find temp file for conversion"
+msgstr "Ne eblas trovi provizoran dosieron por konverti"
+
+msgid "Conversion with 'charconvert' failed"
+msgstr "Konverto kun 'charconvert' fiaskis"
+
+msgid "can't read output of 'charconvert'"
+msgstr "ne eblas legi la eligon de 'charconvert'"
+
+msgid "E676: No matching autocommands for acwrite buffer"
+msgstr "E676: Neniu kongrua aŭtokomando por la bufro acwrite"
+
+msgid "E203: Autocommands deleted or unloaded buffer to be written"
+msgstr "E203: Aŭtokomandoj forviŝis aŭ malŝargis la skribendan bufron"
+
+msgid "E204: Autocommand changed number of lines in unexpected way"
+msgstr "E204: Aŭtokomando ŝanĝis la nombron de linioj neatendite"
+
+msgid "NetBeans dissallows writes of unmodified buffers"
+msgstr "NetBeans malpermesas skribojn de neŝanĝitaj bufroj"
+
+msgid "Partial writes disallowed for NetBeans buffers"
+msgstr "Partaj skriboj malpermesitaj ĉe bufroj NetBeans"
+
+msgid "is not a file or writable device"
+msgstr "ne estas dosiero aŭ skribebla aparatdosiero"
+
+msgid "writing to device disabled with 'opendevice' option"
+msgstr "skribo al aparatdosiero malŝaltita per la opcio 'opendevice'"
+
+msgid "is read-only (add ! to override)"
+msgstr "estas nurlegebla (aldonu ! por transpasi)"
+
+msgid "E506: Can't write to backup file (add ! to override)"
+msgstr "E506: Ne eblas skribi restaŭrkopion (aldonu ! por transpasi)"
+
+msgid "E507: Close error for backup file (add ! to override)"
+msgstr "E507: Eraro dum fermo de restaŭrkopio (aldonu ! transpasi)"
+
+msgid "E508: Can't read file for backup (add ! to override)"
+msgstr "E508: Ne eblas legi restaŭrkopion (aldonu ! por transpasi)"
+
+msgid "E509: Cannot create backup file (add ! to override)"
+msgstr "E509: Ne eblas krei restaŭrkopion (aldonu ! por transpasi)"
+
+msgid "E510: Can't make backup file (add ! to override)"
+msgstr "E510: Ne eblas krei restaŭrkopion (aldonu ! por transpasi)"
+
+msgid "E460: The resource fork would be lost (add ! to override)"
+msgstr "E460: La rimeda forko estus perdita (aldonu ! por transpasi)"
+
+msgid "E214: Can't find temp file for writing"
+msgstr "E214: Ne eblas trovi provizoran dosieron por skribi"
+
+msgid "E213: Cannot convert (add ! to write without conversion)"
+msgstr "E213: Ne eblas konverti (aldonu ! por skribi sen konverto)"
+
+msgid "E166: Can't open linked file for writing"
+msgstr "E166: Ne eblas malfermi ligitan dosieron por skribi"
+
+msgid "E212: Can't open file for writing"
+msgstr "E212: Ne eblas malfermi la dosieron por skribi"
+
+# AM: fsync: ne traduku (nomo de C-komando)
+msgid "E667: Fsync failed"
+msgstr "E667: Fsync fiaskis"
+
+msgid "E512: Close failed"
+msgstr "E512: Fermo fiaskis"
+
+msgid "E513: write error, conversion failed (make 'fenc' empty to override)"
+msgstr "E513: Skriberaro, konverto fiaskis (igu 'fenc' malplena por transpasi)"
+
+msgid "E514: write error (file system full?)"
+msgstr "E514: skriberaro (ĉu plena dosiersistemo?)"
+
+msgid " CONVERSION ERROR"
+msgstr " ERARO DE KONVERTO"
+
+msgid "[Device]"
+msgstr "[Aparatdosiero]"
+
+msgid "[New]"
+msgstr "[Nova]"
+
+msgid " [a]"
+msgstr " [a]"
+
+msgid " appended"
+msgstr " postaldonita(j)"
+
+msgid " [w]"
+msgstr " [s]"
+
+msgid " written"
+msgstr " skribita(j)"
+
+msgid "E205: Patchmode: can't save original file"
+msgstr "E205: Patchmode: ne eblas konservi originalan dosieron"
+
+msgid "E206: patchmode: can't touch empty original file"
+msgstr "E206: patchmode: ne eblas tuŝi malplenan originalan dosieron"
+
+msgid "E207: Can't delete backup file"
+msgstr "E207: Ne eblas forviŝi restaŭrkopion"
+
+msgid ""
+"\n"
+"WARNING: Original file may be lost or damaged\n"
+msgstr ""
+"\n"
+"AVERTO: Originala dosiero estas eble perdita aŭ difekta\n"
+
+msgid "don't quit the editor until the file is successfully written!"
+msgstr "ne eliru el la redaktilo ĝis kiam la dosiero estas sukcese konservita!"
+
+msgid "[dos]"
+msgstr "[dos]"
+
+msgid "[dos format]"
+msgstr "[formato dos]"
+
+msgid "[mac]"
+msgstr "[mac]"
+
+msgid "[mac format]"
+msgstr "[formato mac]"
+
+msgid "[unix]"
+msgstr "[unikso]"
+
+msgid "[unix format]"
+msgstr "[formato unikso]"
+
+msgid "1 line, "
+msgstr "1 linio, "
+
+#, c-format
+msgid "%ld lines, "
+msgstr "%ld linioj, "
+
+msgid "1 character"
+msgstr "1 signo"
+
+#, c-format
+msgid "%ld characters"
+msgstr "%ld signoj"
+
+msgid "[noeol]"
+msgstr "[sen EOL]"
+
+msgid "[Incomplete last line]"
+msgstr "[Nekompleta lasta linio]"
+
+#. don't overwrite messages here
+#. must give this prompt
+#. don't use emsg() here, don't want to flush the buffers
+msgid "WARNING: The file has been changed since reading it!!!"
+msgstr "AVERTO: La dosiero estas ŝanĝita de post kiam ĝi estis legita!!!"
+
+msgid "Do you really want to write to it"
+msgstr "Ĉu vi vere volas skribi al ĝi"
+
+#, c-format
+msgid "E208: Error writing to \"%s\""
+msgstr "E208: Eraro dum skribo de \"%s\""
+
+#, c-format
+msgid "E209: Error closing \"%s\""
+msgstr "E209: Eraro dum fermo de \"%s\""
+
+#, c-format
+msgid "E210: Error reading \"%s\""
+msgstr "E210: Eraro dum lego de \"%s\""
+
+msgid "E246: FileChangedShell autocommand deleted buffer"
+msgstr "E246: Aŭtokomando FileChangedShell forviŝis bufron"
+
+#, c-format
+msgid "E211: File \"%s\" no longer available"
+msgstr "E211: Dosiero \"%s\" ne plu haveblas"
+
+#, c-format
+msgid ""
+"W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as "
+"well"
+msgstr ""
+"W12: Averto: Dosiero \"%s\" ŝanĝiĝis kaj la bufro estis ŝanĝita ankaŭ en Vim"
+
+msgid "See \":help W12\" for more info."
+msgstr "Vidu \":help W12\" por pliaj informoj."
+
+#, c-format
+msgid "W11: Warning: File \"%s\" has changed since editing started"
+msgstr "W11: Averto: La dosiero \"%s\" ŝanĝiĝis ekde redakti ĝin"
+
+msgid "See \":help W11\" for more info."
+msgstr "Vidu \":help W11\" por pliaj informoj."
+
+#, c-format
+msgid "W16: Warning: Mode of file \"%s\" has changed since editing started"
+msgstr "W16: Averto: Permeso de dosiero \"%s\" ŝanĝiĝis ekde redakti ĝin"
+
+msgid "See \":help W16\" for more info."
+msgstr "Vidu \":help W16\" por pliaj informoj."
+
+#, c-format
+msgid "W13: Warning: File \"%s\" has been created after editing started"
+msgstr "W13: Averto: Dosiero \"%s\" kreiĝis post la komenco de redaktado"
+
+msgid "Warning"
+msgstr "Averto"
+
+msgid ""
+"&OK\n"
+"&Load File"
+msgstr ""
+"&Bone\n"
+"Ŝ&argi Dosieron"
+
+#, c-format
+msgid "E462: Could not prepare for reloading \"%s\""
+msgstr "E462: Ne eblis prepari por reŝargi \"%s\""
+
+#, c-format
+msgid "E321: Could not reload \"%s\""
+msgstr "E321: Ne eblis reŝargi \"%s\""
+
+msgid "--Deleted--"
+msgstr "--Forviŝita--"
+
+#, c-format
+msgid "auto-removing autocommand: %s <buffer=%d>"
+msgstr "aŭto-forviŝas aŭtokomandon: %s <bufro=%d>"
+
+#. the group doesn't exist
+#, c-format
+msgid "E367: No such group: \"%s\""
+msgstr "E367: Ne ekzistas tia grupo: \"%s\""
+
+#, c-format
+msgid "E215: Illegal character after *: %s"
+msgstr "E215: Nevalida signo malantaŭ *: %s"
+
+#, c-format
+msgid "E216: No such event: %s"
+msgstr "E216: Ne estas tia evento: %s"
+
+#, c-format
+msgid "E216: No such group or event: %s"
+msgstr "E216: Ne ekzistas tia grupo aŭ evento: %s"
+
+#. Highlight title
+msgid ""
+"\n"
+"--- Auto-Commands ---"
+msgstr ""
+"\n"
+"--- Aŭto-Komandoj ---"
+
+#, c-format
+msgid "E680: <buffer=%d>: invalid buffer number "
+msgstr "E680: <bufro=%d>: nevalida numero de bufro "
+
+msgid "E217: Can't execute autocommands for ALL events"
+msgstr "E217: Ne eblas plenumi aŭtokomandojn por ĈIUJ eventoj"
+
+msgid "No matching autocommands"
+msgstr "Neniu kongrua aŭtokomando"
+
+msgid "E218: autocommand nesting too deep"
+msgstr "E218: aŭtokomando tro ingita"
+
+#, c-format
+msgid "%s Auto commands for \"%s\""
+msgstr "%s Aŭtokomandoj por \"%s\""
+
+#, c-format
+msgid "Executing %s"
+msgstr "Plenumado de %s"
+
+#, c-format
+msgid "autocommand %s"
+msgstr "aŭtokomando %s"
+
+msgid "E219: Missing {."
+msgstr "E219: Mankas {."
+
+msgid "E220: Missing }."
+msgstr "E220: Mankas }."
+
+msgid "E490: No fold found"
+msgstr "E490: Neniu faldo trovita"
+
+msgid "E350: Cannot create fold with current 'foldmethod'"
+msgstr "E350: Ne eblas krei faldon per la aktuala 'foldmethod'"
+
+msgid "E351: Cannot delete fold with current 'foldmethod'"
+msgstr "E351: Ne eblas forviŝi faldon per la aktuala 'foldmethod'"
+
+#, c-format
+msgid "+--%3ld lines folded "
+msgstr "+--%3ld linioj falditaj "
+
+msgid "E222: Add to read buffer"
+msgstr "E222: Aldoni al lega bufro"
+
+msgid "E223: recursive mapping"
+msgstr "E223: rekursia mapo"
+
+#, c-format
+msgid "E224: global abbreviation already exists for %s"
+msgstr "E224: malloka mallongigo jam ekzistas por %s"
+
+#, c-format
+msgid "E225: global mapping already exists for %s"
+msgstr "E225: malloka mapo jam ekzistas por %s"
+
+#, c-format
+msgid "E226: abbreviation already exists for %s"
+msgstr "E226: mallongigo jam ekzistas por %s"
+
+#, c-format
+msgid "E227: mapping already exists for %s"
+msgstr "E227: mapo jam ekzistas por %s"
+
+msgid "No abbreviation found"
+msgstr "Neniu mallongigo trovita"
+
+msgid "No mapping found"
+msgstr "Neniu mapo trovita"
+
+msgid "E228: makemap: Illegal mode"
+msgstr "E228: makemap: Nevalida reĝimo"
+
+msgid "E229: Cannot start the GUI"
+msgstr "E229: Ne eblas lanĉi la grafikan interfacon"
+
+#, c-format
+msgid "E230: Cannot read from \"%s\""
+msgstr "E230: Ne eblas legi el \"%s\""
+
+msgid "E665: Cannot start GUI, no valid font found"
+msgstr ""
+"E665: Ne eblas startigi grafikan interfacon, neniu valida tiparo trovita"
+
+msgid "E231: 'guifontwide' invalid"
+msgstr "E231: 'guifontwide' nevalida"
+
+msgid "E599: Value of 'imactivatekey' is invalid"
+msgstr "E599: Valoro de 'imactivatekey' estas nevalida"
+
+#, c-format
+msgid "E254: Cannot allocate color %s"
+msgstr "E254: Ne eblas disponigi koloron %s"
+
+msgid "No match at cursor, finding next"
+msgstr "Neniu kongruo ĉe kursorpozicio, trovas sekvan"
+
+msgid "<cannot open> "
+msgstr "<ne eblas malfermi> "
+
+#, c-format
+msgid "E616: vim_SelFile: can't get font %s"
+msgstr "E616: vim_SelFile: ne eblas akiri tiparon %s"
+
+msgid "E614: vim_SelFile: can't return to current directory"
+msgstr "E614: vim_SelFile: ne eblas reveni al la aktuala dosierujo"
+
+msgid "Pathname:"
+msgstr "Serĉvojo:"
+
+msgid "E615: vim_SelFile: can't get current directory"
+msgstr "E615: vim_SelFile: ne eblas akiri aktualan dosierujon"
+
+msgid "OK"
+msgstr "Bone"
+
+msgid "Cancel"
+msgstr "Rezigni"
+
+msgid "Scrollbar Widget: Could not get geometry of thumb pixmap."
+msgstr ""
+"Fenestraĵo de rulumskalo: Ne eblis akiri geometrion de reduktita rastrumbildo"
+
+msgid "Vim dialog"
+msgstr "Vim dialogo"
+
+msgid "E232: Cannot create BalloonEval with both message and callback"
+msgstr "E232: Ne eblas krei BalloonEval kun ambaŭ mesaĝo kaj reagfunkcio"
+
+msgid "Vim dialog..."
+msgstr "Vim dialogo..."
+
+msgid ""
+"&Yes\n"
+"&No\n"
+"&Cancel"
+msgstr ""
+"&Jes\n"
+"&Ne\n"
+"&Rezigni"
+
+# todo '_' is for hotkey, i guess?
+msgid "Input _Methods"
+msgstr "Enigaj _metodoj"
+
+msgid "VIM - Search and Replace..."
+msgstr "VIM - Serĉi kaj anstataŭigi..."
+
+msgid "VIM - Search..."
+msgstr "VIM- Serĉi..."
+
+msgid "Find what:"
+msgstr "Serĉi kion:"
+
+msgid "Replace with:"
+msgstr "Anstataŭigi per:"
+
+#. whole word only button
+msgid "Match whole word only"
+msgstr "Kongrui nur plenan vorton"
+
+#. match case button
+msgid "Match case"
+msgstr "Uskleca kongruo"
+
+msgid "Direction"
+msgstr "Direkto"
+
+#. 'Up' and 'Down' buttons
+msgid "Up"
+msgstr "Supren"
+
+msgid "Down"
+msgstr "Suben"
+
+msgid "Find Next"
+msgstr "Trovi sekvantan"
+
+msgid "Replace"
+msgstr "Anstataŭigi"
+
+msgid "Replace All"
+msgstr "Anstataŭigi ĉiujn"
+
+msgid "Vim: Received \"die\" request from session manager\n"
+msgstr "Vim: Ricevis peton \"die\" (morti) el la seanca administrilo\n"
+
+msgid "Close"
+msgstr "Fermi"
+
+msgid "New tab"
+msgstr "Nova langeto"
+
+msgid "Open Tab..."
+msgstr "Malfermi langeton..."
+
+msgid "Vim: Main window unexpectedly destroyed\n"
+msgstr "Vim: Ĉefa fenestro neatendite detruiĝis\n"
+
+msgid "Font Selection"
+msgstr "Elekto de tiparo"
+
+msgid "Used CUT_BUFFER0 instead of empty selection"
+msgstr "Uzis CUT_BUFFER0 anstataŭ malplenan apartigon"
+
+msgid "&Filter"
+msgstr "&Filtri"
+
+msgid "&Cancel"
+msgstr "&Rezigni"
+
+msgid "Directories"
+msgstr "Dosierujoj"
+
+msgid "Filter"
+msgstr "Filtri"
+
+msgid "&Help"
+msgstr "&Helpo"
+
+msgid "Files"
+msgstr "Dosieroj"
+
+msgid "&OK"
+msgstr "&Bone"
+
+msgid "Selection"
+msgstr "Apartigo"
+
+msgid "Find &Next"
+msgstr "Trovi &Sekvanta"
+
+msgid "&Replace"
+msgstr "&Anstataŭigi"
+
+msgid "Replace &All"
+msgstr "Anstataŭigi ĉi&on"
+
+msgid "&Undo"
+msgstr "&Malfari"
+
+#, c-format
+msgid "E610: Can't load Zap font '%s'"
+msgstr "E610: Ne eblas ŝargi la tiparon Zap \"%s\""
+
+#, c-format
+msgid "E611: Can't use font %s"
+msgstr "E611: Ne eblas uzi tiparon %s"
+
+msgid ""
+"\n"
+"Sending message to terminate child process.\n"
+msgstr ""
+"\n"
+"Sendas mesaĝon por finigi idan procezon\n"
+
+#, c-format
+msgid "E671: Cannot find window title \"%s\""
+msgstr "E671: Ne eblas trovi titolon de fenestro \"%s\""
+
+#, c-format
+msgid "E243: Argument not supported: \"-%s\"; Use the OLE version."
+msgstr "E243: Ne subtenita argumento: \"-%s\"; Uzu la version OLE."
+
+msgid "E672: Unable to open window inside MDI application"
+msgstr "E672: Ne eblas malfermi fenestron interne de aplikaĵo MDI"
+
+msgid "Close tab"
+msgstr "Fermi langeton"
+
+msgid "Open tab..."
+msgstr "Malfermi langeton..."
+
+msgid "Find string (use '\\\\' to find  a '\\')"
+msgstr "Trovi ĉenon (uzu '\\\\' por trovi '\\')"
+
+msgid "Find & Replace (use '\\\\' to find  a '\\')"
+msgstr "Trovi kaj anstataŭigi (uzu '\\\\' por trovi '\\')"
+
+#. We fake this: Use a filter that doesn't select anything and a default
+#. * file name that won't be used.
+msgid "Not Used"
+msgstr "Ne uzata"
+
+msgid "Directory\t*.nothing\n"
+msgstr "Dosierujo\t*.nenio\n"
+
+msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect"
+msgstr ""
+"Vim E458: Ne eblas disponigi rikordon de kolormapo, iuj koloroj estas eble "
+"neĝustaj"
+
+#, c-format
+msgid "E250: Fonts for the following charsets are missing in fontset %s:"
+msgstr "E250: Tiparoj de tiuj signaroj mankas en aro de tiparo %s:"
+
+#, c-format
+msgid "E252: Fontset name: %s"
+msgstr "E252: Nomo de tiparo: %s"
+
+#, c-format
+msgid "Font '%s' is not fixed-width"
+msgstr "Tiparo \"%s\" ne estas egallarĝa"
+
+#, c-format
+msgid "E253: Fontset name: %s\n"
+msgstr "E253: Nomo de tiparo: %s\n"
+
+#, c-format
+msgid "Font0: %s\n"
+msgstr "Font0: %s\n"
+
+#, c-format
+msgid "Font1: %s\n"
+msgstr "Font1: %s\n"
+
+#, c-format
+msgid "Font%ld width is not twice that of font0\n"
+msgstr "Font%ld ne estas duoble pli larĝa ol font0\n"
+
+#, c-format
+msgid "Font0 width: %ld\n"
+msgstr "Larĝo de font0: %ld\n"
+
+#, c-format
+msgid ""
+"Font1 width: %ld\n"
+"\n"
+msgstr ""
+"Larĝo de Font1: %ld\n"
+"\n"
+
+msgid "Invalid font specification"
+msgstr "Nevalida tiparo specifita"
+
+msgid "&Dismiss"
+msgstr "&Forlasi"
+
+msgid "no specific match"
+msgstr "Neniu specifa kongruo"
+
+msgid "Vim - Font Selector"
+msgstr "Vim - Elektilo de tiparo"
+
+msgid "Name:"
+msgstr "Nomo:"
+
+#. create toggle button
+msgid "Show size in Points"
+msgstr "Montri grandon en punktoj"
+
+msgid "Encoding:"
+msgstr "Kodoprezento:"
+
+msgid "Font:"
+msgstr "Tiparo:"
+
+msgid "Style:"
+msgstr "Stilo:"
+
+msgid "Size:"
+msgstr "Grando:"
+
+msgid "E256: Hangul automata ERROR"
+msgstr "E256: ERARO en aŭtomato de korea alfabeto"
+
+msgid "E550: Missing colon"
+msgstr "E550: Mankas dupunkto"
+
+msgid "E551: Illegal component"
+msgstr "E551: Nevalida komponento"
+
+msgid "E552: digit expected"
+msgstr "E552: cifero atendita"
+
+#, c-format
+msgid "Page %d"
+msgstr "Paĝo %d"
+
+msgid "No text to be printed"
+msgstr "Neniu presenda teksto"
+
+#, c-format
+msgid "Printing page %d (%d%%)"
+msgstr "Presas paĝon %d (%d%%)"
+
+#, c-format
+msgid " Copy %d of %d"
+msgstr " Kopio %d de %d"
+
+#, c-format
+msgid "Printed: %s"
+msgstr "Presis: %s"
+
+msgid "Printing aborted"
+msgstr "Presado ĉesigita"
+
+msgid "E455: Error writing to PostScript output file"
+msgstr "E455: Eraro dum skribo de PostSkripta eliga dosiero"
+
+#, c-format
+msgid "E624: Can't open file \"%s\""
+msgstr "E624: Ne eblas malfermi dosieron \"%s\""
+
+#, c-format
+msgid "E457: Can't read PostScript resource file \"%s\""
+msgstr "E457: Ne eblas legi dosieron de PostSkripta rimedo \"%s\""
+
+#, c-format
+msgid "E618: file \"%s\" is not a PostScript resource file"
+msgstr "E618: \"%s\" ne estas dosiero de PostSkripta rimedo"
+
+#, c-format
+msgid "E619: file \"%s\" is not a supported PostScript resource file"
+msgstr "E619: \"%s\" ne estas subtenita dosiero de PostSkripta rimedo"
+
+#, c-format
+msgid "E621: \"%s\" resource file has wrong version"
+msgstr "E621: \"%s\" dosiero de rimedo havas neĝustan version"
+
+msgid "E673: Incompatible multi-byte encoding and character set."
+msgstr "E673: Nekongrua plurbajta kodoprezento kaj signaro."
+
+msgid "E674: printmbcharset cannot be empty with multi-byte encoding."
+msgstr ""
+"E674: printmbcharset ne rajtas esti malplena kun plurbajta kodoprezento."
+
+msgid "E675: No default font specified for multi-byte printing."
+msgstr "E675: Neniu defaŭlta tiparo specifita por plurbajta presado."
+
+msgid "E324: Can't open PostScript output file"
+msgstr "E324: Ne eblas malfermi eligan PostSkriptan dosieron"
+
+#, c-format
+msgid "E456: Can't open file \"%s\""
+msgstr "E456: Ne eblas malfermi dosieron \"%s\""
+
+msgid "E456: Can't find PostScript resource file \"prolog.ps\""
+msgstr "E456: Dosiero de PostSkripta rimedo \"prolog.ps\" ne troveblas"
+
+msgid "E456: Can't find PostScript resource file \"cidfont.ps\""
+msgstr "E456: Dosiero de PostSkripta rimedo \"cidfont.ps\" ne troveblas"
+
+#, c-format
+msgid "E456: Can't find PostScript resource file \"%s.ps\""
+msgstr "E456: Dosiero de PostSkripta rimedo \"%s.ps\" ne troveblas"
+
+#, c-format
+msgid "E620: Unable to convert to print encoding \"%s\""
+msgstr "E620: Ne eblas konverti al la presa kodoprezento \"%s\""
+
+msgid "Sending to printer..."
+msgstr "Sendas al presilo..."
+
+msgid "E365: Failed to print PostScript file"
+msgstr "E365: Presado de PostSkripta dosiero fiaskis"
+
+msgid "Print job sent."
+msgstr "Laboro de presado sendita"
+
+msgid "Add a new database"
+msgstr "Aldoni novan datumbazon"
+
+msgid "Query for a pattern"
+msgstr "Serĉi ŝablonon"
+
+msgid "Show this message"
+msgstr "Montri tiun mesaĝon"
+
+msgid "Kill a connection"
+msgstr "Ĉesigi konekton"
+
+msgid "Reinit all connections"
+msgstr "Repravalorizi ĉiujn konektojn"
+
+msgid "Show connections"
+msgstr "Montri konektojn"
+
+#, c-format
+msgid "E560: Usage: cs[cope] %s"
+msgstr "E560: Uzo: cs[cope] %s"
+
+msgid "This cscope command does not support splitting the window.\n"
+msgstr "Tiu ĉi komando de cscope ne subtenas dividon de fenestro.\n"
+
+msgid "E562: Usage: cstag <ident>"
+msgstr "E562: Uzo: cstag <ident>"
+
+msgid "E257: cstag: tag not found"
+msgstr "E257: cstag: etikedo netrovita"
+
+#, c-format
+msgid "E563: stat(%s) error: %d"
+msgstr "E563: Eraro de stat(%s): %d"
+
+msgid "E563: stat error"
+msgstr "E563: Eraro de stat"
+
+#, c-format
+msgid "E564: %s is not a directory or a valid cscope database"
+msgstr "E564: %s ne estas dosierujo aŭ valida datumbazo de cscope"
+
+#, c-format
+msgid "Added cscope database %s"
+msgstr "Aldonis datumbazon de cscope %s"
+
+#, c-format
+msgid "E262: error reading cscope connection %ld"
+msgstr "E262: eraro dum legado de konekto de cscope %ld"
+
+msgid "E561: unknown cscope search type"
+msgstr "E561: nekonata tipo de serĉo de cscope"
+
+msgid "E566: Could not create cscope pipes"
+msgstr "E566: Ne eblis krei duktojn de cscope"
+
+msgid "E622: Could not fork for cscope"
+msgstr "E622: Ne eblis forki cscope"
+
+msgid "cs_create_connection exec failed"
+msgstr "plenumo de cs_create_connection fiaskis"
+
+msgid "cs_create_connection: fdopen for to_fp failed"
+msgstr "cs_create_connection: fdopen de to_fp fiaskis"
+
+msgid "cs_create_connection: fdopen for fr_fp failed"
+msgstr "cs_create_connection: fdopen de fr_fp fiaskis"
+
+msgid "E623: Could not spawn cscope process"
+msgstr "E623: Ne eblis naskigi procezon cscope"
+
+msgid "E567: no cscope connections"
+msgstr "E567: neniu konekto al cscope"
+
+#, c-format
+msgid "E259: no matches found for cscope query %s of %s"
+msgstr "E259: neniu kongruo trovita por serĉo per cscope %s de %s"
+
+#, c-format
+msgid "E469: invalid cscopequickfix flag %c for %c"
+msgstr "E469: nevalida flago cscopequickfix %c de %c"
+
+msgid "cscope commands:\n"
+msgstr "komandoj de cscope:\n"
+
+#, c-format
+msgid "%-5s: %-30s (Usage: %s)"
+msgstr "%-5s: %-30s (Uzo: %s)"
+
+#, c-format
+msgid "E625: cannot open cscope database: %s"
+msgstr "E625: ne eblas malfermi datumbazon de cscope: %s"
+
+msgid "E626: cannot get cscope database information"
+msgstr "E626: ne eblas akiri informojn pri la datumbazo de cscope"
+
+msgid "E568: duplicate cscope database not added"
+msgstr "E568: ripetita datumbazo de cscope ne aldonita"
+
+msgid "E569: maximum number of cscope connections reached"
+msgstr "E569: atingis maksimuman nombron de konektoj de cscope"
+
+#, c-format
+msgid "E261: cscope connection %s not found"
+msgstr "E261: konekto cscope %s netrovita"
+
+#, c-format
+msgid "cscope connection %s closed"
+msgstr "konekto cscope %s fermita"
+
+#. should not reach here
+msgid "E570: fatal error in cs_manage_matches"
+msgstr "E570: neriparebla eraro en cs_manage_matches"
+
+#, c-format
+msgid "Cscope tag: %s"
+msgstr "Etikedo de cscope: %s"
+
+msgid ""
+"\n"
+"   #   line"
+msgstr ""
+"\n"
+" nro   linio"
+
+msgid "filename / context / line\n"
+msgstr "dosiernomo / kunteksto / linio\n"
+
+#, c-format
+msgid "E609: Cscope error: %s"
+msgstr "E609: Eraro de cscope: %s"
+
+msgid "All cscope databases reset"
+msgstr "Reŝargo de ĉiuj datumbazoj de cscope"
+
+msgid "no cscope connections\n"
+msgstr "neniu konekto de cscope\n"
+
+msgid " # pid    database name                       prepend path\n"
+msgstr " # pid    nomo de datumbazo                   prefiksa vojo\n"
+
+msgid ""
+"???: Sorry, this command is disabled, the MzScheme library could not be "
+"loaded."
+msgstr ""
+"???: Bedaŭrinde tiu komando estas malŝaltita: la biblioteko MzScheme ne "
+"ŝargeblis."
+
+msgid "invalid expression"
+msgstr "nevalida esprimo"
+
+msgid "expressions disabled at compile time"
+msgstr "esprimoj malŝaltitaj dum kompilado"
+
+msgid "hidden option"
+msgstr "kaŝita opcio"
+
+msgid "unknown option"
+msgstr "nekonata opcio"
+
+msgid "window index is out of range"
+msgstr "indekso de fenestro estas ekster limoj"
+
+msgid "couldn't open buffer"
+msgstr "ne eblis malfermi bufron"
+
+msgid "cannot save undo information"
+msgstr "ne eblas konservi informojn de malfaro"
+
+msgid "cannot delete line"
+msgstr "ne eblas forviŝi linion"
+
+msgid "cannot replace line"
+msgstr "ne eblas anstataŭigi linion"
+
+msgid "cannot insert line"
+msgstr "ne eblas enmeti linion"
+
+msgid "string cannot contain newlines"
+msgstr "ĉeno ne rajtas enhavi liniavancojn"
+
+msgid "Vim error: ~a"
+msgstr "Eraro de Vim: ~a"
+
+msgid "Vim error"
+msgstr "Eraro de Vim"
+
+msgid "buffer is invalid"
+msgstr "bufro estas nevalida"
+
+msgid "window is invalid"
+msgstr "fenestro estas nevalida"
+
+msgid "linenr out of range"
+msgstr "numero de linio ekster limoj"
+
+msgid "not allowed in the Vim sandbox"
+msgstr "nepermesita en sabloludejo de Vim"
+
+msgid ""
+"E263: Sorry, this command is disabled, the Python library could not be "
+"loaded."
+msgstr ""
+"E263: Bedaŭrinde tiu komando estas malŝaltita: la biblioteko de Pitono ne "
+"ŝargeblis."
+
+msgid "E659: Cannot invoke Python recursively"
+msgstr "E659: Ne eblas alvoki Pitonon rekursie"
+
+msgid "can't delete OutputObject attributes"
+msgstr "ne eblas forviŝi atributojn de OutputObject"
+
+msgid "softspace must be an integer"
+msgstr "malmolspaceto (softspace) devas esti entjero"
+
+msgid "invalid attribute"
+msgstr "nevalida atributo"
+
+msgid "writelines() requires list of strings"
+msgstr "writelines() bezonas liston de ĉenoj"
+
+msgid "E264: Python: Error initialising I/O objects"
+msgstr "E264: Pitono: Eraro de pravalorizo de eneligaj objektoj"
+
+msgid "attempt to refer to deleted buffer"
+msgstr "provo de referenco al forviŝita bufro"
+
+msgid "line number out of range"
+msgstr "numero de linio ekster limoj"
+
+#, c-format
+msgid "<buffer object (deleted) at %8lX>"
+msgstr "<bufra objekto (forviŝita) ĉe %8lX>"
+
+msgid "invalid mark name"
+msgstr "nevalida nomo de marko"
+
+msgid "no such buffer"
+msgstr "ne estas tia bufro"
+
+msgid "attempt to refer to deleted window"
+msgstr "provo de referenco al forviŝita fenestro"
+
+msgid "readonly attribute"
+msgstr "nurlegebla atributo"
+
+msgid "cursor position outside buffer"
+msgstr "kursoro poziciita ekster bufro"
+
+#, c-format
+msgid "<window object (deleted) at %.8lX>"
+msgstr "<fenestra objekto (forviŝita) ĉe %.8lX>"
+
+#, c-format
+msgid "<window object (unknown) at %.8lX>"
+msgstr "<objekta fenestro (nekonata) ĉe %.8lX>"
+
+#, c-format
+msgid "<window %d>"
+msgstr "<fenestro %d>"
+
+msgid "no such window"
+msgstr "ne estas tia fenestro"
+
+msgid "E265: $_ must be an instance of String"
+msgstr "E265: $_ devas esti apero de Ĉeno"
+
+msgid ""
+"E266: Sorry, this command is disabled, the Ruby library could not be loaded."
+msgstr ""
+"E266: Bedaŭrinde tiu komando estas malŝaltita, la biblioteko Ruby ne "
+"ŝargeblis."
+
+msgid "E267: unexpected return"
+msgstr "E267: \"return\" neatendita"
+
+msgid "E268: unexpected next"
+msgstr "E268: \"next\" neatendita"
+
+msgid "E269: unexpected break"
+msgstr "E269: \"break\" neatendita"
+
+msgid "E270: unexpected redo"
+msgstr "E270: \"redo\" neatendita"
+
+msgid "E271: retry outside of rescue clause"
+msgstr "E271: \"retry\" ekster klaŭzo \"rescue\""
+
+msgid "E272: unhandled exception"
+msgstr "E272: netraktita escepto"
+
+#, c-format
+msgid "E273: unknown longjmp status %d"
+msgstr "E273: nekonata stato de longjmp: %d"
+
+msgid "Toggle implementation/definition"
+msgstr "Baskuli realigon/difinon"
+
+msgid "Show base class of"
+msgstr "Vidigi bazan klason de"
+
+msgid "Show overridden member function"
+msgstr "Montri anajn homonimigajn funkciojn"
+
+msgid "Retrieve from file"
+msgstr "Rekuperi el dosiero"
+
+msgid "Retrieve from project"
+msgstr "Rekuperi el projekto"
+
+msgid "Retrieve from all projects"
+msgstr "Rekuperi de ĉiuj projektoj"
+
+msgid "Retrieve"
+msgstr "Rekuperi"
+
+msgid "Show source of"
+msgstr "Vidigi fonton de"
+
+msgid "Find symbol"
+msgstr "Trovi simbolon"
+
+msgid "Browse class"
+msgstr "Foliumi klasojn"
+
+msgid "Show class in hierarchy"
+msgstr "Montri klason en hierarkio"
+
+msgid "Show class in restricted hierarchy"
+msgstr "Montri klason en hierarkio restriktita"
+
+# todo
+msgid "Xref refers to"
+msgstr "Xref ligas al"
+
+msgid "Xref referred by"
+msgstr "Xref ligiĝas de"
+
+msgid "Xref has a"
+msgstr "Xref havas"
+
+msgid "Xref used by"
+msgstr "Xref uzita de"
+
+# DP: mi ne certas pri kio temas
+msgid "Show docu of"
+msgstr "Vidigi dokumentaron de"
+
+msgid "Generate docu for"
+msgstr "Krei dokumentaron de"
+
+msgid ""
+"Cannot connect to SNiFF+. Check environment (sniffemacs must be found in "
+"$PATH).\n"
+msgstr ""
+"Konekto al SNiFF+ neeblas. Kontrolu medion (sniffemacs trovendas en $PATH).\n"
+
+msgid "E274: Sniff: Error during read. Disconnected"
+msgstr "E274: Sniff: Eraro dum lego. Malkonektita"
+
+# DP: Tiuj 3 mesaĝoj estas kune
+msgid "SNiFF+ is currently "
+msgstr "SNiFF+ estas aktuale "
+
+msgid "not "
+msgstr "ne "
+
+msgid "connected"
+msgstr "konektita"
+
+#, c-format
+msgid "E275: Unknown SNiFF+ request: %s"
+msgstr "E275: Nekonata peto de SNiFF+: %s"
+
+msgid "E276: Error connecting to SNiFF+"
+msgstr "E276: Eraro dum konekto al SNiFF+"
+
+msgid "E278: SNiFF+ not connected"
+msgstr "E278: SNiFF+ ne estas konektita"
+
+msgid "E279: Not a SNiFF+ buffer"
+msgstr "E279: Ne estas bufro SNiFF+"
+
+msgid "Sniff: Error during write. Disconnected"
+msgstr "Sniff: Eraro dum skribo. Malkonektita"
+
+msgid "invalid buffer number"
+msgstr "nevalida nombro de bufroj"
+
+msgid "not implemented yet"
+msgstr "ne jam realigita"
+
+#. ???
+msgid "cannot set line(s)"
+msgstr "ne eblas meti la linio(j)n"
+
+msgid "mark not set"
+msgstr "marko ne estas metita"
+
+#, c-format
+msgid "row %d column %d"
+msgstr "linio %d kolumno %d"
+
+msgid "cannot insert/append line"
+msgstr "ne eblas enmeti/postaldoni linion"
+
+msgid "unknown flag: "
+msgstr "nekonata flago: "
+
+# DP: ĉu traduki vimOption
+msgid "unknown vimOption"
+msgstr "nekonata vimOption"
+
+msgid "keyboard interrupt"
+msgstr "klavara interrompo"
+
+msgid "vim error"
+msgstr "eraro de Vim"
+
+msgid "cannot create buffer/window command: object is being deleted"
+msgstr "ne eblas krei komandon de bufro/fenestro: objekto estas forviŝiĝanta"
+
+msgid ""
+"cannot register callback command: buffer/window is already being deleted"
+msgstr ""
+"ne eblas registri postalvokan komandon: bufro/fenestro estas jam forviŝiĝanta"
+
+#. This should never happen.  Famous last word?
+msgid ""
+"E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim."
+"org"
+msgstr ""
+"E280: NERIPAREBLA TCL-ERARO: reflist difekta!? Bv. retpoŝti al vim-dev@vim."
+"org"
+
+msgid "cannot register callback command: buffer/window reference not found"
+msgstr ""
+"ne eblas registri postalvokan komandon: referenco de bufro/fenestro ne "
+"troveblas"
+
+msgid ""
+"E571: Sorry, this command is disabled: the Tcl library could not be loaded."
+msgstr ""
+"E571: Bedaŭrinde tiu komando estas malŝaltita: la biblioteko Tcl ne "
+"ŝargeblis."
+
+msgid ""
+"E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org"
+msgstr ""
+"E281: TCL-ERARO: elira kodo ne estas entjera!? Bv. retpoŝti al vim-dev@vim."
+"org"
+
+#, c-format
+msgid "E572: exit code %d"
+msgstr "E572: elira kodo %d"
+
+msgid "cannot get line"
+msgstr "ne eblas akiri linion"
+
+msgid "Unable to register a command server name"
+msgstr "Ne eblas registri nomon de komanda servilo"
+
+msgid "E248: Failed to send command to the destination program"
+msgstr "E248: Sendo de komando al cela programo fiaskis"
+
+#, c-format
+msgid "E573: Invalid server id used: %s"
+msgstr "E573: Nevalida identigilo de servilo uzita: %s"
+
+msgid "E251: VIM instance registry property is badly formed.  Deleted!"
+msgstr ""
+"E251: Ecoj de registro de apero de VIM estas nevalide formata. Forviŝita!"
+
+msgid "Unknown option argument"
+msgstr "Nekonata argumento de opcio"
+
+msgid "Too many edit arguments"
+msgstr "Tro da argumentoj de redakto"
+
+msgid "Argument missing after"
+msgstr "Argumento mankas malantaŭ"
+
+msgid "Garbage after option argument"
+msgstr "Forĵetindaĵo malantaŭ argumento de opcio"
+
+msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments"
+msgstr "Tro da argumentoj \"+komando\", \"-c komando\" aŭ \"--cmd komando\""
+
+msgid "Invalid argument for"
+msgstr "Nevalida argumento por"
+
+#, c-format
+msgid "%d files to edit\n"
+msgstr "%d redaktendaj dosieroj\n"
+
+msgid "This Vim was not compiled with the diff feature."
+msgstr "Tiu Vim ne estis kompilita kun la kompara eblo"
+
+msgid "Attempt to open script file again: \""
+msgstr "Provas malfermi skriptan dosieron denove: \""
+
+msgid "Cannot open for reading: \""
+msgstr "Ne eblas malfermi en lega reĝimo: \""
+
+msgid "Cannot open for script output: \""
+msgstr "Ne eblas malfermi por eligo de skripto: \""
+
+msgid "Vim: Error: Failure to start gvim from NetBeans\n"
+msgstr "Vim: Eraro: Fiaskis lanĉi gvim el NetBeans\n"
+
+msgid "Vim: Warning: Output is not to a terminal\n"
+msgstr "Vim: Averto: Eligo ne estas al terminalo\n"
+
+msgid "Vim: Warning: Input is not from a terminal\n"
+msgstr "Vim: Averto: Enigo ne estas el terminalo\n"
+
+#. just in case..
+msgid "pre-vimrc command line"
+msgstr "komanda linio pre-vimrc"
+
+#, c-format
+msgid "E282: Cannot read from \"%s\""
+msgstr "E282: Ne eblas legi el \"%s\""
+
+msgid ""
+"\n"
+"More info with: \"vim -h\"\n"
+msgstr ""
+"\n"
+"Pliaj informoj per: \"vim -h\"\n"
+
+# DP: tajpu "vim --help" por testi tiujn mesaĝojn
+msgid "[file ..]       edit specified file(s)"
+msgstr "[dosiero...]     redakti specifita(j)n dosiero(j)n"
+
+msgid "-               read text from stdin"
+msgstr "-                legi tekston el stdin"
+
+msgid "-t tag          edit file where tag is defined"
+msgstr "-t etikedo       redakti dosieron kie etikedo estas difinata"
+
+msgid "-q [errorfile]  edit file with first error"
+msgstr "-q [erardosiero] redakti dosieron kun unua eraro"
+
+msgid ""
+"\n"
+"\n"
+"usage:"
+msgstr ""
+"\n"
+"\n"
+"  uzo:"
+
+msgid " vim [arguments] "
+msgstr " vim [argumentoj] "
+
+msgid ""
+"\n"
+"   or:"
+msgstr ""
+"\n"
+"   aŭ:"
+
+msgid ""
+"\n"
+"Where case is ignored prepend / to make flag upper case"
+msgstr ""
+"\n"
+"Kie uskleco estas ignorita antaŭaldonu / por igi flagon majuskla"
+
+msgid ""
+"\n"
+"\n"
+"Arguments:\n"
+msgstr ""
+"\n"
+"\n"
+"Argumentoj:\n"
+
+msgid "--\t\t\tOnly file names after this"
+msgstr "--\t\t\tNur dosiernomoj malantaŭ tio"
+
+msgid "--literal\t\tDon't expand wildcards"
+msgstr "--literal\t\tNe ekspansii ĵokerojn"
+
+msgid "-register\t\tRegister this gvim for OLE"
+msgstr "-register\t\tRegistri tiun gvim al OLE"
+
+msgid "-unregister\t\tUnregister gvim for OLE"
+msgstr "-unregister\t\tMalregistri gvim de OLE"
+
+msgid "-g\t\t\tRun using GUI (like \"gvim\")"
+msgstr "-g\t\t\tRuli per grafika interfaco (kiel \"gvim\")"
+
+msgid "-f  or  --nofork\tForeground: Don't fork when starting GUI"
+msgstr "-f, --nofork\tMalfono: ne forki kiam lanĉas grafikan interfacon"
+
+msgid "-v\t\t\tVi mode (like \"vi\")"
+msgstr "-v\t\t\tReĝimo Vi (kiel \"vi\")"
+
+msgid "-e\t\t\tEx mode (like \"ex\")"
+msgstr "-e\t\t\tReĝimo Ex (kiel \"ex\")"
+
+msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")"
+msgstr "-s\t\t\tSilenta (stapla) reĝimo (nur por \"ex\")"
+
+msgid "-d\t\t\tDiff mode (like \"vimdiff\")"
+msgstr "-d\t\t\tKompara reĝimo (kiel \"vimdiff\")"
+
+msgid "-y\t\t\tEasy mode (like \"evim\", modeless)"
+msgstr "-y\t\t\tFacila reĝimo (kiel \"evim\", senreĝima)"
+
+msgid "-R\t\t\tReadonly mode (like \"view\")"
+msgstr "-R\t\t\tNurlegebla reĝimo (kiel \"view\")"
+
+msgid "-Z\t\t\tRestricted mode (like \"rvim\")"
+msgstr "-Z\t\t\tLimigita reĝimo (kiel \"rvim\")"
+
+msgid "-m\t\t\tModifications (writing files) not allowed"
+msgstr "-m\t\t\tŜanĝoj (skribo al dosieroj) malpermesitaj"
+
+msgid "-M\t\t\tModifications in text not allowed"
+msgstr "-M\t\t\tŜanĝoj al teksto malpermesitaj"
+
+msgid "-b\t\t\tBinary mode"
+msgstr "-b\t\t\tDuuma reĝimo"
+
+msgid "-l\t\t\tLisp mode"
+msgstr "-l\t\t\tReĝimo Lisp"
+
+msgid "-C\t\t\tCompatible with Vi: 'compatible'"
+msgstr "-C\t\t\tKongrua kun Vi: 'compatible'"
+
+msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'"
+msgstr "-N\t\t\tNe tute kongrua kun Vi: 'nocompatible'"
+
+msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]"
+msgstr ""
+"-V[N][dosiernomo]\tEsti babilema [nivelo N] [konservi mesaĝojn al dosiernomo]"
+
+msgid "-D\t\t\tDebugging mode"
+msgstr "-D\t\t\tSencimiga reĝimo"
+
+msgid "-n\t\t\tNo swap file, use memory only"
+msgstr "-n\t\t\tNeniu permutodosiero .swp, uzas nur memoron"
+
+msgid "-r\t\t\tList swap files and exit"
+msgstr "-r\t\t\tListigi permutodosierojn .swp kaj eliri"
+
+msgid "-r (with file name)\tRecover crashed session"
+msgstr "-r (kun dosiernomo)\tRestaŭri kolapsitan seancon"
+
+msgid "-L\t\t\tSame as -r"
+msgstr "-L\t\t\tKiel -r"
+
+msgid "-f\t\t\tDon't use newcli to open window"
+msgstr "-f\t\t\tNe uzi newcli por malfermi fenestrojn"
+
+msgid "-dev <device>\t\tUse <device> for I/O"
+msgstr "-dev <aparatdosiero>\t\tUzi <aparatdosiero>-n por eneligo"
+
+msgid "-A\t\t\tstart in Arabic mode"
+msgstr "-A\t\t\tKomenci en araba reĝimo"
+
+msgid "-H\t\t\tStart in Hebrew mode"
+msgstr "-H\t\t\tKomenci en hebrea reĝimo"
+
+msgid "-F\t\t\tStart in Farsi mode"
+msgstr "-F\t\t\tKomenci en persa reĝimo"
+
+msgid "-T <terminal>\tSet terminal type to <terminal>"
+msgstr "-T <terminalo>\tAgordi terminalon al <terminalo>"
+
+msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc"
+msgstr "-u <vimrc>\t\tUzi <vimrc> anstataŭ iun ajn .vimrc"
+
+msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc"
+msgstr "-U <gvimrc>\t\tUzi <gvimrc> anstataŭ iun ajn .gvimrc"
+
+msgid "--noplugin\t\tDon't load plugin scripts"
+msgstr "--noplugin\t\tNe ŝargi kromaĵajn skriptojn"
+
+msgid "-p[N]\t\tOpen N tab pages (default: one for each file)"
+msgstr "-p[N]\t\tMalfermi N langetojn (defaŭlto: po unu por ĉiu dosiero)"
+
+msgid "-o[N]\t\tOpen N windows (default: one for each file)"
+msgstr "-o[N]\t\tMalfermi N fenestrojn (defaŭlto: po unu por ĉiu dosiero)"
+
+msgid "-O[N]\t\tLike -o but split vertically"
+msgstr "-O[N]\t\tKiel -o sed dividi vertikale"
+
+msgid "+\t\t\tStart at end of file"
+msgstr "+\t\t\tKomenci ĉe la fino de la dosiero"
+
+msgid "+<lnum>\t\tStart at line <lnum>"
+msgstr "+<numL>\t\tKomenci ĉe linio <numL>"
+
+msgid "--cmd <command>\tExecute <command> before loading any vimrc file"
+msgstr ""
+"--cmd <komando>\tPlenumi <komando>-n antaŭ ol ŝargi iun ajn dosieron vimrc"
+
+msgid "-c <command>\t\tExecute <command> after loading the first file"
+msgstr "-c <komando>\t\tPlenumi <komando>-n post kiam la unua dosiero ŝargiĝis"
+
+msgid "-S <session>\t\tSource file <session> after loading the first file"
+msgstr ""
+"-S <seanco>\t\tRuli dosieron <seanco>-n post kiam la unua dosiero ŝargiĝis"
+
+msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>"
+msgstr "-s <skripto>\t\tLegi komandojn en Normala reĝimo el dosiero <skripto>"
+
+msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>"
+msgstr ""
+"-w <eligaskripto>\tPostaldoni ĉiujn tajpitajn komandojn al dosiero "
+"<eligaskripto>"
+
+msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>"
+msgstr ""
+"-W <eligaskripto>\tSkribi ĉiujn tajpitajn komandojn al dosiero <eligaskripto>"
+
+msgid "-x\t\t\tEdit encrypted files"
+msgstr "-x\t\t\tRedakti ĉifradan dosieron"
+
+msgid "-display <display>\tConnect vim to this particular X-server"
+msgstr "-display <ekrano>\tKonekti Vim al tiu X-servilo"
+
+msgid "-X\t\t\tDo not connect to X server"
+msgstr "-X\t\t\tNe konekti al X-servilo"
+
+msgid "--remote <files>\tEdit <files> in a Vim server if possible"
+msgstr "--remote <fich>\tRedakti <dosierojn> en Vim-servilo se eblas"
+
+msgid "--remote-silent <files>  Same, don't complain if there is no server"
+msgstr "--remote-silent <dosierojn>  Same, sed ne plendi se ne estas servilo"
+
+msgid ""
+"--remote-wait <files>  As --remote but wait for files to have been edited"
+msgstr ""
+"--remote-wait <dosierojn>  Kiel --remote sed atendi ĝis dosieroj estas "
+"redaktitaj"
+
+msgid ""
+"--remote-wait-silent <files>  Same, don't complain if there is no server"
+msgstr ""
+"--remote-wait-silent <dosieroj> Same, sed ne plendi se ne estas servilo"
+
+msgid ""
+"--remote-tab[-wait][-silent] <files>  As --remote but use tab page per file"
+msgstr ""
+"--remote-tab[-wait][-silent] <dosieroj> Kiel --remote sed uzi langeton por ĉiu dosiero"
+
+msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit"
+msgstr "--remote-send <klavoj> Sendi <klavoj>-n al Vim-servilo kaj eliri"
+
+msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result"
+msgstr "--remote-expr <espr>\tKomputi <espr> en Vim-servilo kaj afiŝi rezulton"
+
+msgid "--serverlist\t\tList available Vim server names and exit"
+msgstr "--serverlist\t\tListigi haveblajn nomojn de Vim-serviloj kaj eliri"
+
+msgid "--servername <name>\tSend to/become the Vim server <name>"
+msgstr "--servername <nomo>\tSendu al/iĝi la Vim-servilo <nomo>"
+
+msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
+msgstr "-i <viminfo>\t\tUzi <viminfo> anstataŭ .viminfo"
+
+msgid "-h  or  --help\tPrint Help (this message) and exit"
+msgstr "-h  aŭ  --help\tAfiŝi Helpon (tiun mesaĝon) kaj eliri"
+
+msgid "--version\t\tPrint version information and exit"
+msgstr "--version\t\tAfiŝi informon de versio kaj eliri"
+
+msgid ""
+"\n"
+"Arguments recognised by gvim (Motif version):\n"
+msgstr ""
+"\n"
+"Argumentoj agnoskitaj de gvim (versio Motif):\n"
+
+msgid ""
+"\n"
+"Arguments recognised by gvim (neXtaw version):\n"
+msgstr ""
+"\n"
+"Argumentoj agnoskitaj de gvim (versio neXtaw):\n"
+
+msgid ""
+"\n"
+"Arguments recognised by gvim (Athena version):\n"
+msgstr ""
+"\n"
+"Argumentoj agnoskitaj de gvim (versio Athena):\n"
+
+msgid "-display <display>\tRun vim on <display>"
+msgstr "-display <ekrano>\tLanĉi vim sur <ekrano>"
+
+msgid "-iconic\t\tStart vim iconified"
+msgstr "-iconic\t\tLanĉi vim piktograme"
+
+msgid "-name <name>\t\tUse resource as if vim was <name>"
+msgstr "-name <nomo>\t\tUzi rimedon kvazaŭ vim estus <nomo>"
+
+msgid "\t\t\t  (Unimplemented)\n"
+msgstr "\t\t\t  (Nerealigita)\n"
+
+msgid "-background <color>\tUse <color> for the background (also: -bg)"
+msgstr "-background <koloro>\tUzi <koloro>-n por la fona koloro (ankaŭ: -bg)"
+
+msgid "-foreground <color>\tUse <color> for normal text (also: -fg)"
+msgstr ""
+"-foreground <koloro>\tUzi <koloro>-n por la malfona koloro (ankaŭ: -fg)"
+
+msgid "-font <font>\t\tUse <font> for normal text (also: -fn)"
+msgstr "-font <tiparo>\tUzi <tiparo>-n por normala teksto (ankaŭ: -fn)"
+
+msgid "-boldfont <font>\tUse <font> for bold text"
+msgstr "-boldfont <tiparo>\tUzi <tiparo>-n por grasa teksto"
+
+msgid "-italicfont <font>\tUse <font> for italic text"
+msgstr "-italicfont <tiparo>\tUzi <tiparo>-n por kursiva teksto"
+
+msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)"
+msgstr "-geometry <geom>\tUzi <geom> kiel komenca geometrio (ankaŭ: -geom)"
+
+msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)"
+msgstr "-borderwidth <larĝo>\tUzi <larĝo>-n kiel larĝo de bordero (ankaŭ: -bw)"
+
+msgid "-scrollbarwidth <width>  Use a scrollbar width of <width> (also: -sw)"
+msgstr ""
+"-scrollbarwidth <larĝo>  Uzi <larĝo>-n kiel larĝo de rulumskalo (ankaŭ: -sw)"
+
+msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)"
+msgstr ""
+"-menuheight <alto>\tUzi <alto>-n kiel alto de menuzona alto (ankaŭ: -mh)"
+
+msgid "-reverse\t\tUse reverse video (also: -rv)"
+msgstr "-reverse\t\tUzi inversan videon (ankaŭ: -rv)"
+
+msgid "+reverse\t\tDon't use reverse video (also: +rv)"
+msgstr "+reverse\t\t\t Ne uzi inversan videon (ankaŭ: +rv)"
+
+msgid "-xrm <resource>\tSet the specified resource"
+msgstr "-xrm <rimedo>\tAgordi la specifitan <rimedo>-n"
+
+msgid ""
+"\n"
+"Arguments recognised by gvim (RISC OS version):\n"
+msgstr ""
+"\n"
+"Argumentoj agnoskitaj de gvim (versio RISC OS):\n"
+
+msgid "--columns <number>\tInitial width of window in columns"
+msgstr "--columns <nombro>\tKomenca larĝo de fenestro en kolumnoj"
+
+msgid "--rows <number>\tInitial height of window in rows"
+msgstr "--rows <nombro>\tKomenca alto de fenestro en vicoj"
+
+msgid ""
+"\n"
+"Arguments recognised by gvim (GTK+ version):\n"
+msgstr ""
+"\n"
+"Argumentoj agnoskitaj de gvim (versio GTK+):\n"
+
+msgid "-display <display>\tRun vim on <display> (also: --display)"
+msgstr "-display <ekrano>\tLanĉi Vim sur tiu <ekrano> (ankaŭ: --display)"
+
+msgid "--role <role>\tSet a unique role to identify the main window"
+msgstr "--role <rolo>\tDoni unikan rolon por identigi la ĉefan fenestron"
+
+msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
+msgstr "--socketid <xid>\tMalfermi Vim en alia GTK fenestraĵo"
+
+msgid "-P <parent title>\tOpen Vim inside parent application"
+msgstr "-P <gepatra titolo>\tMalfermi Vim en gepatra aplikaĵo"
+
+msgid "--windowid <HWND>\tOpen Vim inside another win32 widget"
+msgstr "--windowid <HWND>\tMalfermi Vim en alia win32 fenestraĵo"
+
+msgid "No display"
+msgstr "Neniu ekrano"
+
+#. Failed to send, abort.
+msgid ": Send failed.\n"
+msgstr ": Sendo fiaskis.\n"
+
+#. Let vim start normally.
+msgid ": Send failed. Trying to execute locally\n"
+msgstr ": Sendo fiaskis. Provo de loka plenumo\n"
+
+#, c-format
+msgid "%d of %d edited"
+msgstr "%d de %d redaktita(j)"
+
+msgid "No display: Send expression failed.\n"
+msgstr "Neniu ekrano: Sendado de esprimo fiaskis.\n"
+
+msgid ": Send expression failed.\n"
+msgstr ": Sendado de esprimo fiaskis.\n"
+
+msgid "No marks set"
+msgstr "Neniu marko"
+
+#, c-format
+msgid "E283: No marks matching \"%s\""
+msgstr "E283: Neniu marko kongruas kun \"%s\""
+
+#. Highlight title
+msgid ""
+"\n"
+"mark line  col file/text"
+msgstr ""
+"\n"
+"mark linio kol dosiero/teksto"
+
+#. Highlight title
+msgid ""
+"\n"
+" jump line  col file/text"
+msgstr ""
+"\n"
+" salt linio kol dosiero/teksto"
+
+#. Highlight title
+msgid ""
+"\n"
+"change line  col text"
+msgstr ""
+"\n"
+"ŝanĝo  linio kol teksto"
+
+#, c-format
+msgid ""
+"\n"
+"# File marks:\n"
+msgstr ""
+"\n"
+"# Markoj de dosiero:\n"
+
+#. Write the jumplist with -'
+#, c-format
+msgid ""
+"\n"
+"# Jumplist (newest first):\n"
+msgstr ""
+"\n"
+"# Saltlisto (plej novaj unue):\n"
+
+#, c-format
+msgid ""
+"\n"
+"# History of marks within files (newest to oldest):\n"
+msgstr ""
+"\n"
+"# Historio de markoj en dosieroj (de plej nova al plej malnova):\n"
+
+msgid "Missing '>'"
+msgstr "Mankas '>'"
+
+msgid "E543: Not a valid codepage"
+msgstr "E543: Nevalida kodpaĝo"
+
+msgid "E284: Cannot set IC values"
+msgstr "E284: Ne eblas agordi valorojn de IC"
+
+msgid "E285: Failed to create input context"
+msgstr "E285: Ne eblis krei enigan kuntekston"
+
+msgid "E286: Failed to open input method"
+msgstr "E286: Ne eblis malfermi enigan metodon"
+
+msgid "E287: Warning: Could not set destroy callback to IM"
+msgstr "E287: Averto: Ne eblis agordi detruan reagfunkcion al IM"
+
+msgid "E288: input method doesn't support any style"
+msgstr "E288: eniga metodo subtenas neniun stilon"
+
+# DP: mi ne scias, kio estas "preedit"
+msgid "E289: input method doesn't support my preedit type"
+msgstr "E289: eniga metodo ne subtenas mian antaŭredaktan tipon"
+
+msgid "E290: over-the-spot style requires fontset"
+msgstr "E290: la stilo over-the-spot bezonas tiparon"
+
+msgid "E291: Your GTK+ is older than 1.2.3. Status area disabled"
+msgstr "E291: Via GTK+ estas pli malnova ol 1.2.3. Stata zono malŝaltita"
+
+msgid "E292: Input Method Server is not running"
+msgstr "E292: Servilo de eniga metodo ne rulas"
+
+msgid "E293: block was not locked"
+msgstr "E293: bloko ne estis ŝlosita"
+
+msgid "E294: Seek error in swap file read"
+msgstr "E294: Eraro de enpoziciigo dum lego de permutodosiero .swp"
+
+msgid "E295: Read error in swap file"
+msgstr "E295: Eraro de lego en permutodosiero .swp"
+
+msgid "E296: Seek error in swap file write"
+msgstr "E296: Eraro de enpoziciigo dum skribo de permutodosiero .swp"
+
+msgid "E297: Write error in swap file"
+msgstr "E297: Eraro de skribo en permutodosiero .swp"
+
+msgid "E300: Swap file already exists (symlink attack?)"
+msgstr "E300: Permutodosiero .swp jam ekzistas (ĉu atako per simbola ligilo?)"
+
+msgid "E298: Didn't get block nr 0?"
+msgstr "E298: Ĉu ne akiris blokon n-ro 0?"
+
+msgid "E298: Didn't get block nr 1?"
+msgstr "E298: Ĉu ne akiris blokon n-ro 1?"
+
+msgid "E298: Didn't get block nr 2?"
+msgstr "E298: Ĉu ne akiris blokon n-ro 2?"
+
+#. could not (re)open the swap file, what can we do????
+msgid "E301: Oops, lost the swap file!!!"
+msgstr "E301: Ve, perdis la permutodosieron .swp!!!"
+
+msgid "E302: Could not rename swap file"
+msgstr "E302: Ne eblis renomi la permutodosieron .swp"
+
+#, c-format
+msgid "E303: Unable to open swap file for \"%s\", recovery impossible"
+msgstr "E303: Ne eblas malfermi permutodosieron .swp de \"%s\", restaŭro neeblas"
+
+msgid "E304: ml_upd_block0(): Didn't get block 0??"
+msgstr "E304: ml_upd_block0(): Ne akiris blokon 0??"
+
+#, c-format
+msgid "E305: No swap file found for %s"
+msgstr "E305: Neniu permutodosiero .swp trovita por %s"
+
+msgid "Enter number of swap file to use (0 to quit): "
+msgstr "Entajpu la uzendan numeron de permutodosiero .swp (0 por eliri): "
+
+#, c-format
+msgid "E306: Cannot open %s"
+msgstr "E306: Ne eblas malfermi %s"
+
+msgid "Unable to read block 0 from "
+msgstr "Ne eblas legi blokon 0 de "
+
+msgid ""
+"\n"
+"Maybe no changes were made or Vim did not update the swap file."
+msgstr ""
+"\n"
+"Eble neniu ŝanĝo estis farita aŭ Vim ne ĝisdatigis la permutodosieron .swp."
+
+msgid " cannot be used with this version of Vim.\n"
+msgstr " ne uzeblas per tiu versio de vim.\n"
+
+msgid "Use Vim version 3.0.\n"
+msgstr "Uzu version 3.0 de Vim\n"
+
+#, c-format
+msgid "E307: %s does not look like a Vim swap file"
+msgstr "E307: %s ne aspektas kiel permutodosiero .swp de Vim"
+
+msgid " cannot be used on this computer.\n"
+msgstr " ne uzeblas per tiu komputilo.\n"
+
+msgid "The file was created on "
+msgstr "La dosiero estas kreita je "
+
+msgid ""
+",\n"
+"or the file has been damaged."
+msgstr ""
+",\n"
+"aŭ la dosiero estas difekta."
+
+msgid " has been damaged (page size is smaller than minimum value).\n"
+msgstr " difektiĝis (paĝa grando pli malgranda ol minimuma valoro).\n"
+
+#, c-format
+msgid "Using swap file \"%s\""
+msgstr "Uzado de permutodosiero .swp \"%s\""
+
+#, c-format
+msgid "Original file \"%s\""
+msgstr "Originala dosiero \"%s\""
+
+msgid "E308: Warning: Original file may have been changed"
+msgstr "E308: Averto: Originala dosiero eble ŝanĝiĝis"
+
+#, c-format
+msgid "E309: Unable to read block 1 from %s"
+msgstr "E309: Ne eblas legi blokon 1 de %s"
+
+msgid "???MANY LINES MISSING"
+msgstr "???MULTAJ LINIOJ MANKAS"
+
+msgid "???LINE COUNT WRONG"
+msgstr "???NOMBRO DE LINIOJ NE ĜUSTAS"
+
+msgid "???EMPTY BLOCK"
+msgstr "???MALPLENA BLOKO"
+
+msgid "???LINES MISSING"
+msgstr "???LINIOJ MANKANTAJ"
+
+#, c-format
+msgid "E310: Block 1 ID wrong (%s not a .swp file?)"
+msgstr ""
+"E310: Nevalida identigilo de bloko 1 (ĉu %s ne estas permutodosiero .swp?)"
+
+msgid "???BLOCK MISSING"
+msgstr "???MANKAS BLOKO"
+
+msgid "??? from here until ???END lines may be messed up"
+msgstr "??? ekde tie ĝis ???FINO linioj estas eble difektaj"
+
+msgid "??? from here until ???END lines may have been inserted/deleted"
+msgstr "??? ekde tie ĝis ???FINO linioj estas eble enmetitaj/forviŝitaj"
+
+msgid "???END"
+msgstr "???FINO"
+
+msgid "E311: Recovery Interrupted"
+msgstr "E311: Restaŭro interrompita"
+
+msgid ""
+"E312: Errors detected while recovering; look for lines starting with ???"
+msgstr "E312: Eraroj dum restaŭro; rigardu liniojn komencantajn per ???"
+
+msgid "See \":help E312\" for more information."
+msgstr "Vidu \":help E312\" por pliaj informoj."
+
+msgid "Recovery completed. You should check if everything is OK."
+msgstr "Restaŭro finiĝis. Indus kontroli ĉu ĉio estas en ordo."
+
+msgid ""
+"\n"
+"(You might want to write out this file under another name\n"
+msgstr ""
+"\n"
+"(Indas konservi tiun dosieron per alia nomo\n"
+
+msgid "and run diff with the original file to check for changes)\n"
+msgstr "kaj lanĉi diff kun la originala dosiero por kontroli la ŝanĝojn)\n"
+
+msgid ""
+"Delete the .swp file afterwards.\n"
+"\n"
+msgstr ""
+"Poste forviŝi la permutodosieron .swp.\n"
+"\n"
+
+#. use msg() to start the scrolling properly
+msgid "Swap files found:"
+msgstr "Permutodosiero .swp trovita:"
+
+msgid "   In current directory:\n"
+msgstr "   En la aktuala dosierujo:\n"
+
+msgid "   Using specified name:\n"
+msgstr "   Uzado de specifita nomo:\n"
+
+msgid "   In directory "
+msgstr "   En dosierujo "
+
+msgid "      -- none --\n"
+msgstr "     -- nenio --\n"
+
+msgid "          owned by: "
+msgstr "       posedata de: "
+
+msgid "   dated: "
+msgstr "    dato: "
+
+msgid "             dated: "
+msgstr "              dato: "
+
+msgid "         [from Vim version 3.0]"
+msgstr "         [de Vim versio 3.0]"
+
+msgid "         [does not look like a Vim swap file]"
+msgstr "         [ne aspektas kiel permutodosiero .swp de Vim]"
+
+msgid "         file name: "
+msgstr "        dosiernomo: "
+
+msgid ""
+"\n"
+"          modified: "
+msgstr ""
+"\n"
+"          modifita: "
+
+msgid "YES"
+msgstr "JES"
+
+msgid "no"
+msgstr "ne"
+
+msgid ""
+"\n"
+"         user name: "
+msgstr ""
+"\n"
+"        uzantonomo: "
+
+msgid "   host name: "
+msgstr " komputila nomo: "
+
+msgid ""
+"\n"
+"         host name: "
+msgstr ""
+"\n"
+"    komputila nomo: "
+
+msgid ""
+"\n"
+"        process ID: "
+msgstr ""
+"\n"
+"        proceza ID: "
+
+msgid " (still running)"
+msgstr " (ankoraŭ rulas)"
+
+msgid ""
+"\n"
+"         [not usable with this version of Vim]"
+msgstr ""
+"\n"
+"         [ne uzebla per tiu versio de Vim]"
+
+msgid ""
+"\n"
+"         [not usable on this computer]"
+msgstr ""
+"\n"
+"         [neuzebla per tiu komputilo]"
+
+msgid "         [cannot be read]"
+msgstr "         [nelegebla]"
+
+msgid "         [cannot be opened]"
+msgstr "         [nemalfermebla]"
+
+msgid "E313: Cannot preserve, there is no swap file"
+msgstr "E313: Ne eblas konservi, ne estas permutodosiero .swp"
+
+msgid "File preserved"
+msgstr "Dosiero konservita"
+
+msgid "E314: Preserve failed"
+msgstr "E314: Konservo fiaskis"
+
+#, c-format
+msgid "E315: ml_get: invalid lnum: %ld"
+msgstr "E315: ml_get: nevalida lnum: %ld"
+
+#, c-format
+msgid "E316: ml_get: cannot find line %ld"
+msgstr "E316: ml_get: ne eblas trovi linion %ld"
+
+msgid "E317: pointer block id wrong 3"
+msgstr "E317: nevalida referenco de bloko id 3"
+
+msgid "stack_idx should be 0"
+msgstr "stack_idx devus esti 0"
+
+msgid "E318: Updated too many blocks?"
+msgstr "E318: Ĉu ĝisdatigis tro da blokoj?"
+
+msgid "E317: pointer block id wrong 4"
+msgstr "E317: nevalida referenco de bloko id 4"
+
+msgid "deleted block 1?"
+msgstr "ĉu forviŝita bloko 1?"
+
+#, c-format
+msgid "E320: Cannot find line %ld"
+msgstr "E320: Ne eblas trovi linion %ld"
+
+msgid "E317: pointer block id wrong"
+msgstr "E317: nevalida referenco de bloko id"
+
+msgid "pe_line_count is zero"
+msgstr "pe_line_count estas nul"
+
+#, c-format
+msgid "E322: line number out of range: %ld past the end"
+msgstr "E322: numero de linio ekster limoj: %ld preter la fino"
+
+#, c-format
+msgid "E323: line count wrong in block %ld"
+msgstr "E323: nevalida nombro de linioj en bloko %ld"
+
+msgid "Stack size increases"
+msgstr "Stako pligrandiĝas"
+
+msgid "E317: pointer block id wrong 2"
+msgstr "E317: nevalida referenco de bloko id 2"
+
+#, c-format
+msgid "E773: Symlink loop for \"%s\""
+msgstr "E773: Buklo de simbolaj ligiloj por \"%s\""
+
+msgid "E325: ATTENTION"
+msgstr "E325: ATENTO"
+
+msgid ""
+"\n"
+"Found a swap file by the name \""
+msgstr ""
+"\n"
+"Trovis permutodosieron .swp kun la nomo \""
+
+msgid "While opening file \""
+msgstr "Dum malfermo de dosiero \""
+
+msgid "      NEWER than swap file!\n"
+msgstr "      PLI NOVA ol permutodosiero .swp!\n"
+
+#. Some of these messages are long to allow translation to
+#. * other languages.
+msgid ""
+"\n"
+"(1) Another program may be editing the same file.\n"
+"    If this is the case, be careful not to end up with two\n"
+"    different instances of the same file when making changes.\n"
+msgstr ""
+"\n"
+"(1) Alia programo eble redaktas la saman dosieron.\n"
+"    Se jes, estu singarda por ne havi du malsamajn\n"
+"    aperojn de la sama dosiero, kiam vi faros ŝanĝojn.\n"
+
+msgid "    Quit, or continue with caution.\n"
+msgstr "    Eliru, aŭ daŭrigu singarde.\n"
+
+msgid ""
+"\n"
+"(2) An edit session for this file crashed.\n"
+msgstr ""
+"\n"
+"(2) Redakta seanco de tiu dosiero kolapsis.\n"
+
+msgid "    If this is the case, use \":recover\" or \"vim -r "
+msgstr "    Se veras, uzu \":recover\" aŭ \"vim -r "
+
+msgid ""
+"\"\n"
+"    to recover the changes (see \":help recovery\").\n"
+msgstr ""
+"\"\n"
+"    por restaŭri la ŝanĝojn (vidu \":help recovery\").\n"
+
+msgid "    If you did this already, delete the swap file \""
+msgstr "    Se vi jam faris ĝin, forviŝu la permutodosieron .swp \""
+
+msgid ""
+"\"\n"
+"    to avoid this message.\n"
+msgstr ""
+"\"\n"
+"    por eviti tiun mesaĝon.\n"
+
+msgid "Swap file \""
+msgstr "Permutodosiero .swp \""
+
+msgid "\" already exists!"
+msgstr "\" jam ekzistas!"
+
+msgid "VIM - ATTENTION"
+msgstr "VIM - ATENTO"
+
+msgid "Swap file already exists!"
+msgstr "Permutodosiero .swp jam ekzistas!"
+
+# AM: ĉu Vim konvertos la unuliterajn respondojn de la uzulo?
+# DP: jes, la '&' respondoj bone funkcias (mi kontrolis)
+msgid ""
+"&Open Read-Only\n"
+"&Edit anyway\n"
+"&Recover\n"
+"&Quit\n"
+"&Abort"
+msgstr ""
+"&Malfermi nurlegreĝime\n"
+"Tamen &redakti\n"
+"Res&taŭri\n"
+"&Eliri\n"
+"Ĉe&sigi"
+
+msgid ""
+"&Open Read-Only\n"
+"&Edit anyway\n"
+"&Recover\n"
+"&Delete it\n"
+"&Quit\n"
+"&Abort"
+msgstr ""
+"&Malfermi nurlegreĝime\n"
+"Tamen &redakti\n"
+"Res&taŭri\n"
+"&Forviŝi\n"
+"&Eliri\n"
+"Ĉe&sigi"
+
+msgid "E326: Too many swap files found"
+msgstr "E326: Tro da dosieroj trovitaj"
+
+msgid "E327: Part of menu-item path is not sub-menu"
+msgstr "E327: Parto de vojo de menuero ne estas sub-menuo"
+
+msgid "E328: Menu only exists in another mode"
+msgstr "E328: Menuo nur ekzistas en alia reĝimo"
+
+#, c-format
+msgid "E329: No menu \"%s\""
+msgstr "E329: Neniu menuo \"%s\""
+
+#. Only a mnemonic or accelerator is not valid.
+msgid "E792: Empty menu name"
+msgstr "E792: Malplena nomo de menuo"
+
+msgid "E330: Menu path must not lead to a sub-menu"
+msgstr "E330: Vojo de menuo ne rajtas konduki al sub-menuo."
+
+msgid "E331: Must not add menu items directly to menu bar"
+msgstr "E331: Aldono de menueroj direkte al menuzono estas malpermesita"
+
+msgid "E332: Separator cannot be part of a menu path"
+msgstr "E332: Disigilo ne rajtas esti ero de vojo de menuo"
+
+#. Now we have found the matching menu, and we list the mappings
+#. Highlight title
+msgid ""
+"\n"
+"--- Menus ---"
+msgstr ""
+"\n"
+"--- Menuoj ---"
+
+msgid "Tear off this menu"
+msgstr "Disigi tiun menuon"
+
+msgid "E333: Menu path must lead to a menu item"
+msgstr "E333: Vojo de menuo devas konduki al menuero"
+
+#, c-format
+msgid "E334: Menu not found: %s"
+msgstr "E334: Menuo netrovita: %s"
+
+#, c-format
+msgid "E335: Menu not defined for %s mode"
+msgstr "E335: Menuo ne estas difinita por reĝimo %s"
+
+msgid "E336: Menu path must lead to a sub-menu"
+msgstr "E336: Vojo de menuo devas konduki al sub-menuo"
+
+msgid "E337: Menu not found - check menu names"
+msgstr "E337: Menuo ne trovita - kontrolu nomojn de menuoj"
+
+#, c-format
+msgid "Error detected while processing %s:"
+msgstr "Eraro okazis dum traktado de %s:"
+
+#, c-format
+msgid "line %4ld:"
+msgstr "linio %4ld:"
+
+#, c-format
+msgid "E354: Invalid register name: '%s'"
+msgstr "E354: Nevalida nomo de reĝistro: '%s'"
+
+msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>"
+msgstr "Flegado de mesaĝoj: Dominique PELLÉ <dominique.pelle@free.fr>"
+
+msgid "Interrupt: "
+msgstr "Interrompo: "
+
+msgid "Press ENTER or type command to continue"
+msgstr "Premu ENEN-KLAVON aŭ tajpu komandon por daŭrigi"
+
+#, c-format
+msgid "%s line %ld"
+msgstr "%s linio %ld"
+
+msgid "-- More --"
+msgstr "-- Pli --"
+
+msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit "
+msgstr " SPACETO/d/j: ekrano/paĝo/sub linio, b/u/k: supre, q: eliri "
+
+msgid "Question"
+msgstr "Demando"
+
+msgid ""
+"&Yes\n"
+"&No"
+msgstr ""
+"&Jes\n"
+"&Ne"
+
+# AM: ĉu Vim konvertos unuliterajn respondojn?
+# DP: jes, '&' bone funkcias (mi kontrolis)
+msgid ""
+"&Yes\n"
+"&No\n"
+"Save &All\n"
+"&Discard All\n"
+"&Cancel"
+msgstr ""
+"&Jes\n"
+"&Ne\n"
+"&Konservi Ĉion\n"
+"&Forlasi Ĉion\n"
+"&Rezigni"
+
+msgid "Select Directory dialog"
+msgstr "Dialogujo de dosiera elekto"
+
+msgid "Save File dialog"
+msgstr "Dialogujo de dosiera konservo"
+
+msgid "Open File dialog"
+msgstr "Dialogujo de dosiera malfermo"
+
+#. TODO: non-GUI file selector here
+msgid "E338: Sorry, no file browser in console mode"
+msgstr "E338: Bedaŭrinde ne estas dosierfoliumilo en konzola reĝimo"
+
+msgid "E766: Insufficient arguments for printf()"
+msgstr "E766: Ne sufiĉaj argumentoj por printf()"
+
+msgid "E767: Too many arguments to printf()"
+msgstr "E767: Tro da argumentoj al printf()"
+
+msgid "W10: Warning: Changing a readonly file"
+msgstr "W10: Averto: Ŝanĝo de nurlegebla dosiero"
+
+msgid "Type number or click with mouse (<Enter> cancels): "
+msgstr "Tajpu nombron aŭ musklaku (<Enen-klavo> rezignas): "
+
+msgid "Choice number (<Enter> cancels): "
+msgstr "Tajpu numeron (<Enen-klavo> rezignas): "
+
+msgid "1 more line"
+msgstr "1 plia linio"
+
+msgid "1 line less"
+msgstr "1 malplia linio"
+
+#, c-format
+msgid "%ld more lines"
+msgstr "%ld pliaj linioj"
+
+#, c-format
+msgid "%ld fewer lines"
+msgstr "%ld malpliaj linioj"
+
+msgid " (Interrupted)"
+msgstr " (Interrompita)"
+
+msgid "Beep!"
+msgstr "Bip!"
+
+msgid "Vim: preserving files...\n"
+msgstr "Vim: konservo de dosieroj...\n"
+
+#. close all memfiles, without deleting
+msgid "Vim: Finished.\n"
+msgstr "Vim: Finita.\n"
+
+#, c-format
+msgid "ERROR: "
+msgstr "ERARO: "
+
+#, c-format
+msgid ""
+"\n"
+"[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n"
+msgstr ""
+"\n"
+"[bajtoj] totalaj disponigitaj/maldisponigitaj %lu-%lu, nun uzataj %lu, "
+"kulmina uzo %lu\n"
+
+#, c-format
+msgid ""
+"[calls] total re/malloc()'s %lu, total free()'s %lu\n"
+"\n"
+msgstr ""
+"[alvokoj] totalaj re/malloc() %lu, totalaj free() %lu\n"
+"\n"
+
+msgid "E340: Line is becoming too long"
+msgstr "E340: Linio iĝas tro longa"
+
+#, c-format
+msgid "E341: Internal error: lalloc(%ld, )"
+msgstr "E341: Interna eraro: lalloc(%ld, )"
+
+#, c-format
+msgid "E342: Out of memory!  (allocating %lu bytes)"
+msgstr "E342: Ne plu restas memoro! (disponigo de %lu bajtoj)"
+
+#, c-format
+msgid "Calling shell to execute: \"%s\""
+msgstr "Alvokas ŝelon por plenumi: \"%s\""
+
+msgid "E545: Missing colon"
+msgstr "E545: Mankas dupunkto"
+
+msgid "E546: Illegal mode"
+msgstr "E546: Reĝimo nepermesata"
+
+msgid "E547: Illegal mouseshape"
+msgstr "E547: Nevalida formo de muskursoro"
+
+msgid "E548: digit expected"
+msgstr "E548: cifero atendata"
+
+msgid "E549: Illegal percentage"
+msgstr "E549: Nevalida procento"
+
+msgid "Enter encryption key: "
+msgstr "Tajpu la ŝlosilon de ĉifrado: "
+
+msgid "Enter same key again: "
+msgstr "Tajpu la ŝlosilon denove: "
+
+msgid "Keys don't match!"
+msgstr "Ŝlosiloj ne kongruas!"
+
+#, c-format
+msgid ""
+"E343: Invalid path: '**[number]' must be at the end of the path or be "
+"followed by '%s'."
+msgstr ""
+"E343: Nevalida vojo: '**[nombro]' devas esti ĉe la fino de la vojo aŭ "
+"sekvita de '%s'."
+
+#, c-format
+msgid "E344: Can't find directory \"%s\" in cdpath"
+msgstr "E344: Ne eblas trovi dosierujon \"%s\" en cdpath"
+
+#, c-format
+msgid "E345: Can't find file \"%s\" in path"
+msgstr "E345: Ne eblas trovi dosieron \"%s\" en serĉvojo"
+
+#, c-format
+msgid "E346: No more directory \"%s\" found in cdpath"
+msgstr "E346: Ne plu trovis dosierujon \"%s\" en cdpath"
+
+#, c-format
+msgid "E347: No more file \"%s\" found in path"
+msgstr "E347: Ne plu trovis dosieron \"%s\" en serĉvojo"
+
+#. Get here when the server can't be found.
+msgid "Cannot connect to Netbeans #2"
+msgstr "Ne eblas konekti al Netbeans n-ro 2"
+
+msgid "Cannot connect to Netbeans"
+msgstr "Ne eblas konekti al Netbeans"
+
+#, c-format
+msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
+msgstr "E668: Nevalida permeso de dosiero de informo de konekto NetBeans: \"%s\""
+
+msgid "read from Netbeans socket"
+msgstr "lego el kontaktoskatolo de Netbeans"
+
+#, c-format
+msgid "E658: NetBeans connection lost for buffer %ld"
+msgstr "E658: Konekto de NetBeans perdita por bufro %ld"
+
+msgid "E505: "
+msgstr "E505: "
+
+msgid "E774: 'operatorfunc' is empty"
+msgstr "E774: 'operatorfunc' estas malplena"
+
+# DP: ĉu Eval devas esti tradukita?
+msgid "E775: Eval feature not available"
+msgstr "E775: Eval eblo ne disponeblas"
+
+msgid "Warning: terminal cannot highlight"
+msgstr "Averto: terminalo ne povas emfazi"
+
+msgid "E348: No string under cursor"
+msgstr "E348: Neniu ĉeno sub la kursoro"
+
+msgid "E349: No identifier under cursor"
+msgstr "E349: Neniu identigilo sub la kursoro"
+
+msgid "E352: Cannot erase folds with current 'foldmethod'"
+msgstr "E352: Ne eblas forviŝi faldon per aktuala 'foldmethod'"
+
+msgid "E664: changelist is empty"
+msgstr "E664: Listo de ŝanĝoj estas malplena"
+
+msgid "E662: At start of changelist"
+msgstr "E662: Ĉe komenco de ŝanĝlisto"
+
+msgid "E663: At end of changelist"
+msgstr "E663: Ĉe fino de ŝanĝlisto"
+
+msgid "Type  :quit<Enter>  to exit Vim"
+msgstr "Tajpu \":quit<Enen-klavo>\" por eliri el Vim"
+
+#, c-format
+msgid "1 line %sed 1 time"
+msgstr "1 linio %sita 1 foje"
+
+#, c-format
+msgid "1 line %sed %d times"
+msgstr "1 linio %sita %d foje"
+
+#, c-format
+msgid "%ld lines %sed 1 time"
+msgstr "%ld linio %sita 1 foje"
+
+#, c-format
+msgid "%ld lines %sed %d times"
+msgstr "%ld linioj %sitaj %d foje"
+
+#, c-format
+msgid "%ld lines to indent... "
+msgstr "%ld krommarĝenendaj linioj... "
+
+msgid "1 line indented "
+msgstr "1 linio krommarĝenita "
+
+#, c-format
+msgid "%ld lines indented "
+msgstr "%ld linioj krommarĝenitaj "
+
+msgid "E748: No previously used register"
+msgstr "E748: Neniu reĝistro antaŭe uzata"
+
+#. must display the prompt
+msgid "cannot yank; delete anyway"
+msgstr "ne eblas kopii; forviŝi tamene"
+
+msgid "1 line changed"
+msgstr "1 linio ŝanĝita"
+
+#, c-format
+msgid "%ld lines changed"
+msgstr "%ld linioj ŝanĝitaj"
+
+#, c-format
+msgid "freeing %ld lines"
+msgstr "malokupas %ld liniojn"
+
+msgid "block of 1 line yanked"
+msgstr "bloko de 1 linio kopiita"
+
+msgid "1 line yanked"
+msgstr "1 linio kopiita"
+
+#, c-format
+msgid "block of %ld lines yanked"
+msgstr "bloko de %ld linioj kopiita"
+
+#, c-format
+msgid "%ld lines yanked"
+msgstr "%ld linioj kopiitaj"
+
+#, c-format
+msgid "E353: Nothing in register %s"
+msgstr "E353: Nenio en reĝistro %s"
+
+#. Highlight title
+msgid ""
+"\n"
+"--- Registers ---"
+msgstr ""
+"\n"
+"--- Reĝistroj ---"
+
+msgid "Illegal register name"
+msgstr "Nevalida nomo de reĝistro"
+
+#, c-format
+msgid ""
+"\n"
+"# Registers:\n"
+msgstr ""
+"\n"
+"# Reĝistroj:\n"
+
+#, c-format
+msgid "E574: Unknown register type %d"
+msgstr "E574: Nekonata tipo de reĝistro %d"
+
+#, c-format
+msgid "%ld Cols; "
+msgstr "%ld Kolumnoj; "
+
+#, c-format
+msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
+msgstr "Apartigis %s%ld de %ld Linioj; %ld de %ld Vortoj; %ld de %ld Bajtoj"
+
+#, c-format
+msgid ""
+"Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld "
+"Bytes"
+msgstr ""
+"Apartigis %s%ld de %ld Linioj; %ld de %ld Vortoj; %ld de %ld Signoj; %ld de %"
+"ld Bajtoj"
+
+#, c-format
+msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
+msgstr "Kol %s de %s; Linio %ld de %ld; Vorto %ld de %ld; Bajto %ld de %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 ""
+"Kol %s de %s; Linio %ld de %ld; Vorto %ld de %ld; Signo %ld de %ld; Bajto %"
+"ld de %ld"
+
+#, c-format
+msgid "(+%ld for BOM)"
+msgstr "(+%ld por BOM)"
+
+msgid "%<%f%h%m%=Page %N"
+msgstr "%<%f%h%m%=Folio %N"
+
+msgid "Thanks for flying Vim"
+msgstr "Dankon pro flugi per Vim"
+
+msgid "E518: Unknown option"
+msgstr "E518: Nekonata opcio"
+
+msgid "E519: Option not supported"
+msgstr "E519: Opcio ne subtenita"
+
+msgid "E520: Not allowed in a modeline"
+msgstr "E520: Ne permesita en reĝimlinio"
+
+msgid "E521: Number required after ="
+msgstr "E521: Nombro bezonata malantaŭ ="
+
+msgid "E522: Not found in termcap"
+msgstr "E522: Netrovita en termcap"
+
+#, c-format
+msgid "E539: Illegal character <%s>"
+msgstr "E539: Nevalida signo <%s>"
+
+msgid "E529: Cannot set 'term' to empty string"
+msgstr "E529: Ne eblas agordi 'term' al malplena ĉeno"
+
+msgid "E530: Cannot change term in GUI"
+msgstr "E530: term ne ŝanĝeblas en grafika interfaco"
+
+msgid "E531: Use \":gui\" to start the GUI"
+msgstr "E531: Uzu \":gui\" por lanĉi la grafikan interfacon"
+
+msgid "E589: 'backupext' and 'patchmode' are equal"
+msgstr "E589: 'backupext' kaj 'patchmode' estas egalaj"
+
+msgid "E617: Cannot be changed in the GTK+ 2 GUI"
+msgstr "E617: Ne ŝanĝeblas en la grafika interfaco GTK+ 2"
+
+msgid "E524: Missing colon"
+msgstr "E524: Mankas dupunkto"
+
+msgid "E525: Zero length string"
+msgstr "E525: Ĉeno de nula longo"
+
+#, c-format
+msgid "E526: Missing number after <%s>"
+msgstr "E526: Mankas nombro malantaŭ <%s>"
+
+msgid "E527: Missing comma"
+msgstr "E527: Mankas komo"
+
+msgid "E528: Must specify a ' value"
+msgstr "E528: Devas specifi ' valoron"
+
+msgid "E595: contains unprintable or wide character"
+msgstr "E595: enhavas nepreseblan aŭ plurĉellarĝan signon"
+
+msgid "E596: Invalid font(s)"
+msgstr "E596: Nevalida(j) tiparo(j)"
+
+msgid "E597: can't select fontset"
+msgstr "E597: ne eblas elekti tiparon"
+
+msgid "E598: Invalid fontset"
+msgstr "E598: Nevalida tiparo"
+
+msgid "E533: can't select wide font"
+msgstr "E533: ne eblas elekti larĝan tiparon"
+
+msgid "E534: Invalid wide font"
+msgstr "E534: Nevalida larĝa tiparo"
+
+#, c-format
+msgid "E535: Illegal character after <%c>"
+msgstr "E535: Nevalida signo malantaŭ <%c>"
+
+msgid "E536: comma required"
+msgstr "E536: komo bezonata"
+
+#, c-format
+msgid "E537: 'commentstring' must be empty or contain %s"
+msgstr "E537: 'commentstring' devas esti malplena aŭ enhavi %s"
+
+msgid "E538: No mouse support"
+msgstr "E538: Neniu muso subtenita"
+
+msgid "E540: Unclosed expression sequence"
+msgstr "E540: '}' mankas"
+
+msgid "E541: too many items"
+msgstr "E541: tro da elementoj"
+
+msgid "E542: unbalanced groups"
+msgstr "E542: misekvilibritaj grupoj"
+
+msgid "E590: A preview window already exists"
+msgstr "E590: Antaŭvida fenestro jam ekzistas"
+
+msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'"
+msgstr "W17: La araba bezonas UTF-8, tajpu \":set encoding=utf-8\""
+
+#, c-format
+msgid "E593: Need at least %d lines"
+msgstr "E593: Bezonas almenaŭ %d liniojn"
+
+#, c-format
+msgid "E594: Need at least %d columns"
+msgstr "E594: Bezonas almenaŭ %d kolumnojn"
+
+#, c-format
+msgid "E355: Unknown option: %s"
+msgstr "E355: Nekonata opcio: %s"
+
+#. There's another character after zeros or the string
+#. * is empty.  In both cases, we are trying to set a
+#. * num option using a string.
+#, c-format
+msgid "E521: Number required: &%s = '%s'"
+msgstr "E521: Nombro bezonata: &%s = '%s'"
+
+msgid ""
+"\n"
+"--- Terminal codes ---"
+msgstr ""
+"\n"
+"--- Kodoj de terminalo ---"
+
+msgid ""
+"\n"
+"--- Global option values ---"
+msgstr ""
+"\n"
+"--- Mallokaj opcioj ---"
+
+msgid ""
+"\n"
+"--- Local option values ---"
+msgstr ""
+"\n"
+"--- Valoroj de lokaj opcioj ---"
+
+msgid ""
+"\n"
+"--- Options ---"
+msgstr ""
+"\n"
+"--- Opcioj ---"
+
+msgid "E356: get_varp ERROR"
+msgstr "E356: ERARO get_varp"
+
+#, c-format
+msgid "E357: 'langmap': Matching character missing for %s"
+msgstr "E357: 'langmap': Kongrua signo mankas por %s"
+
+#, c-format
+msgid "E358: 'langmap': Extra characters after semicolon: %s"
+msgstr "E358: 'langmap': Ekstraj signoj malantaŭ punktokomo: %s"
+
+msgid "cannot open "
+msgstr "ne eblas malfermi "
+
+msgid "VIM: Can't open window!\n"
+msgstr "VIM: Ne eblas malfermi fenestron!\n"
+
+msgid "Need Amigados version 2.04 or later\n"
+msgstr "Bezonas version 2.04 de Amigados aŭ pli novan\n"
+
+#, c-format
+msgid "Need %s version %ld\n"
+msgstr "Bezonas %s-on versio %ld\n"
+
+msgid "Cannot open NIL:\n"
+msgstr "Ne eblas malfermi NIL:\n"
+
+msgid "Cannot create "
+msgstr "Ne eblas krei "
+
+#, c-format
+msgid "Vim exiting with %d\n"
+msgstr "Vim eliras kun %d\n"
+
+msgid "cannot change console mode ?!\n"
+msgstr "ne eblas ŝanĝi reĝimon de konzolo?!\n"
+
+msgid "mch_get_shellsize: not a console??\n"
+msgstr "mch_get_shellsize: ne estas konzolo??\n"
+
+#. if Vim opened a window: Executing a shell may cause crashes
+msgid "E360: Cannot execute shell with -f option"
+msgstr "E360: Ne eblas plenumi ŝelon kun opcio -f"
+
+msgid "Cannot execute "
+msgstr "Ne eblas plenumi "
+
+msgid "shell "
+msgstr "ŝelo "
+
+msgid " returned\n"
+msgstr " liveris\n"
+
+msgid "ANCHOR_BUF_SIZE too small."
+msgstr "ANCHOR_BUF_SIZE tro malgranda."
+
+msgid "I/O ERROR"
+msgstr "ERARO DE ENIGO/ELIGO"
+
+msgid "Message"
+msgstr "Mesaĝo"
+
+msgid "'columns' is not 80, cannot execute external commands"
+msgstr "'columns' ne estas 80, ne eblas plenumi eksternajn komandojn"
+
+msgid "E237: Printer selection failed"
+msgstr "E237: Elekto de presilo fiaskis"
+
+#, c-format
+msgid "to %s on %s"
+msgstr "al %s de %s"
+
+#, c-format
+msgid "E613: Unknown printer font: %s"
+msgstr "E613: Nekonata tiparo de presilo: %s"
+
+#, c-format
+msgid "E238: Print error: %s"
+msgstr "E238: Eraro de presado: %s"
+
+#, c-format
+msgid "Printing '%s'"
+msgstr "Presas \"%s\""
+
+#, c-format
+msgid "E244: Illegal charset name \"%s\" in font name \"%s\""
+msgstr "E244: Nevalida nomo de signaro \"%s\" en nomo de tiparo \"%s\""
+
+#, c-format
+msgid "E245: Illegal char '%c' in font name \"%s\""
+msgstr "E245: Nevalida signo '%c' en nomo de tiparo \"%s\""
+
+# DP: ĉu traduki Text?
+msgid "E366: Invalid 'osfiletype' option - using Text"
+msgstr "E366: Nevalida opcio 'osfiletype' - uzas Text"
+
+msgid "Vim: Double signal, exiting\n"
+msgstr "Vim: Duobla signalo, eliranta\n"
+
+#, c-format
+msgid "Vim: Caught deadly signal %s\n"
+msgstr "Vim: Kaptis mortigantan signalon %s\n"
+
+#, c-format
+msgid "Vim: Caught deadly signal\n"
+msgstr "Vim: Kaptis mortigantan signalon\n"
+
+#, c-format
+msgid "Opening the X display took %ld msec"
+msgstr "Malfermo de vidigo X daŭris %ld msek"
+
+msgid ""
+"\n"
+"Vim: Got X error\n"
+msgstr ""
+"\n"
+"Vim: Alvenis X eraro\n"
+
+msgid "Testing the X display failed"
+msgstr "Testo de la vidigo X fiaskis"
+
+msgid "Opening the X display timed out"
+msgstr "Tempolimo okazis dum malfermo de vidigo X"
+
+msgid ""
+"\n"
+"Cannot execute shell "
+msgstr ""
+"\n"
+"Ne eblas plenumi ŝelon "
+
+msgid ""
+"\n"
+"Cannot execute shell sh\n"
+msgstr ""
+"\n"
+"Ne eblas plenumi ŝelon sh\n"
+
+msgid ""
+"\n"
+"shell returned "
+msgstr ""
+"\n"
+"ŝelo liveris "
+
+msgid ""
+"\n"
+"Cannot create pipes\n"
+msgstr ""
+"\n"
+"Ne eblas krei duktojn\n"
+
+msgid ""
+"\n"
+"Cannot fork\n"
+msgstr ""
+"\n"
+"Ne eblas forki\n"
+
+msgid ""
+"\n"
+"Command terminated\n"
+msgstr ""
+"\n"
+"Komando terminigita\n"
+
+msgid "XSMP lost ICE connection"
+msgstr "XSMP perdis la konekton ICE"
+
+#, c-format
+msgid "dlerror = \"%s\""
+msgstr "dlerror = \"%s\""
+
+msgid "Opening the X display failed"
+msgstr "Malfermo de vidigo X fiaskis"
+
+msgid "XSMP handling save-yourself request"
+msgstr "XSMP: traktado de peto konservi-mem"
+
+msgid "XSMP opening connection"
+msgstr "XSMP: malfermo de konekto"
+
+msgid "XSMP ICE connection watch failed"
+msgstr "XSMP: kontrolo de konekto ICE fiaskis"
+
+#, c-format
+msgid "XSMP SmcOpenConnection failed: %s"
+msgstr "XSMP: SmcOpenConnection fiaskis: %s"
+
+msgid "At line"
+msgstr "Ĉe linio"
+
+msgid "Could not load vim32.dll!"
+msgstr "Ne eblis ŝargi vim32.dll!"
+
+msgid "VIM Error"
+msgstr "Eraro de VIM"
+
+msgid "Could not fix up function pointers to the DLL!"
+msgstr "Ne eblis ripari referencojn de funkcioj al la DLL!"
+
+#, c-format
+msgid "shell returned %d"
+msgstr "la ŝelo liveris %d"
+
+# DP: la eventoj estas tiuj, kiuj estas en la sekvantaj ĉenoj
+#, c-format
+msgid "Vim: Caught %s event\n"
+msgstr "Vim: Kaptis eventon %s\n"
+
+msgid "close"
+msgstr "fermo"
+
+msgid "logoff"
+msgstr "elsaluto"
+
+msgid "shutdown"
+msgstr "sistemfermo"
+
+msgid "E371: Command not found"
+msgstr "E371: Netrovebla komando"
+
+msgid ""
+"VIMRUN.EXE not found in your $PATH.\n"
+"External commands will not pause after completion.\n"
+"See  :help win32-vimrun  for more information."
+msgstr ""
+"VIMRUN.EXE ne troveblas en via $PATH.\n"
+"Eksteraj komandoj ne paŭzos post kompletigo.\n"
+"Vidu  :help win32-vimrun  por pliaj informoj."
+
+msgid "Vim Warning"
+msgstr "Averto de Vim"
+
+#, c-format
+msgid "E372: Too many %%%c in format string"
+msgstr "E372: Tro da %%%c en formata ĉeno"
+
+#, c-format
+msgid "E373: Unexpected %%%c in format string"
+msgstr "E373: Neatendita %%%c en formata ĉeno"
+
+msgid "E374: Missing ] in format string"
+msgstr "E374: Mankas ] en formata ĉeno"
+
+#, c-format
+msgid "E375: Unsupported %%%c in format string"
+msgstr "E375: Nesubtenita %%%c en formata ĉeno"
+
+#, c-format
+msgid "E376: Invalid %%%c in format string prefix"
+msgstr "E376: Nevalida %%%c en prefikso de formata ĉeno"
+
+#, c-format
+msgid "E377: Invalid %%%c in format string"
+msgstr "E377: Nevalida %%%c en formata ĉeno"
+
+msgid "E378: 'errorformat' contains no pattern"
+msgstr "E378: 'errorformat' enhavas neniun ŝablonon"
+
+msgid "E379: Missing or empty directory name"
+msgstr "E379: Nomo de dosierujo mankas aŭ estas malplena"
+
+msgid "E553: No more items"
+msgstr "E553: Ne plu estas eroj"
+
+#, c-format
+msgid "(%d of %d)%s%s: "
+msgstr "(%d de %d)%s%s: "
+
+msgid " (line deleted)"
+msgstr " (forviŝita linio)"
+
+msgid "E380: At bottom of quickfix stack"
+msgstr "E380: Ĉe la subo de stako de rapidriparo"
+
+msgid "E381: At top of quickfix stack"
+msgstr "E381: Ĉe la supro de stako de rapidriparo"
+
+#, c-format
+msgid "error list %d of %d; %d errors"
+msgstr "listo de eraroj %d de %d; %d eraroj"
+
+msgid "E382: Cannot write, 'buftype' option is set"
+msgstr "E382: Ne eblas skribi, opcio 'buftype' estas ŝaltita"
+
+msgid "E683: File name missing or invalid pattern"
+msgstr "E683: Dosiernomo mankas aŭ nevalida ŝablono"
+
+#, c-format
+msgid "Cannot open file \"%s\""
+msgstr "Ne eblas malfermi dosieron \"%s\""
+
+msgid "E681: Buffer is not loaded"
+msgstr "E681: Bufro ne estas ŝargita"
+
+msgid "E777: String or List expected"
+msgstr "E777: Ĉeno aŭ Listo atendita"
+
+#, c-format
+msgid "E369: invalid item in %s%%[]"
+msgstr "E369: nevalida ano en %s%%[]"
+
+msgid "E339: Pattern too long"
+msgstr "E339: Ŝablono tro longa"
+
+msgid "E50: Too many \\z("
+msgstr "E50: Tro da \\z("
+
+#, c-format
+msgid "E51: Too many %s("
+msgstr "E51: Tro da %s("
+
+msgid "E52: Unmatched \\z("
+msgstr "E52: Neekvilibra \\z("
+
+#, c-format
+msgid "E53: Unmatched %s%%("
+msgstr "E53: Neekvilibra %s%%("
+
+#, c-format
+msgid "E54: Unmatched %s("
+msgstr "E54: Neekvilibra %s("
+
+#, c-format
+msgid "E55: Unmatched %s)"
+msgstr "E55: Neekvilibra %s"
+
+#, c-format
+msgid "E59: invalid character after %s@"
+msgstr "E59: nevalida signo malantaŭ %s@"
+
+#, c-format
+msgid "E60: Too many complex %s{...}s"
+msgstr "E60: Tro da kompleksaj %s{...}-oj"
+
+#, c-format
+msgid "E61: Nested %s*"
+msgstr "E61: Ingita %s*"
+
+#, c-format
+msgid "E62: Nested %s%c"
+msgstr "E62: Ingita %s%c"
+
+msgid "E63: invalid use of \\_"
+msgstr "E63: nevalida uzo de \\_"
+
+#, c-format
+msgid "E64: %s%c follows nothing"
+msgstr "E64: %s%c sekvas nenion"
+
+msgid "E65: Illegal back reference"
+msgstr "E65: Nevalida retro-referenco"
+
+msgid "E66: \\z( not allowed here"
+msgstr "E66: \\z( estas malpermesa tie"
+
+# DP: vidu http://www.thefreedictionary.com/et+al.
+msgid "E67: \\z1 et al. not allowed here"
+msgstr "E67: \\z1 kaj aliaj estas malpermesataj tie"
+
+msgid "E68: Invalid character after \\z"
+msgstr "E68: Nevalida signo malantaŭ \\z"
+
+#, c-format
+msgid "E69: Missing ] after %s%%["
+msgstr "E69: Mankas ] malantaŭ %s%%["
+
+#, c-format
+msgid "E70: Empty %s%%[]"
+msgstr "E70: Malplena %s%%[]"
+
+#, c-format
+msgid "E678: Invalid character after %s%%[dxouU]"
+msgstr "E678: Nevalida signo malantaŭ %s%%[dxouU]"
+
+#, c-format
+msgid "E71: Invalid character after %s%%"
+msgstr "E71: Nevalida signo malantaŭ %s%%"
+
+#, c-format
+msgid "E769: Missing ] after %s["
+msgstr "E769: Mankas ] malantaŭ %s["
+
+#, c-format
+msgid "E554: Syntax error in %s{...}"
+msgstr "E554: Sintaksa eraro en %s{...}"
+
+msgid "External submatches:\n"
+msgstr "Eksteraj subkongruoj:\n"
+
+msgid " VREPLACE"
+msgstr " V-ANSTATAŬIGO"
+
+msgid " REPLACE"
+msgstr " ANSTATAŬIGO"
+
+msgid " REVERSE"
+msgstr " INVERSI"
+
+msgid " INSERT"
+msgstr " ENMETO"
+
+msgid " (insert)"
+msgstr " (enmeto)"
+
+msgid " (replace)"
+msgstr " (anstataŭigo)"
+
+msgid " (vreplace)"
+msgstr " (v-anstataŭigo)"
+
+msgid " Hebrew"
+msgstr " hebrea"
+
+msgid " Arabic"
+msgstr " araba"
+
+msgid " (lang)"
+msgstr " (lingvo)"
+
+msgid " (paste)"
+msgstr " (algluo)"
+
+msgid " VISUAL"
+msgstr " VIDUMA"
+
+msgid " VISUAL LINE"
+msgstr " VIDUMA LINIO"
+
+msgid " VISUAL BLOCK"
+msgstr " VIDUMA BLOKO"
+
+msgid " SELECT"
+msgstr " APARTIGO"
+
+msgid " SELECT LINE"
+msgstr " APARTIGITA LINIO"
+
+msgid " SELECT BLOCK"
+msgstr " APARTIGITA BLOKO"
+
+msgid "recording"
+msgstr "registrado"
+
+#, c-format
+msgid "E383: Invalid search string: %s"
+msgstr "E383: Nevalida serĉenda ĉeno: %s"
+
+#, c-format
+msgid "E384: search hit TOP without match for: %s"
+msgstr "E384: serĉo atingis SUPRON sen trovi: %s"
+
+#, c-format
+msgid "E385: search hit BOTTOM without match for: %s"
+msgstr "E385: serĉo atingis SUBON sen trovi: %s"
+
+msgid "E386: Expected '?' or '/'  after ';'"
+msgstr "E386: Atendis '?' aŭ '/' malantaŭ ';'"
+
+msgid " (includes previously listed match)"
+msgstr " (enhavas antaŭe listigitajn kongruojn)"
+
+#. cursor at status line
+msgid "--- Included files "
+msgstr "--- Inkluzivitaj dosieroj "
+
+msgid "not found "
+msgstr "netrovita "
+
+msgid "in path ---\n"
+msgstr "en serĉvojo ---\n"
+
+msgid "  (Already listed)"
+msgstr "  (Jam listigita)"
+
+msgid "  NOT FOUND"
+msgstr "  NETROVITA"
+
+#, c-format
+msgid "Scanning included file: %s"
+msgstr "Skanado de inkluzivitaj dosieroj: %s"
+
+#, c-format
+msgid "Searching included file %s"
+msgstr "Serĉado de inkluzivitaj dosieroj %s"
+
+msgid "E387: Match is on current line"
+msgstr "E387: Kongruo estas ĉe aktuala linio"
+
+msgid "All included files were found"
+msgstr "Ĉiuj inkluzivitaj dosieroj estis trovitaj"
+
+msgid "No included files"
+msgstr "Neniu inkluzivita dosiero"
+
+msgid "E388: Couldn't find definition"
+msgstr "E388: Ne eblis trovi difinon"
+
+msgid "E389: Couldn't find pattern"
+msgstr "E389: Ne eblis trovi ŝablonon"
+
+#, c-format
+msgid ""
+"\n"
+"# Last %sSearch Pattern:\n"
+"~"
+msgstr ""
+"\n"
+"# Lasta serĉa ŝablono %s:\n"
+"~"
+
+msgid "E759: Format error in spell file"
+msgstr "E759: Eraro de formato en literuma dosiero"
+
+msgid "E758: Truncated spell file"
+msgstr "E758: Trunkita literuma dosiero"
+
+#, c-format
+msgid "Trailing text in %s line %d: %s"
+msgstr "Vosta teksto en %s linio %d: %s"
+
+#, c-format
+msgid "Affix name too long in %s line %d: %s"
+msgstr "Nomo de afikso tro longa en %s linio %d: %s"
+
+msgid "E761: Format error in affix file FOL, LOW or UPP"
+msgstr "E761: Eraro de formato en afiksa dosiero FOL, LOW aŭ UPP"
+
+msgid "E762: Character in FOL, LOW or UPP is out of range"
+msgstr "E762: Signo en FOL, LOW aŭ UPP estas ekster limoj"
+
+msgid "Compressing word tree..."
+msgstr "Densigas arbon de vortoj"
+
+msgid "E756: Spell checking is not enabled"
+msgstr "E756: Literumilo ne estas ŝaltita"
+
+#, c-format
+msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
+msgstr "Averto: Ne eblas trovi vortliston \"%s.%s.spl\" aŭ \"%s.ascii.spl\""
+
+#, c-format
+msgid "Reading spell file \"%s\""
+msgstr "Legado de literuma dosiero \"%s\""
+
+msgid "E757: This does not look like a spell file"
+msgstr "E757: Tio ne ŝajnas esti literuma dosiero"
+
+msgid "E771: Old spell file, needs to be updated"
+msgstr "E771: Malnova literuma dosiero, ĝisdatigo bezonata"
+
+msgid "E772: Spell file is for newer version of Vim"
+msgstr "E772: Literuma dosiero estas por pli nova versio de Vim"
+
+msgid "E770: Unsupported section in spell file"
+msgstr "E770: Nesubtenita sekcio en literuma dosiero"
+
+#, c-format
+msgid "Warning: region %s not supported"
+msgstr "Averto: regiono %s ne subtenita"
+
+#, c-format
+msgid "Reading affix file %s ..."
+msgstr "Legado de afiksa dosiero %s..."
+
+#, c-format
+msgid "Conversion failure for word in %s line %d: %s"
+msgstr "Malsukceso dum konverto de vorto en %s linio %d: %s"
+
+#, c-format
+msgid "Conversion in %s not supported: from %s to %s"
+msgstr "Konverto en %s nesubtenita: de %s al %s"
+
+#, c-format
+msgid "Conversion in %s not supported"
+msgstr "Konverto en %s nesubtenita"
+
+#, c-format
+msgid "Invalid value for FLAG in %s line %d: %s"
+msgstr "Nevalida valoro de FLAG en %s linio %d: %s"
+
+#, c-format
+msgid "FLAG after using flags in %s line %d: %s"
+msgstr "FLAG maltantaŭ flagoj en %s linio %d: %s"
+
+#, c-format
+msgid ""
+"Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line "
+"%d"
+msgstr ""
+"Difino de COMPOUNDFORBIDFLAG malantaŭ ano PFX povas doni neĝustajn rezultojn "
+"en %s linio %d"
+
+#, c-format
+msgid ""
+"Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line "
+"%d"
+msgstr ""
+"Difino de COMPOUNDPERMITFLAG malantaŭ ano PFX povas doni neĝustajn rezultojn "
+"en %s linio %d"
+
+#, c-format
+msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
+msgstr "Nevalida valoro de COMPOUNDWORDMAX en %s linio %d: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
+msgstr "Nevalida valoro de COMPOUNDMIN en %s linio %d: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
+msgstr "Nevalida valoro de COMPOUNDSYLMAX en %s linio %d: %s"
+
+#, c-format
+msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
+msgstr "Nevalida valoro de CHECKCOMPOUNDPATTERN en %s linio %d: %s"
+
+#, c-format
+msgid "Different combining flag in continued affix block in %s line %d: %s"
+msgstr "Malsama flago de kombino en daŭra bloko de afikso en %s linio %d: %s"
+
+#, c-format
+msgid "Duplicate affix in %s line %d: %s"
+msgstr "Ripetita afikso en %s linio %d: %s"
+
+#, c-format
+msgid ""
+"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
+"line %d: %s"
+msgstr ""
+"Afikso ankaŭ uzata por BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST en "
+"%s linio %d: %s"
+
+#, c-format
+msgid "Expected Y or N in %s line %d: %s"
+msgstr "Y aŭ N atendita en %s linio %d: %s"
+
+#, c-format
+msgid "Broken condition in %s line %d: %s"
+msgstr "Nevalida kondiĉo en %s linio %d: %s"
+
+#, c-format
+msgid "Expected REP(SAL) count in %s line %d"
+msgstr "Neatendita nombro REP(SAL) en %s linio %d"
+
+#, c-format
+msgid "Expected MAP count in %s line %d"
+msgstr "Neatendita nombro de MAPen %s linio %d"
+
+#, c-format
+msgid "Duplicate character in MAP in %s line %d"
+msgstr "Ripetita signo en MAP en %s linio %d"
+
+#, c-format
+msgid "Unrecognized or duplicate item in %s line %d: %s"
+msgstr "Neagnoskita aŭ ripetita ano en %s linio %d: %s"
+
+#, c-format
+msgid "Missing FOL/LOW/UPP line in %s"
+msgstr "Mankas linio FOL/LOW/UPP en %s"
+
+msgid "COMPOUNDSYLMAX used without SYLLABLE"
+msgstr "COMPOUNDSYLMAX uzita sen SYLLABLE"
+
+msgid "Too many postponed prefixes"
+msgstr "Tro da prokrastitaj prefiksoj"
+
+msgid "Too many compound flags"
+msgstr "Tro da kunmetitaj flagoj"
+
+msgid "Too many posponed prefixes and/or compound flags"
+msgstr "Tro da prokrastitaj prefiksoj kaj/aŭ kunmetitaj flagoj"
+
+#, c-format
+msgid "Missing SOFO%s line in %s"
+msgstr "Mankas SOFO%s-aj linioj en %s"
+
+#, c-format
+msgid "Both SAL and SOFO lines in %s"
+msgstr "Ambaŭ SAL kaj SOFO linioj en %s"
+
+#, c-format
+msgid "Flag is not a number in %s line %d: %s"
+msgstr "Flago ne estas nombro en %s linio %d: %s"
+
+#, c-format
+msgid "Illegal flag in %s line %d: %s"
+msgstr "Nevalida flago en %s linio %d: %s"
+
+#, c-format
+msgid "%s value differs from what is used in another .aff file"
+msgstr "Valoro de %s malsamas ol tiu en alia dosiero .aff"
+
+#, c-format
+msgid "Reading dictionary file %s ..."
+msgstr "Legado de vortardosiero %s..."
+
+#, c-format
+msgid "E760: No word count in %s"
+msgstr "E760: Ne estas nombro de vortoj en %s"
+
+#, c-format
+msgid "line %6d, word %6d - %s"
+msgstr "linio %6d, vorto %6d - %s"
+
+#, c-format
+msgid "Duplicate word in %s line %d: %s"
+msgstr "Ripetita vorto en %s linio %d: %s"
+
+#, c-format
+msgid "First duplicate word in %s line %d: %s"
+msgstr "Unua ripetita vorto en %s linio %d: %s"
+
+#, c-format
+msgid "%d duplicate word(s) in %s"
+msgstr "%d ripetita(j) vorto(j) en %s"
+
+#, c-format
+msgid "Ignored %d word(s) with non-ASCII characters in %s"
+msgstr "%d ignorita(j) vorto(j) kun neaskiaj signoj en %s"
+
+#, c-format
+msgid "Reading word file %s ..."
+msgstr "Legado de dosiero de vortoj %s ..."
+
+#, c-format
+msgid "Duplicate /encoding= line ignored in %s line %d: %s"
+msgstr "Ripetita linio /encoding= ignorita en %s linio %d: %s"
+
+#, c-format
+msgid "/encoding= line after word ignored in %s line %d: %s"
+msgstr "Linio /encoding= malantaŭ vorto ignorita en %s linio %d: %s"
+
+#, c-format
+msgid "Duplicate /regions= line ignored in %s line %d: %s"
+msgstr "Ripetita linio /regions= ignorita en %s linio %d: %s"
+
+#, c-format
+msgid "Too many regions in %s line %d: %s"
+msgstr "Tro da regionoj en %s linio %d: %s"
+
+#, c-format
+msgid "/ line ignored in %s line %d: %s"
+msgstr "Linio / ignorita en %s linio %d: %s"
+
+#, c-format
+msgid "Invalid region nr in %s line %d: %s"
+msgstr "Nevalida regiono nr en %s linio %d: %s"
+
+#, c-format
+msgid "Unrecognized flags in %s line %d: %s"
+msgstr "Nekonata flago en %s linio %d: %s"
+
+#, c-format
+msgid "Ignored %d words with non-ASCII characters"
+msgstr "Ignoris %d vorto(j)n kun neaskiaj signoj"
+
+#, c-format
+msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
+msgstr "Densigis %d de %d nodoj; %d (%d%%) restantaj"
+
+msgid "Reading back spell file..."
+msgstr "Relegas la dosieron de literumo..."
+
+#.
+#. * Go through the trie of good words, soundfold each word and add it to
+#. * the soundfold trie.
+#.
+msgid "Performing soundfolding..."
+msgstr "Fonetika analizado..."
+
+#, c-format
+msgid "Number of words after soundfolding: %ld"
+msgstr "Nombro de vortoj post fonetika analizado: %ld"
+
+#, c-format
+msgid "Total number of words: %d"
+msgstr "Totala nombro de vortoj: %d"
+
+#, c-format
+msgid "Writing suggestion file %s ..."
+msgstr "Skribado de dosiero de sugesto %s ..."
+
+#, c-format
+msgid "Estimated runtime memory use: %d bytes"
+msgstr "Evaluo de memoro uzata: %d bajtoj"
+
+msgid "E751: Output file name must not have region name"
+msgstr "E751: Nomo de eliga dosiero ne devas havi nomon de regiono"
+
+msgid "E754: Only up to 8 regions supported"
+msgstr "E754: Nur 8 regionoj subtenitaj"
+
+#, c-format
+msgid "E755: Invalid region in %s"
+msgstr "E755: Nevalida regiono en %s"
+
+msgid "Warning: both compounding and NOBREAK specified"
+msgstr "Averto: ambaŭ NOBREAK kaj NOBREAK specifitaj"
+
+#, c-format
+msgid "Writing spell file %s ..."
+msgstr "Skribado de literuma dosiero %s..."
+
+msgid "Done!"
+msgstr "Farita!"
+
+#, c-format
+msgid "E765: 'spellfile' does not have %ld entries"
+msgstr "E765: 'spellfile' ne havas %ld rikordojn"
+
+#, c-format
+msgid "Word removed from %s"
+msgstr "Vorto fortirita el %s"
+
+#, c-format
+msgid "Word added to %s"
+msgstr "Vorto aldonita al %s"
+
+msgid "E763: Word characters differ between spell files"
+msgstr "E763: Signoj de vorto malsamas tra literumaj dosieroj"
+
+msgid "Sorry, no suggestions"
+msgstr "Bedaŭrinde ne estas sugestoj"
+
+#, c-format
+msgid "Sorry, only %ld suggestions"
+msgstr "Bedaŭrinde estas nur %ld sugestoj"
+
+#. for when 'cmdheight' > 1
+#. avoid more prompt
+#, c-format
+msgid "Change \"%.*s\" to:"
+msgstr "Anstataŭigi \"%.*s\" per:"
+
+#, c-format
+msgid " < \"%.*s\""
+msgstr " < \"%.*s\""
+
+msgid "E752: No previous spell replacement"
+msgstr "E752: Neniu antaŭa literuma anstataŭigo"
+
+#, c-format
+msgid "E753: Not found: %s"
+msgstr "E753: Netrovita: %s"
+
+#, c-format
+msgid "E778: This does not look like a .sug file: %s"
+msgstr "E778: Tio ne ŝajnas esti dosiero .sug: %s"
+
+#, c-format
+msgid "E779: Old .sug file, needs to be updated: %s"
+msgstr "E779: Malnova dosiero .sug, bezonas ĝisdatigon: %s"
+
+#, c-format
+msgid "E780: .sug file is for newer version of Vim: %s"
+msgstr "E780: Dosiero .sug estas por pli nova versio de Vim: %s"
+
+#, c-format
+msgid "E781: .sug file doesn't match .spl file: %s"
+msgstr "E781: Dosiero .sug ne kongruas kun dosiero .spl: %s"
+
+#, c-format
+msgid "E782: error while reading .sug file: %s"
+msgstr "E782: eraro dum legado de dosiero .sug: %s"
+
+#. This should have been checked when generating the .spl
+#. * file.
+msgid "E783: duplicate char in MAP entry"
+msgstr "E783: ripetita signo en rikordo MAP"
+
+#, c-format
+msgid "E390: Illegal argument: %s"
+msgstr "E390: Nevalida argumento: %s"
+
+#, c-format
+msgid "E391: No such syntax cluster: %s"
+msgstr "E391: Nenia sintaksa fasko: %s"
+
+msgid "No Syntax items defined for this buffer"
+msgstr "Neniu sintaksa elemento difinita por tiu bufro"
+
+msgid "syncing on C-style comments"
+msgstr "sinkronigo per C-stilaj komentoj"
+
+msgid "no syncing"
+msgstr "neniu sinkronigo"
+
+msgid "syncing starts "
+msgstr "sinkronigo ekas "
+
+msgid " lines before top line"
+msgstr " linioj antaŭ supra linio"
+
+msgid ""
+"\n"
+"--- Syntax sync items ---"
+msgstr ""
+"\n"
+"--- Eroj de sintaksa sinkronigo ---"
+
+msgid ""
+"\n"
+"syncing on items"
+msgstr ""
+"\n"
+"sinkronigo per eroj"
+
+msgid ""
+"\n"
+"--- Syntax items ---"
+msgstr ""
+"\n"
+"--- Sintakseroj ---"
+
+#, c-format
+msgid "E392: No such syntax cluster: %s"
+msgstr "E392: Nenia sintaksa fasko: %s"
+
+msgid "minimal "
+msgstr "minimuma "
+
+msgid "maximal "
+msgstr "maksimuma "
+
+msgid "; match "
+msgstr "; kongruo "
+
+msgid " line breaks"
+msgstr " liniavancoj"
+
+msgid "E395: contains argument not accepted here"
+msgstr "E395: La argumento \"contains\" ne akcepteblas tie"
+
+msgid "E396: containedin argument not accepted here"
+msgstr "E396: La argumento \"containedin\" ne akcepteblas tie"
+
+msgid "E393: group[t]here not accepted here"
+msgstr "E393: La argumento \"group[t]here\" ne akcepteblas tie"
+
+#, c-format
+msgid "E394: Didn't find region item for %s"
+msgstr "E394: Ne trovis regionan elementon por %s"
+
+msgid "E397: Filename required"
+msgstr "E397: Dosiernomo bezonata"
+
+#, c-format
+msgid "E789: Missing ']': %s"
+msgstr "E789: Mankas ']': %s"
+
+#, c-format
+msgid "E398: Missing '=': %s"
+msgstr "E398: Mankas '=': %s"
+
+#, c-format
+msgid "E399: Not enough arguments: syntax region %s"
+msgstr "E399: Ne sufiĉaj argumentoj: sintaksa regiono %s"
+
+msgid "E400: No cluster specified"
+msgstr "E400: Neniu fasko specifita"
+
+#, c-format
+msgid "E401: Pattern delimiter not found: %s"
+msgstr "E401: Disigilo de ŝablono netrovita: %s"
+
+#, c-format
+msgid "E402: Garbage after pattern: %s"
+msgstr "E402: Forĵetindaĵo malantaŭ ŝablono: %s"
+
+msgid "E403: syntax sync: line continuations pattern specified twice"
+msgstr "E403: sintaksa sinkronigo: ŝablono de linia daŭrigo specifita dufoje"
+
+#, c-format
+msgid "E404: Illegal arguments: %s"
+msgstr "E404: Nevalidaj argumentoj: %s"
+
+#, c-format
+msgid "E405: Missing equal sign: %s"
+msgstr "E405: Mankas egalsigno: %s"
+
+#, c-format
+msgid "E406: Empty argument: %s"
+msgstr "E406: Malplena argumento: %s"
+
+#, c-format
+msgid "E407: %s not allowed here"
+msgstr "E407: %s ne estas permesata tie"
+
+#, c-format
+msgid "E408: %s must be first in contains list"
+msgstr "E408: %s devas esti la unua ano de la listo \"contains\""
+
+#, c-format
+msgid "E409: Unknown group name: %s"
+msgstr "E409: Nekonata nomo de grupo: %s"
+
+#, c-format
+msgid "E410: Invalid :syntax subcommand: %s"
+msgstr "E410: Nevalida \":syntax\" subkomando: %s"
+
+msgid "E679: recursive loop loading syncolor.vim"
+msgstr "E679: rekursia buklo dum ŝargo de syncolor.vim"
+
+#, c-format
+msgid "E411: highlight group not found: %s"
+msgstr "E411: emfaza grupo netrovita: %s"
+
+#, c-format
+msgid "E412: Not enough arguments: \":highlight link %s\""
+msgstr "E412: Ne sufiĉaj argumentoj: \":highlight link %s\""
+
+#, c-format
+msgid "E413: Too many arguments: \":highlight link %s\""
+msgstr "E413: Tro argumentoj: \":highlight link %s\""
+
+msgid "E414: group has settings, highlight link ignored"
+msgstr "E414: grupo havas agordojn, ligilo de emfazo ignorita"
+
+#, c-format
+msgid "E415: unexpected equal sign: %s"
+msgstr "E415: neatendita egalsigno: %s"
+
+#, c-format
+msgid "E416: missing equal sign: %s"
+msgstr "E416: mankas egalsigno: %s"
+
+#, c-format
+msgid "E417: missing argument: %s"
+msgstr "E417: mankas argumento: %s"
+
+#, c-format
+msgid "E418: Illegal value: %s"
+msgstr "E418: Nevalida valoro: %s"
+
+msgid "E419: FG color unknown"
+msgstr "E419: Nekonata malfona koloro"
+
+msgid "E420: BG color unknown"
+msgstr "E420: Nekonata fona koloro"
+
+#, c-format
+msgid "E421: Color name or number not recognized: %s"
+msgstr "E421: Kolora nomo aŭ nombro nerekonita: %s"
+
+#, c-format
+msgid "E422: terminal code too long: %s"
+msgstr "E422: kodo de terminalo estas tro longa: %s"
+
+#, c-format
+msgid "E423: Illegal argument: %s"
+msgstr "E423: Nevalida argumento: %s"
+
+msgid "E424: Too many different highlighting attributes in use"
+msgstr "E424: Tro da malsamaj atributoj de emfazo uzataj"
+
+msgid "E669: Unprintable character in group name"
+msgstr "E669: Nepresebla signo en nomo de grupo"
+
+msgid "W18: Invalid character in group name"
+msgstr "W18: Nevalida signo en nomo de grupo"
+
+msgid "E555: at bottom of tag stack"
+msgstr "E555: ĉe subo de stako de etikedoj"
+
+msgid "E556: at top of tag stack"
+msgstr "E556: ĉe supro de stako de etikedoj"
+
+msgid "E425: Cannot go before first matching tag"
+msgstr "E425: Ne eblas iri antaŭ la unuan kongruan etikedon"
+
+#, c-format
+msgid "E426: tag not found: %s"
+msgstr "E426: etikedo netrovita: %s"
+
+# DP: "pri" estas "priority"
+msgid "  # pri kind tag"
+msgstr "nro pri tipo etikedo"
+
+msgid "file\n"
+msgstr "dosiero\n"
+
+msgid "E427: There is only one matching tag"
+msgstr "E427: Estas nur unu kongrua etikedo"
+
+msgid "E428: Cannot go beyond last matching tag"
+msgstr "E428: Ne eblas iri preter lastan kongruan etikedon"
+
+#, c-format
+msgid "File \"%s\" does not exist"
+msgstr "La dosiero \"%s\" ne ekzistas"
+
+#. Give an indication of the number of matching tags
+#, c-format
+msgid "tag %d of %d%s"
+msgstr "etikedo %d de %d%s"
+
+msgid " or more"
+msgstr " aŭ pli"
+
+msgid "  Using tag with different case!"
+msgstr "  Uzo de etikedo kun malsama uskleco!"
+
+#, c-format
+msgid "E429: File \"%s\" does not exist"
+msgstr "E429: Dosiero \"%s\" ne ekzistas"
+
+#. Highlight title
+msgid ""
+"\n"
+"  # TO tag         FROM line  in file/text"
+msgstr ""
+"\n"
+"nro AL etikedo     DE   linio en dosiero/teksto"
+
+#, c-format
+msgid "Searching tags file %s"
+msgstr "Serĉado de dosiero de etikedoj %s"
+
+#, c-format
+msgid "E430: Tag file path truncated for %s\n"
+msgstr "E430: Vojo de etikeda dosiero trunkita por %s\n"
+
+#, c-format
+msgid "E431: Format error in tags file \"%s\""
+msgstr "E431: Eraro de formato en etikeda dosiero \"%s\""
+
+#, c-format
+msgid "Before byte %ld"
+msgstr "Antaŭ bajto %ld"
+
+#, c-format
+msgid "E432: Tags file not sorted: %s"
+msgstr "E432: Etikeda dosiero ne estas ordigita: %s"
+
+#. never opened any tags file
+msgid "E433: No tags file"
+msgstr "E433: Neniu etikeda dosiero"
+
+msgid "E434: Can't find tag pattern"
+msgstr "E434: Ne eblas trovi ŝablonon de etikedo"
+
+msgid "E435: Couldn't find tag, just guessing!"
+msgstr "E435: Ne eblis trovi etikedon, nur divenas!"
+
+msgid "' not known. Available builtin terminals are:"
+msgstr "' nekonata. Haveblaj terminaloj estas:"
+
+msgid "defaulting to '"
+msgstr "defaŭlto al '"
+
+msgid "E557: Cannot open termcap file"
+msgstr "E557: Ne eblas malfermi la dosieron termcap"
+
+msgid "E558: Terminal entry not found in terminfo"
+msgstr "E558: Ne trovis rikordon de terminalo terminfo"
+
+msgid "E559: Terminal entry not found in termcap"
+msgstr "E559: Ne trovis rikordon de terminalo en termcap"
+
+#, c-format
+msgid "E436: No \"%s\" entry in termcap"
+msgstr "E436: Neniu rikordo \"%s\" en termcap"
+
+msgid "E437: terminal capability \"cm\" required"
+msgstr "E437: kapablo de terminalo \"cm\" bezonata"
+
+#. Highlight title
+msgid ""
+"\n"
+"--- Terminal keys ---"
+msgstr ""
+"\n"
+"--- Klavoj de terminalo ---"
+
+msgid "new shell started\n"
+msgstr "nova ŝelo lanĉita\n"
+
+msgid "Vim: Error reading input, exiting...\n"
+msgstr "Vim: Eraro dum legado de eniro, elironta...\n"
+
+#. must display the prompt
+msgid "No undo possible; continue anyway"
+msgstr "Malfaro neebla; daŭrigi tamene"
+
+msgid "Already at oldest change"
+msgstr "Jam al la plej malnova ŝanĝo"
+
+msgid "Already at newest change"
+msgstr "Jam al la plej nova ŝanĝo"
+
+#, c-format
+msgid "Undo number %ld not found"
+msgstr "Malfaro numero %ld netrovita"
+
+msgid "E438: u_undo: line numbers wrong"
+msgstr "E438: u_undo: nevalidaj numeroj de linioj"
+
+msgid "more line"
+msgstr "plia linio"
+
+msgid "more lines"
+msgstr "pliaj linioj"
+
+msgid "line less"
+msgstr "malpli linio"
+
+msgid "fewer lines"
+msgstr "malpli linioj"
+
+msgid "change"
+msgstr "ŝanĝo"
+
+msgid "changes"
+msgstr "ŝanĝoj"
+
+#, c-format
+msgid "%ld %s; %s #%ld  %s"
+msgstr "%ld %s; %s #%ld  %s"
+
+msgid "before"
+msgstr "antaŭ"
+
+msgid "after"
+msgstr "malantaŭ"
+
+msgid "Nothing to undo"
+msgstr "Nenio por malfari"
+
+msgid "number changes  time"
+msgstr "numero ŝanĝoj   tempo"
+
+#, c-format
+msgid "%ld seconds ago"
+msgstr "antaŭ %ld sekundoj"
+
+msgid "E790: undojoin is not allowed after undo"
+msgstr "E790: undojoin estas nepermesita malantaŭ malfaro"
+
+msgid "E439: undo list corrupt"
+msgstr "E439: listo de malfaro estas difekta"
+
+msgid "E440: undo line missing"
+msgstr "E440: linio de malfaro mankas"
+
+#. Only MS VC 4.1 and earlier can do Win32s
+msgid ""
+"\n"
+"MS-Windows 16/32 bit GUI version"
+msgstr ""
+"\n"
+"Grafika versio MS-Vindozo 16/32 bitoj"
+
+msgid ""
+"\n"
+"MS-Windows 64 bit GUI version"
+msgstr ""
+"\n"
+"Grafika versio MS-Vindozo 64 bitoj"
+
+msgid ""
+"\n"
+"MS-Windows 32 bit GUI version"
+msgstr ""
+"\n"
+"Grafika versio MS-Vindozo 32 bitoj"
+
+msgid " in Win32s mode"
+msgstr " en reĝimo Win32s"
+
+msgid " with OLE support"
+msgstr " kun subteno de OLE"
+
+msgid ""
+"\n"
+"MS-Windows 32 bit console version"
+msgstr ""
+"\n"
+"Versio konzola MS-Vindozo 32 bitoj"
+
+msgid ""
+"\n"
+"MS-Windows 16 bit version"
+msgstr ""
+"\n"
+"Versio MS-Vindozo 16 bitoj"
+
+msgid ""
+"\n"
+"32 bit MS-DOS version"
+msgstr ""
+"\n"
+"Versio MS-DOS 32 bitoj"
+
+msgid ""
+"\n"
+"16 bit MS-DOS version"
+msgstr ""
+"\n"
+"Versio MS-DOS 16 bitoj"
+
+msgid ""
+"\n"
+"MacOS X (unix) version"
+msgstr ""
+"\n"
+"Versio Mak OS X (unikso)"
+
+msgid ""
+"\n"
+"MacOS X version"
+msgstr ""
+"\n"
+"Versio Mak OS X"
+
+msgid ""
+"\n"
+"MacOS version"
+msgstr ""
+"\n"
+"Versio Mak OS"
+
+msgid ""
+"\n"
+"RISC OS version"
+msgstr ""
+"\n"
+"Versio RISC operaciumo"
+
+msgid ""
+"\n"
+"Included patches: "
+msgstr ""
+"\n"
+"Flikaĵoj inkluzivitaj: "
+
+msgid "Modified by "
+msgstr "Modifita de "
+
+msgid ""
+"\n"
+"Compiled "
+msgstr ""
+"\n"
+"Kompilita "
+
+msgid "by "
+msgstr "de "
+
+msgid ""
+"\n"
+"Huge version "
+msgstr ""
+"\n"
+"Grandega versio "
+
+msgid ""
+"\n"
+"Big version "
+msgstr ""
+"\n"
+"Granda versio "
+
+msgid ""
+"\n"
+"Normal version "
+msgstr ""
+"\n"
+"Normala versio "
+
+msgid ""
+"\n"
+"Small version "
+msgstr ""
+"\n"
+"Malgranda versio "
+
+msgid ""
+"\n"
+"Tiny version "
+msgstr ""
+"\n"
+"Malgrandega versio "
+
+msgid "without GUI."
+msgstr "sen grafika interfaco."
+
+msgid "with GTK2-GNOME GUI."
+msgstr "kun grafika interfaco GTK2-GNOME."
+
+msgid "with GTK-GNOME GUI."
+msgstr "kun grafika interfaco GTK-GNOME."
+
+msgid "with GTK2 GUI."
+msgstr "kun grafika interfaco GTK2."
+
+msgid "with GTK GUI."
+msgstr "kun grafika interfaco GTK."
+
+msgid "with X11-Motif GUI."
+msgstr "kun grafika interfaco X11-Motif."
+
+msgid "with X11-neXtaw GUI."
+msgstr "kun grafika interfaco X11-neXtaw."
+
+msgid "with X11-Athena GUI."
+msgstr "kun grafika interfaco X11-Athena."
+
+msgid "with Photon GUI."
+msgstr "kun grafika interfaco Photon."
+
+msgid "with GUI."
+msgstr "sen grafika interfaco."
+
+msgid "with Carbon GUI."
+msgstr "kun grafika interfaco Carbon."
+
+msgid "with Cocoa GUI."
+msgstr "kun grafika interfaco Cocoa."
+
+msgid "with (classic) GUI."
+msgstr "kun (klasika) grafika interfaco."
+
+msgid "  Features included (+) or not (-):\n"
+msgstr "  Ebloj inkluzivitaj (+) aŭ ne (-):\n"
+
+msgid "   system vimrc file: \""
+msgstr "          sistema dosiero vimrc: \""
+
+msgid "     user vimrc file: \""
+msgstr "        dosiero vimrc de uzanto: \""
+
+msgid " 2nd user vimrc file: \""
+msgstr "    2-a dosiero vimrc de uzanto: \""
+
+msgid " 3rd user vimrc file: \""
+msgstr "    3-a dosiero vimrc de uzanto: \""
+
+msgid "      user exrc file: \""
+msgstr "         dosiero exrc de uzanto: \""
+
+msgid "  2nd user exrc file: \""
+msgstr "     2-a dosiero exrc de uzanto: \""
+
+msgid "  system gvimrc file: \""
+msgstr "         sistema dosiero gvimrc: \""
+
+msgid "    user gvimrc file: \""
+msgstr "       dosiero gvimrc de uzanto: \""
+
+msgid "2nd user gvimrc file: \""
+msgstr "   2-a dosiero gvimrc de uzanto: \""
+
+msgid "3rd user gvimrc file: \""
+msgstr "   3-a dosiero gvimrc de uzanto: \""
+
+msgid "    system menu file: \""
+msgstr "       dosiero de sistema menuo: \""
+
+msgid "  fall-back for $VIM: \""
+msgstr "               defaŭlto de $VIM: \""
+
+msgid " f-b for $VIMRUNTIME: \""
+msgstr "         defaŭlto de VIMRUNTIME: \""
+
+msgid "Compilation: "
+msgstr "Kompilado: "
+
+msgid "Compiler: "
+msgstr "Kompililo: "
+
+msgid "Linking: "
+msgstr "Ligado: "
+
+msgid "  DEBUG BUILD"
+msgstr "  SENCIMIGA MUNTO"
+
+msgid "VIM - Vi IMproved"
+msgstr "VIM - Vi plibonigita"
+
+msgid "version "
+msgstr "versio "
+
+# DP: vidu http://www.thefreedictionary.com/et+al.
+msgid "by Bram Moolenaar et al."
+msgstr "de Bram Moolenaar kaj aliuloj"
+
+msgid "Vim is open source and freely distributable"
+msgstr "Vim estas libera programo kaj disdoneblas libere"
+
+msgid "Help poor children in Uganda!"
+msgstr "Helpu malriĉajn infanojn en Ugando!"
+
+# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon
+msgid "type  :help iccf<Enter>       for information "
+msgstr "tajpu  :help iccf<Enenklavo>      por pliaj informoj   "
+
+# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon
+msgid "type  :q<Enter>               to exit         "
+msgstr "tajpu  :q<Enenklavo>              por eliri            "
+
+# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon
+msgid "type  :help<Enter>  or  <F1>  for on-line help"
+msgstr "tajpu  :help<Enenklavo>  aŭ  <F1> por aliri la helpon  "
+
+# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon
+msgid "type  :help version7<Enter>   for version info"
+msgstr "tajpu  :help version7<Enenklavo>  por informo de versio"
+
+msgid "Running in Vi compatible mode"
+msgstr "Rulas en reĝimo kongrua kun Vi"
+
+# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon
+msgid "type  :set nocp<Enter>        for Vim defaults"
+msgstr "tajpu :set nocp<Enenklavo>        por Vim defaŭltoj    "
+
+# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon
+msgid "type  :help cp-default<Enter> for info on this"
+msgstr "tajpu :help cp-default<Enenklavo> por pliaj informoj   "
+
+# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon
+msgid "menu  Help->Orphans           for information    "
+msgstr "menuo  Help->Orfinoj              por pliaj informoj   "
+
+msgid "Running modeless, typed text is inserted"
+msgstr "Rulas senreĝime, tajpita teksto estas enmetita"
+
+# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon
+msgid "menu  Edit->Global Settings->Toggle Insert Mode  "
+msgstr "menuo Redakti->Mallokaj Agordoj->Baskuli Enmetan Reĝimon"
+
+# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon
+msgid "                              for two modes      "
+msgstr "                                  por du reĝimoj       "
+
+# DP: tiu ĉeno pli longas (mi ne volas igi ĉiujn aliajn ĉenojn
+#     pli longajn)
+msgid "menu  Edit->Global Settings->Toggle Vi Compatible"
+msgstr "menuo Redakti->Mallokaj Agordoj->Baskuli Reĝimon Kongruan kun Vi"
+
+# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon
+msgid "                              for Vim defaults   "
+msgstr "                                  por defaŭltoj de Vim "
+
+msgid "Sponsor Vim development!"
+msgstr "Subtenu la programadon de Vim!"
+
+msgid "Become a registered Vim user!"
+msgstr "Iĝu registrita uzanto de Vim!"
+
+# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon
+msgid "type  :help sponsor<Enter>    for information "
+msgstr "tajpu  :help sponsor<Enenklavo>   por pliaj informoj   "
+
+# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon
+msgid "type  :help register<Enter>   for information "
+msgstr "tajpu  :help register<Enenklavo>  por pliaj informoj   "
+
+# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon
+msgid "menu  Help->Sponsor/Register  for information    "
+msgstr "menuo Helpo->Subteni/Registri     por pliaj informoj   "
+
+msgid "WARNING: Windows 95/98/ME detected"
+msgstr "AVERTO: Trovis Vindozon 95/98/ME"
+
+# DP: atentu al la spacetoj: ĉiuj ĉenoj devas havi la saman longon
+msgid "type  :help windows95<Enter>  for info on this"
+msgstr "tajpu  :help windows95<Enenklavo> por pliaj informoj   "
+
+msgid "Already only one window"
+msgstr "Jam nur unu fenestro"
+
+msgid "E441: There is no preview window"
+msgstr "E441: Ne estas antaŭvida fenestro"
+
+msgid "E442: Can't split topleft and botright at the same time"
+msgstr "E442: Ne eblas dividi supralivan kaj subdekstran samtempe"
+
+msgid "E443: Cannot rotate when another window is split"
+msgstr "E443: Ne eblas rotacii kiam alia fenestro estas dividita"
+
+msgid "E444: Cannot close last window"
+msgstr "E444: Ne eblas fermi la lastan fenestron"
+
+msgid "E445: Other window contains changes"
+msgstr "E445: La alia fenestro enhavas ŝanĝojn"
+
+msgid "E446: No file name under cursor"
+msgstr "E446: Neniu dosiernomo sub la kursoro"
+
+#, c-format
+msgid "E447: Can't find file \"%s\" in path"
+msgstr "E447: Ne eblas trovi dosieron \"%s\" en serĉvojo"
+
+#, c-format
+msgid "E370: Could not load library %s"
+msgstr "E370: Ne eblis ŝargi bibliotekon %s"
+
+msgid "Sorry, this command is disabled: the Perl library could not be loaded."
+msgstr ""
+"Bedaŭrinde tiu komando estas malŝaltita: la biblioteko de Perl ne ŝargeblis."
+
+msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
+msgstr ""
+"E299: Plenumo de Perl esprimoj malpermesata en sabloludejo sen la modulo Safe"
+
+msgid "Edit with &multiple Vims"
+msgstr "Redakti per &pluraj Vim-oj"
+
+msgid "Edit with single &Vim"
+msgstr "Redakti per unuopa &Vim"
+
+msgid "Diff with Vim"
+msgstr "Kompari per Vim"
+
+msgid "Edit with &Vim"
+msgstr "Redakti per &Vim"
+
+#. Now concatenate
+msgid "Edit with existing Vim - "
+msgstr "Redakti per ekzistanta Vim - "
+
+msgid "Edits the selected file(s) with Vim"
+msgstr "Redakti la apartigita(j)n dosiero(j)n per Vim"
+
+msgid "Error creating process: Check if gvim is in your path!"
+msgstr "Eraro dum kreo de procezo: Kontrolu ĉu gvim estas en via serĉvojo!"
+
+msgid "gvimext.dll error"
+msgstr "Eraro de gvimext.dll"
+
+msgid "Path length too long!"
+msgstr "Serĉvojo estas tro longa!"
+
+msgid "--No lines in buffer--"
+msgstr "--Neniu linio en bufro--"
+
+#.
+#. * The error messages that can be shared are included here.
+#. * Excluded are errors that are only used once and debugging messages.
+#.
+msgid "E470: Command aborted"
+msgstr "E470: komando ĉesigita"
+
+msgid "E471: Argument required"
+msgstr "E471: Argumento bezonata"
+
+msgid "E10: \\ should be followed by /, ? or &"
+msgstr "E10: \\ devus esti sekvita de /, ? aŭ &"
+
+msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits"
+msgstr ""
+"E11: Nevalida en fenestro de komanda linio; <CR> plenumas, CTRL-C eliras"
+
+msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search"
+msgstr ""
+"E12: Malpermesata komando el exrc/vimrc en aktuala dosierujo aŭ etikeda serĉo"
+
+msgid "E171: Missing :endif"
+msgstr "E171: Mankas \":endif\""
+
+msgid "E600: Missing :endtry"
+msgstr "E600: Mankas \":endtry\""
+
+msgid "E170: Missing :endwhile"
+msgstr "E170: Mankas \":endwhile\""
+
+msgid "E170: Missing :endfor"
+msgstr "E170: Mankas \":endfor\""
+
+msgid "E588: :endwhile without :while"
+msgstr "E588: \":endwhile\" sen \":while\""
+
+msgid "E588: :endfor without :for"
+msgstr "E588: \":endfor\" sen \":for\""
+
+msgid "E13: File exists (add ! to override)"
+msgstr "E13: Dosiero ekzistas (aldonu ! por transpasi)"
+
+msgid "E472: Command failed"
+msgstr "E472: La komando fiaskis"
+
+#, c-format
+msgid "E234: Unknown fontset: %s"
+msgstr "E234: Nekonata familio de tiparo: %s"
+
+#, c-format
+msgid "E235: Unknown font: %s"
+msgstr "E235: Nekonata tiparo: %s"
+
+#, c-format
+msgid "E236: Font \"%s\" is not fixed-width"
+msgstr "E236: La tiparo \"%s\" ne estas egallarĝa"
+
+msgid "E473: Internal error"
+msgstr "E473: Interna eraro"
+
+msgid "Interrupted"
+msgstr "Interrompita"
+
+msgid "E14: Invalid address"
+msgstr "E14: Nevalida adreso"
+
+msgid "E474: Invalid argument"
+msgstr "E474: Nevalida argumento"
+
+#, c-format
+msgid "E475: Invalid argument: %s"
+msgstr "E475: Nevalida argumento: %s"
+
+#, c-format
+msgid "E15: Invalid expression: %s"
+msgstr "E15: Nevalida esprimo: %s"
+
+msgid "E16: Invalid range"
+msgstr "E16: Nevalida amplekso"
+
+msgid "E476: Invalid command"
+msgstr "E476: Nevalida komando"
+
+#, c-format
+msgid "E17: \"%s\" is a directory"
+msgstr "E17: \"%s\" estas dosierujo"
+
+#, c-format
+msgid "E364: Library call failed for \"%s()\""
+msgstr "E364: Alvoko al biblioteko fiaskis por \"%s()\""
+
+#, c-format
+msgid "E448: Could not load library function %s"
+msgstr "E448: Ne eblis ŝargi bibliotekan funkcion %s"
+
+msgid "E19: Mark has invalid line number"
+msgstr "E19: Marko havas nevalidan numeron de linio"
+
+msgid "E20: Mark not set"
+msgstr "E20: Marko ne estas agordita"
+
+msgid "E21: Cannot make changes, 'modifiable' is off"
+msgstr "E21: Ne eblas fari ŝanĝojn, 'modifiable' estas malŝaltita"
+
+msgid "E22: Scripts nested too deep"
+msgstr "E22: Tro profunde ingitaj skriptoj"
+
+msgid "E23: No alternate file"
+msgstr "E23: Neniu alterna dosiero"
+
+msgid "E24: No such abbreviation"
+msgstr "E24: Ne estas tia mallongigo"
+
+msgid "E477: No ! allowed"
+msgstr "E477: Neniu ! permesita"
+
+msgid "E25: GUI cannot be used: Not enabled at compile time"
+msgstr "E25: Grafika interfaco ne uzeblas: Malŝaltita dum kompilado"
+
+msgid "E26: Hebrew cannot be used: Not enabled at compile time\n"
+msgstr "E26: La hebrea ne uzeblas: Malŝaltita dum kompilado\n"
+
+msgid "E27: Farsi cannot be used: Not enabled at compile time\n"
+msgstr "E27: La persa ne uzeblas: Malŝaltita dum kompilado\n"
+
+msgid "E800: Arabic cannot be used: Not enabled at compile time\n"
+msgstr "E800: La araba ne uzeblas: Malŝaltita dum kompilado\n"
+
+#, c-format
+msgid "E28: No such highlight group name: %s"
+msgstr "E28: Neniu grupo de emfazo kiel: %s"
+
+msgid "E29: No inserted text yet"
+msgstr "E29: Ankoraŭ neniu enmetita teksto"
+
+msgid "E30: No previous command line"
+msgstr "E30: Neniu antaŭa komanda linio"
+
+msgid "E31: No such mapping"
+msgstr "E31: Neniu tiel mapo"
+
+msgid "E479: No match"
+msgstr "E479: Neniu kongruo"
+
+#, c-format
+msgid "E480: No match: %s"
+msgstr "E480: Neniu kongruo: %s"
+
+msgid "E32: No file name"
+msgstr "E32: Neniu dosiernomo"
+
+msgid "E33: No previous substitute regular expression"
+msgstr "E33: Neniu antaŭa regulesprimo de anstataŭigo"
+
+msgid "E34: No previous command"
+msgstr "E34: Neniu antaŭa komando"
+
+msgid "E35: No previous regular expression"
+msgstr "E35: Neniu antaŭa regulesprimo"
+
+msgid "E481: No range allowed"
+msgstr "E481: Amplekso ne permesita"
+
+msgid "E36: Not enough room"
+msgstr "E36: Ne sufiĉe da spaco"
+
+#, c-format
+msgid "E247: no registered server named \"%s\""
+msgstr "E247: neniu registrita servilo nomita \"%s\""
+
+#, c-format
+msgid "E482: Can't create file %s"
+msgstr "E482: Ne eblas krei dosieron %s"
+
+msgid "E483: Can't get temp file name"
+msgstr "E483: Ne eblas akiri provizaran dosiernomon"
+
+#, c-format
+msgid "E484: Can't open file %s"
+msgstr "E484: Ne eblas malfermi dosieron %s"
+
+#, c-format
+msgid "E485: Can't read file %s"
+msgstr "E485: Ne eblas legi dosieron %s"
+
+msgid "E37: No write since last change (add ! to override)"
+msgstr "E37: Neniu skribo de post lasta ŝanĝo (aldonu ! por transpasi)"
+
+msgid "E38: Null argument"
+msgstr "E38: Nula argumento"
+
+msgid "E39: Number expected"
+msgstr "E39: Nombro atendita"
+
+#, c-format
+msgid "E40: Can't open errorfile %s"
+msgstr "E40: Ne eblas malfermi eraran dosieron %s"
+
+msgid "E233: cannot open display"
+msgstr "E233: ne eblas malfermi vidigon"
+
+msgid "E41: Out of memory!"
+msgstr "E41: Ne plu restas memoro!"
+
+msgid "Pattern not found"
+msgstr "Ŝablono ne trovita"
+
+#, c-format
+msgid "E486: Pattern not found: %s"
+msgstr "E486: Ŝablono ne trovita: %s"
+
+msgid "E487: Argument must be positive"
+msgstr "E487: La argumento devas esti pozitiva"
+
+msgid "E459: Cannot go back to previous directory"
+msgstr "E459: Ne eblas reiri al antaŭa dosierujo"
+
+msgid "E42: No Errors"
+msgstr "E42: Neniu eraro"
+
+msgid "E776: No location list"
+msgstr "E776: Neniu listo de loko"
+
+msgid "E43: Damaged match string"
+msgstr "E43: Difekta kongruenda ĉeno"
+
+msgid "E44: Corrupted regexp program"
+msgstr "E44: Difekta programo de regulesprimo"
+
+msgid "E45: 'readonly' option is set (add ! to override)"
+msgstr "E45: La opcio 'readonly' estas ŝaltita '(aldonu ! por transpasi)"
+
+#, c-format
+msgid "E46: Cannot change read-only variable \"%s\""
+msgstr "E46: Ne eblas ŝanĝi nurlegeblan variablon \"%s\""
+
+#, c-format
+msgid "E794: Cannot set variable in the sandbox: \"%s\""
+msgstr "E794: Ne eblas agordi variablon en la sabloludejo: \"%s\""
+
+msgid "E47: Error while reading errorfile"
+msgstr "E47: Eraro dum legado de erardosiero"
+
+msgid "E48: Not allowed in sandbox"
+msgstr "E48: Ne permesita en sabloludejo"
+
+msgid "E523: Not allowed here"
+msgstr "E523: Ne permesita tie"
+
+msgid "E359: Screen mode setting not supported"
+msgstr "E359: Reĝimo de ekrano ne subtenita"
+
+msgid "E49: Invalid scroll size"
+msgstr "E49: Nevalida grando de rulumo"
+
+msgid "E91: 'shell' option is empty"
+msgstr "E91: La opcio 'shell' estas malplena"
+
+msgid "E255: Couldn't read in sign data!"
+msgstr "E255: Ne eblis legi datumojn de simboloj!"
+
+msgid "E72: Close error on swap file"
+msgstr "E72: Eraro dum malfermo de permutodosiero .swp"
+
+msgid "E73: tag stack empty"
+msgstr "E73: malplena stako de etikedo"
+
+msgid "E74: Command too complex"
+msgstr "E74: Komando tro kompleksa"
+
+msgid "E75: Name too long"
+msgstr "E75: Nomo tro longa"
+
+msgid "E76: Too many ["
+msgstr "E76: Tro da ["
+
+msgid "E77: Too many file names"
+msgstr "E77: Tro da dosiernomoj"
+
+msgid "E488: Trailing characters"
+msgstr "E488: Vostaj signoj"
+
+msgid "E78: Unknown mark"
+msgstr "E78: Nekonata marko"
+
+msgid "E79: Cannot expand wildcards"
+msgstr "E79: Ne eblas ekspansi ĵokerojn"
+
+msgid "E591: 'winheight' cannot be smaller than 'winminheight'"
+msgstr "E591: 'winheight' ne rajtas esti malpli ol 'winminheight'"
+
+msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'"
+msgstr "E592: 'winwidth' ne rajtas esti malpli ol 'winminwidth'"
+
+msgid "E80: Error while writing"
+msgstr "E80: Eraro dum skribado"
+
+msgid "Zero count"
+msgstr "Nul kvantoro"
+
+msgid "E81: Using <SID> not in a script context"
+msgstr "E81: Uzo de <SID> ekster kunteksto de skripto"
+
+msgid "E449: Invalid expression received"
+msgstr "E449: Nevalida esprimo ricevita"
+
+msgid "E463: Region is guarded, cannot modify"
+msgstr "E463: Regiono estas gardita, ne eblas ŝanĝi"
+
+msgid "E744: NetBeans does not allow changes in read-only files"
+msgstr "E744: NetBeans ne permesas ŝanĝojn en nurlegeblaj dosieroj"
+
+#, c-format
+msgid "E685: Internal error: %s"
+msgstr "E685: Interna eraro: %s"
+
+msgid "E363: pattern uses more memory than 'maxmempattern'"
+msgstr "E363: ŝablono uzas pli da memoro ol 'maxmempattern'"
+
+msgid "E749: empty buffer"
+msgstr "E749: malplena bufro"
+
+msgid "E682: Invalid search pattern or delimiter"
+msgstr "E682: Nevalida serĉa ŝablono aŭ disigilo"
+
+msgid "E139: File is loaded in another buffer"
+msgstr "E139: Dosiero estas ŝargita en alia bufro"
+
+#, c-format
+msgid "E764: Option '%s' is not set"
+msgstr "E764: La opcio '%s' ne estas ŝaltita"
+
+msgid "search hit TOP, continuing at BOTTOM"
+msgstr "serĉo atingis SUPRON, daŭrigonte al SUBO"
+
+msgid "search hit BOTTOM, continuing at TOP"
+msgstr "serĉo atingis SUBON, daŭrigonte al SUPRO"
index 8b1a2685bc8ca72f5856d0080b3e400f93699561..3f362eb3cc05d6409f7b5fb982e6db03835e6324 100644 (file)
@@ -434,11 +434,11 @@ msgstr "E121: Variable sin definir: %s."
 
 #, c-format
 msgid "E461: Illegal variable name: %s"
-msgstr "E244: ¡Nombre ilegal para una variable! %s"
+msgstr "E461: ¡Nombre ilegal para una variable! %s"
 
 #, c-format
 msgid "E122: Function %s already exists, add ! to replace it"
-msgstr "E226: La función %s ya existe, añada «!» para reemplazarla."
+msgstr "E122: La función %s ya existe, añada «!» para reemplazarla."
 
 #, c-format
 msgid "E123: Undefined function: %s"
@@ -698,7 +698,7 @@ msgstr "E478: 
 
 #, c-format
 msgid "E661: Sorry, no '%s' help for %s"
-msgstr "E149: Lo siento, no hay ayuda «%s» para %s."
+msgstr "E661: Lo siento, no hay ayuda «%s» para %s."
 
 #, c-format
 msgid "E149: Sorry, no help for %s"
@@ -752,7 +752,7 @@ msgstr "E159: Falta el n
 
 #, c-format
 msgid "E158: Invalid buffer name: %s"
-msgstr "E159: El nombre del «buffer» no es válido: %s"
+msgstr "E158: El nombre del «buffer» no es válido: %s"
 
 #, c-format
 msgid "E157: Invalid sign ID: %ld"
@@ -901,7 +901,7 @@ msgstr "E455: Error escribiendo al fichero PostScript de salida."
 
 #, c-format
 msgid "E624: Can't open file \"%s\""
-msgstr "E456: No se puede abrir el fichero «%s»."
+msgstr "E624: No se puede abrir el fichero «%s»."
 
 #, c-format
 msgid "E457: Can't read PostScript resource file \"%s\""
@@ -997,7 +997,7 @@ msgid "E464: Ambiguous use of user-defined command"
 msgstr "E464: Uso ambiguo de un comando definido por el usuario."
 
 msgid "E492: Not an editor command"
-msgstr "E371: No es un comando del editor."
+msgstr "E492: No es un comando del editor."
 
 msgid "E493: Backwards range given"
 msgstr "E493: Me ha dado un rango invertido."
@@ -1267,7 +1267,7 @@ msgid "E587: :break without :while"
 msgstr "E587: :break sin :while"
 
 msgid "E601: :try nesting too deep"
-msgstr "E218: ¡«:try» se anida muy profundamente!"
+msgstr "E601: ¡«:try» se anida muy profundamente!"
 
 msgid "E603: :catch without :try"
 msgstr "E603: :catch sin un :try"
@@ -1482,7 +1482,7 @@ msgid "E667: Fsync failed"
 msgstr "E667: falló «fsync»"
 
 msgid "E512: Close failed"
-msgstr "E314: Falló el cierre del fichero."
+msgstr "E512: Falló el cierre del fichero."
 
 msgid "E513: write error, conversion failed"
 msgstr "E513: Error de escritura, la conversión falló."
@@ -3262,7 +3262,7 @@ msgid "Stack size increases"
 msgstr "El tamaño de la pila aumenta"
 
 msgid "E317: pointer block id wrong 2"
-msgstr "E310: El id del bloque de punteros está equivocado. 2"
+msgstr "E317: El id del bloque de punteros está equivocado. 2"
 
 msgid "E325: ATTENTION"
 msgstr "E325: ATENCIÓN"
@@ -4636,7 +4636,7 @@ msgid "E427: There is only one matching tag"
 msgstr "E427: Hay sólo un «tag» que coincide"
 
 msgid "E428: Cannot go beyond last matching tag"
-msgstr "E420: No se puede ir más allá del último «tag» que coincida"
+msgstr "E428: No se puede ir más allá del último «tag» que coincida"
 
 #, c-format
 msgid "File \"%s\" does not exist"
index c67f748c2db25f539703b564582a3fcc6cf40cd6..1bbc7fcd0ba97b012f270050ba9acc0765de30d0 100644 (file)
@@ -73,7 +73,7 @@ msgstr "E88: Nie mog
 
 #, c-format
 msgid "E89: No write since last change for buffer %ld (add ! to override)"
-msgstr "E89 Nie zapisano zmian w buforze %ld (wymu\9c przez !)"
+msgstr "E89: Nie zapisano zmian w buforze %ld (wymu\9c przez !)"
 
 msgid "E90: Cannot unload last buffer"
 msgstr "E90: Nie mogê wy³adowaæ ostatniego bufora"
@@ -339,7 +339,7 @@ msgstr "E111: Brak ']'"
 
 #, c-format
 msgid "E686: Argument of %s must be a List"
-msgstr "E487: Argument %s musi byæ List¹"
+msgstr "E686: Argument %s musi byæ List¹"
 
 #, c-format
 msgid "E712: Argument of %s must be a List or Dictionary"
@@ -385,7 +385,7 @@ msgstr "E130: Nieznana funkcja: %s"
 
 #, c-format
 msgid "E461: Illegal variable name: %s"
-msgstr "E418: Niedozwolona nazwa zmiennej: %s"
+msgstr "E461: Niedozwolona nazwa zmiennej: %s"
 
 msgid "E687: Less targets than List items"
 msgstr "E687: Mniej celów ni¿ elementów Listy"
@@ -1064,7 +1064,7 @@ msgid "E156: Missing sign name"
 msgstr "E156: Brak nazwy znaku"
 
 msgid "E612: Too many signs defined"
-msgstr "E255: Zbyt wiele nazw znaków"
+msgstr "E612: Zbyt wiele nazw znaków"
 
 #, c-format
 msgid "E239: Invalid sign text: %s"
@@ -1228,7 +1228,7 @@ msgstr "Brak pliku wymiany"
 msgid "Append File"
 msgstr "Do³¹cz plik"
 
-msgid "E747: Cannot change directory, buffer is modifed (add ! to override)"
+msgid "E747: Cannot change directory, buffer is modified (add ! to override)"
 msgstr ""
 "E747: Nie mogê zmieniæ katalogu, bufor zosta³ zmodyfikowany (dodaj ! aby "
 "wymusiæ)"
@@ -1465,8 +1465,8 @@ msgstr "jest katalogiem"
 msgid "is not a file"
 msgstr "nie jest plikiem"
 
-msgid "is a device (disabled with 'opendevice' option"
-msgstr "jest urz¹dzeniem (wy³¹czonym w opcji 'opendevice'"
+msgid "is a device (disabled with 'opendevice' option)"
+msgstr "jest urz¹dzeniem (wy³¹czonym w opcji 'opendevice')"
 
 msgid "[New File]"
 msgstr "[Nowy Plik]"
@@ -2523,8 +2523,7 @@ msgid "E265: $_ must be an instance of String"
 msgstr "E265: $_ musi byæ reprezentacj¹ £añcucha"
 
 msgid "E266: Sorry, this command is disabled, the Ruby library could not be loaded."
-msgstr ""
-"E263: Przykro mi, ta komenda jest wy³¹czona, bo nie mo¿na za³adowaæ "
+msgstr "E266: Przykro mi, ta komenda jest wy³¹czona, bo nie mo¿na za³adowaæ "
 "biblioteki Ruby."
 
 msgid "E267: unexpected return"
@@ -2692,7 +2691,7 @@ msgstr ""
 "bufora/okna"
 
 msgid "E571: Sorry, this command is disabled: the Tcl library could not be loaded."
-msgstr "Przykro mi, ta komenda jest wy³¹czona, bo nie mo¿na za³adowaæ biblioteki Tcl."
+msgstr "E571: Przykro mi, ta komenda jest wy³¹czona, bo nie mo¿na za³adowaæ biblioteki Tcl."
 
 msgid "E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org"
 msgstr ""
@@ -3843,7 +3842,7 @@ msgid "E548: digit expected"
 msgstr "E548: oczekiwano cyfry"
 
 msgid "E549: Illegal percentage"
-msgstr "E459: Niedozwolony procent"
+msgstr "E549: Niedozwolony procent"
 
 msgid "Enter encryption key: "
 msgstr "Wprowad\9f klucz do odkodowania: "
index 75095c036ec000e587ae897d83c8261257a6f3f8..eb4e3b0e5235d082d0ab0f2d6fc3fa6791323828 100644 (file)
@@ -346,7 +346,7 @@ msgid "E716: Key not present in Dictionary: %s"
 msgstr "E716: k¾úè sa v Slovníku (Dictionary) nenachádza: %s"
 
 msgid "E122: Function %s already exists, add ! to replace it"
-msgstr "E112: Funkcia %s u\9e existuje. Pou\9eite ! pre jej nahradenie."
+msgstr "E122: Funkcia %s u\9e existuje. Pou\9eite ! pre jej nahradenie."
 
 msgid "E717: Dictionary entry already exists"
 msgstr "E717: Záznam v Slovníku (Dictionary) u\9e existuje"
@@ -527,7 +527,7 @@ msgid "E241: Unable to send to %s"
 msgstr "E241: Nemô\9eem posla\9d na %s"
 
 msgid "E277: Unable to read a server reply"
-msgstr "E227: Nemô\9eem èíta\9d odpoveï servra"
+msgstr "E277: Nemô\9eem èíta\9d odpoveï servra"
 
 msgid "E655: Too many symbolic links (cycle?)"
 msgstr "E655: Príli\9a mnoho symbolických odkazov (sluèka?)"
@@ -866,7 +866,7 @@ msgid "E156: Missing sign name"
 msgstr "E156: Chýba meno pre znaèku"
 
 msgid "E612: Too many signs defined"
-msgstr "E255: Príli\9a mnoho definovaných znaèiek"
+msgstr "E612: Príli\9a mnoho definovaných znaèiek"
 
 #, c-format
 msgid "E239: Invalid sign text: %s"
@@ -1128,7 +1128,7 @@ msgstr "
 msgid "Append File"
 msgstr "Pripoji\9d súbor"
 
-msgid "E747: Cannot change directory, buffer is modifed (add ! to override)"
+msgid "E747: Cannot change directory, buffer is modified (add ! to override)"
 msgstr "E747: Nemo\9eno zmeni\9d adresár, buffer je modifikovaný (pou\9eite ! pre vynútenie)"
 
 msgid "E186: No previous directory"
@@ -1260,13 +1260,13 @@ msgid "E579: :if nesting too deep"
 msgstr "E579: vnorenie :if je príli\9a hlboké"
 
 msgid "E580: :endif without :if"
-msgstr "E580 :endif bez zodpovedajúceho :if"
+msgstr "E580: :endif bez zodpovedajúceho :if"
 
 msgid "E581: :else without :if"
-msgstr "E581 :else bez zodpovedajúceho :if"
+msgstr "E581: :else bez zodpovedajúceho :if"
 
 msgid "E582: :elseif without :if"
-msgstr "E582 :elseif bez zodpovedajúceho :if"
+msgstr "E582: :elseif bez zodpovedajúceho :if"
 
 msgid "E583: multiple :else"
 msgstr "E583: viacnásobné :else"
index b788b0f01494472a751e9d9e0ba3f04557799c3b..e77f930cfe06d7805b84b359012321933eda4e34 100644 (file)
@@ -5,17 +5,18 @@
 #
 # Thanks to:
 #   Dmytro Kovalov <dmytro.kovalov@nssmb.com> for useful suggestions
-#      Dmytro O. Redchuk <dor@kiev-online.net> for viminfo bug
+#      Dmytro O. Redchuk <dor@kiev-online.net> for viminfo bug
 #
 # Please, see readme at htpp://www.vstu.edu.ua/~bohdan/vim before any
 # complains, and even if you won't complain, read it anyway.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: vim 6.0\n"
-"POT-Creation-Date: 2002-01-10 09:03+0200\n"
-"PO-Revision-Date: 2001-10-16 13:34+0300\n"
-"Last-Translator: Bohdan Vlasyuk <bohdan@vstu.edu.ua>\n"
+"Project-Id-Version: vim 7.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2008-03-01 10:47+0200\n"
+"PO-Revision-Date: 2008-03-07 13:57+0300\n"
+"Last-Translator: Àíàòîë³é Ñàõí³ê <sakhnik@gmail.com>\n"
 "Language-Team: Bohdan Vlasyuk <bohdan@vstu.edu.ua>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=cp1251\n"
@@ -27,14 +28,14 @@ msgstr "E82: 
 msgid "E83: Cannot allocate buffer, using other one..."
 msgstr "E83: Íåìຠìîæëèâîñò³ ðîçì³ñòèòè áóôåð, áóäå âèêîðèñòàíî ³íøèé..."
 
-msgid "No buffers were unloaded"
-msgstr "Æîäåí ç áóôåð³â íå áóâ âèâàíòàæåíèé"
+msgid "E515: No buffers were unloaded"
+msgstr "E515: Æîäåí ç áóôåð³â íå áóâ âèâàíòàæåíèé"
 
-msgid "No buffers were deleted"
-msgstr "Æîäåí ç áóôåð³â íå áóâ âèäàëåíèé"
+msgid "E516: No buffers were deleted"
+msgstr "E516: Æîäåí ç áóôåð³â íå çíèùåíî"
 
-msgid "No buffers were wiped out"
-msgstr "Æîäåí ç áóôåð³â íå áóâ âèòåðòèé"
+msgid "E517: No buffers were wiped out"
+msgstr "E517: Æîäåí ç áóôåð³â íå âèòåðòî"
 
 msgid "1 buffer unloaded"
 msgstr "Âèâàíòàæåíî îäèí áóôåð"
@@ -44,18 +45,18 @@ msgid "%d buffers unloaded"
 msgstr "Âèâàíòàæåíî áóôåð³â -- %d"
 
 msgid "1 buffer deleted"
-msgstr "Âèäàëåíî îäèí áóôåð"
+msgstr "Çíèùåíî îäèí áóôåð"
 
 #, c-format
 msgid "%d buffers deleted"
-msgstr "Âèäàëåíî áóôåð³â -- %d"
+msgstr "Çíèùåíî %d áóôåðè(³â)"
 
 msgid "1 buffer wiped out"
 msgstr "Âèòåðòî îäèí áóôåð"
 
 #, c-format
 msgid "%d buffers wiped out"
-msgstr "Âèòåðòî áóôåð³â -- %d"
+msgstr "Âèòåðòî %d áóôåð(è)³â"
 
 msgid "E84: No modified buffer found"
 msgstr "E84: Æîäåí áóôåð íå çì³íåíî"
@@ -65,26 +66,24 @@ msgid "E85: There is no listed buffer"
 msgstr "E85: Ó ñïèñêó íåìຠáóôåð³â"
 
 #, c-format
-msgid "E86: Cannot go to buffer %ld"
-msgstr "E86: Íå ìîæó ïåðåéòè â áóôåð %ld"
+msgid "E86: Buffer %ld does not exist"
+msgstr "E86: Áóôåðó %ld íåìàº"
 
 msgid "E87: Cannot go beyond last buffer"
-msgstr "E87: Íå ìîæó ïåðåéòè ó íàñòóïíèé áóôåð ç îñòàííüîãî"
+msgstr "E87: Öå âæå îñòàíí³é áóôåð"
 
 msgid "E88: Cannot go before first buffer"
-msgstr "E88: Íå ìîæó ïåðåéòè ó ïîïåðåäí³é áóôåð ç ïåðøîãî"
+msgstr "E88: Öå âæå íàéïåðøèé áóôåð"
 
 #, c-format
-msgid "E89: No write since last change for buffer %ld (use ! to override)"
-msgstr ""
-"E89: Áóôåð %ld íå çàïèñàíèé ï³ñëÿ îñòàííüî¿ çì³íè (âèêîðèñòàéòå ! ùîá íå "
-"çâàæàòè)"
+msgid "E89: No write since last change for buffer %ld (add ! to override)"
+msgstr "E89: Áóôåð %ld ìຠçì³íè (! ùîá íå çâàæàòè)"
 
 msgid "E90: Cannot unload last buffer"
 msgstr "E90: Íå ìîæó âèâàíòàæèòè îñòàíí³é áóôåð"
 
 msgid "W14: Warning: List of file names overflow"
-msgstr "W14: Îáåðåæíî: Ñïèñîê ³ìåí ôàéë³â ïåðåïîâíåíî"
+msgstr "W14: Îáåðåæíî: Ñïèñîê íàçâ ôàéë³â ïåðåïîâíåíî"
 
 #, c-format
 msgid "E92: Buffer %ld not found"
@@ -92,24 +91,24 @@ msgstr "E92: 
 
 #, c-format
 msgid "E93: More than one match for %s"
-msgstr "E93: Çíàéäåíî á³ëüøå í³æ îäèí âàð³àíò äëÿ %s"
+msgstr "E93: Çíàéäåíî ê³ëüêà çá³ã³â ç %s"
 
 #, c-format
 msgid "E94: No matching buffer for %s"
-msgstr "E94: Íå çíàéäåíî âàð³àíò³â äëÿ %s"
+msgstr "E94: Íå çíàéäåíî áóôåð, ñõîæèé íà %s"
 
 #, c-format
 msgid "line %ld"
 msgstr "ðÿäîê %ld"
 
 msgid "E95: Buffer with this name already exists"
-msgstr "E95: Áóôåð ç òàêîþ íàçâîþ óæå ³ñíóº"
+msgstr "E95: Áóôåð ç òàêîþ íàçâîþ âæå ³ñíóº"
 
 msgid " [Modified]"
-msgstr "[Çì³íåíî]"
+msgstr " [Çì³íåíî]"
 
 msgid "[Not edited]"
-msgstr "[Íå áóëî ðåäàãîâàíî]"
+msgstr "[Íå ðåäàãîâàíî]"
 
 msgid "[New file]"
 msgstr "[Íîâèé ôàéë]"
@@ -120,37 +119,41 @@ msgstr "[
 msgid "[readonly]"
 msgstr "[ëèøå ÷èòàòè]"
 
+#, c-format
 msgid "1 line --%d%%--"
 msgstr "îäèí ðÿäîê --%d%%--"
 
+#, c-format
 msgid "%ld lines --%d%%--"
-msgstr "(ðÿäê³â: %ld) --%d%%--"
+msgstr "%ld ðÿäêè(³â) --%d%%--"
 
+#, c-format
 msgid "line %ld of %ld --%d%%-- col "
-msgstr "ðÿäîê %ld ç %ld --%d%%-- êîëîíêà"
+msgstr "ðÿäîê %ld ç %ld --%d%%-- êîëîíêà "
 
-msgid "[No file]"
-msgstr "[Íîâèé ôàéë]"
+msgid "[No Name]"
+msgstr "[Áåç íàçâè]"
 
 #. must be a help buffer
 msgid "help"
 msgstr "äîïîìîãà"
 
-msgid "[help]"
-msgstr "[äîïîìîãà]"
+msgid "[Help]"
+msgstr "[Äîïîìîãà]"
 
 msgid "[Preview]"
-msgstr "[ïåðåãëÿä]"
+msgstr "[Ïåðåãëÿä]"
 
 msgid "All"
 msgstr "Óñå"
 
 msgid "Bot"
-msgstr "Óíèçó"
+msgstr "Çíèçó"
 
 msgid "Top"
 msgstr "Âãîð³"
 
+#, c-format
 msgid ""
 "\n"
 "# Buffer list:\n"
@@ -158,129 +161,144 @@ msgstr ""
 "\n"
 "# Ñïèñîê áóôåð³â:\n"
 
-msgid "[Error List]"
-msgstr "[Ñïèñîê ïîìèëîê]"
+msgid "[Location List]"
+msgstr "[Ñïèñîê ì³ñöü]"
 
-msgid "[No File]"
-msgstr "[Íîâèé ôàéë]"
+msgid "[Quickfix List]"
+msgstr "[Ñïèñîê âèïðàâëåíü]"
 
 msgid ""
 "\n"
 "--- Signs ---"
 msgstr ""
 "\n"
-"--- Çíàêè ---"
+"--- Ïîçíà÷êè ---"
 
 #, c-format
 msgid "Signs for %s:"
-msgstr "Çíàêè äëÿ %s:"
+msgstr "Ïîçíà÷êè äëÿ %s:"
 
 #, c-format
 msgid "    line=%ld  id=%d  name=%s"
-msgstr "    ðÿäîê=%ld  id=%d ³ì'ÿ=%s"
+msgstr "    ðÿäîê=%ld  id=%d íàçâà=%s"
 
 #, c-format
 msgid "E96: Can not diff more than %ld buffers"
-msgstr "E96: Íå ìîæó ïîð³âíþâàòè ïîíàä %ld áóôåð³â "
+msgstr "E96: Íå çì³ã ïîð³âíÿòè ïîíàä %ld áóôåðè(³â) "
 
 msgid "E97: Cannot create diffs"
-msgstr "E97: Íåìîæíà ñòâîðèòè diff'è"
+msgstr "E97: Íå çì³ã ñòâîðèòè ïîð³âíÿííÿ"
 
 msgid "Patch file"
-msgstr "patch-ôàéë"
+msgstr "Ëàòêà"
 
 msgid "E98: Cannot read diff output"
-msgstr "E98: Íå ìîæó ç÷èòàòè ðåçóëüòàò diff'ó"
+msgstr "E98: Íå çì³ã ïðî÷èòàòè ðåçóëüòàò diff"
 
 msgid "E99: Current buffer is not in diff mode"
-msgstr "E99: Öåé áóôåð íå â ðåæèì³ diff"
+msgstr "E99: Öåé áóôåð íå â ðåæèì³ ïîð³âíÿííÿ"
+
+msgid "E793: No other buffer in diff mode is modifiable"
+msgstr "E793: Íåìຠá³ëüøå ìîäèô³êîâíèõ áóôåð³â â ðåæèì³ ïîð³âíÿííÿ"
 
 msgid "E100: No other buffer in diff mode"
-msgstr "E100: Íåìàå ³íøèõ áóôåð³â â ðåæèì³ diff"
+msgstr "E100: Íåìຠ³íøèõ áóôåð³â â ðåæèì³ ïîð³âíÿííÿ"
 
 msgid "E101: More than two buffers in diff mode, don't know which one to use"
-msgstr ""
-"E101: Ïîíàä äâà áóôåðà çíàõîäÿòüñÿ â ðåæèì³ diff, íå çðîçóì³ëî ÿêèé ç íèõ "
-"âèêîðèñòàòè"
+msgstr "E101: Ïîíàä äâà áóôåðè ó ðåæèì³ ïîð³âíÿííÿ, íå çðîçóì³ëî, êîòðèé ³ç íèõ âèêîðèñòàòè"
 
 #, c-format
 msgid "E102: Can't find buffer \"%s\""
-msgstr "E102: Áóôåð \"%s\" íå çíàéäåíî"
+msgstr "E102: Íå çì³ã çíàéòè áóôåð \"%s\""
 
 #, c-format
 msgid "E103: Buffer \"%s\" is not in diff mode"
-msgstr "E103: Áóôåð \"%s\" íå â ðåæèì³ diff"
+msgstr "E103: Áóôåð \"%s\" íå â ðåæèì³ ïîð³âíÿííÿ"
+
+msgid "E787: Buffer changed unexpectedly"
+msgstr "E787: Áóôåð íåñïîä³âàíî çì³íèâñÿ"
 
 msgid "E104: Escape not allowed in digraph"
-msgstr "E104: Ó äèãðàôàõ íå ìîæå ì³ñòèòèñÿ Escape"
+msgstr "E104: Ó äèãðàôàõ íå ìîæå ì³ñòèòèñÿ escape"
 
-msgid "Keymap file not found"
-msgstr "Ôàéë ðîçêëàäêè êëàâ³àòóðè íå çíàéäåíî"
+msgid "E544: Keymap file not found"
+msgstr "E544: Íå çíàéäåíî ôàéëó ðîçêëàäêè"
 
 msgid "E105: Using :loadkeymap not in a sourced file"
-msgstr "E105: Âèêîðèñòàííÿ :loadkeymap íå â ôàéë³ êîìàíä"
+msgstr "E105: :loadkeymap âèêîðèñòàíî íå ó ôàéë³ êîìàíä"
 
-msgid " Keyword completion (^N/^P)"
-msgstr " Äîïîâíåííÿ êëþ÷îâèõ ñë³â (^N/^P)"
+msgid "E791: Empty keymap entry"
+msgstr "E791: Åëåìåíò ðîçêëàäêè ïîðîæí³é"
+
+msgid " Keyword completion (^N^P)"
+msgstr " Äîïîâíåííÿ êëþ÷îâèõ ñë³â (^N^P)"
 
 #. ctrl_x_mode == 0, ^P/^N compl.
-msgid " ^X mode (^E/^Y/^L/^]/^F/^I/^K/^D/^V/^N/^P)"
-msgstr " Ðåæèì ^X (^E/^Y/^L/^]/^F/^I/^K/^D/^V/^N/^P)"
+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)"
 
-#. Scroll has it's own msgs, in it's place there is the msg for local
-#. * ctrl_x_mode = 0 (eg continue_status & CONT_LOCAL)  -- Acevedo
-msgid " Keyword Local completion (^N/^P)"
-msgstr " Äîâåðøåííÿ ì³ñöåâèõ êëþ÷îâèõ ñë³â (^N/^P)"
+msgid " Whole line completion (^L^N^P)"
+msgstr " Äîïîâíåííÿ óñüîãî ðÿäêà (^L^N^P)"
 
-msgid " Whole line completion (^L/^N/^P)"
-msgstr " Äîâåðøåííÿ óñüîãî ðÿäêà (^L/^N/^P)"
+msgid " File name completion (^F^N^P)"
+msgstr " Äîïîâíåííÿ íàçâè ôàéëó (^F^N^P)"
 
-msgid " File name completion (^F/^N/^P)"
-msgstr " Äîâåðøåííÿ ³ìåí³ ôàéëà (^F/^N/^P)"
+msgid " Tag completion (^]^N^P)"
+msgstr " Äîïîâíåííÿ òå´³â (^]^N^P)"
 
-msgid " Tag completion (^]/^N/^P)"
-msgstr " Äîâåðøåííÿ ïîì³òîê (^]/^N/^P)"
+msgid " Path pattern completion (^N^P)"
+msgstr " Äîïîâíåííÿ øëÿõó çà çðàçêîì (^N^P)"
 
-msgid " Path pattern completion (^N/^P)"
-msgstr " Äîâåðøåííÿ øëÿõó çà çðàçêîì (^N/^P)"
+msgid " Definition completion (^D^N^P)"
+msgstr " Äîïîâíåííÿ âèçíà÷åííÿ (^D^N^P)"
 
-msgid " Definition completion (^D/^N/^P)"
-msgstr " Äîâåðøåííÿ âèçíà÷åííÿ (^D/^N/^P)"
+msgid " Dictionary completion (^K^N^P)"
+msgstr " Äîïîâíåííÿ ç³ ñëîâíèêà (^K^N^P)"
 
-msgid " Dictionary completion (^K/^N/^P)"
-msgstr " Äîâåðøåííÿ ç ñëîâíèêà (^K/^N/^P)"
+msgid " Thesaurus completion (^T^N^P)"
+msgstr " Äîïîâíåííÿ ç òåçàóðóñó (^T^N^P)"
 
-msgid " Thesaurus completion (^T/^N/^P)"
-msgstr " Äîâåðøåííÿ ç ³äåîãðàìàòè÷íîãî ñëîâíèêà (^T/^N/^P)"
+msgid " Command-line completion (^V^N^P)"
+msgstr " Äîïîâíåííÿ êîìàíä (^V^N^P)"
 
-msgid " Command-line completion (^V/^N/^P)"
-msgstr " Äîâåðøåííÿ êîìàíä (^V/^N/^P)"
+msgid " User defined completion (^U^N^P)"
+msgstr " Êîðèñòóâàöüêå äîïîâíåííÿ (^U^N^P)"
 
-msgid "Hit end of paragraph"
-msgstr "Äîñÿãíóòî ê³íåöü ïàðàãðàôà"
+msgid " Omni completion (^O^N^P)"
+msgstr " Êì³òëèâå äîïîâíåííÿ (^O^N^P)"
 
-msgid "'thesaurus' option is empty"
-msgstr "îïö³ÿ 'thesaurus' ïóñòà"
+msgid " Spelling suggestion (s^N^P)"
+msgstr " Îðôîãðàô³÷íà ï³äêàçêà (s^N^P)"
+
+msgid " Keyword Local completion (^N^P)"
+msgstr " Äîïîâíåííÿ ì³ñöåâèõ êëþ÷îâèõ ñë³â (^N^P)"
+
+msgid "Hit end of paragraph"
+msgstr "Òðàïèâñÿ ê³íåöü ïàðàãðàôà"
 
 msgid "'dictionary' option is empty"
-msgstr "îïö³ÿ 'dictionary' ïóñòà"
+msgstr "Îïö³ÿ 'dictionary' ïîðîæíÿ"
+
+msgid "'thesaurus' option is empty"
+msgstr "Îïö³ÿ 'thesaurus' ïîðîæíÿ"
 
 #, c-format
 msgid "Scanning dictionary: %s"
-msgstr "ç÷èòóåìî äèðåêòîð³þ: %s"
+msgstr "Ñêàíóºìî ñëîâíèê: %s"
 
 msgid " (insert) Scroll (^E/^Y)"
-msgstr " (âñòàâêà) Çñóâ (^E/^Y)"
+msgstr " (âñòàâêà) Ïðîãîðíóòè (^E/^Y)"
 
 msgid " (replace) Scroll (^E/^Y)"
-msgstr " (çàì³íà) Çñóâ (^E/^Y)"
+msgstr " (çàì³íà) Ïðîãîðíóòè (^E/^Y)"
 
 #, c-format
 msgid "Scanning: %s"
 msgstr "Ïîøóê ó: %s"
 
+#, c-format
 msgid "Scanning tags."
-msgstr "Ïîøóê ñåðåä ïîì³òîê."
+msgstr "Ïîøóê ñåðåä òå´³â."
 
 msgid " Adding"
 msgstr " Äîäàºìî"
@@ -293,46 +311,161 @@ msgid "-- Searching..."
 msgstr "-- Ïîøóê..."
 
 msgid "Back at original"
-msgstr "Íàçàä äî ïî÷àòêîâîãî âàð³àíòó"
+msgstr "Ïî÷àòêîâèé âàð³àíò"
 
 msgid "Word from other line"
 msgstr "Ñëîâî ç ³íøîãî ðÿäêà"
 
 msgid "The only match"
-msgstr "Åäèíèé âàð³àíò"
+msgstr "ªäèíèé çá³ã"
 
 #, c-format
 msgid "match %d of %d"
-msgstr " âàð³àíò %d ç %d"
+msgstr "çá³ã %d ç %d"
 
 #, c-format
 msgid "match %d"
-msgstr "âàð³àíò %d"
+msgstr "çá³ã %d"
+
+# msgstr "E17: "
+msgid "E18: Unexpected characters in :let"
+msgstr "E18: Íåî÷³êóâàí³ ñèìâîëè ó :let"
+
+#, c-format
+msgid "E684: list index out of range: %ld"
+msgstr "E684: ²íäåêñ ñïèñêó ïîçà ìåæàìè: %ld"
+
+#, c-format
+msgid "E121: Undefined variable: %s"
+msgstr "E121: Íåâèçíà÷åíà çì³ííà: %s"
+
+msgid "E111: Missing ']'"
+msgstr "E111: Áðàêóº ']'"
+
+#, c-format
+msgid "E686: Argument of %s must be a List"
+msgstr "E686: Àðãóìåíò ó %s ìຠáóòè ñïèñêîì"
+
+#, c-format
+msgid "E712: Argument of %s must be a List or Dictionary"
+msgstr "E712: Àðãóìåíò ó %s ìຠáóòè ñïèñêîì ÷è ñëîâíèêîì"
+
+msgid "E713: Cannot use empty key for Dictionary"
+msgstr "E713: Êëþ÷ ñëîâíèêà íå ìîæå áóòè ïîðîæí³ì"
+
+# msgstr "E396: "
+msgid "E714: List required"
+msgstr "E714: Ïîòð³áåí ñïèñîê"
+
+msgid "E715: Dictionary required"
+msgstr "E715: Ïîòð³áåí ñëîâíèê"
+
+#, c-format
+msgid "E118: Too many arguments for function: %s"
+msgstr "E118: Çàáàãàòî àðãóìåíò³â äëÿ ôóíêö³¿: %s"
+
+#, c-format
+msgid "E716: Key not present in Dictionary: %s"
+msgstr "E716: Íåìຠòàêîãî êëþ÷à ó ñëîâíèêó: %s"
+
+#, c-format
+msgid "E122: Function %s already exists, add ! to replace it"
+msgstr "E122: Ôóíêö³ÿ %s óæå ³ñíóº, ! ùîá çàì³íèòè"
+
+msgid "E717: Dictionary entry already exists"
+msgstr "E717: Çàïèñ ó ñëîâíèêó âæå ³ñíóº"
+
+msgid "E718: Funcref required"
+msgstr "E718: Òðåáà ïîñèëàííÿ íà ôóíêö³þ"
+
+msgid "E719: Cannot use [:] with a Dictionary"
+msgstr "E719: Íå ìîæíà âèêîðèñòàòè [:] ç³ ñëîâíèêîì"
+
+#, c-format
+msgid "E734: Wrong variable type for %s="
+msgstr "E734: Íåïðàâèëüíèé òèï çì³ííî¿ äëÿ %s="
+
+#, c-format
+msgid "E130: Unknown function: %s"
+msgstr "E130: Íåâ³äîìà ôóíêö³ÿ: %s"
+
+#, c-format
+msgid "E461: Illegal variable name: %s"
+msgstr "E461: Íåïðèïóñòèìà íàçâà çì³ííî¿: %s"
+
+msgid "E687: Less targets than List items"
+msgstr "E687: Ö³ëåé ìåíøå, í³æ åëåìåíò³â ñïèñêó"
+
+msgid "E688: More targets than List items"
+msgstr "E688: Ö³ëåé á³ëüøå, í³æ åëåìåíò³â ñïèñêó"
+
+msgid "Double ; in list of variables"
+msgstr "Äðóãà ; ó ñïèñêó çì³ííèõ"
 
+# msgstr "E235: "
 #, c-format
-msgid "E106: Unknown variable: \"%s\""
-msgstr "E106: Íåâ³äîìà çì³ííà: \"%s\""
+msgid "E738: Can't list variables for %s"
+msgstr "E738: Íå ìîæíà ïåðåë³÷èòè çì³íí³ ó %s"
+
+msgid "E689: Can only index a List or Dictionary"
+msgstr "E689: ²íäåêñíèé äîñòóï ìîæå áóòè ò³ëüêè äî ñïèñêó ÷è ñëîâíèêà"
+
+msgid "E708: [:] must come last"
+msgstr "E708: [:] ìຠáóòè îñòàííüîþ"
+
+msgid "E709: [:] requires a List value"
+msgstr "E709: [:] âèìàãຠñïèñîê"
+
+msgid "E710: List value has more items than target"
+msgstr "E710: Ñïèñîê ìຠá³ëüøå åëåìåíò³â, í³æ ö³ëü"
+
+msgid "E711: List value has not enough items"
+msgstr "E711: Ñïèñîê ìຠíåäîñòàòíüî åëåìåíò³â"
+
+msgid "E690: Missing \"in\" after :for"
+msgstr "E690: Â³äñóòíº \"in\" ï³ñëÿ :for"
 
 #, c-format
 msgid "E107: Missing braces: %s"
-msgstr "E107: Íåìàå äóæîê: %s"
+msgstr "E107: Ïðîïóùåíî äóæêè: %s"
 
 #, c-format
 msgid "E108: No such variable: \"%s\""
-msgstr "E108: Çì³ííà íå ³ñíóº: \"%s\""
+msgstr "E108: Çì³ííî¿ íåìàº: \"%s\""
+
+msgid "E743: variable nested too deep for (un)lock"
+msgstr "E743: Çì³ííà ìຠçàáàãàòî âêëàäåíü, ùîá áóòè çà-/â³äêðèòîþ."
 
 msgid "E109: Missing ':' after '?'"
-msgstr "E109: Íåìàå ':' ï³ñëÿ '?'"
+msgstr "E109: Áðàêóº ':' ï³ñëÿ '?'"
+
+msgid "E691: Can only compare List with List"
+msgstr "E691: Ñïèñîê ìîæíà ïîð³âíÿòè ò³ëüêè ç³ ñïèñêîì"
+
+msgid "E692: Invalid operation for Lists"
+msgstr "E692: Íåêîðåêòíà îïåðàö³ÿ íàä ñïèñêîì"
+
+msgid "E735: Can only compare Dictionary with Dictionary"
+msgstr "E735: Ñëîâíèê ìîæíà ïîð³âíÿòè ò³ëüêè ³ç ñëîâíèêîì"
+
+msgid "E736: Invalid operation for Dictionary"
+msgstr "E736: Íåêîðåêòíà îïåðàö³ÿ íàä ñëîâíèêîì"
+
+msgid "E693: Can only compare Funcref with Funcref"
+msgstr "E693: Ôóíêö³þ ìîæíà ïîð³âíÿòè ò³ëüêè ³ç ôóíêö³ºþ"
+
+msgid "E694: Invalid operation for Funcrefs"
+msgstr "E694: Íåêîðåêòíà îïåðàö³ÿ íàä ôóíêö³ºþ"
 
 msgid "E110: Missing ')'"
-msgstr "E110: Íåìຠ')'"
+msgstr "E110: Ïðîïóùåíî ')'"
 
-msgid "E111: Missing ']'"
-msgstr "E111: Íåìຠ']'"
+msgid "E695: Cannot index a Funcref"
+msgstr "E695: Ôóíêö³ÿ íå ìຠ³íäåêñàö³¿"
 
 #, c-format
 msgid "E112: Option name missing: %s"
-msgstr "E112: Íåìຠíàçâè îïö³¿: %s"
+msgstr "E112: Áðàêóº íàçâè îïö³¿: %s"
 
 #, c-format
 msgid "E113: Unknown option: %s"
@@ -340,23 +473,46 @@ msgstr "E113: 
 
 #, c-format
 msgid "E114: Missing quote: %s"
-msgstr "E114: Íå âèñòà÷ຠëàïêè: %s"
+msgstr "E114: Áðàêóº '\"': %s"
 
 #, c-format
 msgid "E115: Missing quote: %s"
-msgstr "E115: Âòðà÷åíèé ñèìâîë '\"': %s"
+msgstr "E115: Áðàêóº \"'\": %s"
+
+# msgstr "E404: "
+#, c-format
+msgid "E696: Missing comma in List: %s"
+msgstr "E696: Áðàêóº êîìè ó ñïèñêó: %s"
 
 #, c-format
-msgid "E116: Invalid arguments for function %s"
-msgstr "E116: Íåâ³ðí³ àðãóìåíòè äëÿ ôóíêö³¿ %s"
+msgid "E697: Missing end of List ']': %s"
+msgstr "E697: Íåìຠê³íö³âêè ñïèñêó ']': %s"
 
+# msgstr "E235: "
 #, c-format
-msgid "E117: Unknown function: %s"
-msgstr "E117: Íåâ³äîìà ôóíêö³ÿ: %s"
+msgid "E720: Missing colon in Dictionary: %s"
+msgstr "E720: Áðàêóº äâîêðàïêè ó ñëîâíèêó: %s"
 
 #, c-format
-msgid "E118: Too many arguments for function: %s"
-msgstr "E118: Çàáàãàòî àðãóìåíò³â äëÿ ôóíêö³¿ %s"
+msgid "E721: Duplicate key in Dictionary: \"%s\""
+msgstr "E721: Ïîâòîðåííÿ êëþ÷à â ñëîâíèêó: \"%s\""
+
+# msgstr "E235: "
+#, c-format
+msgid "E722: Missing comma in Dictionary: %s"
+msgstr "E722: Áðàêóº êîìè ó ñëîâíèêó: %s"
+
+#, c-format
+msgid "E723: Missing end of Dictionary '}': %s"
+msgstr "E723: Íåìຠê³íö³âêè ñëîâíèêà '}': %s"
+
+# msgstr "E21: "
+msgid "E724: variable nested too deep for displaying"
+msgstr "E724: Ó çì³íí³é çàíàäòî áàãàòî âêëàäåíü, ùîá ¿¿ ïîêàçàòè"
+
+#, c-format
+msgid "E117: Unknown function: %s"
+msgstr "E117: Íåâ³äîìà ôóíêö³ÿ: %s"
 
 #, c-format
 msgid "E119: Not enough arguments for function: %s"
@@ -364,46 +520,141 @@ msgstr "E119: 
 
 #, c-format
 msgid "E120: Using <SID> not in a script context: %s"
-msgstr "E120: <SID> âèêîðèñòîâóºòüñÿ íå ó ôàéë³ êîìàíä: %s"
+msgstr "E120: <SID> âèêîðèñòîâóºòüñÿ íå ó êîíòåêñò³ ñêðèïòó: %s"
+
+#, c-format
+msgid "E725: Calling dict function without Dictionary: %s"
+msgstr "E725: Âèêëèê dict-ôóíêö³¿ áåç ñëîâíèêà: %s"
+
+msgid "E699: Too many arguments"
+msgstr "E699: Çàáàãàòî àðãóìåíò³â"
+
+# msgstr "E327: "
+msgid "E785: complete() can only be used in Insert mode"
+msgstr "E785: complete() ìîæíà âæèâàòè ò³ëüêè â ðåæèì³ âñòàâêè"
+
+#.
+#. * Yes this is ugly, I don't particularly like it either.  But doing it
+#. * this way has the compelling advantage that translations need not to
+#. * be touched at all.  See below what 'ok' and 'ync' are used for.
+#.
+msgid "&Ok"
+msgstr "&O:Ãàðàçä"
+
+# msgstr "E226: "
+#, c-format
+msgid "E737: Key already exists: %s"
+msgstr "E737: Êëþ÷ âæå ³ñíóº: %s"
 
 #, c-format
 msgid "+-%s%3ld lines: "
-msgstr "+-%s%3ld: "
+msgstr "+-%s%3ld ðÿäê³â: "
+
+#, c-format
+msgid "E700: Unknown function: %s"
+msgstr "E700: Íåâ³äîìà ôóíêö³ÿ: %s"
 
 msgid ""
 "&OK\n"
 "&Cancel"
 msgstr ""
 "&O:Ãàðàçä\n"
-"&C:³äì³íà"
+"&C:Ñêàñóâàòè"
+
+msgid "called inputrestore() more often than inputsave()"
+msgstr "Âèêëèêè äî inputrestore() ÷àñò³øå, í³æ äî inputsave()"
+
+# msgstr "E406: "
+msgid "E786: Range not allowed"
+msgstr "E786: ²íòåðâàë íå äîçâîëåíî"
+
+# msgstr "E177: "
+msgid "E701: Invalid type for len()"
+msgstr "E701: Íåêîðåêòíèé òèï äëÿ len()"
+
+msgid "E726: Stride is zero"
+msgstr "E726: Êðîê íóëüîâèé"
+
+msgid "E727: Start past end"
+msgstr "E727: Ïî÷àòîê çà ê³íöåì"
+
+msgid "<empty>"
+msgstr "<í³÷îãî>"
 
 msgid "E240: No connection to Vim server"
-msgstr "E240: Íåìຠç'ºäíàííÿ ç Vim-ñåðâåðîì"
+msgstr "E240: Íåìຠç'ºäíàííÿ ³ç ñåðâåðîì Vim"
+
+#, c-format
+msgid "E241: Unable to send to %s"
+msgstr "E241: Íå çì³ã â³ä³ñëàòè äî %s"
 
 msgid "E277: Unable to read a server reply"
-msgstr "E277: Íå ìîæó ç÷èòàòè â³äïîâ³äü ñåðâåðà"
+msgstr "E277: Íå çì³ã ïðî÷èòàòè â³äïîâ³äü ñåðâåðà"
+
+msgid "E655: Too many symbolic links (cycle?)"
+msgstr "E655: Çàáàãàòî ñèìâîëüíèõ ïîñèëàíü (öèêë?)"
 
 msgid "E258: Unable to send to client"
-msgstr "E258: Íå ìîæó ñï³ëêóâàòèñÿ ê볺íòîì"
+msgstr "E258: Íå çì³ã íàä³ñëàòè ê볺íòó"
 
-#, c-format
-msgid "E241: Unable to send to %s"
-msgstr "E241: Íå ìîæó ñï³ëêóâàòèñÿ ç %s"
+# msgstr "E364: "
+msgid "E702: Sort compare function failed"
+msgstr "E702: Ïîìèëêà ó ôóíêö³¿ ïîð³âíÿííÿ"
 
 msgid "(Invalid)"
 msgstr "(Íåìîæëèâî)"
 
+msgid "E677: Error writing temp file"
+msgstr "E677: Íå âäàëîñÿ çàïèñàòè òèì÷àñîâèé ôàéë"
+
+msgid "E703: Using a Funcref as a number"
+msgstr "E703: Ôóíêö³þ âæèòî ÿê ÷èñëî"
+
+msgid "E745: Using a List as a number"
+msgstr "E745: Ñïèñîê âæèòî ÿê ÷èñëî"
+
+msgid "E728: Using a Dictionary as a number"
+msgstr "E728: Ñëîâíèê âæèòî ÿê ÷èñëî"
+
+msgid "E729: using Funcref as a String"
+msgstr "E729: Ôóíêö³þ âæèòî ÿê ðÿäîê"
+
+# msgstr "E373: "
+msgid "E730: using List as a String"
+msgstr "E730: Ñïèñîê âæèòî ÿê ðÿäîê"
+
+msgid "E731: using Dictionary as a String"
+msgstr "E731: Ñëîâíèê âæèòî ÿê ðÿäîê"
+
 #, c-format
-msgid "E121: Undefined variable: %s"
-msgstr "E121: Íåâèçíà÷åíà çì³ííà: %s"
+msgid "E704: Funcref variable name must start with a capital: %s"
+msgstr "E704: Íàçâà çì³ííî¿-ôóíêö³¿ ìຠïî÷èíàòèñÿ ç âåëèêî¿ ë³òåðè: %s"
 
 #, c-format
-msgid "E122: Function %s already exists, use ! to replace"
-msgstr "E122: Ôóíêö³ÿ %s óæå ³ñíóº (âèêîðèñòàéòå ! ùîá çàì³íèòè)"
+msgid "E705: Variable name conflicts with existing function: %s"
+msgstr "E705: Íàçâà çì³ííî¿ ñï³âïàäຠ砳ñíóþ÷îþ ôóíêö³ºþ: %s"
 
 #, c-format
-msgid "E123: Undefined function: %s"
-msgstr "E123: Íåâèçíà÷åíà ôóíêö³ÿ: %s"
+msgid "E706: Variable type mismatch for: %s"
+msgstr "E706: Íåïðàâèëüíèé òèï çì³ííî¿: %s"
+
+#, c-format
+msgid "E795: Cannot delete variable %s"
+msgstr "E795: Íå ìîæíà çíèùèòè çì³ííó %s"
+
+#, c-format
+msgid "E741: Value is locked: %s"
+msgstr "E741: Çíà÷åííÿ çàõèùåíå: %s"
+
+msgid "Unknown"
+msgstr "Íåâ³äîìî"
+
+#, c-format
+msgid "E742: Cannot change value of %s"
+msgstr "E742: Íå ìîæíà çì³íèòè çíà÷åííÿ %s"
+
+msgid "E698: variable nested too deep for making a copy"
+msgstr "E698: Çì³ííà âêëàäåíà çàíàäòî ãëèáîêî, ùîá çðîáèòè ¿¿ êîï³þ"
 
 #, c-format
 msgid "E124: Missing '(': %s"
@@ -417,60 +668,63 @@ msgid "E126: Missing :endfunction"
 msgstr "E126: Áðàêóº :endfunction"
 
 #, c-format
-msgid "E127: Cannot redefine function %s: It is in use"
-msgstr "E127: Íå ìîæó çàì³íèòè ôóíêö³þ %s: Âîíà âèêîðèñòîâóºòüñÿ"
-
-#, c-format
-msgid "E128: Function name must start with a capital: %s"
-msgstr "E128: Íàçâà ôóíêö³¿ ìຠïî÷èíàòèÿ ç âåëèêî¿ ë³òåðè: %s"
+msgid "E746: Function name does not match script file name: %s"
+msgstr "E746: Íàçâà ôóíêö³¿ íå çá³ãàºòüñÿ ç íàçâîþ ôàéëó ñêðèïòó: %s"
 
 msgid "E129: Function name required"
-msgstr "E129: Íå âêàçàíà íàçâà ôóíêö³¿"
-
-msgid "function "
-msgstr "ôóíêö³ÿ "
+msgstr "E129: Íå âêàçàíî íàçâó ôóíêö³¿"
 
 #, c-format
-msgid "E130: Undefined function: %s"
-msgstr "E130: Íåâèçíà÷åíà ôóíêö³ÿ: %s"
+msgid "E128: Function name must start with a capital or contain a colon: %s"
+msgstr "E128: Íàçâà ôóíêö³¿ ìຠïî÷èíàòèñÿ ç âåëèêî¿ ë³òåðè àáî ì³ñòèòè äâîêðàïêó: %s"
 
 #, c-format
 msgid "E131: Cannot delete function %s: It is in use"
-msgstr "E131: Íå ìîæó âèäàëèòè ôóíêö³þ %s: Âîíà âèêîðèñòîâóºòüñÿ"
+msgstr "E131: Íå çì³ã çíèùèòè ôóíêö³þ %s: Âîíà âèêîðèñòîâóºòüñÿ"
 
 msgid "E132: Function call depth is higher than 'maxfuncdepth'"
 msgstr "E132: Ãëèáèíà âèêëèê³â ôóíêö³¿ ïåðåâèùóº 'maxfuncdepth'"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "calling %s"
 msgstr "âèêëèêàºòüñÿ %s"
 
-#. always scroll up, don't overwrite
 #, c-format
-msgid "continuing in %s"
-msgstr "ïðîäîâæåííÿ â %s"
-
-msgid "E133: :return not inside a function"
-msgstr "E133: :return ïîçà ìåæàìè ôóíêö³¿"
+msgid "%s aborted"
+msgstr "%s ïðèïèíåíî"
 
 #, c-format
 msgid "%s returning #%ld"
 msgstr "%s ïîâåðòຠ#%ld"
 
 #, c-format
-msgid "%s returning \"%s\""
-msgstr "%s ïîâåðòຠ\"%s\""
+msgid "%s returning %s"
+msgstr "%s ïîâåðòຠ%s"
+
+#, c-format
+msgid "continuing in %s"
+msgstr "ïðîäîâæåííÿ â %s"
 
+msgid "E133: :return not inside a function"
+msgstr "E133: :return ïîçà ìåæàìè ôóíêö³¿"
+
+#, c-format
 msgid ""
 "\n"
 "# global variables:\n"
 msgstr ""
 "\n"
-"# çàãàëüí³ çì³íí³:\n"
+"# ãëîáàëüí³ çì³íí³:\n"
+
+msgid ""
+"\n"
+"\tLast set from "
+msgstr ""
+"\n"
+"\tÂîñòàííº çì³íåíà ó "
 
-msgid "Entering Debug mode.  Type \"cont\" to leave."
-msgstr "Ïî÷àòîê ðåæèìó íàëàãîäæóâàííÿ. Âèêîðèñòîâóéòå \"cont\" äëÿ âèõîäó."
+msgid "Entering Debug mode.  Type \"cont\" to continue."
+msgstr "Ðåæèì íàëàãîäæåííÿ.  Ùîá ïðîäîâæèòè ââåä³òü \"cont\"."
 
 #, c-format
 msgid "line %ld: %s"
@@ -482,77 +736,83 @@ msgstr "
 
 #, c-format
 msgid "Breakpoint in \"%s%s\" line %ld"
-msgstr "Çóïèíêà â \"%s%s\" ðÿäîê %ld"
+msgstr "Òî÷êà çóïèíêè â \"%s%s\" ðÿäîê %ld"
 
 #, c-format
 msgid "E161: Breakpoint not found: %s"
 msgstr "E161: Òî÷êó çóïèíêè íå çíàéäåíî: %s"
 
 msgid "No breakpoints defined"
-msgstr "Æîäíî¿ òî÷êè çóïèíêè íå áóëî âèçíà÷åíî"
+msgstr "Íå âèçíà÷åíî æîäíî¿ òî÷êè çóïèíêè"
 
 #, c-format
 msgid "%3d  %s %s  line %ld"
 msgstr "%3d %s %s   ðÿäîê %ld"
 
+msgid "E750: First use :profile start <fname>"
+msgstr "E750: Ñïî÷àòêó âèêîíàéòå :profile start <ôàéë>"
+
 msgid "Save As"
-msgstr "Çàïàì'ÿòàòè ÿê"
+msgstr "Çáåðåãòè ÿê"
 
 #, c-format
-msgid "Save changes to \"%.*s\"?"
-msgstr "Çàïàì'ÿòàòè çì³íè â \"%.*s\"?"
+msgid "Save changes to \"%s\"?"
+msgstr "Çáåðåãòè çì³íè â \"%s\"?"
 
 msgid "Untitled"
 msgstr "Íåíàçâàíèé"
 
 #, c-format
 msgid "E162: No write since last change for buffer \"%s\""
-msgstr "E162: Æîäíîãî çàïèñó ï³ñëÿ îñòàííüî¿ çì³íè äëÿ áóôåðà \"%s\""
+msgstr "E162: Áóôåð \"%s\" ìຠíåçáåðåæåí³ çì³íè"
 
 msgid "Warning: Entered other buffer unexpectedly (check autocommands)"
-msgstr ""
-"Îáåðåæíî: Íåñïîä³âàíî ïîòðàïòëåíî â ³íøèé áóôåð (ïåðåâ³ðòå àâòîêîìàíäè)"
+msgstr "Îáåðåæíî: Íåñïîä³âàíî îïèíèëèñÿ ó ³íøîìó áóôåð³ (ïåðåâ³ðòå àâòîêîìàíäè)"
 
 msgid "E163: There is only one file to edit"
-msgstr "E163: Ëèøå îäèí ôàéë ðåäàãóºòüñÿ"
+msgstr "E163: Ðåäàãóºòüñÿ ëèøå îäèí ôàéë"
 
 msgid "E164: Cannot go before first file"
-msgstr "E164: Íå ìîæó ïåðåéòè ó ïîïåðåäí³é ôàéë ç ïåðøîãî"
+msgstr "E164: Öå âæå íàéïåðøèé ôàéë"
 
 msgid "E165: Cannot go beyond last file"
-msgstr "E165: Íå ìîæó ïåðåéòè ó íàñòóïíèé ôàéë ç îñòàííüîãî"
+msgstr "E165: Öå âæå îñòàíí³é ôàéë"
+
+#, c-format
+msgid "E666: compiler not supported: %s"
+msgstr "E666: Êîìï³ëÿòîð íå ï³äòðèìóºòüñÿ: %s"
 
 # msgstr "E195: "
 #, c-format
 msgid "Searching for \"%s\" in \"%s\""
-msgstr "Ïîøóê \"%s\" â \"%s\""
+msgstr "Øóêàºìî \"%s\" â \"%s\""
 
 #, c-format
 msgid "Searching for \"%s\""
-msgstr "Ïîøóê \"%s\""
+msgstr "Øóêàºìî \"%s\""
 
 #, c-format
 msgid "not found in 'runtimepath': \"%s\""
-msgstr "\"%s\" íå çíàéäåíî â 'runtimepath'"
+msgstr " 'runtimepath' íå çíàéäåíî \"%s\""
 
-msgid "Run Macro"
-msgstr "Âèêîíàòè ôàéë êîìàíä"
+msgid "Source Vim script"
+msgstr "Ïðî÷èòàòè ñêðèïò Vim"
 
 #, c-format
 msgid "Cannot source a directory: \"%s\""
-msgstr "Íå ìîæó âèêîíàòè äèðåêòîð³þ: \"%s\""
+msgstr "Íå çì³ã ïðî÷èòàòè êàòàëîã: \"%s\""
 
 #, c-format
 msgid "could not source \"%s\""
-msgstr "íåìîæëèâî âèêîíàòè \"%s\""
+msgstr "Íå ìîæíà âèêîíàòè \"%s\""
 
 #, c-format
 msgid "line %ld: could not source \"%s\""
-msgstr "ðÿäîê %ld: íåìîæëèâî âèêîíàòè \"%s\""
+msgstr "ðÿäîê %ld: íå ìîæíà âèêîíàòè \"%s\""
 
 #, c-format
 msgid "sourcing \"%s\""
-msgstr "âèêîíóåòüñÿ \"%s\""
+msgstr "âèêîíóºòüñÿ \"%s\""
 
 #, c-format
 msgid "line %ld: sourcing \"%s\""
@@ -560,56 +820,33 @@ msgstr "
 
 #, c-format
 msgid "finished sourcing %s"
-msgstr "âèêîíàííÿ %s çàê³í÷åíî"
-
-msgid "W15: Warning: Wrong line separator, ^M may be missing"
-msgstr "W15: Íåâ³ðíèé ðîçä³ëüíèê ðÿäê³â, ìîæëèâî áðàêóº ^M"
-
-msgid "E167: :scriptencoding used outside of a sourced file"
-msgstr "E167: :scriptencoding âèêîðèñòàíî ïîçà âèêîíóâàíèì ôàéëîì"
-
-msgid "E168: :finish used outside of a sourced file"
-msgstr "E168: :finish âèêîðèñòàíî ïîçà âèêîíóâàíèì ôàéëîì"
-
-msgid "No text to be printed"
-msgstr "ͳ÷îãî äðóêóâàòè"
-
-msgid "Printing page %d (%d%%)"
-msgstr "Äðóêóºòüñÿ ñòîð³íêà %d (%d%%)"
-
-#, c-format
-msgid " Copy %d of %d"
-msgstr " Êîï³ÿ %d, óñüîãî %d"
-
-#, c-format
-msgid "Printed: %s"
-msgstr "Íàäðóêîâàíî: %s"
+msgstr "çàê³í÷åíî âèêîíàííÿ %s"
 
-msgid "Printing aborted"
-msgstr "Äðóê ïåðåðâàíî"
+msgid "modeline"
+msgstr "modeline"
 
-msgid "E455: Error writing to PostScript output file"
-msgstr "E455: Íå ìîæó ïèñàòè â âèõ³äíèé ôàéë PostScrip"
+# msgstr "E14: "
+msgid "--cmd argument"
+msgstr "--cmd àðãóìåíò"
 
-msgid "E324: Can't open PostScript output file"
-msgstr "E324: Íå ìîæó â³äêðèòè ÿê âõ³äíèé ôàéë PostScrip"
+# msgstr "E14: "
+msgid "-c argument"
+msgstr "-c àðãóìåíò"
 
-#, c-format
-msgid "E456: Can't open file \"%s\""
-msgstr "E456: Íå ìîæó â³äêðèòè ôàéë \"%s\""
+msgid "environment variable"
+msgstr "çì³ííà îòî÷åííÿ"
 
-#, c-format
-msgid "E457: Can't read PostScript resource file \"%s\""
-msgstr "E457: Íå ìîæó ç÷èòàòè ôàéë ðåñóðñ³â PostScrip \"%s\""
+msgid "error handler"
+msgstr "îáðîáíèê ïîìèëêè"
 
-msgid "Sending to printer..."
-msgstr "³äñèëàºìî íà äðóê³âíèê..."
+msgid "W15: Warning: Wrong line separator, ^M may be missing"
+msgstr "W15: Óâàãà: Íåïðàâèëüíèé ðîçä³ëüíèê ðÿäê³â, ìîæëèâî, áðàêóº ^M"
 
-msgid "E365: Failed to print PostScript file"
-msgstr "E324: Íå ìîæó íàäðóêóâàòè ôàéë PostScrip"
+msgid "E167: :scriptencoding used outside of a sourced file"
+msgstr "E167: :scriptencoding âèêîðèñòàíî ïîçà âèêîíóâàíèì ôàéëîì"
 
-msgid "Print job sent."
-msgstr "Çàâäàííÿ äðóêó â³ä³ñëàíî."
+msgid "E168: :finish used outside of a sourced file"
+msgstr "E168: :finish âèêîðèñòàíî ïîçà âèêîíóâàíèì ôàéëîì"
 
 #, c-format
 msgid "Current %slanguage: \"%s\""
@@ -617,38 +854,46 @@ msgstr "
 
 #, c-format
 msgid "E197: Cannot set language to \"%s\""
-msgstr "E197: Íå ìîæó âñòàíîâèòè ìîâó \"%s\""
+msgstr "E197: Íå çì³ã âñòàíîâèòè ìîâó \"%s\""
 
 #, c-format
 msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
-msgstr "<%s>%s%s  %d,  ø³ñ %02x, â³ñ %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: Íåìîæëèâî çì³ñòèòè ðÿäêè ñàì³ ó ñåáå"
+msgstr "E134: Íåìîæëèâî ïåðåì³ñòèòè ðÿäêè ñàì³ â ñåáå"
 
 msgid "1 line moved"
-msgstr "1 ðÿäîê çì³ùåíî"
+msgstr "Ïåðåì³ùåíî îäèí ðÿäîê"
 
 #, c-format
 msgid "%ld lines moved"
-msgstr "%ld ðÿäê³â çì³ùåíî"
+msgstr "Ïåðåì³ùåíî %ld ðÿäêè(³â)"
 
 #, c-format
 msgid "%ld lines filtered"
-msgstr "%ld ðÿäê³â â³äô³ëüòðîâàíî"
+msgstr "³äô³ëüòðîâàíî %ld ðÿäêè(³â)"
 
 msgid "E135: *Filter* Autocommands must not change current buffer"
-msgstr "E135: Àâòîêîìàíäè *Filter* íå ïîâèííü çì³íþâàòè áóôåð"
+msgstr "E135: Àâòîêîìàíäè *Filter* íå ïîâèíí³ çì³íþâàòè ïîòî÷íèé áóôåð"
 
 msgid "[No write since last change]\n"
-msgstr "[Íå çàïèñàíî ï³ñëÿ îñòàííüî¿ çì³íè]\n"
+msgstr "[Íå çàïèñàíî îñòàíí³ çì³íè]\n"
 
 #, c-format
-msgid "viminfo: %s in line: "
-msgstr "viminfo: %s â ðÿäêó"
+msgid "%sviminfo: %s in line: "
+msgstr "%sviminfo: %s â ðÿäêó: "
 
 msgid "E136: viminfo: Too many errors, skipping rest of file"
-msgstr "E136: viminfo: çàáàãàòî ïîìèëîê, ðåøòà ôàéëà îïóùåíî"
+msgstr "E136: viminfo: Çàáàãàòî ïîìèëîê, ïðîïóñêàºìî ðåøòó ôàéëó"
 
 #, c-format
 msgid "Reading viminfo file \"%s\"%s%s%s"
@@ -663,93 +908,123 @@ msgstr " 
 msgid " FAILED"
 msgstr " ÍÅ ÂÄÀËÎÑß"
 
+#. avoid a wait_return for this message, it's annoying
 #, c-format
 msgid "E137: Viminfo file is not writable: %s"
-msgstr "E137: Ó ôàéë viminfo (\"%s\") çàïèñ íå äîçâîëåíî"
+msgstr "E137: Íå äîçâîëåíî çàïèñ ó ôàéë viminfo: \"%s\""
 
 #, c-format
 msgid "E138: Can't write viminfo file %s!"
-msgstr "E138: Íå ìîæó çàïèñàòè viminfo ôàéë %s!"
+msgstr "E138: Íå çì³ã çàïèñàòè ôàéë viminfo %s!"
 
 #, c-format
 msgid "Writing viminfo file \"%s\""
-msgstr "Çàïèñóºòüñÿ viminfo ôàéë \"%s\""
+msgstr "Çàïèñóºòüñÿ ôàéë viminfo \"%s\""
 
 #. Write the info:
 #, c-format
 msgid "# This viminfo file was generated by Vim %s.\n"
-msgstr "# Öåé ôàéë àâòîìàòè÷íî ñòâîðèâ Vim %s.\n"
+msgstr "# Öåé ôàéë àâòîìàòè÷íî ñòâîðåíèé Vim %s.\n"
 
+#, c-format
 msgid ""
 "# You may edit it if you're careful!\n"
 "\n"
-msgstr "# Ìîæåòå ðåäàãóâàòè, àëå ÎÁÅÐÅÆÍÎ!\n"
+msgstr ""
+"# Ìîæåòå ðåäàãóâàòè, àëå ÎÁÅÐÅÆÍÎ!\n"
+"\n"
 
+#, c-format
 msgid "# Value of 'encoding' when this file was written\n"
-msgstr "# Çíà÷åííÿ 'encoding' êîëè öåé ôàéë áóëî çàïèñàíî\n"
+msgstr "# Çíà÷åííÿ 'encoding' ï³ä ÷àñ ñòâîðåííÿ öüîãî ôàéëó\n"
 
 msgid "Illegal starting char"
 msgstr "Íåäîçâîëåíèé ñèìâîë íà ïî÷àòêó ðÿäêà"
 
-#. Overwriting a file that is loaded in another buffer is not a
-#. * good idea.
-msgid "E139: File is loaded in another buffer"
-msgstr "E139: Ôàéë óæå çàâàíòàæåíî ó ³íøîìó áóôåð³"
-
 msgid "Write partial file?"
-msgstr "Çàïèñàòè ÷àñòèíó ôàéëà?"
+msgstr "Çàïèñàòè ÷àñòèíó ôàéëó?"
 
 msgid "E140: Use ! to write partial buffer"
-msgstr "E140: Âèêîðèñòîâóéòå ! äëÿ çàïèñó ÷àñòèíè áóôåðà"
+msgstr "E140: Âèêîðèñòàéòå ! äëÿ çàïèñó ÷àñòèíè áóôåðó"
 
 #, c-format
-msgid "Overwrite existing file \"%.*s\"?"
-msgstr "Ïåðåçàïèñàòè ³ñíóþ÷èé ôàéë \"%.*s\"?"
+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"
+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"
+"'readonly' option is set for \"%s\".\n"
 "Do you wish to write anyway?"
 msgstr ""
-"Äëÿ \"%.*s\" âêàçàíî îïö³þ 'readonly'.\n"
-"Âè âñå ùå áàæàºòå ïðîäîâæèòè çàïèñ?"
+"Äëÿ \"%s\" âñòàíîâëåíî 'readonly'.\n"
+"Áàæàºòå âñå-îäíî ïðîäîâæèòè çàïèñ?"
+
+#, c-format
+msgid ""
+"File permissions of \"%s\" are read-only.\n"
+"It may still be possible to write it.\n"
+"Do you wish to try?"
+msgstr ""
+"Ôàéë \"%s\" äîçâîëåíî ò³ëüêè ÷èòàòè.\n"
+"Ïðîòå, ìîæëèâî, éîãî ìîæíà çàïèñàòè.\n"
+"Õî÷åòå ñïðîáóâàòè?"
+
+#, c-format
+msgid "E505: \"%s\" is read-only (add ! to override)"
+msgstr "E505: \"%s\" ò³ëüêè äëÿ ÷èòàííÿ (! ùîá íå çâàæàòè)"
 
 msgid "Edit File"
 msgstr "Ðåäàãóâàòè Ôàéë"
 
 #, c-format
 msgid "E143: Autocommands unexpectedly deleted new buffer %s"
-msgstr "E143: Àâòîêîìàíäà íåñïîä³âàíî âèäàëèëà íîâèé áóôåð %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"
+msgstr "E145: Ó rvim íå äîçâîëåí³ êîìàíäè îáîëîíêè"
 
 msgid "E146: Regular expressions can't be delimited by letters"
-msgstr "E146: çðàçêè íå ìîæóòü áóòè ðîçä³ëåí³ ë³òåðàìè"
+msgstr "E146: Ðåãóëÿðí³ âèðàçè íå ìîæíà ðîçä³ëÿòè ë³òåðàìè"
 
 #, c-format
 msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
-msgstr "Çàì³íèòè íà %s (y/n/a/q/l/^E/^Y)?"
+msgstr "Çàì³íèòè ó %s (y/n/a/q/l/^E/^Y)?"
 
 msgid "(Interrupted) "
 msgstr "(Ïåðåðâàíî) "
 
+# msgstr "E31: "
+msgid "1 match"
+msgstr "Îäèí çá³ã"
+
 msgid "1 substitution"
 msgstr "Îäíà çàì³íà"
 
+#, c-format
+msgid "%ld matches"
+msgstr "%ld çá³ãè(³â)"
+
 #, c-format
 msgid "%ld substitutions"
-msgstr "Çàì³íåíî -- %ld"
+msgstr "%ld çàì³í(è)"
 
 msgid " on 1 line"
 msgstr " â îäíîìó ðÿäêó"
@@ -759,27 +1034,35 @@ msgid " on %ld lines"
 msgstr " â %ld ðÿäêàõ"
 
 msgid "E147: Cannot do :global recursive"
-msgstr "E147: :global íå ìîæå âèêîðèñòîâóâàòèñü ðåêóðñèâíî"
+msgstr "E147: :global íå ìîæíà âæèâàòè ðåêóðñèâíî"
 
 msgid "E148: Regular expression missing from global"
-msgstr "E148: Áðàêóº çðàçêà äëÿ global"
+msgstr "E148: Ó global áðàêóº çðàçêà"
 
 #, c-format
 msgid "Pattern found in every line: %s"
-msgstr "Çðàçîê íå çíàéäåíî: %s"
+msgstr "Çðàçîê çíàéäåíî ó êîæíîìó ðÿäêó: %s"
 
+#, c-format
 msgid ""
 "\n"
 "# Last Substitute String:\n"
 "$"
 msgstr ""
 "\n"
-"# Îñòàíí³é çðàçîê äëÿ çàì³íè:\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 íåìຠäîïîìîãè"
+msgstr "E149: Âèáà÷òå, íåìຠäîïîìîãè äëÿ %s"
 
 #, c-format
 msgid "Sorry, help file \"%s\" not found"
@@ -787,185 +1070,217 @@ msgstr "
 
 #, c-format
 msgid "E150: Not a directory: %s"
-msgstr "E150: %s: Íå º äèðåêòîð³ºþ"
+msgstr "E150: Íå º êàòàëîãîì: %s"
 
 #, c-format
 msgid "E152: Cannot open %s for writing"
-msgstr "E152: Íå ìîæó â³äêðèòè %s äëÿ çàïèñó"
+msgstr "E152: Íå çì³ã â³äêðèòè %s äëÿ çàïèñó"
 
 #, c-format
 msgid "E153: Unable to open %s for reading"
-msgstr "E153: Íå ìîæó â³äêðèòè %s äëÿ ÷èòàííÿ"
+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"
-msgstr "E154: Ïîäâ³éíà ïîçíà÷êà \"%s\" â ôàéë³ %s"
+msgid "E154: Duplicate tag \"%s\" in file %s/%s"
+msgstr "E154: Ïîâòîðåííÿ òå´ó \"%s\" ó ôàéë³ %s/%s"
 
 #, c-format
 msgid "E160: Unknown sign command: %s"
-msgstr "E160: Íåâ³äîìà êîìàíäà sign: %s"
+msgstr "E160: Íåâ³äîìà êîìàíäà íàäïèñó: %s"
 
 msgid "E156: Missing sign name"
-msgstr "E156: Áðàêóº íàçâè íàïèñó"
+msgstr "E156: Ïðîïóùåíî íàçâó íàäïèñó"
 
-msgid "E255: Too many signs defined"
-msgstr "E255: Âèçíà÷åíî çàáàãàòî íàïèñ³â"
+msgid "E612: Too many signs defined"
+msgstr "E612: Âèçíà÷åíî çàáàãàòî íàäïèñ³â"
 
 #, c-format
 msgid "E239: Invalid sign text: %s"
-msgstr "E239: Íåâ³ðíèé íàïèñ: %s"
+msgstr "E239: Íåêîðåêòíèé íàäïèñ: %s"
 
 #, c-format
 msgid "E155: Unknown sign: %s"
-msgstr "E155: Íåâ³äîìèé íàïèñ: %s"
+msgstr "E155: Íåâ³äîìèé íàäïèñ: %s"
 
 msgid "E159: Missing sign number"
-msgstr "E159: Áðàêóº àðãóìåíòó íàïèñó"
+msgstr "E159: Ïðîïóùåíî íîìåð íàäïèñó"
 
 #, c-format
 msgid "E158: Invalid buffer name: %s"
-msgstr "E158: Íåâ³ðíà íàçâà áóôåðà: %s"
+msgstr "E158: Íåêîðåêòíà íàçâà áóôåðó: %s"
 
 #, c-format
 msgid "E157: Invalid sign ID: %ld"
-msgstr "E157: Íåâ³ðíèé ID íàïèñó: %ld"
+msgstr "E157: Íåïðàâèëüíèé ID íàäïèñó: %ld"
+
+msgid " (NOT FOUND)"
+msgstr " (ÍÅ ÇÍÀÉÄÅÍÎ)"
+
+msgid " (not supported)"
+msgstr " (íå ï³äòðèìóºòüñÿ)"
 
 msgid "[Deleted]"
-msgstr "[Âèäàëåíî]"
+msgstr "[Çíèùåíî]"
 
 msgid "Entering Ex mode.  Type \"visual\" to go to Normal mode."
-msgstr ""
-"Ïî÷àòîê ðåæèìó Ex. Âèêîðèñòîâóéòå \"visual\" äëÿ ïîâåðíåííÿ â íîðìàëüíèé "
-"ðåõèì"
+msgstr "Ðåæèì Ex. Äëÿ ïîâåðíåííÿ äî íîðìàëüíîãî ðåæèìó âèêîíàéòå \"visual\""
 
-#. must be at EOF
-msgid "At end-of-file"
-msgstr "Á³ëÿ ê³íöÿ ôàéëà"
+msgid "E501: At end-of-file"
+msgstr "E501: Ê³íåöü ôàéëó"
 
 msgid "E169: Command too recursive"
 msgstr "E169: Êîìàíäà çàíàäòî ðåêóðñèâíà"
 
-msgid "E170: Missing :endwhile"
-msgstr "E170: Áðàêóº :endwhile"
-
-msgid "E171: Missing :endif"
-msgstr "E171: Áðàêóº :endif"
+#, c-format
+msgid "E605: Exception not caught: %s"
+msgstr "E605: Âèíÿòêîâà ñèòóàö³ÿ íå îáðîáëåíà: %s"
 
 msgid "End of sourced file"
-msgstr "ʳíåöü âèêîíóâàíîãî ôàéëà"
+msgstr "ʳíåöü âèêîíóâàíîãî ôàéëó"
 
 msgid "End of function"
 msgstr "ʳíåöü ôóíêö³¿"
 
-msgid "Ambiguous use of user-defined command"
-msgstr "Äâîçíà÷íèé âæèòîê êîìàíäè êîðèñòóâà÷à"
-
-msgid "Not an editor command"
-msgstr "Íå º êîìàíäîþ ðåäàêòîðà"
+msgid "E464: Ambiguous use of user-defined command"
+msgstr "E464: Íåîäíîçíà÷íèé âæèòîê êîìàíäè êîðèñòóâà÷à"
 
-msgid "Don't panic!"
-msgstr "Íå íåðâóéòå!"
+msgid "E492: Not an editor command"
+msgstr "E492: Öå íå êîìàíäà ðåäàêòîðà"
 
-msgid "Backwards range given"
-msgstr "Íå áóäó çàäêóâàòè!"
+msgid "E493: Backwards range given"
+msgstr "E493: ²íòåðâàë çàäàíî íàâèâîð³ò"
 
 msgid "Backwards range given, OK to swap"
-msgstr "Íå áóäó çàäêóâàòè, àëå ìîæó îáåðíóòèñÿ..."
+msgstr "²íòåðâàë çàäàíî íàâèâîð³ò, ùîá ïîì³íÿòè ì³ñöÿìè -- ÃÀÐÀÇÄ"
 
-msgid "Use w or w>>"
-msgstr "Âèêîðèñòîâóéòå :w àáî :w>>"
+msgid "E494: Use w or w>>"
+msgstr "E494: Ñïðîáóéòå w àáî w>>"
 
 msgid "E319: Sorry, the command is not available in this version"
-msgstr "E319: Âèáàéòå, öÿ êîìàíäà íå ä³º"
+msgstr "E319: Âèáà÷òå, ö³º¿ êîìàíäè íåìຠó ö³é âåðñ³¿"
 
 msgid "E172: Only one file name allowed"
-msgstr "E172: Ò³ëüêè îäíå ³ì'ÿ ôàéëà äîçâîëåíî"
+msgstr "E172: Äîçâîëåíî ò³ëüêè îäíó íàçâó ôàéëó"
+
+msgid "1 more file to edit.  Quit anyway?"
+msgstr "Çàëèøèëîñÿ â³äðåäàãóâàòè ùå îäèí ôàéë. Âñå îäíî âèéòè?"
 
 #, c-format
 msgid "%d more files to edit.  Quit anyway?"
-msgstr "Ùå º %d íåðåäàãîâàíèõ ôàéë³â. Âèéòè?"
+msgstr "Ùå º %d íå ðåäàãîâàíèõ ôàéë³â. Âñå îäíî âèéòè?"
+
+msgid "E173: 1 more file to edit"
+msgstr "E173: Çàëèøèëîñÿ â³äðåäàãóâàòè ùå îäèí ôàéë"
 
 #, c-format
 msgid "E173: %ld more files to edit"
-msgstr "E173: Çàëèøèëîñÿ %ld íåðåäàãîâàíèõ ôàéë³â"
+msgstr "E173: Çàëèøèëîñÿ %ld íå ðåäàãîâàíèõ ôàéë³â"
 
-msgid "E174: Command already exists: use ! to redefine"
-msgstr "E174: Êîìàíäà âæå ³ñíóº, âèêîðèñòàéòå ! ùîá íå çâàæàòè"
+msgid "E174: Command already exists: add ! to replace it"
+msgstr "E174: Êîìàíäà âæå ³ñíóº, ! ùîá çàì³íèòè ¿¿"
 
 msgid ""
 "\n"
 "    Name        Args Range Complete  Definition"
 msgstr ""
 "\n"
-"    Íàçâà       Àðã. Ìåæà  Äîïîâíåíÿ Âèçíà÷åííÿ"
+"    Íàçâà       Àðã. Ìåæà  Äîïîâíåííÿ Âèçíà÷åííÿ"
 
 msgid "No user-defined commands found"
 msgstr "Íå çíàéäåíî êîìàíä êîðèñòóâà÷à"
 
 msgid "E175: No attribute specified"
-msgstr "E175: Íå âêàçàíî àòðèáóò"
+msgstr "E175: Íå âêàçàíî àòðèáóò³â"
 
 msgid "E176: Invalid number of arguments"
-msgstr "E176: Íåâ³ðíà ê³ëüê³ñòü àðãóìåíò³â"
+msgstr "E176: Íåïðàâèëüíà ê³ëüê³ñòü àðãóìåíò³â"
 
 msgid "E177: Count cannot be specified twice"
 msgstr "E177: Ë³÷èëüíèê íå ìîæå áóòè âêàçàíî äâ³÷³"
 
 # msgstr "E177: "
 msgid "E178: Invalid default value for count"
-msgstr "E178: Íåâ³ðíå ïî÷àòêîâå çíà÷åííÿ äëÿ count"
+msgstr "E178: Íåïðàâèëüíå ïî÷àòêîâå çíà÷åííÿ ë³÷èëüíèêà"
 
 # msgstr "E178: "
-msgid "E179: argument required for complete"
-msgstr "E179: Äëÿ äîïîâíåííÿ íåîáõ³äåí àðãóìåíò"
-
-# msgstr "E179: "
-#, c-format
-msgid "E180: Invalid complete value: %s"
-msgstr "E180: Íåâ³ðíà âêàç³âêà äëÿ äîïîâíåííÿ: %s"
+msgid "E179: argument required for -complete"
+msgstr "E179: äëÿ -complete ïîòð³áíèé àðãóìåíò"
 
 # msgstr "E180: "
 #, c-format
 msgid "E181: Invalid attribute: %s"
-msgstr "E181: Íåâ³ðíèé àòðèáóò: %s"
+msgstr "E181: Íåïðàâèëüíèé àòðèáóò: %s"
 
 # msgstr "E181: "
 msgid "E182: Invalid command name"
-msgstr "E182: Íåâ³ðíà íàçâà êîìàíäè"
+msgstr "E182: Íåïðàâèëüíà íàçâà êîìàíäè"
 
 # msgstr "E182: "
 msgid "E183: User defined commands must start with an uppercase letter"
-msgstr "E183: Êîìàíäè êîðèñòóâà÷à ïîâ³ííè ïî÷èíàòèñÿ ç âåëèêî¿ ë³òåðè"
+msgstr "E183: Êîìàíäè êîðèñòóâà÷à ïîâèíí³ ïî÷èíàòèñÿ ç âåëèêî¿ ë³òåðè"
 
 # msgstr "E183: "
 #, c-format
 msgid "E184: No such user-defined command: %s"
 msgstr "E184: Êîìàíäó êîðèñòóâà÷à íå çíàéäåíî: %s"
 
-# msgstr "E184: "
+# msgstr "E179: "
 #, c-format
-msgid "E185: Cannot find color scheme %s"
-msgstr "E185: Íå ìîæíà çíàéòè ñõåìó êîëüîð³â %s"
+msgid "E180: Invalid complete value: %s"
+msgstr "E180: Íåïðàâèëüíå äîïîâíåííÿ: %s"
+
+msgid "E468: Completion argument only allowed for custom completion"
+msgstr "E468: Àðãóìåíò äîçâîëåíèé ò³ëüêè äëÿ êîðèñòóâàöüêîãî äîïîâíåííÿ"
+
+msgid "E467: Custom completion requires a function argument"
+msgstr "E467: Êîðèñòóâàöüêå äîïîâíåííÿ âèìàãຠàðãóìåíò-ôóíêö³þ"
+
+# msgstr "E184: "
+#, c-format
+msgid "E185: Cannot find color scheme %s"
+msgstr "E185: Íå çì³ã çíàéòè ñõåìó êîëüîð³â %s"
 
 msgid "Greetings, Vim user!"
-msgstr "ßê æèâåòüñÿ, êîðèñòóâà÷ Vim ?"
+msgstr "³òàííÿ, êîðèñòóâà÷ó Vim!"
+
+# msgstr "E443: "
+msgid "E784: Cannot close last tab page"
+msgstr "E784: Íå ìîæó çàêðèòè îñòàííþ âêëàäêó"
+
+# msgstr "E444: "
+msgid "Already only one tab page"
+msgstr "Âæå é òàê ëèøå îäíà âêëàäêà"
 
 # msgstr "E185: "
 msgid "Edit File in new window"
 msgstr "Ðåäàãóâàòè ôàéë ó íîâîìó â³êí³"
 
+#, c-format
+msgid "Tab page %d"
+msgstr "Âêëàäêà %d"
+
 msgid "No swap file"
-msgstr "Íåìຠôàéëà îáì³íó"
+msgstr "Íåìຠôàéëó îáì³íó"
 
 msgid "Append File"
 msgstr "Äîïèñàòè ôàéë"
 
+msgid "E747: Cannot change directory, buffer is modified (add ! to override)"
+msgstr "E747: Íå çì³ã çì³íèòè êàòàëîã, áóôåð ìຠçì³íè (! ùîá íå çâàæàòè)"
+
 msgid "E186: No previous directory"
-msgstr "E186: Æîäíî¿ ïîïåðåäíüî¿ äèðåêòîð³¿"
+msgstr "E186: Öå âæå íàéïåðøèé êàòàëîã"
 
 # msgstr "E186: "
 msgid "E187: Unknown"
-msgstr "E187: Íåâ³äîìà äèðåêòîð³ÿ"
+msgstr "E187: Íåâ³äîìî"
+
+msgid "E465: :winsize requires two number arguments"
+msgstr "E465: :winsize âèìàãຠäâà ÷èñëîâèõ àðãóìåíòè"
 
 # msgstr "E187: "
 #, c-format
@@ -973,29 +1288,36 @@ msgid "Window position: X %d, Y %d"
 msgstr "Ïîçèö³ÿ â³êíà: X %d, Y %d"
 
 msgid "E188: Obtaining window position not implemented for this platform"
-msgstr "E188: Ôóíêö³ÿ îáðàõóâàííÿ ïîçèö³¿ â³êíà íå ä³º äëÿ âàøî¿ ïëàòôîðìè"
+msgstr "E188: Íå ìîæíà îòðèìàòè ïîçèö³þ â³êíà íà ö³é ïëàòôîðì³"
+
+msgid "E466: :winpos requires two number arguments"
+msgstr "E466: :winpos âèìàãຠäâà ÷èñëîâèõ àðãóìåíòè"
 
 # msgstr "E188: "
 msgid "Save Redirection"
-msgstr "Çàïàì'ÿòàòè ïåðåàäðåñîâàíèé âèâ³ä"
+msgstr "Çáåðåãòè ïåðåàäðåñîâàíèé âèâ³ä"
 
 msgid "Save View"
-msgstr "Çàïàì'ÿòàòè âèãëÿä"
+msgstr "Çáåðåãòè âèãëÿä"
 
 msgid "Save Session"
-msgstr "Çàïàì'ÿòàòè ñåàíñ"
+msgstr "Çáåðåãòè ñåàíñ"
 
 msgid "Save Setup"
-msgstr "Çàïàì'ÿòàòè íàëàøòóâàííÿ"
+msgstr "Çáåðåãòè íàëàøòóâàííÿ"
+
+#, c-format
+msgid "E739: Cannot create directory: %s"
+msgstr "E739: Íå çì³ã ñòâîðèòè êàòàëîã: %s"
 
 #, c-format
-msgid "E189: \"%s\" exists (use ! to override)"
-msgstr "E189: Ôàéë \"%s\" ³ñíóº, (âèêîðèñòàéòå ! ùîá íå çâàæàòè)"
+msgid "E189: \"%s\" exists (add ! to override)"
+msgstr "E189: Ôàéë \"%s\" ³ñíóº (! ùîá íå çâàæàòè)"
 
 # msgstr "E189: "
 #, c-format
 msgid "E190: Cannot open \"%s\" for writing"
-msgstr "E190: Íå ìîæó â³äêðèòè \"%s\" äëÿ ÷èòàííÿ"
+msgstr "E190: Íå çì³ã â³äêðèòè \"%s\" äëÿ çàïèñó"
 
 # msgstr "E190: "
 #. set mark
@@ -1004,72 +1326,154 @@ msgstr "E191: 
 
 # msgstr "E191: "
 msgid "E192: Recursive use of :normal too deep"
-msgstr "E192: Ðåêóðñèâíà ãëèáèíà âåêîðèñòàííÿ :normal çàíàäðî âåëèêà"
+msgstr "E192: Çàáàãàòî âêëàäåíèõ :normal"
 
-msgid ":if nesting too deep"
-msgstr "Çàíàäòî âåëèêà ê³ëüê³ñòü âêëàäåíèõ :if"
+# msgstr "E193: "
+msgid "E194: No alternate file name to substitute for '#'"
+msgstr "E194: Íåìຠíàçâè âòîðèííîãî ôàéëó äëÿ çàì³íè '#'"
 
-msgid ":endif without :if"
-msgstr "Áðàêóº â³äïîâ³äíîãî :if äëÿ :endif"
+msgid "E495: no autocommand file name to substitute for \"<afile>\""
+msgstr "E495: Íåìຠíàçâè ôàéëó àâòîêîìàíäè äëÿ çàì³íè \"<afile>\""
 
-msgid ":else without :if"
-msgstr "Áðàêóº â³äïîâ³äíîãî :if äëÿ :else"
+msgid "E496: no autocommand buffer number to substitute for \"<abuf>\""
+msgstr "E496: Íåìຠíîìåðà áóôåðó àâòîêîìàíäè äëÿ çàì³íè \"<abuf>\""
 
-msgid ":elseif without :if"
-msgstr "Áðàêóº â³äïîâ³äíîãî :if äëÿ :elseif"
+msgid "E497: no autocommand match name to substitute for \"<amatch>\""
+msgstr "E497: Íåìຠíàçâè çá³ãó àâòîêîìàíäè äëÿ çàì³íè \"<amatch>\""
 
-msgid ":while nesting too deep"
-msgstr "Çàíàäòî âåëèêà ê³ëüê³ñòü âêëàäåíèõ :while"
+msgid "E498: no :source file name to substitute for \"<sfile>\""
+msgstr "E498: Íåìຠíàçâè ôàéëó :source äëÿ çàì³íè \"<sfile>\""
 
-msgid ":continue without :while"
-msgstr "Áðàêóº â³äïîâ³äíîãî :while äëÿ :continue"
+#, no-c-format
+msgid "E499: Empty file name for '%' or '#', only works with \":p:h\""
+msgstr "E499: Íàçâà ôàéëó äëÿ '%' ÷è '#' ïîðîæíÿ, ïðàöþº ëèøå ç \":p:h\""
 
-msgid ":break without :while"
-msgstr "Áðàêóº â³äïîâ³äíîãî :while äëÿ :break"
+msgid "E500: Evaluates to an empty string"
+msgstr "E500: Ðåçóëüòàò -- ïîðîæí³é ðÿäîê"
 
-msgid ":endwhile without :while"
-msgstr "Áðàêóº â³äïîâ³äíîãî :while äëÿ :endwhile"
+msgid "E195: Cannot open viminfo file for reading"
+msgstr "E195: Íå çì³ã ïðî÷èòàòè ôàéë viminfo"
 
-msgid "E193: :endfunction not inside a function"
-msgstr "E133: :endfunction ïîçà ìåæàìè ôóíêö³¿"
+msgid "E196: No digraphs in this version"
+msgstr "E196: Ó ö³é âåðñ³¿ íåìຠäèãðàô³â"
 
-# msgstr "E193: "
-msgid "E194: No alternate file name to substitute for '#'"
-msgstr "E194: Íåìຠâòîðèííîãî ôàéëà äëÿ çàì³íè '#'"
+msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
+msgstr "E608: Íå ìîæíà âèêèäàòè (:throw) âèíÿòêè ç ïðåô³êñîì 'Vim'"
+
+#. always scroll up, don't overwrite
+#, c-format
+msgid "Exception thrown: %s"
+msgstr "Âèíÿòêîâà ñèòóàö³ÿ: %s"
 
-msgid "no autocommand file name to substitute for \"<afile>\""
-msgstr "Íå ìîæíà çàì³íèòè \"<afile>\" â àâòîêîìàíä³, ³ì'ÿ ôàéëà â³äñóòí³º"
+#, c-format
+msgid "Exception finished: %s"
+msgstr "Âèíÿòîê çàê³í÷åíî: %s"
 
-msgid "no autocommand buffer number to substitute for \"<abuf>\""
-msgstr "Íå ìîæíà çàì³íèòè \"<abuf>\" â àâòîêîìàíä³, íàçâà áóôåðà â³äñóòíÿ"
+#, c-format
+msgid "Exception discarded: %s"
+msgstr "Âèíÿòîê ñêèíóòî: %s"
 
-msgid "no autocommand match name to substitute for \"<amatch>\""
-msgstr ""
-"Íå ìîæíà çàì³íèòè \"<amatch>\" â àâòîêîìàíä³, äëÿ çá³ãó íå âèêîðèñòîâàëîñü "
-"³ì'ÿ"
+#, c-format
+msgid "%s, line %ld"
+msgstr "%s, ðÿäîê %ld"
 
-msgid "no :source file name to substitute for \"<sfile>\""
-msgstr "Íå ìîæíà çàì³íèòè \"<sfile>\" â àâòîêîìàíä³, ³ì'ÿ ôàéëà â³äñóòí³º"
+#. always scroll up, don't overwrite
+#, c-format
+msgid "Exception caught: %s"
+msgstr "Ñï³éìàíî âèíÿòêîâó ñèòóàö³þ: %s"
 
-#, no-c-format
-msgid "Empty file name for '%' or '#', only works with \":p:h\""
-msgstr "Ïîðîæíå ³ì'ÿ ôàéëà äëÿ '%' òà '#' ïðàöþº ëèøå ç \":p:h\""
+#, c-format
+msgid "%s made pending"
+msgstr "Î÷³êóºòüñÿ %s"
 
-msgid "Evaluates to an empty string"
-msgstr "Ðåçóëüòàò -- ïîðîæí³é ðÿäîê"
+#, c-format
+msgid "%s resumed"
+msgstr "³äíîâëåíî %s"
 
-msgid "E195: Cannot open viminfo file for reading"
-msgstr "E195: Íå ìîæó â³äêðèòè ôàéë viminfo"
+#, c-format
+msgid "%s discarded"
+msgstr "Ñêèíóòî %s"
 
-msgid "E196: No digraphs in this version"
-msgstr "E196: Ó ö³é âåðñ³¿ íåìຠäèãðàô³â"
+msgid "Exception"
+msgstr "Âèíÿòîê"
+
+msgid "Error and interrupt"
+msgstr "Ïîìèëêà, ïåðåðâàíî"
+
+# msgstr "E231: "
+msgid "Error"
+msgstr "Ïîìèëêà"
+
+#. if (pending & CSTP_INTERRUPT)
+msgid "Interrupt"
+msgstr "Ïåðåðâàíî"
+
+msgid "E579: :if nesting too deep"
+msgstr "E579: Çàíàäòî áàãàòî âêëàäåíèõ :if"
+
+msgid "E580: :endif without :if"
+msgstr "E580: :endif áåç :if"
+
+msgid "E581: :else without :if"
+msgstr "E581: :else áåç :if"
+
+msgid "E582: :elseif without :if"
+msgstr "E582: :elseif áåç :if"
+
+msgid "E583: multiple :else"
+msgstr "E583: Íå îäíå :else"
+
+msgid "E584: :elseif after :else"
+msgstr "E584: :elseif ï³ñëÿ :else"
+
+msgid "E585: :while/:for nesting too deep"
+msgstr "E585: Çàáàãàòî âêëàäåíèõ :while/:for"
+
+msgid "E586: :continue without :while or :for"
+msgstr "E586: :continue áåç :while ÷è :for"
+
+msgid "E587: :break without :while or :for"
+msgstr "E587: :break áåç :while ÷è :for"
+
+msgid "E732: Using :endfor with :while"
+msgstr "E732: Âæèòî :endfor ³ç :while"
+
+msgid "E733: Using :endwhile with :for"
+msgstr "E733: Âæèòî :endwhile ³ç :for"
+
+msgid "E601: :try nesting too deep"
+msgstr "E601: Çàáàãàòî âêëàäåíèõ :try"
+
+msgid "E603: :catch without :try"
+msgstr "E603: :catch áåç :try"
+
+#. Give up for a ":catch" after ":finally" and ignore it.
+#. * Just parse.
+msgid "E604: :catch after :finally"
+msgstr "E604: :catch ï³ñëÿ :finally"
+
+msgid "E606: :finally without :try"
+msgstr "E606: :finally áåç :try"
+
+#. Give up for a multiple ":finally" and ignore it.
+msgid "E607: multiple :finally"
+msgstr "E607: Íå îäíå :finally"
+
+msgid "E602: :endtry without :try"
+msgstr "E602: :entry áåç :try"
+
+msgid "E193: :endfunction not inside a function"
+msgstr "E193: :endfunction ïîçà ìåæàìè ôóíêö³¿"
+
+msgid "E788: Not allowed to edit another buffer now"
+msgstr "E788: Çàðàç íå ìîæíà ðåäàãóâàòè ³íøèé áóôåð"
 
 # msgstr "E197: "
 msgid "tagname"
-msgstr "íàçâà ïîì³òêè"
+msgstr "íàçâà òå´ó"
 
 msgid " kind file\n"
-msgstr " òèï ôàéëà\n"
+msgstr " òèï ôàéëó\n"
 
 msgid "'history' option is zero"
 msgstr "Îïö³ÿ 'history' ïîðîæíÿ"
@@ -1080,13 +1484,13 @@ msgid ""
 "# %s History (newest to oldest):\n"
 msgstr ""
 "\n"
-"# Ïîïåðåäí³ %s:\n"
+"# Ïîïåðåäí³ %s (â³ä íàéíîâ³øèõ):\n"
 
 msgid "Command Line"
 msgstr "êîìàíäè"
 
 msgid "Search String"
-msgstr "çðàçêè äëÿ ïîøóêó"
+msgstr "øóêàí³ ðÿäêè"
 
 msgid "Expression"
 msgstr "âèðàçè"
@@ -1095,44 +1499,53 @@ msgid "Input Line"
 msgstr "ââåäåí³ ðÿäêè"
 
 msgid "E198: cmd_pchar beyond the command length"
-msgstr "E198: "
+msgstr "E198: cmd_pchar ïîçà ìåæàìè êîìàíäè"
 
 msgid "E199: Active window or buffer deleted"
-msgstr "E199: Àêòèâíå â³êíî àáî áóôåð áóëî âèäàëåíî"
+msgstr "E199: Àêòèâíå â³êíî àáî áóôåð áóëî çíèùåíî"
 
 # msgstr "E199: "
 msgid "Illegal file name"
-msgstr "Íåäîçâîëåíå ³ì'ÿ ôàéëà"
+msgstr "Íåäîçâîëåíà íàçâà ôàéëó"
 
 msgid "is a directory"
-msgstr "öå äèðåêòîð³ÿ"
+msgstr "êàòàëîã"
 
 msgid "is not a file"
 msgstr "íå ôàéë"
 
+msgid "is a device (disabled with 'opendevice' option)"
+msgstr "º ïðèñòðîºì (âèìêíåíî îïö³ºþ 'opendevice')"
+
 msgid "[New File]"
 msgstr "[Íîâèé ôàéë]"
 
+msgid "[New DIRECTORY]"
+msgstr "[Íîâèé êàòàëîã]"
+
+msgid "[File too big]"
+msgstr "[Ôàéë çàâåëèêèé]"
+
 msgid "[Permission Denied]"
 msgstr "[³äìîâëåíî]"
 
 msgid "E200: *ReadPre autocommands made the file unreadable"
-msgstr "E200: Àâòîêîìàíäè *ReadPre çðîáèëè ÷èòàííÿ ôàéëà íåìîæëèâèì"
+msgstr "E200: Àâòîêîìàíäè *ReadPre óíåìîæëèâèëè ÷èòàííÿ ôàéëó"
 
 # msgstr "E200: "
 msgid "E201: *ReadPre autocommands must not change current buffer"
-msgstr "E201: Àâòîêîìàíäè *ReadPre íå ìàºòü ïðàâà çì³íþâàòè áóôåð"
+msgstr "E201: Àâòîêîìàíäè *ReadPre íå ïîâèíí³ çì³íþâàòè öåé áóôåð"
 
 # msgstr "E201: "
 msgid "Vim: Reading from stdin...\n"
-msgstr "Vim: ×èòàåìî ç stdin...\n"
+msgstr "Vim: ×èòàºìî ç stdin...\n"
 
 msgid "Reading from stdin..."
-msgstr "×èòàåìî ç stdin..."
+msgstr "×èòàºìî ç stdin..."
 
 #. Re-opening the original file failed!
 msgid "E202: Conversion made file unreadable!"
-msgstr "E202: Êîíâåðòóâàííÿ çðîáèëî ÷èòàííÿ ôàéëà íåìîæëèâèì!"
+msgstr "E202: Êîíâåðòàö³ÿ óíåìîæëèâèëà ÷èòàííÿ ôàéëó!"
 
 # msgstr "E202: "
 msgid "[fifo/socket]"
@@ -1144,17 +1557,20 @@ msgstr "[fifo]"
 msgid "[socket]"
 msgstr "[ñîêåò]"
 
+msgid "[character special]"
+msgstr "[ñïåö. ñèìâîëüíèé]"
+
 msgid "[RO]"
 msgstr "[RO]"
 
 msgid "[CR missing]"
-msgstr "[Âòðà÷åíî CR]"
+msgstr "[Áðàêóº CR]"
 
 msgid "[NL found]"
 msgstr "[Çíàéäåíî NL]"
 
 msgid "[long lines split]"
-msgstr "[Äîâã³ ðÿäêè ïîäð³áíåíî]"
+msgstr "[Ðîçáèòî äîâã³ ðÿäêè]"
 
 msgid "[NOT converted]"
 msgstr "[ÍÅ êîíâåðòîâàíî]"
@@ -1165,76 +1581,96 @@ msgstr "[
 msgid "[crypted]"
 msgstr "[çàøèôðîâàíî]"
 
-msgid "[CONVERSION ERROR]"
-msgstr "[ÏÎÌÈËÊÀ ÊÎÍÂÅÐÒÓÂÀÍÍß]"
+#, c-format
+msgid "[CONVERSION ERROR in line %ld]"
+msgstr "[ÏÎÌÈËÊÀ ÊÎÍÂÅÐÒÀÖ²¯ ó ðÿäêó %ld]"
+
+#, c-format
+msgid "[ILLEGAL BYTE in line %ld]"
+msgstr "[ÍÅÊÎÐÅÊÒÍÈÉ ÁÀÉÒ ó ðÿäêó %ld]"
 
 msgid "[READ ERRORS]"
-msgstr "[ÏÎÌÈËÊÀ Ç×ÈÒÓÂÀÍÍß]"
+msgstr "[ÏÎÌÈËÊÀ ×ÈÒÀÍÍß]"
 
 msgid "Can't find temp file for conversion"
-msgstr "Íå ìîæó ï³äøóêàòè òèì÷àñîâèé ôàéë äëÿ êîíâåðòóâàííÿ"
+msgstr "Íå çì³ã ï³äøóêàòè òèì÷àñîâèé ôàéë äëÿ êîíâåðòàö³¿"
 
 msgid "Conversion with 'charconvert' failed"
-msgstr "Êîâíåðòóâàííÿ ç 'charconvert' íå âäàëîñÿ"
+msgstr "Êîíâåðòàö³ÿ ç 'charconvert' íå âäàëàñÿ"
 
 msgid "can't read output of 'charconvert'"
-msgstr "íå ìîæó ç÷èòàòè âèâ³ä 'charconvert'"
+msgstr "íå çì³ã ïðî÷èòàòè âèâ³ä 'charconvert'"
+
+# msgstr "E217: "
+msgid "E676: No matching autocommands for acwrite buffer"
+msgstr "E676: Íåìຠâ³äïîâ³äíèõ àâòîêîìàíä"
 
 msgid "E203: Autocommands deleted or unloaded buffer to be written"
-msgstr "E203: Àâòîêîìàíäà âèäàëèëà àáî âèâàíòàæèëà áóôåð ùî ìຠáóòè çàïèñàíèé"
+msgstr "E203: Àâòîêîìàíäà çíèùèëà àáî âèâàíòàæèëà áóôåð, ùî ìàâ áóòè çàïèñàíèé"
 
 msgid "E204: Autocommand changed number of lines in unexpected way"
-msgstr "E204: Àâòîêîìàíäà çì³íèëà ê³ëüêüñòü ðÿäê³â íåñïîä³âàíèì ÷èíîì"
+msgstr "E204: Àâòîêîìàíäà íåñïîä³âàíèì ÷èíîì çì³íèëà ê³ëüê³ñòü ðÿäê³â"
+
+msgid "NetBeans dissallows writes of unmodified buffers"
+msgstr "NetBeans íå äîçâîëÿº çàïèñóâàòè ó íåçì³íåí³ áóôåðè"
+
+# msgstr "E391: "
+msgid "Partial writes disallowed for NetBeans buffers"
+msgstr "×àñòêîâ³ çàïèñè çàáîðîíåí³ äëÿ áóôåð³â NetBeans"
 
 msgid "is not a file or writable device"
-msgstr "íå º ôàéëîì ÷è ïðèñòðîºì ç ìîæëèâ³ñòþ çàïèñó"
+msgstr "Íå ïðèäàòíèé äî çàïèñó"
 
-msgid "is read-only (use ! to override)"
-msgstr "ìîæíà ëèøå ÷èòàòè (âèêîðèñòàéòå ! ùîá íå çâàæàòè)"
+msgid "writing to device disabled with 'opendevice' option"
+msgstr "Çàïèñ äî ïðèñòðîþ çàáîðîíåíî îïö³ºþ 'opendevice'"
 
-msgid "Can't write to backup file (use ! to override)"
-msgstr "Íå ìîæó çàïèñàòè ðåçåðâíèé ôàéë (âèêîðèñòàéòå ! ùîá íå çâàæàòè)"
+msgid "is read-only (add ! to override)"
+msgstr "ëèøå äëÿ ÷èòàííÿ (! ùîá íå çâàæàòè)"
 
-msgid "Close error for backup file (use ! to override)"
-msgstr "Ïîìèëêà ï³ä ÷àñ ñïðîáè çàêðèòè ðåçåðâíèé ôàéë"
+msgid "E506: Can't write to backup file (add ! to override)"
+msgstr "E506: Íå çì³ã çàïèñàòè ðåçåðâíèé ôàéë (! ùîá íå çâàæàòè)"
 
-msgid "Can't read file for backup (use ! to override)"
-msgstr ""
-"Íåìຠçìîãè ñòâîðèòè ôàéë äëÿ ðåçåðâíî¿ êîﳿ (âèêîðèñòàéòå ! ùîá íå çâàæàòè)"
+msgid "E507: Close error for backup file (add ! to override)"
+msgstr "E507: Ïîìèëêà çàêðèòòÿ ðåçåðâíîãî ôàéëó (! ùîá íå çâàæàòè)"
 
-msgid "Cannot create backup file (use ! to override)"
-msgstr "Íåìຠçìîãè ñòâîðèòè ðåçåðâíó êîï³þ (âèêîðèñòàéòå ! ùîá íå çâàæàòè)"
+msgid "E508: Can't read file for backup (add ! to override)"
+msgstr "E508: Íå çì³ã ïðî÷èòàòè ôàéë, ùîá ñòâîðèòè ðåçåðâíó êîï³þ (! ùîá íå çâàæàòè)"
 
-msgid "Can't make backup file (use ! to override)"
-msgstr "Íåìຠçìîãè ñòâîðèòè ðåçåðâíó êîï³þ (âèêîðèñòàéòå ! ùîá íå çâàæàòè)"
+msgid "E509: Cannot create backup file (add ! to override)"
+msgstr "E509: Íå çì³ã ñòâîðèòè ðåçåðâíó êîï³þ (! ùîá íå çâàæàòè)"
 
-msgid "The resource fork will be lost (use ! to override)"
-msgstr "Ðåñóðñíó ã³ëêó ôàéëà áóäå âòðà÷åíî (! ùîá íå çâàæàòè)"
+msgid "E510: Can't make backup file (add ! to override)"
+msgstr "E510: Íå çì³ã çðîáèòè ðåçåðâíó êîï³þ (! ùîá íå çâàæàòè)"
+
+msgid "E460: The resource fork would be lost (add ! to override)"
+msgstr "E460: Ã³ëêó ðåñóðñ³â ìîæíà âòðàòèòè (! ùîá íå çâàæàòè)"
 
 msgid "E214: Can't find temp file for writing"
-msgstr "E214: Íå ìîæó ï³äøóêàòè òèì÷àñîâèé ôàéë äëÿ çàïèñó"
+msgstr "E214: Íå çì³ã ï³äøóêàòè òèì÷àñîâèé ôàéë äëÿ çàïèñó"
 
-msgid "E213: Cannot convert (use ! to write without conversion)"
-msgstr ""
-"E213: Íå ìîæó êîíâåðòóâàòè (âèêîðèñòàéòå ! ùîá çàïèñàòè áåç êîíâåðòóâàííÿ)"
+msgid "E213: Cannot convert (add ! to write without conversion)"
+msgstr "E213: Íå çì³ã ïåðåòâîðèòè (! ùîá çàïèñàòè áåç êîíâåðòàö³¿)"
 
 msgid "E166: Can't open linked file for writing"
-msgstr "E166: Íå ìîæó â³äêðèòè äëÿ çàïèñó ôàéë íà ÿêèé âêàçóº ïîñèëàííÿ"
+msgstr "E166: Íå çì³ã â³äêðèòè äëÿ çàïèñó çâ'ÿçàíèé ôàéë"
 
 msgid "E212: Can't open file for writing"
-msgstr "E212: Íå ìîæó â³äêðèòè ôàéë äëÿ çàïèñó"
+msgstr "E212: Íå çì³ã â³äêðèòè ôàéë äëÿ çàïèñó"
 
-msgid "Close failed"
-msgstr "Íå âäàëîñÿ çàêðèòè ôàéë"
+msgid "E667: Fsync failed"
+msgstr "E667: Íåâäàëèé fsync"
 
-msgid "write error, conversion failed"
-msgstr "ïîìèëêà çàïèñó, êîíâåðòóâàííÿ íå âäàëîñÿ"
+msgid "E512: Close failed"
+msgstr "E512: Íå âäàëîñÿ çàêðèòè"
 
-msgid "write error (file system full?)"
-msgstr "ïîìèëêà çàïèñó (ñê³í÷èëîñü â³ëüíå ì³ñöå??)"
+msgid "E513: write error, conversion failed (make 'fenc' empty to override)"
+msgstr "E513: Ïîìèëêà çàïèñó, êîíâåðòàö³ÿ íå âäàëàñÿ (ñêèíüòå 'fenc')"
+
+msgid "E514: write error (file system full?)"
+msgstr "E514: Ïîìèëêà çàïèñó (ñê³í÷èëîñü â³ëüíå ì³ñöå?)"
 
 msgid " CONVERSION ERROR"
-msgstr " ÏÎÌÈËÊÀ ÊÎÍÂÅÐÒÓÂÀÍÍß"
+msgstr " ÏÎÌÈËÊÀ ÊÎÍÂÅÐÒÀÖ²¯"
 
 msgid "[Device]"
 msgstr "[Ïðèñòð³é]"
@@ -1255,41 +1691,41 @@ msgid " written"
 msgstr " çàïèñàíèé"
 
 msgid "E205: Patchmode: can't save original file"
-msgstr "E205: Ðåæèì patch: íå ìîæó çàïèñàòè ïåðâèííèé ôàéë"
+msgstr "E205: Ëàòàííÿ: íå çì³ã çáåðåãòè îðèã³íàë"
 
 msgid "E206: patchmode: can't touch empty original file"
-msgstr "E206: Ðåæèì patch: íå ìîæó ñòâîðèòè ïóñòèé ïåðâèííèé ôàéë"
+msgstr "E206: Ëàòàííÿ: íå çì³ã ñòâîðèòè îðèã³íàë"
 
 msgid "E207: Can't delete backup file"
-msgstr "E207: Íå ìîæó âèäàëèëà ðåçåðâíèé ôàéë"
+msgstr "E207: Íå çì³ã çíèùèòè ðåçåðâíèé ôàéë"
 
 msgid ""
 "\n"
 "WARNING: Original file may be lost or damaged\n"
 msgstr ""
 "\n"
-"ÓÂÀÃÀ: Ïî÷àòêîâèé ôàéë ìîæå áóòè âòðà÷åíèé àáî âèäàëåíèé\n"
+"ÓÂÀÃÀ: Îðèã³íàë, ìàáóòü, âòðà÷åíèé ÷è ïîøêîäæåíèé\n"
 
 msgid "don't quit the editor until the file is successfully written!"
-msgstr "Íå âèõîäüòå ç ðåäàêòîðà äîïîêè ôàéë íå áóäå çàïèñàíî"
+msgstr "Íå âèõîäüòå ç ðåäàêòîðà, äîêè ôàéë íå çàïèñàíî!"
 
 msgid "[dos]"
 msgstr "[äîñ]"
 
 msgid "[dos format]"
-msgstr "[ôîðìàò dos]"
+msgstr "[ôîðìàò äîñ]"
 
 msgid "[mac]"
-msgstr "[mac]"
+msgstr "[ìàê]"
 
 msgid "[mac format]"
-msgstr "[ôîðìàò mac]"
+msgstr "[ôîðìàò ìàê]"
 
 msgid "[unix]"
-msgstr "[unix]"
+msgstr "[þíiêñ]"
 
 msgid "[unix format]"
-msgstr "[unix ôîðìàò]"
+msgstr "[ôîðìàò unix]"
 
 msgid "1 line, "
 msgstr "îäèí ðÿäîê, "
@@ -1309,54 +1745,60 @@ msgid "[noeol]"
 msgstr "[noeol]"
 
 msgid "[Incomplete last line]"
-msgstr "[íåïîâíèé îñòàí³é ðÿäîê]"
+msgstr "[Íåïîâíèé îñòàíí³é ðÿäîê]"
 
 #. don't overwrite messages here
 #. must give this prompt
 #. don't use emsg() here, don't want to flush the buffers
 msgid "WARNING: The file has been changed since reading it!!!"
-msgstr "ÓÂÀÃÀ: Ôàéë áóëî çì³íåíî ï³ñëÿ ç÷èòàííÿ!!!"
+msgstr "ÓÂÀÃÀ: Ôàéë çì³íèâñÿ ç ÷àñó îñòàííüîãî ÷èòàííÿ!!!"
 
 msgid "Do you really want to write to it"
-msgstr "Âè ä³éñíî õî÷åòå éîãî ïåðåçàïèñàòè ??"
+msgstr "Âè ñïðàâä³ õî÷åòå éîãî ïåðåïèñàòè??"
 
 #, c-format
 msgid "E208: Error writing to \"%s\""
-msgstr "E208: Ïîìèëêà çàïèñó â \"%s\""
+msgstr "E208: Ïîìèëêà çàïèñó \"%s\""
 
 #, c-format
 msgid "E209: Error closing \"%s\""
-msgstr "E209: Ïîìèëêà ï³ä ÷àñ çàêðèòòÿ \"%s\""
+msgstr "E209: Ïîìèëêà çàêðèòòÿ \"%s\""
 
 #, c-format
 msgid "E210: Error reading \"%s\""
-msgstr "E210: Ïîìèëêà ï³ä ÷àñ ç÷èòóâàííÿ \"%s\""
+msgstr "E210: Ïîìèëêà ÷èòàííÿ \"%s\""
 
 msgid "E246: FileChangedShell autocommand deleted buffer"
-msgstr "E246: Àâòîêîìàíäà FileChangedShell âèäàëèëà áóôåð"
+msgstr "E246: Àâòîêîìàíäà FileChangedShell çíèùèëà áóôåð"
 
 #, c-format
-msgid "E211: Warning: File \"%s\" no longer available"
-msgstr "E211: Óâàãà: Ôàéë \"%s\" íåäîñÿæíèé"
+msgid "E211: File \"%s\" no longer available"
+msgstr "E211: Ôàéë \"%s\" á³ëüøå íå äîñÿæíèé"
 
 #, c-format
-msgid ""
-"W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as "
-"well"
-msgstr ""
-"W12: Óâàãà: Ôàéë \"%s\" áóëî çì³íåíî, àëå é áóôåð ó Vim òåæ áóëî çì³íåíî"
+msgid "W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as well"
+msgstr "W12: Óâàãà: Ôàéë \"%s\" çì³íèâñÿ, àëå é áóôåð ó Vim òàêîæ"
+
+msgid "See \":help W12\" for more info."
+msgstr "Äèâ. \":help W12\" äëÿ óòî÷íåííÿ."
 
 #, c-format
 msgid "W11: Warning: File \"%s\" has changed since editing started"
-msgstr "W11: Óâàãà: Ôàéë \"%s\" áóëî çì³íåíî ï³ñëÿ ïî÷àòêó ðåäàãóâàííÿ"
+msgstr "W11: Óâàãà: Ôàéë \"%s\" çì³íèâñÿ ï³ñëÿ ïî÷àòêó ðåäàãóâàííÿ"
+
+msgid "See \":help W11\" for more info."
+msgstr "Äèâ. \":help W11\" äëÿ óòî÷íåííÿ."
 
 #, c-format
 msgid "W16: Warning: Mode of file \"%s\" has changed since editing started"
-msgstr "W16: Óâàãà: Ðåæèì ôàéëà \"%s\" áóëî çì³íåíî ï³ñëÿ ïî÷àòêó ðåäàãóâàííÿ"
+msgstr "W16: Óâàãà: Ðåæèì ôàéëó \"%s\" çì³íèâñÿ ï³ñëÿ ïî÷àòêó ðåäàãóâàííÿ"
+
+msgid "See \":help W16\" for more info."
+msgstr "Äèâ. \":help W16\" äëÿ óòî÷íåííÿ."
 
 #, c-format
 msgid "W13: Warning: File \"%s\" has been created after editing started"
-msgstr "W13: Óâàãà: Ôàéë \"%s\" áóëî ñòâîðåíî ï³ñëÿ ïî÷åòêó ðåäàãóâàííÿ"
+msgstr "W13: Óâàãà: Ôàéë \"%s\" áóëî ñòâîðåíî ï³ñëÿ ïî÷àòêó ðåäàãóâàííÿ"
 
 msgid "Warning"
 msgstr "Óâàãà"
@@ -1366,19 +1808,27 @@ msgid ""
 "&Load File"
 msgstr ""
 "&O:Ãàðàçä\n"
-"&L:Çàâàíòàæèòè ôàéë"
+"&L:Çàâàíòàæèòè"
+
+#, c-format
+msgid "E462: Could not prepare for reloading \"%s\""
+msgstr "E462: Íå çì³ã ï³äãîòóâàòè \"%s\" äëÿ ïåðåâàíòàæåííÿ"
 
 #, c-format
 msgid "E321: Could not reload \"%s\""
-msgstr "E321: Íå ìîæó ïåðåâàíòàæèòè \"%s\""
+msgstr "E321: Íå çì³ã ïåðåâàíòàæèòè \"%s\""
 
 msgid "--Deleted--"
-msgstr "--Âèäàëåíî--"
+msgstr "--Çíèùåíî--"
+
+#, c-format
+msgid "auto-removing autocommand: %s <buffer=%d>"
+msgstr "Àâòîìàòè÷íå çíèùåííÿ àâòîêîìàíäè: %s <áóôåð=%d>"
 
 #. the group doesn't exist
 #, c-format
 msgid "E367: No such group: \"%s\""
-msgstr "E367: Ãðóïà íå ³ñíóº: \"%s\""
+msgstr "E367: Íåìຠòàêî¿ ãðóïè: \"%s\""
 
 #, c-format
 msgid "E215: Illegal character after *: %s"
@@ -1387,7 +1837,12 @@ msgstr "E215: 
 # msgstr "E215: "
 #, c-format
 msgid "E216: No such event: %s"
-msgstr "E216: Ïîä³ÿ íå ³ñíóº: %s"
+msgstr "E216: Íåìຠòàêî¿ ïî䳿: %s"
+
+# msgstr "E215: "
+#, c-format
+msgid "E216: No such group or event: %s"
+msgstr "E216: Íåìຠòàêî¿ ãðóïè ÷è ïî䳿: %s"
 
 # msgstr "E216: "
 #. Highlight title
@@ -1398,76 +1853,80 @@ msgstr ""
 "\n"
 "--- Àâòîêîìàíäè ---"
 
+#, c-format
+msgid "E680: <buffer=%d>: invalid buffer number "
+msgstr "E680: <áóôåð=%d>: íåêîðåêòíèé íîìåð áóôåðó "
+
 msgid "E217: Can't execute autocommands for ALL events"
 msgstr "E217: Íå ìîæó âèêîíóâàòè àâòîêîìàíäè äëÿ ÓѲՠïîä³é"
 
 # msgstr "E217: "
 msgid "No matching autocommands"
-msgstr "Íå ³ñíóº â³äïîâ³äíèõ àâòîêîìàíä"
+msgstr "Íåìຠâ³äïîâ³äíèõ àâòîêîìàíä"
 
 msgid "E218: autocommand nesting too deep"
-msgstr "Çàíàäòî âåëèêà ê³ëüê³ñòü âêëàäåíèõ àâòîêîìàíä"
+msgstr "E218: Çàáàãàòî âêëàäåíèõ àâòîêîìàíä"
 
 # msgstr "E218: "
 #, c-format
 msgid "%s Auto commands for \"%s\""
-msgstr "%s Àâòîêîìàíäè äëÿ \"%s\""
+msgstr "Àâòîêîìàíäè %s äëÿ \"%s\""
 
 #, c-format
 msgid "Executing %s"
-msgstr "Âèêîíóåòüñÿ %s"
+msgstr "Âèêîíóºòüñÿ %s"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "autocommand %s"
 msgstr "àâòîêîìàíäà %s"
 
 msgid "E219: Missing {."
-msgstr "Âòðà÷åíî {."
+msgstr "E219: Áðàêóº {."
 
 # msgstr "E219: "
 msgid "E220: Missing }."
-msgstr "Âòðà÷åíî }."
+msgstr "E220: Áðàêóº }."
 
 # msgstr "E220: "
-msgid "No fold found"
-msgstr "Çãîðòîê íå çíàéäåíî"
+msgid "E490: No fold found"
+msgstr "E490: Íå çíàéøîâ çãîðòêó"
 
 # msgstr "E349: "
 msgid "E350: Cannot create fold with current 'foldmethod'"
-msgstr "E350: Íå ìîæó ñòâîðèòè çãîðòîê (çâàæàþ÷è íà 'foldmethod')"
+msgstr "E350: Íå çì³ã ñòâîðèòè çãîðòêó ìåòîäîì 'foldmethod'"
 
 msgid "E351: Cannot delete fold with current 'foldmethod'"
-msgstr "E351: Íå ìîæó âèäàëèòè çãîðòîê (çâàæàþ÷è íà 'foldmethod')"
+msgstr "E351: Íå çì³ã çíèùèòè çãîðòêó ìåòîäîì 'foldmethod'"
 
-msgid "E221: 'commentstring' is empty"
-msgstr "E221: îïö³ÿ 'commentstring' ïîðîæíÿ"
+#, c-format
+msgid "+--%3ld lines folded "
+msgstr "+-- çãîðíóòî %3ld ðÿäê³â "
 
 msgid "E222: Add to read buffer"
-msgstr "E222: Áóôåð óæå áóëî ç÷èòàíî [ïîìèëêà ïðîãðàìè]"
+msgstr "E222: Äîäàíî äî ïðî÷èòàíîãî áóôåðó"
 
 msgid "E223: recursive mapping"
-msgstr "E332: Çàì³íà çàöèêëåíà"
+msgstr "E223: Çàì³íà ðåêóðñèâíà"
 
 # msgstr "E223: "
 #, c-format
 msgid "E224: global abbreviation already exists for %s"
-msgstr "Çàãàëüíå ñêîðî÷åííÿ äëÿ %s âæå ³ñíóº"
+msgstr "E224: Çàãàëüíå ñêîðî÷åííÿ %s âæå ³ñíóº"
 
 # msgstr "E224: "
 #, c-format
 msgid "E225: global mapping already exists for %s"
-msgstr "Çàãàëüíà çàì³íà äëÿ %s âæå ³ñíóº"
+msgstr "E225: Çàãàëüíà çàì³íà %s âæå ³ñíóº"
 
 # msgstr "E225: "
 #, c-format
 msgid "E226: abbreviation already exists for %s"
-msgstr "Ñêîðî÷åííÿ äëÿ %s âñå ³ñíóº"
+msgstr "E226: Âæå º ñêîðî÷åííÿ %s"
 
 # msgstr "E226: "
 #, c-format
 msgid "E227: mapping already exists for %s"
-msgstr "Çàì³íà äëÿ %s âæå ³ñíóº"
+msgstr "E227: Âæå º çàì³íà %s"
 
 # msgstr "E227: "
 msgid "No abbreviation found"
@@ -1477,166 +1936,187 @@ msgid "No mapping found"
 msgstr "Çàì³íè íå çíàéäåíî"
 
 msgid "E228: makemap: Illegal mode"
-msgstr "E228: makemap: Âíóòð³øíÿ ïîìèëêà"
+msgstr "E228: makemap: Íåïðèïóñòèìèé ðåæèì"
 
 msgid "<cannot open> "
-msgstr "<íåìîæëèâî â³äêðèòè> "
+msgstr "<íå â³äêðèâàºòüñÿ> "
 
 #, c-format
-msgid "vim_SelFile: can't get font %s"
-msgstr "vim_SelFile: íå ìîæó îòðèìàòè øðèôò %s"
+msgid "E616: vim_SelFile: can't get font %s"
+msgstr "E616: vim_SelFile: íå çì³ã îòðèìàòè øðèôò %s"
 
-msgid "vim_SelFile: can't return to current directory"
-msgstr "vim_SelFile: íå ìîæó ïîâåðíèòóñÿ â ïîòî÷íó äèðåêòîð³þ"
+msgid "E614: vim_SelFile: can't return to current directory"
+msgstr "E614: vim_SelFile: íå çì³ã ïîâåðíóòèñÿ â ïîòî÷íèé êàòàëîã"
 
 msgid "Pathname:"
 msgstr "Øëÿõ:"
 
-msgid "vim_SelFile: can't get current directory"
-msgstr "vim_SelFile: íå ìîæó ä³ñòàòè ïîòî÷íó äèðåêòîð³þ"
+msgid "E615: vim_SelFile: can't get current directory"
+msgstr "E615: vim_SelFile: íå çì³ã îòðèìàòè ïîòî÷íèé êàòàëîã"
 
 msgid "OK"
-msgstr "OK"
+msgstr "Ãàðàçä"
 
-#. 'Cancel' button
 msgid "Cancel"
-msgstr "Cancel"
+msgstr "Ñêàñóâàòè"
 
 msgid "Vim dialog"
 msgstr "ijàëîã Vim"
 
 msgid "Scrollbar Widget: Could not get geometry of thumb pixmap."
-msgstr "Scrollbar Widget: íå ìîæó âçíàòè ðîçì³ð ñêîðî÷åíî¿ êàðòèíêè."
+msgstr "Scrollbar Widget: Íå çì³ã âèçíà÷èòè ðîçì³ð ñêîðî÷åíî¿ êàðòèíêè."
 
 msgid "E232: Cannot create BalloonEval with both message and callback"
-msgstr ""
-"E232: Íå ìîæó ñòâîðèòè BalloonEval ç ïîâ³äîìëåííÿì ³ ôóíêö³ºþ îäíî÷àñíî"
+msgstr "E232: Íå çì³ã ñòâîðèòè BalloonEval ç ïîâ³äîìëåííÿì ³ ôóíêö³ºþ"
 
 # msgstr "E228: "
 msgid "E229: Cannot start the GUI"
-msgstr "E229: Íå ìîæó ðîçïî÷àòè GUI"
+msgstr "E229: Íå çì³ã çàïóñòèòè GUI"
 
 # msgstr "E229: "
 #, c-format
 msgid "E230: Cannot read from \"%s\""
-msgstr "E230: Íå ìîæó ÷èòàòè ç \"%s\""
+msgstr "E230: Íå çì³ã ïðî÷èòàòè ç \"%s\""
+
+msgid "E665: Cannot start GUI, no valid font found"
+msgstr "E665: Íå çì³ã çàïóñòèòè GUI, íå çíàéäåíî øðèôò"
 
 # msgstr "E230: "
 msgid "E231: 'guifontwide' invalid"
-msgstr "E231: 'guifontwide' âèçíà÷åíî íåâ³ðíî"
+msgstr "E231: Íåêîðåêòíèé 'guifontwide'"
 
-# msgstr "E231: "
-msgid "Error"
-msgstr "Ïîìèëêà"
+msgid "E599: Value of 'imactivatekey' is invalid"
+msgstr "E599: Çíà÷åííÿ 'imactivatekey' íåêîðåêòíå"
 
-msgid "&Ok"
-msgstr "&Ok"
+#, c-format
+msgid "E254: Cannot allocate color %s"
+msgstr "E254: Íå çì³ã îòðèìàòè êîë³ð %s"
+
+msgid "No match at cursor, finding next"
+msgstr "Íåìຠíàä êóðñîðîì, øóêàºìî äàë³"
 
 # msgstr "E232: "
 msgid "Vim dialog..."
 msgstr "ijàëîã Vim..."
 
+msgid ""
+"&Yes\n"
+"&No\n"
+"&Cancel"
+msgstr ""
+"&Y:Òàê\n"
+"&N:ͳ\n"
+"&C:Ñêàñóâàòè"
+
+msgid "Input _Methods"
+msgstr "Ìåòîäè ââåäåííÿ"
+
 msgid "VIM - Search and Replace..."
-msgstr "VIM - Çíàéòè ³ çàì³íèòè..."
+msgstr "VIM - Çíàéòè é çàì³íèòè..."
 
 msgid "VIM - Search..."
-msgstr "VIM - Ïîøóê"
+msgstr "VIM - Ïîøóê..."
 
 msgid "Find what:"
 msgstr "Çíàéòè:"
 
 msgid "Replace with:"
-msgstr "Çàì³íà:"
+msgstr "Çàì³íèòè íà:"
 
-#. exact match only button
-msgid "Match exact word only"
-msgstr "Ââàæàòè çà çá³ã ëèøå ïîâíå ñëîâî"
+#. whole word only button
+msgid "Match whole word only"
+msgstr "Ëèøå ïîâíå ñëîâî"
+
+#. match case button
+msgid "Match case"
+msgstr "Çâàæàòè íà ðåã³ñòð"
 
 msgid "Direction"
 msgstr "Íàïðÿì"
 
 #. 'Up' and 'Down' buttons
 msgid "Up"
-msgstr "Äîãîðè"
+msgstr "Âãîðó"
 
 msgid "Down"
 msgstr "Óíèç"
 
-#. 'Find Next' button
 msgid "Find Next"
-msgstr "Çíàéòè íàñòóïíèé âàð³àíò"
+msgstr "Íàñòóïíå"
 
-#. 'Replace' button
 msgid "Replace"
 msgstr "Çàì³íèòè"
 
-#. 'Replace All' button
 msgid "Replace All"
 msgstr "Çàì³íèòè óñ³"
 
-msgid "E233: cannot open display"
-msgstr "E233: Íå ìîæó â³äêðèòè äèñïëåé"
+msgid "Vim: Received \"die\" request from session manager\n"
+msgstr "Vim: Îòðèìàâ çàïèò ïðî çàâåðøåííÿ â³ä ìåíåäæåðà ñåñ³é\n"
 
-# msgstr "E233: "
-#, c-format
-msgid "E234: Unknown fontset: %s"
-msgstr "E234: Íåâ³äîìèé fontset: %s"
+msgid "Close"
+msgstr "Çàêðèòè"
 
-# msgstr "E234: "
-msgid "Font Selection"
-msgstr "Âèä³ëåííÿ"
+msgid "New tab"
+msgstr "Íîâà âêëàäêà"
 
-#, c-format
-msgid "E235: Unknown font: %s"
-msgstr "Íåâ³äîìèé øðèôò: %s"
+msgid "Open Tab..."
+msgstr "³äêðèòè âêëàäêó..."
 
-# msgstr "E235: "
-#, c-format
-msgid "E236: Font \"%s\" is not fixed-width"
-msgstr "E236: Øðèôò \"%s\" íå ìîíîøèðèííèé"
+msgid "Vim: Main window unexpectedly destroyed\n"
+msgstr "Vim: Íåñïîä³âàíî çíèùèëîñÿ ãîëîâíå â³êíî\n"
 
-# msgstr "E236: "
-#, c-format
-msgid "E242: Color name not recognized: %s"
-msgstr "E242: Íåçðîçóì³ëà íàçâà êîëüîðó: %s"
+# msgstr "E234: "
+msgid "Font Selection"
+msgstr "Âèáðàòè øðèôò"
 
 # msgstr "E242: "
 msgid "Used CUT_BUFFER0 instead of empty selection"
 msgstr "Âèêîðèñòàíî CUT_BUFFER0 çàì³ñòü ïîðîæíüîãî âèä³ëåííÿ"
 
-msgid "Filter"
-msgstr "Ô³ëüòð"
+msgid "&Filter"
+msgstr "&F:Ô³ëüòðóâàòè"
+
+msgid "&Cancel"
+msgstr "&C:Ñêàñóâàòè"
 
 msgid "Directories"
-msgstr "äèðåêòîð³¿"
+msgstr "Êàòàëîãè"
 
-msgid "Help"
-msgstr "Äîïîìîãà"
+msgid "Filter"
+msgstr "Ô³ëüòð"
+
+msgid "&Help"
+msgstr "&H:Äîïîìîãà"
 
 msgid "Files"
 msgstr "Ôàéëè"
 
+msgid "&OK"
+msgstr "&O:Ãàðàçä"
+
 msgid "Selection"
-msgstr "Âèá³ð øðèôòà"
+msgstr "Âèä³ëåííÿ"
 
-msgid "Undo"
-msgstr "³äì³íà"
+msgid "Find &Next"
+msgstr "&N:Çíàéòè äàë³"
 
-#, c-format
-msgid "E235: Can't load Zap font '%s'"
-msgstr ""
-"E235: ß íå çíàþ ùî òàêå riscos, â Óêðà¿í³ òàêîãî íåìàº.. (à òóò ùå é ÿêèéñü "
-"øðèôò íå õî÷å âàíòàæèòèñÿ: %s)"
+msgid "&Replace"
+msgstr "&R:Çàì³íèòè"
+
+msgid "Replace &All"
+msgstr "&A:Çàì³íèòè óñ³"
+
+msgid "&Undo"
+msgstr "&U:Ñêàñóâàòè"
 
-# msgstr "E235: "
 #, c-format
-msgid "E235: Can't use font %s"
-msgstr "E235: Íå ìîæó âèêîðèñòàòè øðèôò %s"
+msgid "E610: Can't load Zap font '%s'"
+msgstr "E610: Íå çì³ã çàâàíòàæèòè øðèôò Zap '%s'"
 
 # msgstr "E235: "
 #, c-format
-msgid "E242: Missing color: %s"
-msgstr "E242: Âòðà÷åíî êîë³ð: %s"
+msgid "E611: Can't use font %s"
+msgstr "E611: Íå çì³ã âèêîðèñòàòè øðèôò %s"
 
 # msgstr "E242: "
 msgid ""
@@ -1644,33 +2124,51 @@ msgid ""
 "Sending message to terminate child process.\n"
 msgstr ""
 "\n"
-"Ëÿêàºìî ä³òåé ì³ë³ö³îíåðîì. :-)\n"
+"Ïîñèëàºòüñÿ ïîâ³äîìëåííÿ ùîá ïðèïèíèòè äî÷³ðí³é ïðîöåñ.\n"
+
+#, c-format
+msgid "E671: Cannot find window title \"%s\""
+msgstr "E671: Íå çì³ã çíàéòè â³êíî \"%s\""
 
 #, c-format
 msgid "E243: Argument not supported: \"-%s\"; Use the OLE version."
-msgstr ""
-"E243: Àðãóìåíò íå ï³äòðèìóºüòüñÿ: \"-%s\", âèêóðèñòîâóéòå âåðñ³þ ç OLE."
+msgstr "E243: Àðãóìåíò íå ï³äòðèìóºòüñÿ: \"-%s\"; êîðèñòóéòåñü âåðñ³ºþ ç OLE."
+
+msgid "E672: Unable to open window inside MDI application"
+msgstr "E672: Íå çì³ã â³äêðèòè â³êíî âñåðåäèí³ ïðîãðàìè MDI"
+
+msgid "Close tab"
+msgstr "Çàêðèòè âêëàäêó"
+
+msgid "Open tab..."
+msgstr "³äêðèòè âêëàäêó..."
 
 # msgstr "E245: "
 msgid "Find string (use '\\\\' to find  a '\\')"
-msgstr "VIM - Ïîøóê"
+msgstr "Çíàéòè ðÿäîê ('\\\\' ùîá çíàéòè '\\')"
 
 msgid "Find & Replace (use '\\\\' to find  a '\\')"
-msgstr "VIM - Çíàéòè ³ çàì³íèòè..."
+msgstr "Çíàéòè ³ çàì³íèòè ('\\\\' ùîá çíàéòè '\\')"
+
+#. We fake this: Use a filter that doesn't select anything and a default
+#. * file name that won't be used.
+msgid "Not Used"
+msgstr "Íåìàº"
+
+msgid "Directory\t*.nothing\n"
+msgstr "Êàòàëîã\t*.í³÷îãî\n"
 
 msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect"
-msgstr ""
-"Vim E458: Íåìຠâ³ëüíèõ ñåêö³é ó òàáëèö³ êîëüîð³â. Äåÿê³ êîëüîðè ìîæóòü "
-"áóòè âòðà÷åí³"
+msgstr "Vim E458: Íåìຠâ³ëüíèõ êîì³ðîê ó ïàë³òð³, äåÿê³ êîëüîðè ìîæóòü áóòè íåïðàâèëüí³"
 
 #, c-format
 msgid "E250: Fonts for the following charsets are missing in fontset %s:"
-msgstr "E250: Øðèôòè äëÿ öüîãî íàáîðó ñèìâîë³â â³äñóòí³ ó fontset %s:"
+msgstr "E250: Øðèôòè äëÿ öèõ ñèìâîë³â â³äñóòí³ ó íàáîð³ %s:"
 
 # msgstr "E250: "
 #, c-format
 msgid "E252: Fontset name: %s"
-msgstr "E252: Íàçâà fontset: %s"
+msgstr "E252: Íàçâà íàáîðó øðèôò³â: %s"
 
 # msgstr "E252: "
 #, c-format
@@ -1679,7 +2177,7 @@ msgstr "
 
 #, c-format
 msgid "E253: Fontset name: %s\n"
-msgstr "E252: Íàçâà fontset: %s\n"
+msgstr "E253: Íàçâà íàáîðó øðèôò³â: %s\n"
 
 #, c-format
 msgid "Font0: %s\n"
@@ -1690,31 +2188,149 @@ msgid "Font1: %s\n"
 msgstr "Øðèôò1: %s\n"
 
 #, c-format
-msgid "Font%d width is not twice that of font0\n"
-msgstr "Æèðí³ñòü øðèôòà %d ìຠáóòè â äâ³÷³ á³ëüøîþ çà òîâùèíó font0\n"
+msgid "Font%ld width is not twice that of font0\n"
+msgstr "Øèðèíà øðèôòó%ld ìຠáóòè óäâ³÷³ á³ëüøîþ çà øèðèíó øðèôòó0\n"
 
 #, c-format
 msgid "Font0 width: %ld\n"
-msgstr "Æèðí³ñòü font0: %ld\n"
+msgstr "Øèðèíà øðèôòó0: %ld\n"
 
 #, c-format
 msgid ""
 "Font1 width: %ld\n"
 "\n"
 msgstr ""
-"Æèðí³ñòü font1: %ld\n"
+"Øèðèíà øðèôòó1: %ld\n"
 "\n"
 
-#, c-format
-msgid "E254: Cannot allocate color %s"
-msgstr "E254: Íå ìîæó ðîçì³ñòèòè êîë³ð %s"
+msgid "Invalid font specification"
+msgstr "Íåêîðåêòíà ñïåöèô³êàö³ÿ øðèôòó"
 
-# msgstr "E254: "
-msgid "E255: Couldn't read in sign data!"
-msgstr "E255: Íå ìîæíà ç÷èòàòè äàí³ íàïèñó!"
+msgid "&Dismiss"
+msgstr "&D:Ïðèïèíèòè"
+
+msgid "no specific match"
+msgstr "íåìຠêîíêðåòíîãî çá³ãó"
+
+# msgstr "E234: "
+msgid "Vim - Font Selector"
+msgstr "Vim - Âèá³ð øðèôòó"
+
+msgid "Name:"
+msgstr "Íàçâà:"
+
+#. create toggle button
+msgid "Show size in Points"
+msgstr "Ïîêàçàòè ðîçì³ð ó ïóíêòàõ"
+
+msgid "Encoding:"
+msgstr "Êîäóâàííÿ:"
+
+msgid "Font:"
+msgstr "Øðèôò:"
+
+msgid "Style:"
+msgstr "Ñòèëü:"
+
+msgid "Size:"
+msgstr "Ðîçì³ð:"
 
 msgid "E256: Hangul automata ERROR"
-msgstr "E256: Ïîìèëêà `Hangul automata' [ïîìèëêà ïðîãðàìè]"
+msgstr "E256: Ïîìèëêà àâòîìàòó Hangul"
+
+msgid "E550: Missing colon"
+msgstr "E550: Ïðîïóùåíî äâîêðàïêó"
+
+# msgstr "E347: "
+msgid "E551: Illegal component"
+msgstr "E551: Íåêîðåêòíèé êîìïîíåíò"
+
+msgid "E552: digit expected"
+msgstr "E552: î÷³êóºòüñÿ öèôðà"
+
+#, c-format
+msgid "Page %d"
+msgstr "Ñòîð³íêà %d"
+
+msgid "No text to be printed"
+msgstr "ͳ÷îãî äðóêóâàòè"
+
+#, c-format
+msgid "Printing page %d (%d%%)"
+msgstr "Äðóêóºòüñÿ ñòîð³íêà %d (%d%%)"
+
+#, c-format
+msgid " Copy %d of %d"
+msgstr " Êîï³ÿ %d ç %d"
+
+#, c-format
+msgid "Printed: %s"
+msgstr "Íàäðóêîâàíî: %s"
+
+msgid "Printing aborted"
+msgstr "Äðóê ïåðåðâàíî"
+
+msgid "E455: Error writing to PostScript output file"
+msgstr "E455: Íå çì³ã çàïèñàòè âèõ³äíèé ôàéë PostScript"
+
+#, c-format
+msgid "E624: Can't open file \"%s\""
+msgstr "E624: Íå çì³ã â³äêðèòè ôàéë \"%s\""
+
+#, c-format
+msgid "E457: Can't read PostScript resource file \"%s\""
+msgstr "E457: Íå çì³ã ïðî÷èòàòè ôàéë ðåñóðñ³â PostScript \"%s\""
+
+#, c-format
+msgid "E618: file \"%s\" is not a PostScript resource file"
+msgstr "E618: \"%s\" íå º ôàéëîì ðåñóðñ³â PostScript"
+
+#, c-format
+msgid "E619: file \"%s\" is not a supported PostScript resource file"
+msgstr "E619: \"%s\" íå º ï³äòðèìóâàíèì ôàéëîì ðåñóðñ³â PostScript"
+
+#, c-format
+msgid "E621: \"%s\" resource file has wrong version"
+msgstr "E621: Íåïðàâèëüíà âåðñ³ÿ ôàéëó ðåñóðñ³â \"%s\""
+
+msgid "E673: Incompatible multi-byte encoding and character set."
+msgstr "E673: Íåñóì³ñí³ áàãàòîáàéòîâå êîäóâàííÿ òà íàá³ð ñèìâîë³â."
+
+msgid "E674: printmbcharset cannot be empty with multi-byte encoding."
+msgstr "E674: printmbcharset íå ìîæå áóòè ïîðîæí³ì ç áàãàòîáàéòîâèì êîäóâàííÿì."
+
+msgid "E675: No default font specified for multi-byte printing."
+msgstr "E675: Íå çàçíà÷åíî øðèôò äëÿ áàãàòîáàéòîâîãî äðóêó."
+
+msgid "E324: Can't open PostScript output file"
+msgstr "E324: Íå çì³ã â³äêðèòè ôàéë PostScript äëÿ âèâîäó"
+
+#, c-format
+msgid "E456: Can't open file \"%s\""
+msgstr "E456: Íå çì³ã â³äêðèòè ôàéë \"%s\""
+
+msgid "E456: Can't find PostScript resource file \"prolog.ps\""
+msgstr "E456: Íå çì³ã çíàéòè ôàéë ðåñóðñ³â PostScript \"prolog.ps\""
+
+msgid "E456: Can't find PostScript resource file \"cidfont.ps\""
+msgstr "E456: Íå çì³ã çíàéòè ôàéë ðåñóðñ³â PostScript \"cidfont.ps\""
+
+#, c-format
+msgid "E456: Can't find PostScript resource file \"%s.ps\""
+msgstr "E456: Íå çì³ã çíàéòè ôàéë ðåñóðñ³â PostScript \"%s.ps\""
+
+#, c-format
+msgid "E620: Unable to convert to print encoding \"%s\""
+msgstr "E620: Íå çì³ã ïåðåòâîðèòè äî êîäóâàííÿ äðóêó \"%s\""
+
+msgid "Sending to printer..."
+msgstr "³äñèëàºìî íà ïðèíòåð..."
+
+msgid "E365: Failed to print PostScript file"
+msgstr "E365: Íå çì³ã íàäðóêóâàòè ôàéë PostScript"
+
+msgid "Print job sent."
+msgstr "Çàâäàííÿ äðóêó â³ä³ñëàíî."
 
 # msgstr "E255: "
 msgid "Add a new database"
@@ -1730,42 +2346,52 @@ msgid "Kill a connection"
 msgstr "Çíèùèòè ç'ºäíàííÿ"
 
 msgid "Reinit all connections"
-msgstr "Ðîçïî÷àòè ç ïî÷àòêó óñ³ ç'ºäíàííÿ"
+msgstr "Ïåðåçàïóñòèòè óñ³ ç'ºäíàííÿ"
 
 msgid "Show connections"
 msgstr "Ïîêàçàòè ç'ºäíàííÿ"
 
+#, c-format
+msgid "E560: Usage: cs[cope] %s"
+msgstr "E560: Âèêîðèñòàííÿ: cs[cope] %s"
+
 msgid "This cscope command does not support splitting the window.\n"
-msgstr "Öÿ êîìàíäà cscope íå ó쳺 ä³ëèòè â³êíî.\n"
+msgstr "Öÿ êîìàíäà cscope íå â쳺 ä³ëèòè â³êíî.\n"
 
-msgid "Usage: cstag <ident>"
-msgstr "Âèêîðèñòîâóéòå: cstag <ïîì³òêà>"
+msgid "E562: Usage: cstag <ident>"
+msgstr "E562: Âèêîðèñòàííÿ: cstag <³äåíòèô-îð>"
 
 msgid "E257: cstag: tag not found"
-msgstr "E257: cstag: ïîì³òêó íå çíàéäåíî"
+msgstr "E257: cstag: òå´ íå çíàéäåíî"
 
 # msgstr "E257: "
 #, c-format
-msgid "stat(%s) error: %d"
-msgstr "stat(%s) ïîìèëêà: %d"
+msgid "E563: stat(%s) error: %d"
+msgstr "E563: stat(%s) ïîìèëêà: %d"
+
+msgid "E563: stat error"
+msgstr "E563: ïîìèëêà stat"
+
+#, c-format
+msgid "E564: %s is not a directory or a valid cscope database"
+msgstr "E564: %s íå º í³ êàòàëîãîì, í³ áàçîþ äàíèõ cscope"
 
 #, c-format
 msgid "Added cscope database %s"
 msgstr "Äîäàíî áàçó äàíèõ cscope %s"
 
 #, c-format
-msgid "%s is not a directory or a valid cscope database"
-msgstr "%s íå º í³ äèðåêòîð³ºþ í³ áàçîþ äàíèõ cscope"
+msgid "E262: error reading cscope connection %ld"
+msgstr "E262: Ïîìèëêà ÷èòàííÿ ç³ ç'ºäíàííÿ cscope %ld"
 
-#, c-format
-msgid "error reading cscope connection %d"
-msgstr "Ïîìèëêà ÷èòàííÿ ç'ºäíàííÿ cscope #%d"
+msgid "E561: unknown cscope search type"
+msgstr "E561: Íåâ³äîìèé òèï ïîøóêó cscope"
 
-msgid "unknown cscope search type"
-msgstr "Íåâ³äîì³é òèï ïîøóêó cscope"
+msgid "E566: Could not create cscope pipes"
+msgstr "E566: Íå çì³ã ñòâîðèòè êàíàëè äî cscope"
 
-msgid "Could not create cscope pipes"
-msgstr "Íå ìîæó ñòâîðèòè êàíàë äî cscope"
+msgid "E622: Could not fork for cscope"
+msgstr "E622: Íå çì³ã ðîçä³ëèòè ïðîöåñ äëÿ cscope"
 
 msgid "cs_create_connection exec failed"
 msgstr "cs_create_connection: ïîìèëêà ï³ä ÷àñ âèêîíàííÿ"
@@ -1776,68 +2402,75 @@ msgstr "cs_create_connection: fdopen 
 msgid "cs_create_connection: fdopen for fr_fp failed"
 msgstr "cs_create_connection: fdopen äëÿ fr_fp íå âäàâñÿ"
 
-msgid "no cscope connections"
-msgstr "æîäíîãî ç'ºäíàíÿ ç cscope"
+msgid "E623: Could not spawn cscope process"
+msgstr "E623: Íå çì³ã ñòâîðèòè ïðîöåñ cscope"
+
+msgid "E567: no cscope connections"
+msgstr "E567: æîäíîãî ç'ºäíàííÿ ³ç cscope"
 
 # msgstr "E258: "
 #, c-format
 msgid "E259: no matches found for cscope query %s of %s"
-msgstr "E259: Äëÿ %s-çàïèòó cscope ñòîñîâíî %s íå çíàéäåíî ñ³ðíèê³â"
+msgstr "E259: Äëÿ çàïèòó cscope %s ç %s í³÷îãî íå çíàéäåíî"
+
+#, c-format
+msgid "E469: invalid cscopequickfix flag %c for %c"
+msgstr "E469: Íåêîðåêòíèé ïðàïîðåöü cscopequickfix %c äëÿ %c"
 
 # msgstr "E259: "
 msgid "cscope commands:\n"
-msgstr "êîìàíäè cscope:\n"
+msgstr "Êîìàíäè cscope:\n"
+
+#, c-format
+msgid "%-5s: %-30s (Usage: %s)"
+msgstr "%-5s: %-30s (Âèêîðèñòàííÿ: %s)"
 
 #, c-format
-msgid "%-5s: %-30s (Usage: %s)\n"
-msgstr "%-5s: %-30s (Âæèâàéòå: %s)\n"
+msgid "E625: cannot open cscope database: %s"
+msgstr "E625: Íå çì³ã â³äêðèòè áàçó äàíèõ cscope: %s"
 
-msgid "duplicate cscope database not added"
-msgstr "ïîâòîðíà áàçà äàíèõ cscope íå äîäàíà"
+msgid "E626: cannot get cscope database information"
+msgstr "E626: Íå çì³ã îòðèìàòè ³íôîðìàö³þ ç áàçè äàíèõ cscope"
 
-msgid "maximum number of cscope connections reached"
-msgstr "ê³ëüê³ñòü ç'ºäíàíü ç cscope äîñÿãëà ìàêñèìóìó"
+msgid "E568: duplicate cscope database not added"
+msgstr "E568: Ïîâòîðíà áàçà äàíèõ cscope íå äîäàíà"
 
-msgid "E260: cscope connection not found"
-msgstr "E260: ç'ºäíàííÿ ç cscope íå çíàéäåíî"
+msgid "E569: maximum number of cscope connections reached"
+msgstr "E569: Ê³ëüê³ñòü ç'ºäíàíü ç cscope äîñÿãëà ìàêñèìóìó"
 
 # msgstr "E260: "
 #, c-format
 msgid "E261: cscope connection %s not found"
-msgstr "E261: ç'ºäíàííÿ ç cscope %s íå çíàéäåíî"
-
-# msgstr "E261: "
-msgid "cscope connection closed"
-msgstr "ç'ºäíàííÿ ç cscope çàê³í÷åíî"
+msgstr "E261: Ç'ºäíàííÿ ç cscope %s íå çíàéäåíî"
 
 #, c-format
-msgid "cscope connection %s closed\n"
-msgstr "ç'ºäíàííÿ ç cscope %s çàê³í÷åíî\n"
+msgid "cscope connection %s closed"
+msgstr "Ç'ºäíàííÿ ç cscope %s çàê³í÷åíî"
 
 #. should not reach here
-msgid "fatal error in cs_manage_matches"
-msgstr "cs_manage_matches: ñ³ðíèê³â á³ëüøå íåìຠ[ïîìèëêà ïðîãðàìè]"
-
-#, c-format
-msgid "E262: error reading cscope connection %d"
-msgstr "E262: ïîìèëêà ÷èòàííÿ ç ç'ºäíàííÿ cscope %d"
-
-# msgstr "E262: "
-msgid "couldn't malloc\n"
-msgstr "íå ìîæó âèä³ëèòè ïàì'ÿòü\n"
+msgid "E570: fatal error in cs_manage_matches"
+msgstr "E570: Ôàòàëüíà ïîìèëêà â cs_manage_matches"
 
 #, c-format
-msgid "Cscope tag: %s\n"
-msgstr "Ïîì³òêà cscope: %s\n"
+msgid "Cscope tag: %s"
+msgstr "Òå´ cscope: %s"
 
-msgid "   #   line"
-msgstr "   #   ðÿäîê"
+msgid ""
+"\n"
+"   #   line"
+msgstr ""
+"\n"
+"   #   ðÿäîê"
 
 msgid "filename / context / line\n"
 msgstr "ôàéë / êîíòåêñò / ðÿäîê\n"
 
+#, c-format
+msgid "E609: Cscope error: %s"
+msgstr "E609: Ïîìèëêà cscope: %s"
+
 msgid "All cscope databases reset"
-msgstr "Óñ³ ç'ºäíàííÿ ç cscope ïåðåçàâàíòàæåíî"
+msgstr "Óñ³ áàçè äàíèõ cscope ïåðåçàâàíòàæåíî"
 
 msgid "no cscope connections\n"
 msgstr "Æîäíîãî ç'ºäíàííÿ ç cscope\n"
@@ -1845,75 +2478,110 @@ msgstr "
 msgid " # pid    database name                       prepend path\n"
 msgstr " # pid    íàçâà áàçè äàíèõ                    øëÿõ\n"
 
-#, c-format
-msgid "%2d %-5ld  %-34s  <none>\n"
-msgstr "%2d %-5ld  %-34s <æîæíîãî>\n"
+msgid "???: Sorry, this command is disabled, the MzScheme library could not be loaded."
+msgstr "???: Âèáà÷òå, öÿ êîìàíäà âèìêíåíà, á³áë³îòåêà MzScheme íå ìîæå áóòè çàâàíòàæåíà."
 
-#, c-format
-msgid "E370: Could not load library %s"
-msgstr "E370: Íå ìîæó çàâàíòàæèòè á³áë³îòåêó %s"
+msgid "invalid expression"
+msgstr "íåêîðåêòíèé âèðàç"
 
-#, c-format
-msgid "E448: Could not load library function %s"
-msgstr "E448: Íå ìîæó çàâàíòàæèòè á³áë³îòå÷íó ôóíêö³þ %s"
+msgid "expressions disabled at compile time"
+msgstr "îáðîáêó âèðàç³â âèìêíåíî ï³ä ÷àñ êîìï³ëÿö³¿"
 
-msgid ""
-"E263: Sorry, this command is disabled, the Python library could not be "
-"loaded."
-msgstr ""
-"E263: Âèáà÷òå, öÿ êîìàíäà âèìêíóòà, á³áë³îòåêà Python íå ìîæå áóòè "
-"çàâàíòàæåíà."
+msgid "hidden option"
+msgstr "ïðèõîâàíà îïö³ÿ"
+
+msgid "unknown option"
+msgstr "íåâ³äîìà îïö³ÿ"
+
+msgid "window index is out of range"
+msgstr "íåêîðåêòíèé íîìåð â³êíà"
+
+msgid "couldn't open buffer"
+msgstr "íå çì³ã â³äêðèòè áóôåð"
+
+msgid "cannot save undo information"
+msgstr "íå çì³ã çáåðåãòè ³íôîðìàö³þ äëÿ ñêàñóâàííÿ"
+
+msgid "cannot delete line"
+msgstr "íåìîæëèâî çíèùèòè ðÿäîê"
+
+msgid "cannot replace line"
+msgstr "íåìîæëèâî çàì³íèòè ðÿäîê"
+
+msgid "cannot insert line"
+msgstr "íå çì³ã âñòàâèòè ðÿäîê"
+
+msgid "string cannot contain newlines"
+msgstr "á³ëüøå í³æ îäèí ðÿäîê"
+
+msgid "Vim error: ~a"
+msgstr "Ïîìèëêà Vim: ~a"
+
+msgid "Vim error"
+msgstr "Ïîìèëêà Vim"
+
+msgid "buffer is invalid"
+msgstr "áóôåð íåïðèäàòíèé"
+
+msgid "window is invalid"
+msgstr "â³êíî íåïðèäàòíå"
+
+msgid "linenr out of range"
+msgstr "íîìåð ðÿäêà çà ìåæàìè ôàéëó"
+
+msgid "not allowed in the Vim sandbox"
+msgstr "íå äîçâîëåíî ó ï³ñî÷íèö³ Vim"
+
+msgid "E263: Sorry, this command is disabled, the Python library could not be loaded."
+msgstr "E263: Âèáà÷òå, öÿ êîìàíäà âèìêíåíà, á³áë³îòåêà Python íå ìîæå áóòè çàâàíòàæåíà."
+
+msgid "E659: Cannot invoke Python recursively"
+msgstr "E659: Íå ìîæíà ðåêóðñèâíî âèêëèêàòè Python"
 
 msgid "can't delete OutputObject attributes"
-msgstr "íå ìîæó âèäàëèòè àòðèáóòè OutputObject"
+msgstr "íå çì³ã çíèùèòè àòðèáóòè OutputObject"
 
 msgid "softspace must be an integer"
-msgstr "softspace ìຠáóòè íàòóðàëüíèì"
+msgstr "softspace ìຠáóòè ö³ëèì"
 
 # msgstr "E180: "
 msgid "invalid attribute"
-msgstr "íåâ³ðíèé àòðèáóò"
+msgstr "íåïðàâèëüíèé àòðèáóò"
 
 msgid "writelines() requires list of strings"
-msgstr "writelines() ïîòð³áåí ñïèñîê ðÿäê³â"
+msgstr "äëÿ writelines() ïîòð³áåí ñïèñîê ðÿäê³â"
 
 msgid "E264: Python: Error initialising I/O objects"
-msgstr "E264: Python: Ïîìèëêà ³í³ö³ÿë³çàö³¿ îá'ºêò³â ââîäó/âèâîäó"
-
-msgid "invalid expression"
-msgstr "íåâ³ðíèé âèðàç"
-
-msgid "expressions disabled at compile time"
-msgstr "îáðîáêó âèðàç³â çàáîðîíåíî ïîä ÷àñ êîìï³ëÿö³¿"
+msgstr "E264: Python: Ïîìèëêà ³í³ö³àë³çàö³¿ îá'ºêò³â ââîäó/âèâîäó"
 
 msgid "attempt to refer to deleted buffer"
-msgstr "ñïðîáà ÷èòàòè âèäàëåíèé áóôåð"
+msgstr "ñïðîáà çâåðíåííÿ äî çíèùåíîãî áóôåðó"
 
 msgid "line number out of range"
-msgstr "íîìåð ðÿäêà çà ìåæàìè ôàéëà"
+msgstr "íîìåð ðÿäêà çà ìåæàìè ôàéëó"
 
 #, c-format
 msgid "<buffer object (deleted) at %8lX>"
-msgstr "<îá'ºêò áóôåðà (âèäàëåíî) â %8lX>"
+msgstr "<îá'ºêò áóôåðó (çíèùåíî) â %8lX>"
 
 msgid "invalid mark name"
-msgstr "íåâ³ðíà íàçâà ïîì³òêè"
+msgstr "íåïðàâèëüíà íàçâà ïîçíà÷êè"
 
 msgid "no such buffer"
-msgstr "òàêîãî áóôåðà íåìàº"
+msgstr "òàêîãî áóôåðó íåìàº"
 
 msgid "attempt to refer to deleted window"
-msgstr "ñòðîáà çâåðíóòèñÿ äî âèäàëåíîãî â³êíà"
+msgstr "ñïðîáà çâåðíóòèñÿ äî çíèùåíîãî â³êíà"
 
 msgid "readonly attribute"
 msgstr "ëèøå äëÿ ÷èòàííÿ"
 
 msgid "cursor position outside buffer"
-msgstr "êóðñîð çà ìåæàìè áóôåðà"
+msgstr "êóðñîð çà ìåæàìè áóôåðó"
 
 #, c-format
 msgid "<window object (deleted) at %.8lX>"
-msgstr "<îá'ºêò â³êíà (âèäàëåíî) â %.8lX>"
+msgstr "<îá'ºêò â³êíà (çíèùåíî) â %.8lX>"
 
 #, c-format
 msgid "<window object (unknown) at %.8lX>"
@@ -1926,51 +2594,56 @@ msgstr "<
 msgid "no such window"
 msgstr "òàêîãî â³êíà íåìàº"
 
-msgid "cannot save undo information"
-msgstr "íå ìîæó çáåðåãòè ³íôîðìàö³þ äëÿ â³äì³íè"
+msgid "E265: $_ must be an instance of String"
+msgstr "E265: $_ ìຠáóòè åêçåìïëÿðîì ðÿäêà"
 
-msgid "cannot delete line"
-msgstr "íåìîæëèâî âèäàëèòè ðÿäîê"
+msgid "E266: Sorry, this command is disabled, the Ruby library could not be loaded."
+msgstr "E266: Âèáà÷òå, öÿ êîìàíäà âèìêíåíà, á³áë³îòåêà Ruby íå ìîæå áóòè çàâàíòàæåíà."
 
-msgid "cannot replace line"
-msgstr "íåìîæëèâî çàì³íèòè ðÿäîê"
+# msgstr "E414: "
+msgid "E267: unexpected return"
+msgstr "E267: íåñïîä³âàíèé return"
 
-msgid "cannot insert line"
-msgstr "íå ìîæó âñòàâèòè ðÿäîê"
+msgid "E268: unexpected next"
+msgstr "E268: íåñïîä³âàíèé next"
 
-msgid "string cannot contain newlines"
-msgstr "á³ëüø í³æ îäèí ðÿäîê"
+msgid "E269: unexpected break"
+msgstr "E269: íåñïîä³âàíèé break"
 
-msgid ""
-"E266: Sorry, this command is disabled, the Ruby library could not be loaded."
-msgstr ""
-"E266: Âèáà÷òå, öÿ êîìàíäà âèìêíóòà, á³áë³îòåêà Ruby íå ìîæå áóòè çàâàíòàæåíà."
+msgid "E270: unexpected redo"
+msgstr "E270: íåñïîä³âàíèé redo"
+
+msgid "E271: retry outside of rescue clause"
+msgstr "E271: retry ïîçà rescue"
+
+msgid "E272: unhandled exception"
+msgstr "E272: Íåîáðîáëåíèé âèíÿòîê"
 
 # msgstr "E233: "
 #, c-format
 msgid "E273: unknown longjmp status %d"
-msgstr "E234: Íåâ³äîìèé ñòàòóñ longjmp: %d"
+msgstr "E273: Íåâ³äîìèé ñòàòóñ longjmp: %d"
 
 msgid "Toggle implementation/definition"
-msgstr "Ïåðåìêíóòè implementation/definition"
+msgstr "Ïåðåìêíóòè ðåàë³çàö³þ/âèçíà÷åííÿ"
 
 msgid "Show base class of"
 msgstr "Çíàéòè áàçîâèé êëàñ"
 
 msgid "Show overridden member function"
-msgstr "Ïîêàçàòè çàì³íåí³(overridden) ôóíêö³¿-÷ëåíè"
+msgstr "Ïîêàçàòè çàì³íåí³ ôóíêö³¿-÷ëåíè"
 
 msgid "Retrieve from file"
-msgstr "Ç÷èòàòè ç ôàéëà"
+msgstr "Ïðî÷èòàòè ç ôàéëó"
 
 msgid "Retrieve from project"
-msgstr "Ç÷èòàòè ç ïðîåêòó"
+msgstr "Îòðèìàòè ç ïðîåêòó"
 
 msgid "Retrieve from all projects"
-msgstr "Ç÷èòàòè ç óñ³õ ïðîåêò³â"
+msgstr "Îòðèìàòè ç óñ³õ ïðîåêò³â"
 
 msgid "Retrieve"
-msgstr "Ç÷èòàòè"
+msgstr "Îòðèìàòè"
 
 msgid "Show source of"
 msgstr "Äæåðåëî"
@@ -1979,19 +2652,19 @@ msgid "Find symbol"
 msgstr "Çíàéòè ñèìâîë"
 
 msgid "Browse class"
-msgstr "Ïðîäèâèòèñÿ êëàñ"
+msgstr "Ïåðåãëÿíóòè êëàñ"
 
 msgid "Show class in hierarchy"
-msgstr "Çíàéòè êëàñ â ³ºðàðõ³¿"
+msgstr "Ïîêàçàòè êëàñ â ³ºðàðõ³¿"
 
 msgid "Show class in restricted hierarchy"
-msgstr "Çíàéòè êëàñ â çàáîðîíåí³é ¿ºðàðõ³¿"
+msgstr "Ïîêàçàòè êëàñ â îáìåæåí³é ³ºðàðõ³¿"
 
 msgid "Xref refers to"
 msgstr "Xref âêàçóº íà"
 
 msgid "Xref referred by"
-msgstr "íà Xref âêàçàíî ç"
+msgstr "Íà Xref âêàçàíî ç"
 
 msgid "Xref has a"
 msgstr "Xref ìàº"
@@ -2005,53 +2678,46 @@ msgstr "
 msgid "Generate docu for"
 msgstr "Ñòâîðèòè docu äëÿ"
 
-msgid ""
-"Cannot connect to SNiFF+. Check environment (sniffemacs must be found in "
-"$PATH).\n"
-msgstr ""
-"Íå ìîæó çºäíàòèñÿ ç SNiFF+. Ïåðåâ³ðòå îòî÷åííÿ\n"
-"(sniffemacs íå áóëî çíàéäåíî ó øëÿõó ïîøóêó).\n"
+msgid "Cannot connect to SNiFF+. Check environment (sniffemacs must be found in $PATH).\n"
+msgstr "Íå çì³ã ç'ºäíàòèñÿ ç SNiFF+. Ïåðåâ³ðòå îòî÷åííÿ (sniffemacs ìຠáóòè ó $PATH).\n"
 
 msgid "E274: Sniff: Error during read. Disconnected"
-msgstr "E274: Sniff: Ïîìèëêà ïàä ÷àñ ç÷èòóâàííÿ. Â³äºäíàíî"
+msgstr "E274: Sniff: Ïîìèëêà ï³ä ÷àñ ÷èòàííÿ. Â³ä'ºäíàíî"
 
 msgid "SNiFF+ is currently "
-msgstr "çàðàç SNiFF"
+msgstr "Çàðàç SNiFF+"
 
 msgid "not "
 msgstr "íå "
 
 msgid "connected"
-msgstr "ï³äºäíàíèé"
+msgstr "ï³ä'ºäíàíèé"
 
 #, c-format
 msgid "E275: Unknown SNiFF+ request: %s"
-msgstr "E275: Íåâ³äîìå çàïèòàííÿ äî SNiFF+: %s"
+msgstr "E275: Íåâ³äîìèé çàïèò äî SNiFF+: %s"
 
 msgid "E276: Error connecting to SNiFF+"
-msgstr "E276: Ïîìèëêà ï³ä ÷àñ çºäíàííÿ ç SNiFF+"
+msgstr "E276: Ïîìèëêà ç'ºäíàííÿ äî SNiFF+"
 
 msgid "E278: SNiFF+ not connected"
-msgstr "E278: SNiFF+ íå ï³äºäíàíî"
+msgstr "E278: SNiFF+ íå ï³ä'ºäíàíî"
 
 msgid "E279: Not a SNiFF+ buffer"
 msgstr "E279: Íå º áóôåðîì SNiFF+"
 
 msgid "Sniff: Error during write. Disconnected"
-msgstr "Sniff. ïîìèëêà çàïèñó. Â³äºäíàíî"
+msgstr "Sniff: Ïîìèëêà çàïèñó. Â³ä'ºäíàíî"
 
 msgid "invalid buffer number"
-msgstr "íåâ³ðíà íàçâà áóôåðà"
+msgstr "íåïðàâèëüíà íàçâà áóôåðó"
 
 msgid "not implemented yet"
-msgstr "íå ä³º (ïîêè ùî)"
-
-msgid "unknown option"
-msgstr "íåâ³äîìà îïö³ÿ"
+msgstr "ùå íå ðåàë³çîâàíî"
 
 #. ???
 msgid "cannot set line(s)"
-msgstr "íå ìîæó çàäàòè ðÿäêè"
+msgstr "íå çì³ã âñòàíîâèòè ðÿäêè"
 
 # msgstr "E19: "
 msgid "mark not set"
@@ -2062,121 +2728,110 @@ msgid "row %d column %d"
 msgstr "ðÿäîê %d êîëîíêà %d"
 
 msgid "cannot insert/append line"
-msgstr "Íå ìîæó âñòàâèòè/äîäàòè ðÿäîê"
+msgstr "Íå çì³ã âñòàâèòè/äîäàòè ðÿäîê"
 
 msgid "unknown flag: "
 msgstr "íåâ³äîìèé ïðàïîðåöü: "
 
 msgid "unknown vimOption"
-msgstr "Íåâ³äîìà îïö³ÿ"
+msgstr "Íåâ³äîìà îïö³ÿ Vim"
 
 msgid "keyboard interrupt"
-msgstr "ïåðåðâàíî êîðèñòóâà÷åì"
+msgstr "ïåðåðâàíî ç êëàâ³àòóðè"
 
 msgid "vim error"
 msgstr "ïîìèëêà Vim"
 
 msgid "cannot create buffer/window command: object is being deleted"
-msgstr "íå ìîæó ñòâîðèòè êîìàíäó äëÿ â³êíà/áóôåðà: îá'åêò âèäÿëÿºòüñÿ"
+msgstr "íå çì³ã ñòâîðèòè êîìàíäó â³êíà/áóôåðó: îá'ºêò çíèùóºòüñÿ"
 
-msgid ""
-"cannot register callback command: buffer/window is already being deleted"
-msgstr "Íå ìîæó çàðåºñòðóâàòè ïîä³þ: áóôåð/â³êíî óæå çíèùóºòüñÿ"
+msgid "cannot register callback command: buffer/window is already being deleted"
+msgstr "Íå çì³ã çàðåºñòðóâàòè ïîä³þ: áóôåð/â³êíî óæå çíèùóºòüñÿ"
 
 #. This should never happen.  Famous last word?
-msgid ""
-"E280: TCL FATAL ERROR: reflist corrupt!? Please report this to "
-"vim-dev@vim.org"
-msgstr ""
-"E280: ÏÎÌÈËÊÀ â ³íòåðôåéñ³ ç TCL: ìîæëèâî ïîøêîäæåíî ñïèñîê ïîñèëàííü.. "
-"Ïîâ³äîìòå, áóäüëàñêà, íà vim-dev@vim.org"
+msgid "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim.org"
+msgstr "E280: ÔÀÒÀËÜÍÀ ÏÎÌÈËÊÀ TCL: ìîæëèâî ïîøêîäæåíî ñïèñîê ïîñèëàíü!? Áóäü ëàñêà, ïîâ³äîìòå ó vim-dev@vim.org"
 
 msgid "cannot register callback command: buffer/window reference not found"
-msgstr "Íå ìîæó çàðåºñòðóâàòè ïîä³þ: ïîñèëàííÿ íà áóôåð/â³êíî íå çíàéäåíî"
+msgstr "Íå çì³ã çàðåºñòðóâàòè êîìàíäó ïî䳿: ïîñèëàííÿ íà áóôåð/â³êíî íå çíàéäåíî"
 
-msgid "Sorry, this command is disabled: the Tcl library could not be loaded."
-msgstr "Âèáà÷òå, öÿ êîìàíäà âèìêíóòà, á³áë³îòåêà Tcl íå ìîæå áóòè çàâàíòàæåíà."
+msgid "E571: Sorry, this command is disabled: the Tcl library could not be loaded."
+msgstr "E571: Âèáà÷òå, öÿ êîìàíäà âèìêíåíà, á³áë³îòåêà Tcl íå ìîæå áóòè çàâàíòàæåíà."
 
-msgid ""
-"E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org"
-msgstr ""
-"E280: ÏÎÌÈËÊÀ â ³íòåðôåéñ³ ç TCL: ìîæëèâî ðåçóëüòàò íå int.. Ïîâ³äîìòå, "
-"áóäüëàñêà, íà vim-dev@vim.org"
+msgid "E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org"
+msgstr "E281: ÏÎÌÈËÊÀ TCL: êîä âèõîäó íå º ö³ëèì!? Áóäü ëàñêà, ïîâ³äîìòå ó vim-dev@vim.org"
+
+#, c-format
+msgid "E572: exit code %d"
+msgstr "E572: Êîä âèõîäó %d"
 
 msgid "cannot get line"
-msgstr "íå ìîæó ä³ñòàòè ðÿäîê"
+msgstr "íå çì³ã ä³ñòàòè ðÿäîê"
 
 msgid "Unable to register a command server name"
-msgstr "Íå ìîæó çàðåºñòðóâàòè ³ì'ÿ ñåðâåðà"
-
-#, c-format
-msgid "E247: no registered server named \"%s\""
-msgstr "E354: Íåìຠçàðååñòðîâàíèõ ñåðâåð³â íà ³ì'ÿ \"%s\""
+msgstr "Íå çì³ã çàðåºñòðóâàòè íàçâó ñåðâåðà êîìàíä"
 
 msgid "E248: Failed to send command to the destination program"
-msgstr "E248: Íå âäàëîñÿ â³ä³ñëàòè êîìàíäó äî ê³íöåâî¿ ïðîãðàìè"
+msgstr "E248: Íå âäàëîñÿ â³ä³ñëàòè êîìàíäó äî ïðîãðàìè-ïðèçíà÷åííÿ"
 
 #, c-format
-msgid "Invalid server id used: %s"
-msgstr "Âèêîðèñòàíî íåâ³ðíó íàçâó ñåðâåðà :%s"
-
-msgid "E249: couldn't read VIM instance registry property"
-msgstr "E249: íå ìîæó ç÷èòàòè ÷àñòèíó ðåºñòðó çðàçêà Vim"
+msgid "E573: Invalid server id used: %s"
+msgstr "E573: Âèêîðèñòàíî íåêîðåêòíèé ³äåíòèô³êàòîð ñåðâåðà: %s"
 
 msgid "E251: VIM instance registry property is badly formed.  Deleted!"
-msgstr "E251: ÷àñòèíà ðåºñòðó çðàçêà Vim íåâ³ðíî çôîðìîâàíà.  Âèäàëåíî!"
+msgstr "E251: Ðåêâ³çèò ðåºñòðó çðàçêó VIM ñôîðìîâàíèé íåïðàâèëüíî.  Çíèùåíî!"
 
-msgid "Unknown option"
-msgstr "Íåâ³äîìà îïö³ÿ"
+msgid "Unknown option argument"
+msgstr "Íåâ³äîìèé àðãóìåíò îïö³¿"
 
 msgid "Too many edit arguments"
 msgstr "Çàáàãàòî àðãóìåíò³â"
 
 msgid "Argument missing after"
-msgstr "Âòðà÷åíî àðãóìåíòè ï³ñëÿ"
+msgstr "Ïðîïóùåíî àðãóìåíò ï³ñëÿ"
 
-msgid "Garbage after option"
-msgstr "Ñì³òòÿ ïîñëÿ îïö³¿"
+msgid "Garbage after option argument"
+msgstr "Ñì³òòÿ ï³ñëÿ àðãóìåíòó îïö³¿"
 
-msgid "Too many \"+command\" or \"-c command\" arguments"
-msgstr "Çàáàãàòî '+' àáî '-c' àðãóìåíò³â"
+msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments"
+msgstr "Çàáàãàòî àðãóìåíò³â ó \"+êîìàíäà\", \"-c êîìàíäà\" àáî \"--cmd êîìàíäà\""
 
 # msgstr "E14: "
 msgid "Invalid argument for"
-msgstr "Íåâ³ðíèé àðãóìåíò äëÿ"
+msgstr "Íåïðàâèëüíèé àðãóìåíò ó"
+
+#, c-format
+msgid "%d files to edit\n"
+msgstr "%d ôàéëè(³â)\n"
 
 msgid "This Vim was not compiled with the diff feature."
-msgstr "Öÿ âåðñ³ÿ Vim íå áóëà çêîìï³ëüîâàíà ç ï³äòðèìêîþ diff."
+msgstr "Öÿ âåðñ³ÿ Vim íå áóëà ñêîìï³ëüîâàíà ç ï³äòðèìêîþ ïîð³âíÿííÿ."
 
 msgid "Attempt to open script file again: \""
-msgstr "Ñïðîáà â³äêðèòè ùå ðàç ôàéë êîìàíä \""
-
-msgid "\"\n"
-msgstr "\"\n"
+msgstr "Ñïðîáà ïîâòîðíî â³äêðèòè ñêðèïò: \""
 
 msgid "Cannot open for reading: \""
-msgstr "Íå ìîæó ïðî÷èòàòè: \""
+msgstr "Íå çì³ã ïðî÷èòàòè: \""
 
 msgid "Cannot open for script output: \""
-msgstr "Íå ìîæó â³äêðèòè ÿê â³õ³äíèé ôàéë: \""
+msgstr "Íå çì³ã â³äêðèòè ÿê âèõ³äíèé ôàéë: \""
 
-#, c-format
-msgid "%d files to edit\n"
-msgstr "%d ôàéë³â çàëèøèëîñü\n"
+msgid "Vim: Error: Failure to start gvim from NetBeans\n"
+msgstr "Vim: Ïîìèëêà: Íå âäàëîñÿ çàïóñòèòè gvim äëÿ NetBeans\n"
 
 msgid "Vim: Warning: Output is not to a terminal\n"
-msgstr "Vim: Óâàãà: Âèõ³ä éäå íå íà òåðì³íàë\n"
+msgstr "Vim: Óâàãà: Âèâ³ä íå íà òåðì³íàë\n"
 
 msgid "Vim: Warning: Input is not from a terminal\n"
-msgstr "Vim: Óâàãà: Âõ³äí éäå íå ç òåðì³íàëó\n"
+msgstr "Vim: Óâàãà: Óâåäåííÿ íå ç òåðì³íàëó\n"
 
 #. just in case..
 msgid "pre-vimrc command line"
-msgstr "êîìàíäè ÿê³ âèêîíóâàëèñÿ äî vimrc"
+msgstr "êîìàíäè ïåðåä vimrc"
 
 #, c-format
 msgid "E282: Cannot read from \"%s\""
-msgstr "E282: Íå ìîæó ïðî÷èòàòè \"%s\""
+msgstr "E282: Íå çì³ã ïðî÷èòàòè \"%s\""
 
 # msgstr "E282: "
 msgid ""
@@ -2184,16 +2839,16 @@ msgid ""
 "More info with: \"vim -h\"\n"
 msgstr ""
 "\n"
-"Âçíàéòå á³ëüøå: vim -h\n"
+"ijçíàéòåñÿ á³ëüøå: \"vim -h\"\n"
 
 msgid "[file ..]       edit specified file(s)"
-msgstr "[ôàéë ..]       ðåäàãóâàòè âêàçàíèé ôàéë"
+msgstr "[ôàéë ..]       ðåäàãóâàòè âêàçàí³ ôàéëè"
 
 msgid "-               read text from stdin"
 msgstr "-               ÷èòàòè òåêñò ç stdin"
 
 msgid "-t tag          edit file where tag is defined"
-msgstr "-t ïîì³òêà      ïåðåòè äî ïîì³òêè"
+msgstr "-t ïîì³òêà      ïåðåéòè äî òå´ó"
 
 msgid "-q [errorfile]  edit file with first error"
 msgstr "-q [ôàéë]       ïåðåéòè äî ïåðøî¿ ïîìèëêè"
@@ -2205,7 +2860,7 @@ msgid ""
 msgstr ""
 "\n"
 "\n"
-"Âæèâàéòå:"
+"Âæèòîê:"
 
 msgid " vim [arguments] "
 msgstr " vim [àðãóìåíòè] "
@@ -2215,7 +2870,14 @@ msgid ""
 "   or:"
 msgstr ""
 "\n"
-"     àáî:"
+"    àáî:"
+
+msgid ""
+"\n"
+"Where case is ignored prepend / to make flag upper case"
+msgstr ""
+"\n"
+"ßêùî ðåã³ñòð ³ãíîðóºòüñÿ, äîäàéòå / ñïåðåäó, ùîá ïðàïîðåöü áóâ ó âåðõíüîìó ðåã³ñòð³."
 
 msgid ""
 "\n"
@@ -2227,19 +2889,22 @@ msgstr ""
 "Àðãóìåíòè:\n"
 
 msgid "--\t\t\tOnly file names after this"
-msgstr "--\t\t\tËèøå ³ìåíà ôàéë³â ï³ñëÿ öüîãî"
+msgstr "--\t\t\tËèøå íàçâè ôàéë³â ï³ñëÿ öüîãî"
+
+msgid "--literal\t\tDon't expand wildcards"
+msgstr "--literal\t\tÍå ðîçêðèâàòè øàáëîíè"
 
 msgid "-register\t\tRegister this gvim for OLE"
-msgstr "-register\t\tÇàðåºñòðóâàòè öåé gvim ÷åðåç OLE"
+msgstr "-register\t\tÇàðåºñòðóâàòè öåé gvim äëÿ OLE"
 
 msgid "-unregister\t\tUnregister gvim for OLE"
-msgstr "-unregister\t\t³äì³íèòè ðåºñòðàö³þ öüîãî gvim ÷åðåç OLE"
+msgstr "-unregister\t\tÑêàñóâàòè ðåºñòðàö³þ öüîãî gvim äëÿ OLE"
 
 msgid "-g\t\t\tRun using GUI (like \"gvim\")"
-msgstr "-g\t\t\tÂèêîíàòè âèêîðèñòîâóþ÷è GUI (í³áè \"gvim\")"
+msgstr "-g\t\t\tÇàïóñòèòè GUI (í³áè \"gvim\")"
 
-msgid "-f\t\t\tForeground: Don't fork when starting GUI"
-msgstr "-f\t\t\tÍå çàëèøàòè òåðì³íàë ï³ñëÿ çàïóñêó GUI"
+msgid "-f  or  --nofork\tForeground: Don't fork when starting GUI"
+msgstr "-f  ÷è  --nofork\tÏåðåäí³é ïëàí: òðèìàòè òåðì³íàë ï³ñëÿ çàïóñêó GUI"
 
 msgid "-v\t\t\tVi mode (like \"vi\")"
 msgstr "-v\t\t\tÐåæèì Vi (í³áè \"vi\")"
@@ -2248,19 +2913,19 @@ msgid "-e\t\t\tEx mode (like \"ex\")"
 msgstr "-e\t\t\tÐåæèì Ex (í³áè \"ex\")"
 
 msgid "-s\t\t\tSilent (batch) mode (only for \"ex\")"
-msgstr "-s\t\t\tÏðàöþâàòè ìîâ÷êè (ëèøå äëÿ \"ex\")"
+msgstr "-s\t\t\tÌîâ÷àçíèé (ïàêåòíèé) ðåæèì (ëèøå äëÿ \"ex\")"
 
 msgid "-d\t\t\tDiff mode (like \"vimdiff\")"
-msgstr "-d\t\t\tÐåæèì diff (í³áè \"vimdiff\")"
+msgstr "-d\t\t\tÐåæèì ïîð³âíÿííÿ (í³áè \"vimdiff\")"
 
 msgid "-y\t\t\tEasy mode (like \"evim\", modeless)"
-msgstr "-y\t\t\tÏðîñòèé ðåæèì (í³áè \"evim\")"
+msgstr "-y\t\t\tÏðîñòèé ðåæèì (í³áè \"evim\", áåç ðåæèì³â)"
 
 msgid "-R\t\t\tReadonly mode (like \"view\")"
 msgstr "-R\t\t\tÐåæèì ïåðåãëÿäó (í³áè \"view\")"
 
 msgid "-Z\t\t\tRestricted mode (like \"rvim\")"
-msgstr "-Z\t\t\tÇàáîðîíåíèé ðåæèì (í³áè \"rvim\")"
+msgstr "-Z\t\t\tÎáìåæåíèé ðåæèì (í³áè \"rvim\")"
 
 msgid "-m\t\t\tModifications (writing files) not allowed"
 msgstr "-m\t\t\tÇì³íè (çàïèñ ôàéë³â) íå äîçâîëåíî"
@@ -2272,131 +2937,136 @@ msgid "-b\t\t\tBinary mode"
 msgstr "-b\t\t\tÄâ³éêîâèé ðåæèì"
 
 msgid "-l\t\t\tLisp mode"
-msgstr "-l\t\t\tÐåæìè lisp"
+msgstr "-l\t\t\tÐåæèì lisp"
 
 msgid "-C\t\t\tCompatible with Vi: 'compatible'"
-msgstr "-C\t\t\tÐåæèì, ñóì³ñíèé ç Vi: 'compatible'"
+msgstr "-C\t\t\tÑóì³ñíèé ç Vi ðåæèì: 'compatible'"
 
 msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'"
 msgstr "-N\t\t\tÍå çîâñ³ì ñóì³ñíèé ç Vi ðåæèì: 'nocompatible'"
 
-msgid "-V[N]\t\tVerbose level"
-msgstr "-V[N]\t\tгâåíü ãàëàñëèâîñò³"
+msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]"
+msgstr "-V[N][ôàéë]\t\tÁ³ëüøå ïîâ³äîìëåíü [ð³âåíü N] [ôàéë æóðí. ïîâ³äîìëåíü]"
 
 msgid "-D\t\t\tDebugging mode"
-msgstr "-D\t\t\tÐåæèì íàëàãîäæóâàííÿ"
+msgstr "-D\t\t\tÐåæèì íàëàãîäæåííÿ"
 
 msgid "-n\t\t\tNo swap file, use memory only"
-msgstr "-n\t\t\tÍå êîðèñòóâàòèñÿ ôàéëîì îáì³íó, òðèìàòè óñå â ïàì'ÿò³"
+msgstr "-n\t\t\tÍå âèêîðèñòîâóâàòè ôàéë îáì³íó, òðèìàòè óñå â ïàì'ÿò³"
 
 msgid "-r\t\t\tList swap files and exit"
 msgstr "-r\t\t\tÏîêàçàòè ôàéëè îáì³íó ³ âèéòè"
 
 msgid "-r (with file name)\tRecover crashed session"
-msgstr "-r (³ìÿ ôàéëà)\t³äíîâèòè àâàð³éíî çàê³í÷åíèé ñåàíñ"
+msgstr "-r (íàçâà ôàéëó)\t³äíîâèòè àâàð³éíî çàê³í÷åíèé ñåàíñ"
 
 msgid "-L\t\t\tSame as -r"
-msgstr "-L\t\t\tÒå ñàìå ùî é -r"
+msgstr "-L\t\t\tÒå ñàìå, ùî é -r"
 
 msgid "-f\t\t\tDon't use newcli to open window"
-msgstr "-f\t\t\tß òàê ðîçóì³þ öå ëèøå äëÿ Amiga. Âèáà÷, Bram."
+msgstr "-f\t\t\tÍå âèêîðèñòîâóâàòè newcli äëÿ â³äêðèòòÿ â³êíà"
 
 msgid "-dev <device>\t\tUse <device> for I/O"
-msgstr "-dev <ïðèñòð³é>\t\t\tÂèêîðèñòîâóâàòè ïðèñòð³é äëÿ ââîäó/âèâîäó"
+msgstr "-dev <ïðèñòð³é>\t\t\tÂèêîðèñòîâóâàòè <ïðèñòð³é> äëÿ ââîäó/âèâîäó"
+
+msgid "-A\t\t\tstart in Arabic mode"
+msgstr "-A\t\t\tÇàïóñòèòè â ðåæèì³ àðàáñüêî¿ ìîâè"
 
-msgid "-H\t\t\tstart in Hebrew mode"
-msgstr "-H\t\t\tÐîçïî÷àòè ðåæèì³ Hebrew"
+msgid "-H\t\t\tStart in Hebrew mode"
+msgstr "-H\t\t\tÇàïóñòèòè â ðåæèì³ ³âðèòó"
 
-msgid "-F\t\t\tstart in Farsi mode"
-msgstr "-F\t\t\tÐîçïî÷àòè â ïåðñüêîìó ðåæèì³"
+msgid "-F\t\t\tStart in Farsi mode"
+msgstr "-F\t\t\tÇàïóñòèòè â ðåæèì³ ïåðñüêî¿ ìîâè"
 
 msgid "-T <terminal>\tSet terminal type to <terminal>"
-msgstr "-T <òåðì³íàë>\tÂèçíè÷èòè òèï òåðì³íàëó"
+msgstr "-T <òåðì³íàë>\tÂñòàíîâèòè òèï òåðì³íàëó ó <òåðì³íàë>"
 
 msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc"
-msgstr "-u <vimrc>\t\tÂèêîðèñòàòè ïîäàíèé ôàéë ÿê .vimrc"
+msgstr "-u <vimrc>\t\tÂèêîðèñòàòè ïîäàíèé ôàéë çàì³ñòü .vimrc"
 
 msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc"
-msgstr "-u <gvimrc>\t\tÂèêîðèñòàòè ïîäàíèé ôàéë ÿê .gvimrc"
+msgstr "-u <gvimrc>\t\tÂèêîðèñòàòè ïîäàíèé ôàéë çàì³ñòü .gvimrc"
 
 msgid "--noplugin\t\tDon't load plugin scripts"
-msgstr "--noplugin\t\tÍå âàíòàæèòè ôàéëè-äîïîâíåííÿ"
+msgstr "--noplugin\t\tÍå âàíòàæèòè ñêðèïòè äîïîâíåííÿ"
+
+msgid "-p[N]\t\tOpen N tab pages (default: one for each file)"
+msgstr "-p[N]\t\t³äêðèòè N âêëàäîê (àáî ïî îäí³é äëÿ êîæíîãî ôàéëó)"
 
 msgid "-o[N]\t\tOpen N windows (default: one for each file)"
-msgstr ""
-"-o[N]\t\tÐîçêðèòè N â³êîí (ÿêùî íå âêàçàíî -- ïî\n"
-"\t\t\tîäíîìó äëÿ êîæíîãî ôàéëà)"
+msgstr "-o[N]\t\t³äêðèòè N â³êîí (àáî ïî îäíîìó äëÿ êîæíîãî ôàéëó)"
 
-msgid "-O[N]\t\tlike -o but split vertically"
-msgstr "-O[N]\t\tí³áè -o, àëå ïîä³ëèòè â³êíà âåðòèêàëüíî"
+msgid "-O[N]\t\tLike -o but split vertically"
+msgstr "-O[N]\t\tͳáè -o, àëå ïîä³ëèòè â³êíà âåðòèêàëüíî"
 
 msgid "+\t\t\tStart at end of file"
-msgstr "+\t\t\tÐîçïî÷àòè â ê³íö³ ôàéëà"
+msgstr "+\t\t\tÐîçïî÷àòè â ê³íö³ ôàéëó"
 
 msgid "+<lnum>\t\tStart at line <lnum>"
-msgstr "+<ðÿäîê>\t\tÐîçïî÷àòè íà âêàçàíîìó ðÿäêó"
+msgstr "+<ðÿäîê>\t\tÐîçïî÷àòè ó âêàçàíîìó <ðÿäêó>"
 
 msgid "--cmd <command>\tExecute <command> before loading any vimrc file"
-msgstr ""
-"--cmd <êîìàíäà>\tÂèêîíàòè êîìàíäó ïåðåä âèêîíàííÿì áóäü-ÿêèõ .*rc ôàéë³â"
+msgstr "--cmd <êîìàíäà>\tÂèêîíàòè <êîìàíäó> ïåðåä çàâàíòàæåííÿì vimrc"
 
 msgid "-c <command>\t\tExecute <command> after loading the first file"
-msgstr "-c <êîìàíäà>\t\tÂèêîíàòè êîìàíäó ï³ñëÿ çàâàíòàæåííÿ ïåðøîãî ôàéëà"
+msgstr "-c <êîìàíäà>\t\tÂèêîíàòè <êîìàíäó> ï³ñëÿ çàâàíòàæåííÿ ïåðøîãî ôàéëó"
 
 msgid "-S <session>\t\tSource file <session> after loading the first file"
-msgstr "-S <ñåàíñ>\t\tÂèêîíàòè ïîäàíèé ôàéë ï³ñëÿ ïåðøîãî çàâàíòàæåíîãî ôàéëà"
+msgstr "-S <ñåàíñ>\t\tÂèêîíàòè ïîäàíèé ôàéë ï³ñëÿ ïåðøîãî çàâàíòàæåíîãî ôàéëó"
 
 msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>"
-msgstr "-s <ôàéë>\t\tÇ÷èòàòè êîìàíäè ç ôàéëà <scriptin>"
+msgstr "-s <ñêðèïò>\t\tÇ÷èòàòè êîìàíäè íîðìàëüíîãî ðåæèìó ç ôàéëó <ñêðèïò>"
 
 msgid "-w <scriptout>\tAppend all typed commands to file <scriptout>"
-msgstr "-w <ôàéë>\t\tÄîïèñàòè óñ³ íàáðàí³ êîìàíäè äî ïîäàíîãî ôàéëà"
+msgstr "-w <ñêðèïò>\t\tÄîïèñàòè óñ³ íàáðàí³ êîìàíäè äî ôàéëó <ñêðèïò>"
 
 msgid "-W <scriptout>\tWrite all typed commands to file <scriptout>"
-msgstr "-w <ôàéë>\t\tÇàïèñàòè óñ³ íàáðàí³ êîìàíäè ó ïîäàíèé ôàéë"
+msgstr "-w <ñêðèïò>\t\tÇàïèñàòè óñ³ íàáðàí³ êîìàíäè ó ôàéë <ñêðèïò>"
 
 msgid "-x\t\t\tEdit encrypted files"
-msgstr "-x\t\t\tÐåäàãóâàòè çàøèôðîâàíèé ôàéë"
+msgstr "-x\t\t\tÐåäàãóâàòè çàøèôðîâàí³ ôàéëè"
 
 msgid "-display <display>\tConnect vim to this particular X-server"
-msgstr "-display <äèñïëåé>\tÂèêîíàòè vim âèêîðèñòîâóþ÷è ïîäàíèé äèñïëåé"
+msgstr "-display <äèñïëåé>\tϳä'ºäíàòè vim äî çàäàíîãî äèñïëåþ ñåðâåðà X"
 
 msgid "-X\t\t\tDo not connect to X server"
 msgstr "-X\t\t\tÍå ç'ºäíóâàòèñÿ ç X ñåðâåðîì"
 
-msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
-msgstr "--socketid <xid>\t³äêòèðè Vim â ³íøîìó åëåìåíò³ ³íòåðôåéñó GTK"
+msgid "--remote <files>\tEdit <files> in a Vim server if possible"
+msgstr "--remote <ôàéëè>\tÐåäàãóâàòè <ôàéëè> íà ñåðâåð³ Vim, ÿêùî öå ìîæëèâî"
 
-msgid "--remote <files>\tEdit <files> in a Vim server and exit"
-msgstr "--remote <ôàéëè>\tÐåäàãóâàòè ôàéëè íà Vim ñåðâåð³ ³ çàâåðøèòè ðîáîòó"
+msgid "--remote-silent <files>  Same, don't complain if there is no server"
+msgstr "--remote-silent <ôàéëè>  Òå ñàìå, ò³ëüêè íå ñêàðæèòèñÿ íà â³äñóòí³ñòü ñåðâåðà"
 
-msgid ""
-"--remote-wait <files>  As --remote but wait for files to have been edited"
-msgstr ""
-"--remote-wait <ôàéëè> ..., àëå çà÷åêàòè ïîêè óñ³ ôàéëè áóäå â³äðåäàãîâàíî"
+msgid "--remote-wait <files>  As --remote but wait for files to have been edited"
+msgstr "--remote-wait <ôàéëè>   ..., àëå çà÷åêàòè ïîêè óñ³ ôàéëè áóäóòü â³äðåäàãîâàí³"
+
+msgid "--remote-wait-silent <files>  Same, don't complain if there is no server"
+msgstr "--remote-wait-silent <ôàéëè>  Òå ñàìå, ò³ëüêè íå ñêàðæèòèñÿ, ÿêùî ñåðâåðà íåìàº"
+
+msgid "--remote-tab[-wait][-silent] <files>  As --remote but use tab page per file"
+msgstr "--remote-tab[-wait][-silent] <ôàéëè>  Òàê ñàìî, ÿê --remote, àëå ïî âêëàäö³ íà ôàéë"
 
 msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit"
 msgstr "--remote-send <ñèìâîëè> Â³ä³ñëàòè <ñèìâîëè> ñåðâåðó ³ çàâåðøèòè ðîáîòó"
 
 msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result"
-msgstr ""
-"--remote-expr <âèðàç> Âèêîíàòè âèðàç íà ñåðâåð³, ³ íàäðóêóâàòè ðåçóëüòàò"
+msgstr "--remote-expr <âèðàç> Âèêîíàòè <âèðàç> ó ñåðâåð³ Vim ³ íàäðóêóâàòè ðåçóëüòàò"
 
 msgid "--serverlist\t\tList available Vim server names and exit"
-msgstr ""
-"--serverlist\t\tÏîêàçàòè ñïèñîê íàÿâíèõ ñåðâåð³â Vim ³ çàâåðøèòè ðîáîòó"
+msgstr "--serverlist\t\tÏîêàçàòè ñïèñîê íàÿâíèõ ñåðâåð³â Vim ³ çàâåðøèòè ðîáîòó"
 
 msgid "--servername <name>\tSend to/become the Vim server <name>"
-msgstr "--servername <³ì'ÿ>\tÑï³ëêóâàòèñÿ ç/ñòàòè Vim ñåðâåðîì ç ïîäàíèì ³ì'ÿì"
+msgstr "--servername <íàçâà>\tÑï³ëêóâàòèñÿ ç/ñòàòè Vim ñåðâåðîì ç òàêîþ íàçâîþ"
 
 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
-msgstr "-i <viminfo>\t\tÂèêîðèñòàòè ïîäàíèé ôàéë ÿê .viminfo"
+msgstr "-i <viminfo>\t\tÂèêîðèñòàòè <viminfo> çàì³ñòü .viminfo"
 
-msgid "-h\t\t\tprint Help (this message) and exit"
-msgstr "-h\t\t\tÍàäðóêóâàòè öå ïîâ³äîìëåííÿ, ³ âèéòè"
+msgid "-h  or  --help\tPrint Help (this message) and exit"
+msgstr "-h  ÷è  --help\tÍàäðóêóâàòè öå ïîâ³äîìëåííÿ ³ âèéòè"
 
-msgid "--version\t\tprint version information and exit"
-msgstr "--version\t\tíàäðóêóâàòè ³íôîðìàö³þ ïðî âåðñ³þ ïðîãðàìè"
+msgid "--version\t\tPrint version information and exit"
+msgstr "--version\t\tÍàäðóêóâàòè ³íôîðìàö³þ ïðî âåðñ³þ ïðîãðàìè òà âèéòè"
 
 msgid ""
 "\n"
@@ -2405,6 +3075,13 @@ msgstr ""
 "\n"
 "Àðãóìåíòè äëÿ gvim (âåðñ³ÿ Motif)\n"
 
+msgid ""
+"\n"
+"Arguments recognised by gvim (neXtaw version):\n"
+msgstr ""
+"\n"
+"Àðãóìåíòè äëÿ gvim (âåðñ³ÿ neXtaw):\n"
+
 msgid ""
 "\n"
 "Arguments recognised by gvim (Athena version):\n"
@@ -2413,13 +3090,13 @@ msgstr ""
 "Àðãóìåíòè äëÿ gvim (âåðñ³ÿ Athena)\n"
 
 msgid "-display <display>\tRun vim on <display>"
-msgstr "-display <äèñïëåé>\tÂèêîíàòè vim âèêîðèñòîâóþ÷è ïîäàíèé äèñïëåé"
+msgstr "-display <äèñïëåé>\tÂèêîíàòè vim íà çàäàíîìó <äèñïëå¿>"
 
 msgid "-iconic\t\tStart vim iconified"
-msgstr "-iconic\t\tÇàïèñòèòè Vim"
+msgstr "-iconic\t\tÇàïóñòèòè Vim ³ çãîðíóòè éîãî â³êíî"
 
 msgid "-name <name>\t\tUse resource as if vim was <name>"
-msgstr "-name <³ì'ÿ>\t\tÂèêîðèñòàòè ðåñóðñè äëÿ <³ì`ÿ>"
+msgstr "-name <íàçâà>\t\tÂèêîðèñòàòè ðåñóðñè, í³áè vim ìຠçàäàíó <íàçâó>"
 
 msgid "\t\t\t  (Unimplemented)\n"
 msgstr "\t\t\t  (Íå ä³º)\n"
@@ -2428,8 +3105,7 @@ msgid "-background <color>\tUse <color> for the background (also: -bg)"
 msgstr "-background <êîë³ð>\tÂèêîðèñòàòè <êîë³ð> äëÿ ôîíó (òàêîæ: -bg)"
 
 msgid "-foreground <color>\tUse <color> for normal text (also: -fg)"
-msgstr ""
-"-foreground <êîë³ð>\tÂèêîðèñòàòè <êîë³ð> äëÿ çâè÷àéíîãî òåêñòó (òàêîæ: -fg)"
+msgstr "-foreground <êîë³ð>\tÂèêîðèñòàòè <êîë³ð> äëÿ çâè÷àéíîãî òåêñòó (òàêîæ: -fg)"
 
 msgid "-font <font>\t\tUse <font> for normal text (also: -fn)"
 msgstr "-font <øðèôò>\tÂèêîðèñòàòè <øðèôò> äëÿ çâè÷àéíîãî òåêñòó (òàêîæ: -fn)"
@@ -2441,7 +3117,7 @@ msgid "-italicfont <font>\tUse <font> for italic text"
 msgstr "-italicfont <øðèôò>\tÂèêîðèñòàòè <øðèôò> äëÿ ïîõèëîãî òåêñòó"
 
 msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)"
-msgstr "-geometry <ãåîì>\tÇàäàòè ðîçì³òè òà ïîëîæåííÿ (òàêîæ: -geom)"
+msgstr "-geometry <ãåîì>\tÇàäàòè ðîçì³ðè òà ïîëîæåííÿ (òàêîæ: -geom)"
 
 msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)"
 msgstr "-borderwidth <òîâù>\tÂñòàíîâèòè òîâùèíó ìåæ <òîâù> (òàêîæ: -bw)"
@@ -2459,60 +3135,66 @@ msgid "+reverse\t\tDon't use reverse video (also: +rv)"
 msgstr "+reverse\t\tÍå îáåðòàòè êîëüîðè (òàêîæ: +rv)"
 
 msgid "-xrm <resource>\tSet the specified resource"
-msgstr "-xrm <ðåñóðñ>\tÂñòàíîâèòè â³äïîâ³äíèé ðåñóðñ"
+msgstr "-xrm <ðåñóðñ>\t\tÂñòàíîâèòè çàçíà÷åíèé ðåñóðñ"
 
 msgid ""
 "\n"
 "Arguments recognised by gvim (RISC OS version):\n"
 msgstr ""
 "\n"
-"Àðøóìåíòè äî gvim (âåðñ³ÿ RISC OS):\n"
+"Àðãóìåíòè gvim (âåðñ³ÿ RISC OS):\n"
 
 msgid "--columns <number>\tInitial width of window in columns"
-msgstr "--columns <ê³ëüê³ñòü>\tÏî÷àòêîâà øèðèíà â³êíà â ñèìâîëàõ"
+msgstr "--columns <ê³ëüê³ñòü>\tÏî÷àòêîâà ê³ëüê³ñòü êîëîíîê â³êíà"
 
 msgid "--rows <number>\tInitial height of window in rows"
-msgstr "--rows <ê³ëüê³ñòü>\tÏî÷àêîâà âèñîòà â³êíà â ðÿäêàõ"
+msgstr "--rows <ê³ëüê³ñòü>\tÏî÷àòêîâà ê³ëüê³ñòü ðÿäê³â â³êíà"
 
 msgid ""
 "\n"
 "Arguments recognised by gvim (GTK+ version):\n"
 msgstr ""
 "\n"
-"Àðãóìåíòè äëÿ gvim (âåðñ³ÿ GTK+)\n"
+"Àðãóìåíòè gvim (âåðñ³ÿ GTK+)\n"
 
 msgid "-display <display>\tRun vim on <display> (also: --display)"
-msgstr ""
-"-display <äèñïëåé>\tÂèêîíàòè vim íà ïîäàíîìó äèñïëå¿ (òàêîæ: --display)"
+msgstr "-display <äèñïëåé>\tÂèêîíàòè vim íà <äèñïëå¿> (òàêîæ: --display)"
+
+msgid "--role <role>\tSet a unique role to identify the main window"
+msgstr "--role <ðîëü>\tÂñòàíîâèòè óí³êàëüíó ðîëü äëÿ ³äåíòèô³êàö³¿ ãîëîâíîãî â³êíà"
+
+msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
+msgstr "--socketid <xid>\t³äêðèòè Vim â ³íøîìó åëåìåíò³ ³íòåðôåéñó GTK"
+
+msgid "-P <parent title>\tOpen Vim inside parent application"
+msgstr "-P <çàãîëîâîê áàòüêà>\t³äêðèòè Vim âñåðåäèí³ áàòüê³âñüêîãî â³êíà"
 
-msgid "--help\t\tShow Gnome arguments"
-msgstr "--help\t\tÏîêàçàòè àðãóìåíòè Gnome"
+msgid "--windowid <HWND>\tOpen Vim inside another win32 widget"
+msgstr "--windowid <HWND>\t³äêðèòè Vim âñåðåäèí³ ³íøîãî åëåìåíòó win32"
+
+msgid "No display"
+msgstr "Íåìຠäèñïëåþ"
 
 #. Failed to send, abort.
-msgid ""
-"\n"
-"Send failed.\n"
-msgstr ""
-"\n"
-"Ñïðîáà â³ä³ñëàòè âèðàç íå âäàëàñÿ.\n"
+msgid ": Send failed.\n"
+msgstr ": Íå âäàëîñÿ â³ä³ñëàòè.\n"
 
 #. Let vim start normally.
-msgid ""
-"\n"
-"Send failed. Trying to execute locally\n"
-msgstr ""
-"\n"
-"Íå âäàëîñÿ â³ä³ñëàòè äàí³. Ñïðîáóºìî âèêîíàòè íà ì³ñö³\n"
+msgid ": Send failed. Trying to execute locally\n"
+msgstr ": Íå âäàëîñÿ â³ä³ñëàòè. Ñïðîáóºìî âèêîíàòè íà ì³ñö³\n"
 
 #, c-format
 msgid "%d of %d edited"
-msgstr "%d ç %d ôàéë³â â³äðåäàãîâàíî"
+msgstr "â³äðåäàãîâàíî %d ç %d"
 
-msgid "Send expression failed.\n"
-msgstr "Ñïðîáà â³ä³ñëàòè âèðàç íå âäàëàñÿ.\n"
+msgid "No display: Send expression failed.\n"
+msgstr "Íåìຠäèñïëåþ: Â³ä³ñëàòè âèðàç íå âäàëîñÿ.\n"
+
+msgid ": Send expression failed.\n"
+msgstr ": Â³ä³ñëàòè âèðàç íå âäàëîñÿ.\n"
 
 msgid "No marks set"
-msgstr "Æîäíèõ ïîì³òîê íå áóëî âêàçàíî"
+msgstr "Íå âñòàíîâëåíî æîäíî¿ ïîì³òêè"
 
 #, c-format
 msgid "E283: No marks matching \"%s\""
@@ -2528,12 +3210,24 @@ msgstr ""
 "ïîì. ðÿä.  êîë. ôàéë/òåêñò"
 
 #. Highlight title
-#~ msgid ""
-#~ "\n"
-#~ " jump line  col file/text"
-#~ msgstr ""
+msgid ""
+"\n"
+" jump line  col file/text"
+msgstr ""
+"\n"
+" òî÷êà ðÿä. ñòîâï. ôàéë/òåêñò"
+
+# msgstr "E283: "
+#. Highlight title
+msgid ""
+"\n"
+"change line  col text"
+msgstr ""
+"\n"
+"çì³íèòè ðÿä. ñòîâï. òåêñò"
 
 # TODO
+#, c-format
 msgid ""
 "\n"
 "# File marks:\n"
@@ -2542,105 +3236,107 @@ msgstr ""
 "# Ïîì³òêè:\n"
 
 #. Write the jumplist with -'
+#, c-format
 msgid ""
 "\n"
 "# Jumplist (newest first):\n"
 msgstr ""
 "\n"
-"# Ñïèñîê ïåðåõîä³â\n"
+"# Ñïèñîê ïåðåõîä³â (â³ä íàéíîâ³øèõ):\n"
 
 # TODO
+#, c-format
 msgid ""
 "\n"
 "# History of marks within files (newest to oldest):\n"
 msgstr ""
 "\n"
-"# Ïîïåðåäí³ ïîì³òêè â ôàéëàõ (ñïî÷àòêó íîâ³):\n"
+"# Ïîïåðåäí³ ïîì³òêè â ôàéëàõ (â³ä íàéíîâ³øèõ):\n"
 
 msgid "Missing '>'"
-msgstr "Âòðà÷åíî '>'"
+msgstr "Ïðîïóùåíî '>'"
 
-msgid "Not a valid codepage"
-msgstr "Êîäîâà ñòîð³íêà íå ³ñíóº"
+msgid "E543: Not a valid codepage"
+msgstr "E543: Íåêîðåêòíà êîäîâà ñòîð³íêà"
 
 msgid "E284: Cannot set IC values"
-msgstr "E284: Íå ìîæó âñòàíîâèòè çíà÷åííÿ IC"
+msgstr "E284: Íå çì³ã âñòàíîâèòè çíà÷åííÿ êîíòåêñòó ââîäó"
 
 msgid "E285: Failed to create input context"
-msgstr "E285: Ïîìèëêà ï³ä ÷àñ ñòâîðåííÿ `input context'"
+msgstr "E285: Íå âäàëîñÿ ñòâîðèòè êîíòåêñò ââîäó"
 
 msgid "E286: Failed to open input method"
-msgstr "E286: Ïîìèëêà ï³ä ÷àñ ñòâîðåííÿ `input method'"
+msgstr "E286: Íå âäàëîñÿ ñòâîðèòè ìåòîä ââîäó"
 
 # msgstr "E286: "
 msgid "E287: Warning: Could not set destroy callback to IM"
-msgstr "E287: Óâàãà: íå ìîæó âñòàíîâèòè ïîä³þ äëÿ çíèùåííÿ IM"
+msgstr "E287: Óâàãà: Íå çì³ã âñòàíîâèòè â ìåòîä³ ââîäó ïîä³þ çíèùåííÿ"
 
 # msgstr "E287: "
 msgid "E288: input method doesn't support any style"
-msgstr "E288: `input method' íå ï³äòðèìóº ñòèë³"
+msgstr "E288: Ìåòîä ââîäó íå ï³äòðèìóº ñòèë³"
 
 # msgstr "E288: "
 msgid "E289: input method doesn't support my preedit type"
-msgstr "E289: `input method' íå ï³äòðèìóº ðåäàãîâàí³ òèïè"
+msgstr "E289: Ìåòîä ââîäó íå ï³äòðèìóº â³äðåäàãîâàí³ òèïè"
 
 # msgstr "E289: "
 msgid "E290: over-the-spot style requires fontset"
-msgstr "E290: ñòèëü âèìàãຠfontset"
+msgstr "E290: Ñòèëü over-the-spot âèìàãຠíàá³ð øðèôò³â"
 
 # msgstr "E290: "
 msgid "E291: Your GTK+ is older than 1.2.3. Status area disabled"
-msgstr "E291: Âåðñ³ÿ á³áë³îòåêè GTK+ ìåíøà çà 1.2.3. `Status area' âèìêíóòî"
+msgstr "E291: Ó âàñ ñòàðøà çà 1.2.3 âåðñ³ÿ GTK+. Îáëàñòü ñòàíó âèìêíåíî"
 
 # msgstr "E291: "
 msgid "E292: Input Method Server is not running"
-msgstr "E292: IM ñåðâåð íå ôóíêö³îíóº"
+msgstr "E292: Ñåðâåð ìåòîäó ââîäó íå ôóíêö³îíóº"
 
 # msgstr "E292: "
 msgid "E293: block was not locked"
-msgstr "E293: áëîê íå áóëî çàô³êñîâàíî"
+msgstr "E293: Áëîê íå áóëî çàô³êñîâàíî"
 
 # msgstr "E293: "
 msgid "E294: Seek error in swap file read"
-msgstr "E294: Ïîìèëêà çì³íè ïîç³öèè ó ôàéë³ îáì³íó"
+msgstr "E294: Ïîìèëêà çì³íè ïîçèö³¿ ó ôàéë³ îáì³íó"
 
 msgid "E295: Read error in swap file"
-msgstr "E295: Ïîìèëêà ç÷èòóâàííÿ ôàéëà îáì³íó"
+msgstr "E295: Ïîìèëêà ç÷èòóâàííÿ ôàéëó îáì³íó"
 
 msgid "E296: Seek error in swap file write"
-msgstr "E296: Ïîìèëêà çì³íè ïîç³öèè ï³ä ÷àñ çàïèñó ôàéëà îáì³íó"
+msgstr "E296: Ïîìèëêà çì³íè ïîçèö³¿ ï³ä ÷àñ çàïèñó ó ôàéë îáì³íó"
 
 msgid "E297: Write error in swap file"
-msgstr "E297: Ïîìèëêà çàïèñó ôàéëà îáì³íó"
+msgstr "E297: Ïîìèëêà çàïèñó ôàéëó îáì³íó"
 
 msgid "E300: Swap file already exists (symlink attack?)"
-msgstr "E300: Ôàéë îáì³íó óæå ³ñíóº! (çëîâìèñíèê??)"
+msgstr "E300: Ôàéë îáì³íó âæå ³ñíóº (àòàêà ñèìâîëüíèì ïîñèëàííÿì?)"
 
 msgid "E298: Didn't get block nr 0?"
-msgstr "E298: Íåìຠáëîêó 0? [ïîìèëêà ïðîãðàìè]"
+msgstr "E298: Íåìຠáëîêó 0?"
 
 msgid "E298: Didn't get block nr 1?"
-msgstr "E298: Íåìຠáëîêó 1? [ïîìèëêà ïðîãðàìè]"
+msgstr "E298: Íåìຠáëîêó 1?"
 
 # msgstr "E298: "
 msgid "E298: Didn't get block nr 2?"
-msgstr "E298: Íåìຠáëîêó 2? [ïîìèëêà ïðîãðàìè]"
+msgstr "E298: Íåìຠáëîêó 2?"
 
 #. could not (re)open the swap file, what can we do????
 msgid "E301: Oops, lost the swap file!!!"
-msgstr "E301: Ôàéë îáì³íó âòðà÷åíî!!!"
+msgstr "E301: Îé, âòðà÷åíî ôàéë îáì³íó!!!"
 
 # msgstr "E301: "
 msgid "E302: Could not rename swap file"
-msgstr "E302: Íå ìîæó ïåðåéìåíóâàòè ôàéëà îáì³íó"
+msgstr "E302: Íå çì³ã ïåðåéìåíóâàòè ôàéëó îáì³íó"
 
 # msgstr "E302: "
 #, c-format
 msgid "E303: Unable to open swap file for \"%s\", recovery impossible"
-msgstr "E303: íå ìîæó ïðî÷èòàòè ôàéë îáì³íó äëÿ \"%s\", â³äíîâëåííÿ íåìîæëèâå"
+msgstr "E303: Íå çì³ã ïðî÷èòàòè ôàéë îáì³íó äëÿ \"%s\", â³äíîâëåííÿ íåìîæëèâå"
 
-msgid "E304: ml_timestamp: Didn't get block 0??"
-msgstr "E304: ml_timestamp: Íåìຠáëîêó 0?? [ïîìèëêà ïðîãðàìè]"
+msgid "E304: ml_upd_block0(): Didn't get block 0??"
+msgstr "E304: ml_upd_block0(): Íåìຠáëîêó 0??"
 
 #, c-format
 msgid "E305: No swap file found for %s"
@@ -2648,24 +3344,24 @@ msgstr "E305: 
 
 # msgstr "E305: "
 msgid "Enter number of swap file to use (0 to quit): "
-msgstr "ßêèé ñàìå ôàéë îáì³íó âèêîðèñòàòè (0 äëÿ âèõîäó):"
+msgstr "Ââåä³òü íîìåð ôàéëó îáì³íó, êîòðèé âèêîðèñòàòè, (0 äëÿ âèõîäó):"
 
 #, c-format
 msgid "E306: Cannot open %s"
-msgstr "E306: Íå ìîæó â³äêðèòè %s"
+msgstr "E306: Íå çì³ã â³äêðèòè %s"
 
 msgid "Unable to read block 0 from "
-msgstr "Íå ìîæó ç÷èòàòè áëîê 0 ç "
+msgstr "Íå çì³ã ïðî÷èòàòè áëîê 0 ç "
 
 msgid ""
 "\n"
 "Maybe no changes were made or Vim did not update the swap file."
 msgstr ""
 "\n"
-"Íàïåâíî çì³í íå áóëî, àáî Vim íå ïîíîâèâ ôàéë îáì³íó."
+"Íàïåâíî, çì³í íå áóëî, àáî Vim íå ïîíîâèâ ôàéë îáì³íó."
 
 msgid " cannot be used with this version of Vim.\n"
-msgstr " íåïðèäàòíèé äëÿ âèêîðèñòàííÿ ç ö³ºþ âåðñ³ºþ Vim.\n"
+msgstr " íå ìîæíà âèêîðèñòàòè ç ö³ºþ âåðñ³ºþ Vim.\n"
 
 msgid "Use Vim version 3.0.\n"
 msgstr "Çíàéä³òü Vim 3.0\n"
@@ -2675,7 +3371,7 @@ msgid "E307: %s does not look like a Vim swap file"
 msgstr "E307: %s íå ñõîæå íà ôàéë îáì³íó Vim"
 
 msgid " cannot be used on this computer.\n"
-msgstr " íåïðèäàòíèé äî âèêîðèñòàííÿ íà âàø³é àðõ³òåêòóð³.\n"
+msgstr " íå ìîæíà âèêîðèñòàòè íà öüîìó êîìï'þòåð³.\n"
 
 msgid "The file was created on "
 msgstr "Ôàéë áóëî ñòâîðåíî íà "
@@ -2687,9 +3383,12 @@ msgstr ""
 ",\n"
 "àáî ôàéë áóëî ïîøêîäæåíî."
 
+msgid " has been damaged (page size is smaller than minimum value).\n"
+msgstr " ïîøêîäæåíèé (ðîçì³ð ñòîð³íêè ìåíøèé ì³í³ìàëüíîãî çíà÷åííÿ).\n"
+
 #, c-format
 msgid "Using swap file \"%s\""
-msgstr "Âèêóðîñòîâþ ôàéë îáì³íó \"%s\""
+msgstr "Âèêîðèñòîâóºìî ôàéë îáì³íó \"%s\""
 
 #, c-format
 msgid "Original file \"%s\""
@@ -2701,66 +3400,65 @@ msgstr "E308: 
 # msgstr "E308: "
 #, c-format
 msgid "E309: Unable to read block 1 from %s"
-msgstr "E309: Íå ìîäó ç÷èòàòè áëîê 1 ç %s"
+msgstr "E309: Íå çì³ã ïðî÷èòàòè áëîê 1 ç %s"
 
 # msgstr "E309: "
 msgid "???MANY LINES MISSING"
-msgstr "??? Áàãàòî ðÿäê³â âòðà÷åíî"
+msgstr "??? ÁÐÀÊÓª ÁÀÃÀÒÜÎÕ ÐßÄʲÂ"
 
 msgid "???LINE COUNT WRONG"
-msgstr "??? Íåâ³ðíà ê³ëüê³ñòü ðÿäê³â"
+msgstr "??? ÍÅÏÐÀÂÈËÜÍÀ Ê²ËÜʲÑÒÜ ÐßÄʲÂ"
 
 msgid "???EMPTY BLOCK"
-msgstr "??? Ïîðîæí³é áëîê"
+msgstr "??? ÏÎÐÎÆÍ²É ÁËÎÊ"
 
 msgid "???LINES MISSING"
-msgstr "??? Ðÿäêè âòðà÷åíî"
+msgstr "??? ÏÐÎÏÓÙÅͲ ÐßÄÊÈ"
 
 #, c-format
 msgid "E310: Block 1 ID wrong (%s not a .swp file?)"
-msgstr "E310: Èäåíòèô³êàòîð áëîêó 1 íåâ³ðíèé (ìîæëèâî %s íå ôàéë îáì³íó?)"
+msgstr "E310: ²äåíòèô³êàòîð áëîêó 1 íåïðàâèëüíèé (%s íå º ôàéëîì îáì³íó?)"
 
 # msgstr "E310: "
 msgid "???BLOCK MISSING"
-msgstr "??? Áëîê âòðà÷åíî"
+msgstr "??? ÏÐÎÏÓÙÅÍΠÁËÎÊ"
 
 msgid "??? from here until ???END lines may be messed up"
-msgstr "??? Â³ä öüîãî ðÿäêà ³ äî `??? Ê³íåöü' ðÿäêè ìîæóòü áóòè ñïëóòàí³"
+msgstr "??? çâ³äñè ³ äî `??? Ê²ÍÅÖÜ' ðÿäêè, ìîæëèâî, ñïëóòàí³"
 
 msgid "??? from here until ???END lines may have been inserted/deleted"
-msgstr ""
-"??? Â³ä öüîãî ðÿäêà ³ äî `??? Ê³íåöü' ðÿäêè ìîæóòü áóòè äîäàí³/âòðà÷åí³"
+msgstr "??? çâ³äñè ³ äî `??? Ê²ÍÅÖÜ' ðÿäêè, ìîæëèâî, áóëè äîäàí³/çíèùåí³"
 
 msgid "???END"
-msgstr "??? Ê³íåöü"
+msgstr "??? Ê²ÍÅÖÜ"
 
 msgid "E311: Recovery Interrupted"
 msgstr "E311: Â³äíîâëåííÿ ïåðåðâàíî"
 
-msgid ""
-"E312: Errors detected while recovering; look for lines starting with ???"
-msgstr ""
-"E312: Ï³ä ÷àñ â³äíîâëåííÿ çíàéäåí ïîìèëêè.. Ïèëüíóéòå ðÿäêè ùî ïî÷èíàþèòüñÿ "
-"ç `???'"
+msgid "E312: Errors detected while recovering; look for lines starting with ???"
+msgstr "E312: Ï³ä ÷àñ â³äíîâëåííÿ çíàéäåíî ïîìèëêè. Ïåðåãëÿíüòå ðÿäêè, ùî ïî÷èíàþòüñÿ ç ???"
+
+msgid "See \":help E312\" for more information."
+msgstr "Äèâ. \":help E312\" äëÿ óòî÷íåííÿ."
 
 msgid "Recovery completed. You should check if everything is OK."
-msgstr "³äíîâëåííÿ çàê³í÷åíî, ïåðåâ³ðòå ÷è âñå ïðàâèëüíî."
+msgstr "³äíîâëåííÿ çàê³í÷åíî, ïåðåâ³ðòå ÷è âñå ãàðàçä."
 
 msgid ""
 "\n"
 "(You might want to write out this file under another name\n"
 msgstr ""
 "\n"
-"(ßêùî áàæàºòå, ìîæåòå çàïàì'ÿòàòè öåé ôàéë ç ³íøèì ³ìåíåì\n"
+"(Ìîæëèâî, ïîòð³áíî çàïèñàòè öåé ôàéë ï³ä ³íøîþ íàçâîþ\n"
 
 msgid "and run diff with the original file to check for changes)\n"
-msgstr "³, ïîð³âÿâøè ç îðèã³íèëîì, ïåðåâ³ðòå çì³íè)\n"
+msgstr "³ ïîð³âíÿòè ç îðèã³íàëîì ùîá ïåðåâ³ðèòè çì³íè)\n"
 
 msgid ""
 "Delete the .swp file afterwards.\n"
 "\n"
 msgstr ""
-"ϳñëÿ öüîãî, âèäàë³òü ôàéë îáì³íó.\n"
+"ϳñëÿ öüîãî çíèù³òü ôàéë îáì³íó .swp.\n"
 "\n"
 
 #. use msg() to start the scrolling properly
@@ -2768,13 +3466,13 @@ msgid "Swap files found:"
 msgstr "Çíàéäåíî ôàéëè îáì³íó:"
 
 msgid "   In current directory:\n"
-msgstr "   Â ïîòî÷í³é äèðåêòîð³¿:\n"
+msgstr "   Â ïîòî÷íîìó êàòàëîç³:\n"
 
 msgid "   Using specified name:\n"
-msgstr "   Âèêîðèñòîâóþæè âêàçàíó íàçâó:\n"
+msgstr "   Âèêîðèñòîâóþ÷è âêàçàíó íàçâó:\n"
 
 msgid "   In directory "
-msgstr "   Ó äèðåêòî𳿠"
+msgstr "   Ó êàòàëîç³ "
 
 msgid "      -- none --\n"
 msgstr "      -- æîäíîãî --\n"
@@ -2783,10 +3481,10 @@ msgid "          owned by: "
 msgstr "           âëàñíèê: "
 
 msgid "   dated: "
-msgstr "          äàòîâàíî: "
+msgstr "   äàòà: "
 
 msgid "             dated: "
-msgstr "          äàòîâàíî: "
+msgstr "             äàòà: "
 
 msgid "         [from Vim version 3.0]"
 msgstr "         [â³ä Vim 3.0]"
@@ -2795,7 +3493,7 @@ msgid "         [does not look like a Vim swap file]"
 msgstr "        [íå ñõîæå íà ôàéë îáì³íó]"
 
 msgid "         file name: "
-msgstr "       íàçâà ôàéëà: "
+msgstr "         íàçâà ôàéëó: "
 
 msgid ""
 "\n"
@@ -2815,50 +3513,50 @@ msgid ""
 "         user name: "
 msgstr ""
 "\n"
-"  ³ì'ÿ êîðèñòóâà÷à: "
+"          êîðèñòóâà÷: "
 
 msgid "   host name: "
-msgstr "     íàçâà ñèñòåìè: "
+msgstr "   íàçâà âóçëà: "
 
 msgid ""
 "\n"
 "         host name: "
 msgstr ""
 "\n"
-"        íàçâà ñèñòåìè: "
+"          íàçâà âóçëà: "
 
 msgid ""
 "\n"
 "        process ID: "
 msgstr ""
 "\n"
-"     íîìåð ïðîöåñó: "
+"         ID ïðîöåñó: "
 
 msgid " (still running)"
-msgstr " (óñå ùå âèêîíóºòüñÿ)"
+msgstr " (âèêîíóºòüñÿ)"
 
 msgid ""
 "\n"
 "         [not usable with this version of Vim]"
 msgstr ""
 "\n"
-"         [Íå ìîæå áóòè âèêîðèñòàíî ç ö³ºþ âåðñ³ºþ Vim]"
+"         [íå ïðèäàòíèé äëÿ ö³º¿ âåðñ³¿ Vim]"
 
 msgid ""
 "\n"
 "         [not usable on this computer]"
 msgstr ""
 "\n"
-"         [íåïðèäàòíèé äî âèêîðèñòàííÿ íà âàø³é àðõ³òåêòóð³]"
+"         [íåïðèäàòíèé íà öüîìó êîìï'þòåð³]"
 
 msgid "         [cannot be read]"
-msgstr "         [íå ìîæå á³òü ïðî÷èòàíèé]"
+msgstr "         [íå ìîæíà ïðî÷èòàòè]"
 
 msgid "         [cannot be opened]"
-msgstr "         [íå ìîæå áóòè â³äêðèòèé]"
+msgstr "         [íå ìîæíà â³äêðèòè]"
 
 msgid "E313: Cannot preserve, there is no swap file"
-msgstr "E313: Íå ìîæó çáåð³ãòè, íåìຠôàéëà îáì³íó"
+msgstr "E313: Íå çì³ã çáåðåãòè, íåìຠôàéëó îáì³íó"
 
 # msgstr "E313: "
 msgid "File preserved"
@@ -2870,56 +3568,60 @@ msgstr "E314: 
 # msgstr "E314: "
 #, c-format
 msgid "E315: ml_get: invalid lnum: %ld"
-msgstr "E315: ml_get: íåâ³ðíèé lnum: %ld [ïîìèëêà ïðîãðàìè]"
+msgstr "E315: ml_get: íåïðàâèëüíèé lnum: %ld"
 
 # msgstr "E315: "
 #, c-format
 msgid "E316: ml_get: cannot find line %ld"
-msgstr "E316: ml_get: ðÿäîê %ld íå çíàéäåíî [ïîìèëêà ïðîãðàìè]"
+msgstr "E316: ml_get: íå çíàéøîâ ðÿäîê %ld"
 
 # msgstr "E316: "
 msgid "E317: pointer block id wrong 3"
-msgstr "E317: âêàç³âíèê áëîêó ïîìèëêîâèé (3) [ïîìèëêà ïðîãðàìè]"
+msgstr "E317: Âêàç³âíèê áëîêó ïîìèëêîâèé 3"
 
 # msgstr "E317: "
 msgid "stack_idx should be 0"
-msgstr "stack_idx ìຠáóòè ð³âíèì 0 [ïîìèëêà ïðîãðàìè]"
+msgstr "stack_idx ìຠáóòè ð³âíèì 0"
 
 msgid "E318: Updated too many blocks?"
-msgstr "E318: Çàáàãàòî áëîê³â ïîíîâëåíî? [ïîìèëêà ïðîãðàìè]"
+msgstr "E318: Ïîíîâëåíî çàáàãàòî áëîê³â?"
 
 msgid "E317: pointer block id wrong 4"
-msgstr "E317: âêàç³âíèê áëîêó ïîìèëêîâèé (4) [ïîìèëêà ïðîãðàìè]"
+msgstr "E317: Âêàç³âíèê áëîêó ïîìèëêîâèé 4"
 
 msgid "deleted block 1?"
-msgstr "áëîê 1 âèäàëåíî? [ïîìèëêà ïðîãðàìè]"
+msgstr "áëîê 1 çíèùåíî?"
 
 #, c-format
 msgid "E320: Cannot find line %ld"
-msgstr "E320: Íå ìîæó çíàéòè ðÿäîê %ld [ïîìèëêà ïðîãðàìè]"
+msgstr "E320: Íå çì³ã çíàéòè ðÿäîê %ld"
 
 msgid "E317: pointer block id wrong"
-msgstr "E317: âêàç³âíèê áëîêó ïîìèëêîâèé [ïîìèëêà ïðîãðàìè]"
+msgstr "E317: Âêàç³âíèê áëîêó ïîìèëêîâèé"
 
 # msgstr "E317: "
 msgid "pe_line_count is zero"
-msgstr "pe_line_count ð³âåí 0 [ïîìèëêà ïðîãðàìè]"
+msgstr "pe_line_count äîð³âíþº 0"
 
 #, c-format
 msgid "E322: line number out of range: %ld past the end"
-msgstr "E322: íîìåð ðÿäêà âèéøîâ çà ìåæ³: %ld [ïîìèëêà ïðîãðàìè]"
+msgstr "E322: Íîìåð ðÿäêà âèéøîâ çà ìåæ³: %ld çà ê³íöåì"
 
 # msgstr "E322: "
 #, c-format
 msgid "E323: line count wrong in block %ld"
-msgstr "E323: Ê³ëüê³ñòü ðÿäê³â ó áëîö³ %ld ïîìèëêîâà"
+msgstr "E323: Ê³ëüê³ñòü ðÿäê³â ó áëîö³ %ld"
 
 # msgstr "E323: "
 msgid "Stack size increases"
 msgstr "Ðîçì³ð ñòåêó çá³ëüøóºòüñÿ"
 
 msgid "E317: pointer block id wrong 2"
-msgstr "E317: âêàç³âíèê áëîêó ïîìèëêîâèé (2) [ïîìèëêà ïðîãðàìè]"
+msgstr "E317: Âêàç³âíèê áëîêó ïîìèëêîâèé 2"
+
+#, c-format
+msgid "E773: Symlink loop for \"%s\""
+msgstr "E773: Öèêë³÷í³ ñèìâîëüí³ ïîñèëàííÿ \"%s\""
 
 # msgstr "E317: "
 msgid "E325: ATTENTION"
@@ -2930,13 +3632,13 @@ msgid ""
 "Found a swap file by the name \""
 msgstr ""
 "\n"
-"Çíàéäåíî ôàéë îáì³íó íà ³ì'ÿ \""
+"Çíàéäåíî ôàéë îáì³íó ç íàçâîþ \""
 
 msgid "While opening file \""
-msgstr "Íàìàãàþ÷èñü â³äêðèòè ôàéë \""
+msgstr "Ïðè â³äêðèòò³ ôàéëó \""
 
 msgid "      NEWER than swap file!\n"
-msgstr "   Ïî÷àòêîèé ôàéë íîâ³ùèé çà ôàéë îáì³íó\n"
+msgstr "      ÍβØÈÉ çà ôàéë îáì³íó!\n"
 
 #. Some of these messages are long to allow translation to
 #. * other languages.
@@ -2947,102 +3649,112 @@ msgid ""
 "    different instances of the same file when making changes.\n"
 msgstr ""
 "\n"
-"(1) Ìîæëèâî, ³íøèé Vim óæå ðåäàãóº öåé ôàéë. Áóäüòå îáåðåæí³,\n"
-"    âè ìîæåòå çàëèø³òüñÿ ç äâîìà ð³çíèìè âåðñ³ÿìè ôàéëó.\n"
+"(1) Ìîæëèâî, ³íøà ïðîãðàìà âæå ðåäàãóº öåé ñàìèé ôàéë.\n"
+"    Áóäüòå îáåðåæí³, ùîá íå çàëèøèëèñÿ äâà ð³çí³ åêçåìïëÿðè\n"
+"    îäíîãî é òîãî ñàìîãî ôàéëó ï³ñëÿ çì³í.\n"
 
 msgid "    Quit, or continue with caution.\n"
-msgstr "    Âèéä³òü, àáî ïðîäîâæóéòå ç îáåðåæí³ñòþ.\n"
+msgstr "    Âèéä³òü, àáî ïðîäîâæóéòå îáåðåæíî.\n"
 
 msgid ""
 "\n"
 "(2) An edit session for this file crashed.\n"
 msgstr ""
 "\n"
-"(2) Ïîïåðåäí³é ñåàíñ ðåäàãóâàííÿ àâàð³éíî çàâåðøèâñÿ.\n"
+"(2) Ñåàíñ ðåäàãóâàííÿ öüîãî ôàéëó çàçíàâ êðàõó.\n"
 
 msgid "    If this is the case, use \":recover\" or \"vim -r "
-msgstr "    Âèêîðèñòàéòå \":recover\" àáî \"vim -r\" "
+msgstr "    ßêùî öå ñïðàâä³ òðàïèëîñÿ, ñïðîáóéòå \":recover\" àáî \"vim -r "
 
 msgid ""
 "\"\n"
 "    to recover the changes (see \":help recovery\").\n"
 msgstr ""
-"äëÿ\n"
-"    â³äíîâëåííÿ çì³í. (äèâ. \":help recovery\").\n"
+"\"\n"
+"    ùîá â³äíîâèòè çì³íè (äèâ. \":help recovery\").\n"
 
 msgid "    If you did this already, delete the swap file \""
-msgstr "    ßêùî âè öå âæå ðîáèëè, âèäàë³òü ôàéë îáì³íó \""
+msgstr "    ßêùî âè âæå öå çðîáèëè, çíèù³òü ôàéë îáì³íó \""
 
 msgid ""
 "\"\n"
 "    to avoid this message.\n"
 msgstr ""
 "\"\n"
-"    ùîá ïîçáàâèòèñÿ öüîãî ïîâ³äîìëåííÿ.\n"
+"    ùîá ïîçáóòèñÿ öüîãî ïîâ³äîìëåííÿ.\n"
 "\n"
 
 msgid "Swap file \""
 msgstr "Ôàéë îáì³íó \""
 
 msgid "\" already exists!"
-msgstr "\" óæå ³ñíóº!"
+msgstr "\" âæå ³ñíóº!"
 
 msgid "VIM - ATTENTION"
-msgstr "Vim -- Óâàãà"
+msgstr "VIM -- ÓÂÀÃÀ"
 
 msgid "Swap file already exists!"
-msgstr "Ôàéë îáì³íó óæå ³ñíóº!"
+msgstr "Ôàéë îáì³íó âæå ³ñíóº!"
 
 msgid ""
 "&Open Read-Only\n"
 "&Edit anyway\n"
 "&Recover\n"
-"&Quit"
+"&Quit\n"
+"&Abort"
 msgstr ""
 "&O:³äêðèòè ëèøå äëÿ ÷èòàííÿ\n"
-"&E:Óñå îäíî ðåäàãóâàòè\n"
+"&E:Âñå îäíî ðåäàãóâàòè\n"
 "&R:³äíîâèòè\n"
-"&Q:Âèéòè"
+"&Q:Âèéòè\n"
+"&A:Ïåðåðâàòè"
 
 msgid ""
 "&Open Read-Only\n"
 "&Edit anyway\n"
 "&Recover\n"
+"&Delete it\n"
 "&Quit\n"
-"&Delete it"
+"&Abort"
 msgstr ""
 "&O:³äêðèòè ëèøå äëÿ ÷èòàííÿ\n"
 "&E:Óñå îäíî ðåäàãóâàòè\n"
 "&R:³äíîâèòè\n"
+"&D:Çíèùèòè éîãî\n"
 "&Q:Âèéòè\n"
-"&D:Âèäàëèòè öåé ôàéë"
+"&A:Ïåðåðâàòè"
 
 msgid "E326: Too many swap files found"
-msgstr "E326: Çàáàãàòî ôàéë³â îáì³íó çíàéäåíî"
+msgstr "E326: Çíàéäåíî çàáàãàòî ôàéë³â îáì³íó"
 
 # msgstr "E326: "
 msgid "E327: Part of menu-item path is not sub-menu"
-msgstr "E327: Øëÿõó äî åëåìåíòà ìåíÿ ìຠì³ñòèòè ëèøå ï³äìåíþ"
+msgstr "E327: ×àñòèíà øëÿõó äî åëåìåíòà ìåíþ íå º ï³äìåíþ"
 
 # msgstr "E327: "
 msgid "E328: Menu only exists in another mode"
-msgstr "E328: Ìåíþ íå ³ñíóº ó âêàçàíèõ ðåæèìàõ"
+msgstr "E328: Ìåíþ ìîæå áóòè ò³ëüêè â ³íøîìó ðåæèì³"
 
 # msgstr "E328: "
-msgid "E329: No menu of that name"
-msgstr "E329: Íåìຠìåíþ ç òàêîþ íàçâîþ"
+#, c-format
+msgid "E329: No menu \"%s\""
+msgstr "E329: Íåìຠìåíþ \"%s\""
+
+#. Only a mnemonic or accelerator is not valid.
+msgid "E792: Empty menu name"
+msgstr "E792: Ïîðîæíÿ íàçâà ìåíþ"
 
 # msgstr "E329: "
 msgid "E330: Menu path must not lead to a sub-menu"
-msgstr "E330: Øëÿõ äî ìåíÿ íå ïîâèíåí âåñòè äî ï³äìåíþ"
+msgstr "E330: Øëÿõ äî ìåíþ íå ïîâèíåí âåñòè äî ï³äìåíþ"
 
 # msgstr "E330: "
 msgid "E331: Must not add menu items directly to menu bar"
-msgstr "E331: Â³äìîâëÿþñü äîäàâàòè *åëåìåíòè* ìåíþ ïðÿìî äî menubar"
+msgstr "E331: Íå ìîæíà äîäàâàòè åëåìåíòè ìåíþ ïðîñòî äî âåðõíüîãî ìåíþ"
 
 # msgstr "E331: "
 msgid "E332: Separator cannot be part of a menu path"
-msgstr "E332: Ðîçä³ëüíèê íå ìîæíà äîäàâàòè â øëÿõ äî ìåíþ"
+msgstr "E332: Ðîçä³ëüíèê íå ìîæå áóòè ÷àñòèíîþ øëÿõó ìåíþ"
 
 # msgstr "E332: "
 #. Now we have found the matching menu, and we list the mappings
@@ -3063,12 +3775,12 @@ msgstr "E333: 
 # msgstr "E333: "
 #, c-format
 msgid "E334: Menu not found: %s"
-msgstr "E334: Ìåíþ %s íå çíàéäåíî"
+msgstr "E334: Ìåíþ íå çíàéäåíî: %s"
 
 # msgstr "E334: "
 #, c-format
 msgid "E335: Menu not defined for %s mode"
-msgstr "E335: Â ðåæèì³ `%s' ìåíþ íå ³ñíóº"
+msgstr "E335: Äëÿ ðåæèìó %s ìåíþ íå âèçíà÷åíî"
 
 # msgstr "E335: "
 msgid "E336: Menu path must lead to a sub-menu"
@@ -3081,35 +3793,34 @@ msgstr "E337: 
 # msgstr "E337: "
 #, c-format
 msgid "Error detected while processing %s:"
-msgstr "Ïîìèëêà ï³ä ÷àñ âèêîíàííÿ %s:"
+msgstr "Âèÿâëåíî ïîìèëêó ï³ä ÷àñ âèêîíàííÿ %s:"
 
 #, c-format
 msgid "line %4ld:"
 msgstr "ðÿäîê %4ld:"
 
-msgid "[string too long]"
-msgstr "[ðÿäîê çàíàäíî äîâãèé]"
+#, c-format
+msgid "E354: Invalid register name: '%s'"
+msgstr "E354: Íåïðàâèëüíà íàçâà ðåã³ñòðó: '%s'"
 
 msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>"
-msgstr "³äïîâ³äàëüíèé çà ïîâ³äîìëåííÿ: Áîãäàí Âëàñþê <bodq@yahoo.com>"
+msgstr "Óêðà¿í³çàö³ÿ: Àíàòîë³é Ñàõí³ê <sakhnik@gmail.com>"
 
 msgid "Interrupt: "
 msgstr "Ïåðåðâàíî: "
 
-msgid "Hit ENTER to continue"
-msgstr "Íàòèñí³òü ENTER äëÿ ïðîäîâæåííÿ"
+msgid "Press ENTER or type command to continue"
+msgstr "Íàòèñí³òü ENTER àáî ââåä³òü êîìàíäó äëÿ ïðîäîâæåííÿ"
 
-msgid "Hit ENTER or type command to continue"
-msgstr "Íàòèñí³òü ENTER àáî âêàæ³òü êîìàíäó äëÿ ïðîäîâæåííÿ"
+#, c-format
+msgid "%s line %ld"
+msgstr "%s ðÿäîê %ld"
 
 msgid "-- More --"
 msgstr "-- Ùå --"
 
-msgid " (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)"
-msgstr " (RET/BS: ðÿäîê, ÏÐÎÁ²Ë/b: ëèñò, d/u: ï³â ëèñòà, q: âèõ³ä)"
-
-msgid " (RET: line, SPACE: page, d: half page, q: quit)"
-msgstr " (RET: ðÿäîê, ÏÐÎÁ²Ë: ëèñò, d: ï³â ëèñòà, q: âèõ³ä)"
+msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit "
+msgstr " ÏÐÎÁ²Ë/d/j: âíèç íà åêðàí/ñòîð³íêó/ðÿäîê, b/u/k: âãîðó, q: âèéòè "
 
 msgid "Question"
 msgstr "Çàïèòàííÿ"
@@ -3121,15 +3832,6 @@ msgstr ""
 "&Y:Òàê\n"
 "&N:ͳ"
 
-msgid ""
-"&Yes\n"
-"&No\n"
-"&Cancel"
-msgstr ""
-"&Y:Òàê\n"
-"&N:ͳ\n"
-"&C:³äì³íèòè"
-
 msgid ""
 "&Yes\n"
 "&No\n"
@@ -3141,7 +3843,10 @@ msgstr ""
 "&N:ͳ\n"
 "&A:Óñ³\n"
 "&D:Æîäíîãî\n"
-"&C:³äì³íèòè"
+"&C:Ñêàñóâàòè"
+
+msgid "Select Directory dialog"
+msgstr "Âèáðàòè êàòàëîã"
 
 msgid "Save File dialog"
 msgstr "Çàïàì'ÿòàòè ôàéë"
@@ -3151,17 +3856,29 @@ msgstr "³
 
 #. TODO: non-GUI file selector here
 msgid "E338: Sorry, no file browser in console mode"
-msgstr "E338: Âèáà÷òå, àëå â êîíñîë³ íåìຠä³àëîãó âèáîðó ôàéëà"
+msgstr "E338: Âèáà÷òå, àëå â êîíñîë³ íåìຠä³àëîãó âèáîðó ôàéëó"
+
+msgid "E766: Insufficient arguments for printf()"
+msgstr "E766: Íåäîñòàòíüî àðãóìåíò³â äëÿ printf()"
+
+msgid "E767: Too many arguments to printf()"
+msgstr "E767: Çàáàãàòî àðãóìåíò³â äëÿ printf()"
 
 # msgstr "E338: "
 msgid "W10: Warning: Changing a readonly file"
 msgstr "W10: Óâàãà: Çì³íþºòüñÿ ôàéë ïðèçíà÷åíèé ëèøå äëÿ ÷èòàííÿ"
 
+msgid "Type number or click with mouse (<Enter> cancels): "
+msgstr "Íàáåð³òü ÷èñëî ÷è êëàöí³òü ìèøêîþ (<Enter> ñêàñîâóº): "
+
+msgid "Choice number (<Enter> cancels): "
+msgstr "Íîìåð âèáîðó (<Enter> ñêàñîâóº): "
+
 msgid "1 more line"
-msgstr "çíèùåíî îäèí ðÿäîê"
+msgstr "äîäàíî îäèí ðÿäîê"
 
 msgid "1 line less"
-msgstr "äîäàíî îäèí ðÿäîê"
+msgstr "çíèùåíî îäèí ðÿäîê"
 
 #, c-format
 msgid "%ld more lines"
@@ -3174,15 +3891,19 @@ msgstr "
 msgid " (Interrupted)"
 msgstr " (Ïåðåðâàíî)"
 
+msgid "Beep!"
+msgstr "Äçåíü!"
+
 msgid "Vim: preserving files...\n"
-msgstr "Vim: Çàáåð³ãàþ ôàéëè...\n"
+msgstr "Vim: Çáåð³ãàþ ôàéëè...\n"
 
 #. close all memfiles, without deleting
 msgid "Vim: Finished.\n"
 msgstr "Vim: Çàâåðøåíî.\n"
 
+#, c-format
 msgid "ERROR: "
-msgstr "Ïîìèëêà: "
+msgstr "ÏÎÌÈËÊÀ: "
 
 #, c-format
 msgid ""
@@ -3190,7 +3911,7 @@ msgid ""
 "[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n"
 msgstr ""
 "\n"
-"[áàéò] âñüîãî ðîçì/çíèù. %lu/%lu, âèêîð. %lu, ìàêñ. %lu\n"
+"[áàéò]  âñüîãî ðîçì/çíèù. %lu/%lu, âèêîð. %lu, ìàêñ. %lu\n"
 
 #, c-format
 msgid ""
@@ -3201,7 +3922,7 @@ msgstr ""
 "\n"
 
 msgid "E340: Line is becoming too long"
-msgstr "E340: Ðÿäêè çàíàäòî äîâã³"
+msgstr "E340: Ðÿäîê ñòຠçàíàäòî äîâãèì"
 
 # msgstr "E340: "
 #, c-format
@@ -3211,89 +3932,120 @@ msgstr "E341: 
 # msgstr "E341: "
 #, c-format
 msgid "E342: Out of memory!  (allocating %lu bytes)"
-msgstr "E342: Çàáðàêëî ïàì'ÿò³  (âèä³ëÿëîñÿ %lu áàéò³â)"
+msgstr "E342: Çàáðàêëî ïàì'ÿò³!  (ïîòð³áíî áóëî %lu áàéò³â)"
 
 # msgstr "E342: "
 #, c-format
 msgid "Calling shell to execute: \"%s\""
-msgstr "Âèêîíóºìî çîâí³øíó êîìàíäó: \"%s\""
+msgstr "Âèêîíóºìî çîâí³øíþ êîìàíäó: \"%s\""
 
-msgid "Missing colon"
-msgstr "Âòðà÷åíî äâîêðàïêó"
+msgid "E545: Missing colon"
+msgstr "E545: Ïðîïóùåíî äâîêðàïêó"
 
-msgid "Illegal mode"
-msgstr "Íåïðèéíÿòíèé ðåæèì"
+msgid "E546: Illegal mode"
+msgstr "E546: Íåïðàâèëüíèé ðåæèì"
 
-msgid "Illegal mouseshape"
-msgstr "Íåïðèéíÿòíèé âèãëÿä ìèø³"
+msgid "E547: Illegal mouseshape"
+msgstr "E547: Íåïðàâèëüíèé âèãëÿä ìèø³"
 
-msgid "digit expected"
-msgstr "ïîòð³áíà öèôðà"
+msgid "E548: digit expected"
+msgstr "E548: Ïîòð³áíà öèôðà"
 
-msgid "Illegal percentage"
-msgstr "Íåïðàâèëüíèé â³äñîòîê"
+msgid "E549: Illegal percentage"
+msgstr "E549: Íåïðàâèëüíèé â³äñîòîê"
 
 msgid "Enter encryption key: "
 msgstr "Âêàæ³òü êëþ÷ øèôðó: "
 
 msgid "Enter same key again: "
-msgstr "Âêàæ³òü òîé òàìé êëþ÷: "
+msgstr "Ïîâòîð³òü êëþ÷: "
 
 msgid "Keys don't match!"
-msgstr "Êëþ÷³ íå ñï³âïàäàþòü!"
+msgstr "Êëþ÷³ íå îäíàêîâ³!"
 
 #, c-format
-msgid ""
-"E343: Invalid path: '**[number]' must be at the end of the path or be "
-"followed by '%s'."
-msgstr ""
-"E343: Íåïðèéíÿòíå âèçíà÷åííÿ 'path'. `**[öèôðà]' ïîâèííî çíàõîäèòèñÿ â ê³íö³ "
-"øëÿõó, àáî ïåðåä '%s'."
+msgid "E343: Invalid path: '**[number]' must be at the end of the path or be followed by '%s'."
+msgstr "E343: Íåêîðåêòíèé øëÿõ: `**[÷èñëî]' ïîâèííå áóòè íàïðèê³íö³ øëÿõó àáî ïåðåä '%s'."
 
 # msgstr "E343: "
 #, c-format
 msgid "E344: Can't find directory \"%s\" in cdpath"
-msgstr "E344: Íå ìîæó çíàéòè äèðåêòîð³þ \"%s\" ó 'cdpath'"
+msgstr "E344: Íå çì³ã çíàéòè êàòàëîã \"%s\" ó 'cdpath'"
 
 # msgstr "E344: "
 #, c-format
 msgid "E345: Can't find file \"%s\" in path"
-msgstr "E345: Íå ìîæó çíàéòè ôàéë \"%s\" ó 'path'"
+msgstr "E345: Íå çì³ã çíàéòè ôàéë \"%s\" ó 'path'"
 
 # msgstr "E345: "
 #, c-format
 msgid "E346: No more directory \"%s\" found in cdpath"
-msgstr "E346: Ó 'cdpath' íå çíàéäåíî ³íøèõ äèðåêòîð³é \"%s\""
+msgstr "E346: Ó 'cdpath' íåìຠá³ëüøå êàòàëîãó \"%s\""
 
 # msgstr "E346: "
 #, c-format
 msgid "E347: No more file \"%s\" found in path"
 msgstr "E347: Ó øëÿõó ïîøóêó á³ëüøå íåìຠôàéë³â \"%s\""
 
-# msgstr "E347: "
-msgid "Illegal component"
-msgstr "Íåìîæëèâèé êîìïîíåíò"
+#. Get here when the server can't be found.
+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: Íåïðàâèëüíèé ðåæèì äîñòóïó äî ôàéëó ³íôîðìàö³¿ ïðî ç'ºäíàííÿ ç NetBenans: \"%s\""
+
+msgid "read from Netbeans socket"
+msgstr "÷èòàºìî ç ñîêåòà Netbeans"
+
+#, c-format
+msgid "E658: NetBeans connection lost for buffer %ld"
+msgstr "E658: Âòðà÷åíî çâ'ÿçîê ³ç NetBeans äëÿ áóôåðó %ld"
+
+msgid "E505: "
+msgstr "E505: "
+
+msgid "E774: 'operatorfunc' is empty"
+msgstr "E774: 'operatorfunc' ïîðîæíÿ"
+
+msgid "E775: Eval feature not available"
+msgstr "E775: Ìîæëèâ³ñòü eval íåäîñòóïíà"
 
 msgid "Warning: terminal cannot highlight"
-msgstr "Óâàãà: òåðì³íàë íå ï³äòðèìóº êîëüîðè"
+msgstr "Óâàãà: Òåðì³íàë íå ï³äòðèìóº êîëüîðè"
 
 msgid "E348: No string under cursor"
-msgstr "E348: Âè ñòî¿òå íà ïîðîæíüîìó ðÿäêó"
+msgstr "E348: Íåìຠðÿäêà íà êóðñîð³"
 
 # msgstr "E348: "
 msgid "E349: No identifier under cursor"
-msgstr "E349: Âè íå ñòî³òå íà ñëîâ³"
+msgstr "E349: Íåìຠ³äåíòèô³êàòîðà íàä êóðñîðîì"
 
 msgid "E352: Cannot erase folds with current 'foldmethod'"
-msgstr "E352: Íå ìîæó çíèùèòè çãîðòêè (çâàæàþ÷è íà 'foldmethod')"
+msgstr "E352: Íå çì³ã çíèùèòè çãîðòêè ïîòî÷íèì ìåòîäîì 'foldmethod'"
+
+msgid "E664: changelist is empty"
+msgstr "E664: Ñïèñîê çì³í ïîðîæí³é"
+
+msgid "E662: At start of changelist"
+msgstr "E662: Ïî÷àòîê ñïèñêó çì³í"
+
+msgid "E663: At end of changelist"
+msgstr "E663: Ê³íåöü ñïèñêó çì³í"
+
+msgid "Type  :quit<Enter>  to exit Vim"
+msgstr "Óâåä³òü :quit<Enter>  ùîá âèéòè ç Vim"
 
 #, c-format
 msgid "1 line %sed 1 time"
-msgstr "îäèí ðÿäîê %s-íî"
+msgstr "Îäèí ðÿäîê %s-íî"
 
 #, c-format
 msgid "1 line %sed %d times"
-msgstr "îäèí ðÿäîê %s-íî %d ðàç³â"
+msgstr "Îäèí ðÿäîê %s-íî %d ðàç³â"
 
 #, c-format
 msgid "%ld lines %sed 1 time"
@@ -3305,18 +4057,21 @@ msgstr "%ld 
 
 #, c-format
 msgid "%ld lines to indent... "
-msgstr "Çàëèøèëîñÿ âèð³âíÿòè: %ld ðÿäê³â"
+msgstr "Çàëèøèëîñÿ âèð³âíÿòè %ld ðÿäê³â..."
 
 msgid "1 line indented "
-msgstr "îäèí ðÿäîê âèð³âíÿíî"
+msgstr "Âèð³âíÿíî îäèí ðÿäîê"
 
 #, c-format
 msgid "%ld lines indented "
-msgstr "âèð³âíÿíî ðÿäê³â: %ld"
+msgstr "Âèð³âíÿíî ðÿäê³â: %ld"
+
+msgid "E748: No previously used register"
+msgstr "E748: Ðåã³ñòðè ïåðå öèì íå âæèâàëèñü"
 
 #. must display the prompt
 msgid "cannot yank; delete anyway"
-msgstr "ïðîáëåìè ç çáåðåæåííÿì, âñå îäíî âèäàëèòè?"
+msgstr "íå çì³ã çàïàì'ÿòàòè; âñå îäíî çíèùèòè?"
 
 msgid "1 line changed"
 msgstr "Îäèí ðÿäîê çì³íåíî"
@@ -3327,18 +4082,25 @@ msgstr "
 
 #, c-format
 msgid "freeing %ld lines"
-msgstr "çâ³ëüíåíî ðÿäê³â: %ld"
+msgstr "Çâ³ëüíåíî ðÿäê³â: %ld"
+
+msgid "block of 1 line yanked"
+msgstr "Çàïàì'ÿòàâ áëîê ç îäíîãî ðÿäêà"
 
 msgid "1 line yanked"
-msgstr "Ðÿäîê çáåðåæåíî"
+msgstr "Çàïàì'ÿòàâ îäèí ðÿäîê"
+
+#, c-format
+msgid "block of %ld lines yanked"
+msgstr "Çàïàì'ÿòàâ áëîê ³ç %ld ðÿäê³â"
 
 #, c-format
 msgid "%ld lines yanked"
-msgstr "Çáåðåæåíî ðÿäê³â: %ld"
+msgstr "Çàïàì'ÿòàâ ðÿäê³â: %ld"
 
 #, c-format
 msgid "E353: Nothing in register %s"
-msgstr "E353: Ó ðåã³ñòð³ %s ïîðîæíüî"
+msgstr "E353: Ó ðåã³ñòð³ %s í³÷îãî íåìàº"
 
 # msgstr "E353: "
 #. Highlight title
@@ -3350,8 +4112,9 @@ msgstr ""
 "--- Ðåã³ñòðè ---"
 
 msgid "Illegal register name"
-msgstr "Íåïðàâèëüíà íàçâà ðåã³ñòðà"
+msgstr "Íåïðàâèëüíà íàçâà ðåã³ñòðó"
 
+#, c-format
 msgid ""
 "\n"
 "# Registers:\n"
@@ -3360,12 +4123,8 @@ msgstr ""
 "# Ðåã³ñòðè:\n"
 
 #, c-format
-msgid "Unknown register type %d"
-msgstr "Íåâ³äîìèé òåï ðåã³ñòðà: %d"
-
-#, c-format
-msgid "E354: Invalid register name: '%s'"
-msgstr "E354: Íåïðàâèëüíà íàçâà ðåã³ñòðà: '%s'"
+msgid "E574: Unknown register type %d"
+msgstr "E574: Íåâ³äîìèé òèï ðåã³ñòðó %d"
 
 #, c-format
 msgid "%ld Cols; "
@@ -3373,163 +4132,177 @@ msgstr "
 
 #, 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 Áàéò³â"
+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 ñë³â; %ld of %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"
+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; ñëîâî %ld ç %ld; ñèìâîë %ld of %ld; áàéò %ld ç %ld"
 
 #, c-format
 msgid "(+%ld for BOM)"
 msgstr "(+%ld äëÿ BOM)"
 
+msgid "%<%f%h%m%=Page %N"
+msgstr "%<%f%h%m%=Ñòîð. %N"
+
 msgid "Thanks for flying Vim"
-msgstr "Äÿêóºìî çà â³äâ³äàííÿ Vim"
+msgstr "Äÿêóºìî çà êîðèñòóâàííÿ Vim"
 
-msgid "Option not supported"
-msgstr "Îïö³ÿ íå ï³äòðèìóºòüñÿ"
+msgid "E518: Unknown option"
+msgstr "E518: Íåâ³äîìà îïö³ÿ"
 
-msgid "Not allowed in a modeline"
-msgstr "Íå äîçâîëåíî ó modeline"
+msgid "E519: Option not supported"
+msgstr "E519: Îïö³ÿ íå ï³äòðèìóºòüñÿ"
 
-msgid ""
-"\n"
-"\tLast set from "
-msgstr ""
-"\n"
-"\tÂîñòàííå çì³íåíó ó "
+msgid "E520: Not allowed in a modeline"
+msgstr "E520: Íå äîçâîëåíî ó modeline"
 
-msgid "Number required after ="
-msgstr "ϳñëÿ = ïîòð³áíî âêàçàòè ÷èñëî"
+msgid "E521: Number required after ="
+msgstr "E521: Ï³ñëÿ = ïîòð³áíî âêàçàòè ÷èñëî"
 
-msgid "Not found in termcap"
-msgstr "Íå çíàéëåíî ñåðåä ìîæëèâîñòåé òåðì³íàë³â"
+msgid "E522: Not found in termcap"
+msgstr "E522: Íå çíàéäåíî ñåðåä ìîæëèâîñòåé òåðì³íàë³â"
 
 #, c-format
-msgid "Illegal character <%s>"
-msgstr "Íåäîçâàëåíèé ñèìâîë <%s>"
+msgid "E539: Illegal character <%s>"
+msgstr "E539: Íåäîçâîëåíèé ñèìâîë <%s>"
 
-msgid "Not allowed here"
-msgstr "Òóò òàêîãî íå ëþáëÿòü"
+msgid "E529: Cannot set 'term' to empty string"
+msgstr "E529: Íå çì³ã ñïîðîæíèòè 'term'"
 
-msgid "Cannot set 'term' to empty string"
-msgstr "Íå ìîæó ñïîðîæíèòè 'term'"
+msgid "E530: Cannot change term in GUI"
+msgstr "E530: Íå çì³ã çì³íèòè 'term' â GUI"
 
-msgid "Cannot change term in GUI"
-msgstr "Íå ìîæó çì³íèòè 'term' â GUI"
+msgid "E531: Use \":gui\" to start the GUI"
+msgstr "E531: Çàñòîñîâóéòå \":gui\" äëÿ çàïóñêó GUI"
 
-msgid "Use \":gui\" to start the GUI"
-msgstr "Âèêîðèñòîâóéòå \":gui\" äëÿ òîãî ùîá ðîçïî÷àòè GUI"
+msgid "E589: 'backupext' and 'patchmode' are equal"
+msgstr "E589: Îïö³¿ 'backupext' òà 'patchmode' îäíàêîâ³"
 
-msgid "'backupext' and 'patchmode' are equal"
-msgstr "Îïö³¿ 'backupext' òà 'patchmode' îäíàêîâ³"
+msgid "E617: Cannot be changed in the GTK+ 2 GUI"
+msgstr "E617: Íå ìîæíà çì³íèòè â GUI GTK+ 2"
 
-msgid "Zero length string"
-msgstr "Ðÿäîê ïîðîæí³é"
+msgid "E524: Missing colon"
+msgstr "E524: Áðàêóº äâîêðàïêè"
+
+msgid "E525: Zero length string"
+msgstr "E525: Ðÿäîê ïîðîæí³é"
 
 #, c-format
-msgid "Missing number after <%s>"
-msgstr "ϳñëÿ <%s> âòðà÷åíî íîìåð"
+msgid "E526: Missing number after <%s>"
+msgstr "E526: Ï³ñëÿ <%s> áðàêóº ÷èñëà"
 
-msgid "Missing comma"
-msgstr "Âòðà÷åíî êîìó"
+msgid "E527: Missing comma"
+msgstr "E527: Áðàêóº êîìè"
 
-msgid "Must specify a ' value"
-msgstr "Çíà÷åííÿ ' íå âêàçàíî"
+msgid "E528: Must specify a ' value"
+msgstr "E528: Ïîòð³áíî âêàçàòè çíà÷åííÿ '"
 
-msgid "contains unprintable character"
-msgstr "ì³ñòèòü íåäðóêîâí³ ñèìâîëè"
+msgid "E595: contains unprintable or wide character"
+msgstr "E595: Ì³ñòèòü íåäðóêîâí³ àáî ðîçøèðåí³ ñèìâîëè"
 
-msgid "Invalid font(s)"
-msgstr "Íåâ³ðíî âêàçàíî øðèôò(è)"
+msgid "E596: Invalid font(s)"
+msgstr "E596: Íåêîðåêòíèé(³) øðèôò(è)"
 
-msgid "can't select fontset"
-msgstr "íå ìîæó âèáðàòè fontset"
+msgid "E597: can't select fontset"
+msgstr "E597: Íå çì³ã âèáðàòè íàá³ð øðèôò³â"
 
-msgid "Invalid fontset"
-msgstr "Íåâ³ðíèé fontset"
+msgid "E598: Invalid fontset"
+msgstr "E598: Íåïðàâèëüíèé íàá³ð øðèôò³â"
 
-msgid "can't select wide font"
-msgstr "Íå ìîæó âèêîðèñòàòè øèðîêèé øðèôò"
+msgid "E533: can't select wide font"
+msgstr "E533: Íå çì³ã âèêîðèñòàòè ðîçøèðåíèé øðèôò"
 
-msgid "Invalid wide font"
-msgstr "Íåâ³ðíèé øèðîêèé øðèôò"
+msgid "E534: Invalid wide font"
+msgstr "E534: Íåêîðåêòíèé ðîçøèðåíèé øðèôò"
 
 #, c-format
-msgid "Illegal character after <%c>"
-msgstr "Íåäîçâîëåíèé ñèìâîë ï³ñëÿ <%c>"
+msgid "E535: Illegal character after <%c>"
+msgstr "E535: Íåäîçâîëåíèé ñèìâîë ï³ñëÿ <%c>"
 
-msgid "comma required"
-msgstr "ïîòð³áíà êîìà"
+msgid "E536: comma required"
+msgstr "E536: Ïîòð³áíà êîìà"
 
 #, c-format
-msgid "'commentstring' must be empty or contain %s"
-msgstr "'commentstring' ìຠì³ñòèòè %s"
-
-msgid "No mouse support"
-msgstr "Ìèøà íå ï³äòðèìóþºòüñÿ"
+msgid "E537: 'commentstring' must be empty or contain %s"
+msgstr "E537: 'commentstring' ìຠáóòè ïîðîæíüîþ ÷è ì³ñòèòè %s"
 
-msgid "Unclosed expression sequence"
-msgstr "Ïîñë³äîâí³ñòü âèðàç³â íå çàâåðøåíî"
+msgid "E538: No mouse support"
+msgstr "E538: Ìèøà íå ï³äòðèìóºòüñÿ"
 
-msgid "too many items"
-msgstr "çàáàãàòî ÷àñòèí"
+msgid "E540: Unclosed expression sequence"
+msgstr "E540: Ïîñë³äîâí³ñòü âèðàç³â íå çàâåðøåíî"
 
-msgid "unbalanced groups"
-msgstr "ãðóïè íå çáàëàíñîâàíî"
+msgid "E541: too many items"
+msgstr "E541: Çàáàãàòî åëåìåíò³â"
 
-msgid "A preview window already exists"
-msgstr "Ïîïåðåäíå â³êíî óæå ³ñíóº"
+msgid "E542: unbalanced groups"
+msgstr "E542: Ãðóïè íå çáàëàíñîâàíî"
 
-msgid "'winheight' cannot be smaller than 'winminheight'"
-msgstr "'winheight' íå ìîæå áóòè ìåíøå çà 'winminheight'"
+msgid "E590: A preview window already exists"
+msgstr "E590: Â³êíî ïåðåãëÿäó âæå ³ñíóº"
 
-msgid "'winwidth' cannot be smaller than 'winminwidth'"
-msgstr "'winwidth' íå ìîæå áóòè ìåíøå çà 'winminwidth'"
+msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'"
+msgstr "W17: Äëÿ àðàáñüêî¿ ìîâè ïîòð³áíå UTF-8, âèêîíàéòå ':set encoding=utf-8'"
 
 #, c-format
-msgid "Need at least %d lines"
-msgstr "Ïîòð³áíî ðÿäê³â: íå ìåíøå %d"
+msgid "E593: Need at least %d lines"
+msgstr "E593: Ïîòð³áíî ùîíàéìåíøå %d ðÿäê³â"
 
 #, c-format
-msgid "Need at least %d columns"
-msgstr "Ïîòð³áíî êîëîíîê: íå ìåíøå %d"
+msgid "E594: Need at least %d columns"
+msgstr "E594: Ïîòð³áíî ùîíàéìåíøå %d ñòîâïö³â"
 
 #, c-format
 msgid "E355: Unknown option: %s"
 msgstr "E355: Íåâ³äîìà îïö³ÿ: %s"
 
+#. There's another character after zeros or the string
+#. * is empty.  In both cases, we are trying to set a
+#. * num option using a string.
+#, c-format
+msgid "E521: Number required: &%s = '%s'"
+msgstr "E521: Ïîòð³áíî âêàçàòè ÷èñëî: &%s = '%s'"
+
 # msgstr "E355: "
 msgid ""
 "\n"
 "--- Terminal codes ---"
 msgstr ""
 "\n"
-"--- Êîäè òåðì³íàëà ---"
+"--- Êîäè òåðì³íàëó ---"
 
 msgid ""
 "\n"
 "--- Global option values ---"
 msgstr ""
 "\n"
-"--- Çàãàëüí³ çíà÷åííÿ çì³ííèõ ---"
+"--- Çíà÷åííÿ çàãàëüíèõ îïö³é ---"
 
 msgid ""
 "\n"
 "--- Local option values ---"
 msgstr ""
 "\n"
-"--- Ì³ñöåâ³ çíà÷åííÿ çì³ííèõ ---"
+"--- Çíà÷åííÿ ëîêàëüíèõ îïö³é ---"
 
 msgid ""
 "\n"
 "--- Options ---"
 msgstr ""
 "\n"
-"--- Çì³íí³ ---"
+"--- Îïö³¿ ---"
 
 msgid "E356: get_varp ERROR"
-msgstr "E356: Ïîìèëêà get_varp [ïîìèëêà ïðîãðàìè]"
+msgstr "E356: Ïîìèëêà get_varp"
 
 # msgstr "E356: "
 #, c-format
@@ -3539,37 +4312,34 @@ msgstr "E357: 'langmap': 
 # msgstr "E357: "
 #, c-format
 msgid "E358: 'langmap': Extra characters after semicolon: %s"
-msgstr "E358: 'langmap': Íàäëèøêîâ³ ñèìâîëè ï³ñëÿ `;': %s"
+msgstr "E358: 'langmap': Çàéâ³ ñèìâîëè ï³ñëÿ `;': %s"
 
 # msgstr "E358: "
 msgid "cannot open "
-msgstr "íå ìîæó â³äêðèòè "
+msgstr "íå çì³ã â³äêðèòè "
 
 msgid "VIM: Can't open window!\n"
-msgstr "VIM: Íå ìîæó â³äêðèòè â³êíî!\n"
+msgstr "VIM: Íå çì³ã â³äêðèòè â³êíî!\n"
 
 msgid "Need Amigados version 2.04 or later\n"
-msgstr "Ïîòð³áíî Amigados 2.04 àáî ï³çí³ø³ âåðñ³¿\n"
+msgstr "Ïîòð³áíà Amigados 2.04 àáî ï³çí³øî¿ âåðñ³¿\n"
 
 #, c-format
 msgid "Need %s version %ld\n"
 msgstr "Ïîòð³áíî %s âåðñ³¿ %ld\n"
 
 msgid "Cannot open NIL:\n"
-msgstr "Íå ìîæó â³äêðèòè NIL:\n"
+msgstr "Íå çì³ã â³äêðèòè NIL:\n"
 
 msgid "Cannot create "
-msgstr "Íå ìîæó ñòâîðèòè "
+msgstr "Íå çì³ã ñòâîðèòè "
 
 #, c-format
 msgid "Vim exiting with %d\n"
 msgstr "Vim çàâåðøóº ðîáîòó ç %d\n"
 
 msgid "cannot change console mode ?!\n"
-msgstr "íå ìîæó õì³íèòè ðåæèì êîíñîë³ ?!\n"
-
-msgid "E359: Screen mode setting not supported"
-msgstr "E359: Ðåæèì åêðàíó íå ï³äòðèìóºòüñÿ"
+msgstr "íå ìîæó çì³íèòè ðåæèì êîíñîë³ ?!\n"
 
 # msgstr "E359: "
 msgid "mch_get_shellsize: not a console??\n"
@@ -3577,14 +4347,14 @@ msgstr "mch_get_shellsize: 
 
 #. if Vim opened a window: Executing a shell may cause crashes
 msgid "E360: Cannot execute shell with -f option"
-msgstr "E360: Íå ìîæó âèêîíàòè `shell' ç îïö³ºþ -f"
+msgstr "E360: Íå çì³ã çàïóñòèòè îáîëîíêó ç îïö³ºþ -f"
 
 # msgstr "E360: "
 msgid "Cannot execute "
-msgstr "Íå ìîæó âèêîíàòè "
+msgstr "Íå çì³ã âèêîíàòè "
 
 msgid "shell "
-msgstr "shell "
+msgstr "îáîëîíêó "
 
 msgid " returned\n"
 msgstr " ïîâåðíóòî\n"
@@ -3595,91 +4365,85 @@ msgstr "ANCHOR_BUF_SIZE 
 msgid "I/O ERROR"
 msgstr "Ïîìèëêà ââîäó/âèâîäó"
 
-msgid "...(truncated)"
-msgstr "...(â³äð³çàíî)"
+msgid "Message"
+msgstr "Ïîâ³äîìëåííÿ"
 
 msgid "'columns' is not 80, cannot execute external commands"
-msgstr "'commands' íå 80, íå ìîæó âèêîíóâàòè çîâí³øí³ êîìàíäè"
-
-#, c-format
-msgid "E364: Library call failed for \"%s()\""
-msgstr "E364: Âèêëèê ç á³áë³îòåêè äëÿ \"%s()\"íå âäàâñÿ"
+msgstr "'columns' íå 80, íå ìîæó âèêîíóâàòè çîâí³øí³ êîìàíäè"
 
 # msgstr "E364: "
 msgid "E237: Printer selection failed"
-msgstr "E237: Íå âäàëîñÿ âèáðàòè äðóê³âíèê"
+msgstr "E237: Íå âäàëîñÿ âèáðàòè ïðèíòåð"
 
 #, c-format
 msgid "to %s on %s"
 msgstr "íà %s ç %s"
 
 #, c-format
-msgid "E448: Unknown font: %s"
-msgstr "E488: Íåâ³äîìèé øðèôò: %s"
+msgid "E613: Unknown printer font: %s"
+msgstr "E613: Íåâ³äîìèé øðèôò ïðèíòåðà: %s"
 
 #, c-format
 msgid "E238: Print error: %s"
 msgstr "E238: Ïîìèëêà äðóêó: %s"
 
-msgid "Unknown"
-msgstr "Íåâ³äîìî"
-
 #, c-format
 msgid "Printing '%s'"
 msgstr "Äðóêóºìî '%s'"
 
 #, c-format
 msgid "E244: Illegal charset name \"%s\" in font name \"%s\""
-msgstr "E244: Ïîìèëêîâà íàçâà íàáîðó ñèìâîë³â \"%s\" ó íàçâ³ øðèôòà \"%s\""
+msgstr "E244: Íåêîðåêòíà íàçâà íàáîðó ñèìâîë³â \"%s\" ó íàçâ³ øðèôòó \"%s\""
 
 #, c-format
 msgid "E245: Illegal char '%c' in font name \"%s\""
-msgstr "E245: Ïîìèëêîâèé ñèìâîë %c â íàçâ³ øðèôòà \"%s\""
+msgstr "E245: Ïîìèëêîâèé ñèìâîë %c â íàçâ³ øðèôòó \"%s\""
 
 msgid "E366: Invalid 'osfiletype' option - using Text"
-msgstr "E366: Íåâ³ðíà îïö³ÿ 'osfiletype' -- âèêîðèñòîâóþ `Text'"
+msgstr "E366: Íåïðàâèëüíà îïö³ÿ 'osfiletype' -- âèêîðèñòîâóþ `Text'"
 
 # msgstr "E366: "
 msgid "Vim: Double signal, exiting\n"
-msgstr "Vim: Îòðèìàíî ñèãíàë äâ³÷³, çàâåðøóþ\n"
+msgstr "Vim: Äâ³÷³ îòðèìàíî ñèãíàë, çàâåðøóþ\n"
 
 #, c-format
 msgid "Vim: Caught deadly signal %s\n"
-msgstr "Vim: Îòðèìàíî ñèãíàë çàê³í÷èòè ðîáîòó (%s)\n"
+msgstr "Vim: Îòðèìàíî ôàòàëüíèé ñèãíàë (%s)\n"
 
+#, c-format
 msgid "Vim: Caught deadly signal\n"
-msgstr "Vim: Îòðèìàíî ñèãíàë çàê³í÷èòè ðîáîòó\n"
+msgstr "Vim: Ñï³éìàíî ôàòàëüíèé ñèãíàë\n"
 
 #, c-format
 msgid "Opening the X display took %ld msec"
-msgstr "Íà â³äêðèòòÿ X-äàñïëåþ ï³øëî %ld ì³ë³ñåêóíä"
+msgstr "Íà â³äêðèòòÿ X-äèñïëåþ ï³øëî %ld ì³ë³ñåêóíä"
 
 msgid ""
 "\n"
 "Vim: Got X error\n"
 msgstr ""
 "\n"
-"Vim: Îòðèìàíî ïîìèëêó X\n"
+"Vim: Ïîìèëêà X\n"
 
 msgid "Testing the X display failed"
-msgstr "Íå âäàëîñÿ ïåðåâ³ðèòè äèñïëåé X"
+msgstr "Äèñïëåé Õ íå ïðîéøîâ ïåðåâ³ðêó"
 
 msgid "Opening the X display timed out"
-msgstr "Äóæå äîâãî â³äêðèâºòüñÿ äèñïëåé X, ïåðåðâàíî"
+msgstr "Ñïëèâ ÷àñ î÷³êóâàííÿ â³äêðèòòÿ äèñïëåþ Õ"
 
 msgid ""
 "\n"
 "Cannot execute shell "
 msgstr ""
 "\n"
-"Íå ìîæó âèêîíàòè `shell'"
+"Íå çì³ã çàïóñòèòè îáîëîíêó"
 
 msgid ""
 "\n"
 "Cannot execute shell sh\n"
 msgstr ""
 "\n"
-"Íå ìîæó âèêîíàòè `sh'\n"
+"Íå çì³ã çàïóñòèòè îáîëîíêó `sh'\n"
 
 # msgstr "E362: "
 msgid ""
@@ -3687,7 +4451,7 @@ msgid ""
 "shell returned "
 msgstr ""
 "\n"
-"shell ïîâåðòàº: "
+"îáîëîíêà ïîâåðíóëà: "
 
 msgid ""
 "\n"
@@ -3701,7 +4465,7 @@ msgid ""
 "Cannot fork\n"
 msgstr ""
 "\n"
-"Íå ìîæó ðîçäâî¿òè âèêîíàííÿ [fork()]\n"
+"Íå çì³ã ðîçäâî¿òèñÿ\n"
 
 msgid ""
 "\n"
@@ -3710,9 +4474,29 @@ msgstr ""
 "\n"
 "Êîìàíäà çàê³í÷èëà âèêîíàííÿ\n"
 
+msgid "XSMP lost ICE connection"
+msgstr "XSMP âòðàòèâ ç'ºäíàííÿ ICE"
+
+#, c-format
+msgid "dlerror = \"%s\""
+msgstr "dlerror = \"%s\""
+
 msgid "Opening the X display failed"
 msgstr "Íå âäàëîñÿ â³äêðèòè äèñïëåé X"
 
+msgid "XSMP handling save-yourself request"
+msgstr "XSMP îáðîáëÿºìî çàïèò 'çáåðåæè ñåáå'"
+
+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 "Ðÿäîê:"
 
@@ -3723,15 +4507,15 @@ 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 "îáîëîíêà ïîâåðíóëà %d"
 
 #, c-format
 msgid "Vim: Caught %s event\n"
-msgstr "Vim: Îòðèìàíî %s-ïîä³þ\n"
+msgstr "Vim: Îòðèìàíî ïîä³þ %s\n"
 
 msgid "close"
 msgstr "close"
@@ -3750,233 +4534,681 @@ msgid ""
 "External commands will not pause after completion.\n"
 "See  :help win32-vimrun  for more information."
 msgstr ""
-"Ôàéë VIMRUN.EXE íå çíàéäåíî ó âàøîìó øëÿõó ïîøóêó.\n"
+"Ôàéë VIMRUN.EXE íå çíàéäåíî ó øëÿõó ïîøóêó.\n"
 "Çîâí³øí³ êîìàíäè íå áóäóòü ïðèçóïèíåí³ ï³ñëÿ âèêîíàííÿ.\n"
-"Äèâ³òüñÿ  :help win32-vimrun  äëÿ ïîäàëüøî¿ ³íôîðìàö³¿."
+"Äèâ³òüñÿ  :help win32-vimrun, ùîá îòðèìàòè ïîäðîáèö³."
 
 msgid "Vim Warning"
 msgstr "Ïîïåðåäæåííÿ Vim"
 
-# msgstr "E371: "
-msgid "E372: Too many %%%c in format string"
-msgstr "E372: Çàáàãàòî %%%c ó ðÿäêó ôîðìàòà"
+# msgstr "E371: "
+#, c-format
+msgid "E372: Too many %%%c in format string"
+msgstr "E372: Çàáàãàòî %%%c ó ðÿäêó ôîðìàòó"
+
+# msgstr "E372: "
+#, c-format
+msgid "E373: Unexpected %%%c in format string"
+msgstr "E373: Íåî÷³êóâàíèé `%%%c' ó ðÿäêó ôîðìàòó"
+
+# msgstr "E373: "
+msgid "E374: Missing ] in format string"
+msgstr "E374: Ïðîïóùåíî ] ó ðÿäêó ôîðìàòó"
+
+# msgstr "E374: "
+#, c-format
+msgid "E375: Unsupported %%%c in format string"
+msgstr "E375: %%%c ó ðÿäêó ôîðìàòó íå ï³äòðèìóºòüñÿ"
+
+# msgstr "E375: "
+#, c-format
+msgid "E376: Invalid %%%c in format string prefix"
+msgstr "E376: Ïîìèëêîâèé `%%%c' ó ïðåô³êñ³ ðÿäêó ôîðìàòó"
+
+# msgstr "E376: "
+#, c-format
+msgid "E377: Invalid %%%c in format string"
+msgstr "E377: Ïîìèëêîâèé `%%%c' ó ðÿäêó ôîðìàòó"
+
+# msgstr "E377: "
+msgid "E378: 'errorformat' contains no pattern"
+msgstr "E378: 'errorformat' íå ì³ñòèòü çðàçîê"
+
+# msgstr "E378: "
+msgid "E379: Missing or empty directory name"
+msgstr "E379: Ïðîïóùåíî ÷è ïîðîæíÿ íàçâà êàòàëîãó"
+
+msgid "E553: No more items"
+msgstr "E553: Íåìຠá³ëüøå åëåìåíò³â"
+
+#, c-format
+msgid "(%d of %d)%s%s: "
+msgstr "(%d ç %d)%s%s: "
+
+msgid " (line deleted)"
+msgstr " (ðÿäîê çíèùåíî)"
+
+msgid "E380: At bottom of quickfix stack"
+msgstr "E380: Äíî ñòåêó âèïðàâëåíü"
+
+msgid "E381: At top of quickfix stack"
+msgstr "E381: Âåðøèíà ñòåêó âèïðàâëåíü"
+
+#, c-format
+msgid "error list %d of %d; %d errors"
+msgstr "ñïèñîê ïîìèëîê %d ç %d; %d ïîìèëîê"
+
+msgid "E382: Cannot write, 'buftype' option is set"
+msgstr "E382: Íå ìîæó çàïèñàòè, âêàçàíà îïö³ÿ 'buftype'"
+
+msgid "E683: File name missing or invalid pattern"
+msgstr "E683: Ïðîïóùåíî íàçâó ôàéëó ÷è íåêîðåêòíèé øàáëîí"
+
+#, c-format
+msgid "Cannot open file \"%s\""
+msgstr "Íå çì³ã â³äêðèòè ôàéë \"%s\""
+
+msgid "E681: Buffer is not loaded"
+msgstr "E681: Áóôåð íå çàâàíòàæåíî"
+
+msgid "E777: String or List expected"
+msgstr "E777: Î÷³êóºòüñÿ ðÿäîê ÷è ñïèñîê"
+
+#, c-format
+msgid "E369: invalid item in %s%%[]"
+msgstr "E369: Íåêîðåêòíèé åëåìåíò ó %s%%[]"
+
+# msgstr "E382: "
+msgid "E339: Pattern too long"
+msgstr "E339: Çðàçîê çàíàäòî äîâãèé"
+
+msgid "E50: Too many \\z("
+msgstr "E50: Çàáàãàòî \\z("
+
+#, c-format
+msgid "E51: Too many %s("
+msgstr "E51: Çàáàãàòî %s("
+
+msgid "E52: Unmatched \\z("
+msgstr "E52: Íåìຠïàðè \\z("
+
+#, c-format
+msgid "E53: Unmatched %s%%("
+msgstr "E53: Íåìຠïàðè %s%%("
+
+#, c-format
+msgid "E54: Unmatched %s("
+msgstr "E54: Íåìຠïàðè %s("
+
+#, c-format
+msgid "E55: Unmatched %s)"
+msgstr "E55: Íåìຠïàðè %s)"
+
+#, c-format
+msgid "E59: invalid character after %s@"
+msgstr "E59: Íåäîçâîëåíèé ñèìâîë ï³ñëÿ %s@"
+
+#, c-format
+msgid "E60: Too many complex %s{...}s"
+msgstr "E60: Çàáàãàòî ñêëàäíèõ %s{...}"
+
+# msgstr "E339: "
+#, c-format
+msgid "E61: Nested %s*"
+msgstr "E61: Âêëàäåí³ %s*"
+
+# msgstr "E61: "
+#, c-format
+msgid "E62: Nested %s%c"
+msgstr "E62: Âêëàäåí³ %s%c"
+
+msgid "E63: invalid use of \\_"
+msgstr "E63: Íåêîðåêòíî âæèòî \\_"
+
+# msgstr "E62: "
+#, c-format
+msgid "E64: %s%c follows nothing"
+msgstr "E64: Ï³ñëÿ %s%c í³÷îãî íåìàº"
+
+msgid "E65: Illegal back reference"
+msgstr "E65: Íåêîðåêòíå çâîðîòíº ïîñèëàííÿ"
+
+# msgstr "E406: "
+msgid "E66: \\z( not allowed here"
+msgstr "E66: \\z( òóò íå äîçâîëåíî"
+
+# msgstr "E406: "
+msgid "E67: \\z1 et al. not allowed here"
+msgstr "E67: \\z1 òà ³í. òóò íå äîçâîëåíî"
+
+msgid "E68: Invalid character after \\z"
+msgstr "E68: Íåïðàâèëüíèé ñèìâîë ï³ñëÿ \\z"
+
+#, c-format
+msgid "E69: Missing ] after %s%%["
+msgstr "E69: Ïðîïóùåíî ] ï³ñëÿ %s%%["
+
+#, c-format
+msgid "E70: Empty %s%%[]"
+msgstr "E70: %s%%[] ïîðîæí³é"
+
+#, c-format
+msgid "E678: Invalid character after %s%%[dxouU]"
+msgstr "E678: Íåäîçâîëåíèé ñèìâîë ï³ñëÿ %s%%[dxouU]"
+
+#, c-format
+msgid "E71: Invalid character after %s%%"
+msgstr "E71: Íåäîçâîëåíèé ñèìâîë ï³ñëÿ %s%%"
+
+#, c-format
+msgid "E769: Missing ] after %s["
+msgstr "E769: Áðàêóº ] ï³ñëÿ %s["
+
+# msgstr "E64: "
+#, c-format
+msgid "E554: Syntax error in %s{...}"
+msgstr "E554: Ñèíòàêñè÷íà ïîìèëêà â %s{...}"
+
+msgid "External submatches:\n"
+msgstr "Çîâí³øí³ ï³ä-çá³ãè:\n"
+
+msgid " VREPLACE"
+msgstr " Â²ÐÒ ÇÀ̲ÍÀ"
+
+msgid " REPLACE"
+msgstr " ÇÀ̲ÍÀ"
+
+msgid " REVERSE"
+msgstr " ÍÀÂÈÂÎвÒ"
+
+msgid " INSERT"
+msgstr " ÂÑÒÀÂÊÀ"
+
+msgid " (insert)"
+msgstr " (âñòàâêà)"
+
+msgid " (replace)"
+msgstr " (çàì³íà)"
+
+msgid " (vreplace)"
+msgstr " (â³ðò çàì³íà)"
+
+msgid " Hebrew"
+msgstr " ²âðèò"
+
+msgid " Arabic"
+msgstr " Àðàáñüêà"
+
+msgid " (lang)"
+msgstr " (ìîâà)"
+
+msgid " (paste)"
+msgstr " (êëåé)"
+
+msgid " VISUAL"
+msgstr " ÂÈÁ²Ð"
+
+msgid " VISUAL LINE"
+msgstr " ÂÈÁ²Ð ÐßÄʲÂ"
+
+msgid " VISUAL BLOCK"
+msgstr " ÂÈÁ²Ð ÁËÎÊÓ"
+
+msgid " SELECT"
+msgstr " ÂÈIJËÅÍÍß"
+
+msgid " SELECT LINE"
+msgstr " ÂÈIJËÅÍÍß ÐßÄʲÂ"
+
+msgid " SELECT BLOCK"
+msgstr " ÂÈIJËÅÍÍß ÁËÎÊÓ"
+
+msgid "recording"
+msgstr "éäå çàïèñ"
+
+#, c-format
+msgid "E383: Invalid search string: %s"
+msgstr "E383: Íåïðàâèëüíèé çðàçîê äëÿ ïîøóêó: %s"
+
+#, c-format
+msgid "E384: search hit TOP without match for: %s"
+msgstr "E384: Ïîøóê ä³éøîâ äî ÏÎ×ÀÒÊÓ áåç çá³ã³â ç %s"
+
+#, c-format
+msgid "E385: search hit BOTTOM without match for: %s"
+msgstr "E385: Ïîøóê ä³éøîâ äî Ê²ÍÖß áåç çá³ã³â ç %s"
+
+msgid "E386: Expected '?' or '/'  after ';'"
+msgstr "E386: Ï³ñëÿ `;' ìຠáóòè `?' àáî `/'"
+
+# msgstr "E386: "
+msgid " (includes previously listed match)"
+msgstr " (ðàçîì ç ïîïåðåäí³ìè çá³ãàìè)"
+
+#. cursor at status line
+msgid "--- Included files "
+msgstr "--- Âêëþ÷åí³ ôàéëè "
+
+msgid "not found "
+msgstr "íå çíàéäåíî "
+
+msgid "in path ---\n"
+msgstr "ó øëÿõó ïîøóêó ---\n"
+
+msgid "  (Already listed)"
+msgstr "  (Óæå ó ñïèñêó)"
+
+msgid "  NOT FOUND"
+msgstr "  ÍÅ ÇÍÀÉÄÅÍÎ"
+
+#, c-format
+msgid "Scanning included file: %s"
+msgstr "Ïîøóê ó âêëþ÷åíîìó ôàéë³: %s"
+
+#, c-format
+msgid "Searching included file %s"
+msgstr "Øóêàºìî ó âêëþ÷åíîìó ôàéë³ %s"
+
+msgid "E387: Match is on current line"
+msgstr "E387: Çá³ã ó ïîòî÷íîìó ðÿäêó"
+
+msgid "All included files were found"
+msgstr "Áóëè çíàéäåí³ âñ³ âêëþ÷åí³ ôàéëè"
+
+msgid "No included files"
+msgstr "Æîäíîãî âêëþ÷åíîãî ôàéëó"
+
+msgid "E388: Couldn't find definition"
+msgstr "E388: Âèçíà÷åííÿ íå çíàéäåíî"
+
+msgid "E389: Couldn't find pattern"
+msgstr "E389: Çðàçîê íå çíàéäåíî"
+
+#, c-format
+msgid ""
+"\n"
+"# Last %sSearch Pattern:\n"
+"~"
+msgstr ""
+"\n"
+"# Îñò. %sÇðàçîê ïîøóêó:\n"
+"~"
+
+msgid "E759: Format error in spell file"
+msgstr "E759: Ïîìèëêà ôîðìàòó ó ôàéë³ îðôîãðàô³¿"
+
+# msgstr "E364: "
+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"
+
+# msgstr "E430: "
+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\" ÷è \"%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 "Íåêîðåêòíå çíà÷åííÿ FLAG ó %s ó ðÿäêó %d: %s"
+
+#, c-format
+msgid "FLAG after using flags in %s line %d: %s"
+msgstr "FLAG ï³ñëÿ âèêîðèñòàííÿ ïðàïîðö³â ó %s ó ðÿäêó %d: %s"
+
+#, c-format
+msgid "Defining COMPOUNDFORBIDFLAG after PFX item may give wrong results in %s line %d"
+msgstr "Âèçíà÷åííÿ COMPOUNDFORBIDFLAG ï³ñëÿ åëåìåíòó PFX ìîæå äàòè íåïðàâèëüíèé ðåçóëüòàò ó %s ó ðÿäêó %d"
+
+#, c-format
+msgid "Defining COMPOUNDPERMITFLAG after PFX item may give wrong results in %s line %d"
+msgstr "Âèçíà÷åííÿ COMPOUNDPERMITFLAG ï³ñëÿ åëåìåíòó PFX ìîæó äàòè íåïðàâèëüíèé ðåçóëüòàò ó %s ó ðÿäêó %d"
+
+#, c-format
+msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
+msgstr "Íåïðàâèëüíå çíà÷åííÿ COMPOUNDWORDMAX ó %s ó ðÿäêó %d: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
+msgstr "Íåïðàâèëüíå çíà÷åííÿ COMPOUNDMIN ó %s ó ðÿäêó %d: %s"
+
+#, c-format
+msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
+msgstr "Íåïðàâèëüíå çíà÷åííÿ COMPOUNDSYLMAX ó %s ó ðÿäêó %d: %s"
+
+#, c-format
+msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
+msgstr "Íåïðàâèëüíå çíà÷åííÿ CHECKCOMPOUNDPATTERN ó %s ó ðÿäêó %d: %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 "Àô³êñ òàêîæ âèêîðèñòîâóºòüñÿ äëÿ BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST ó %s ó ðÿäêó %d: %s"
+
+#, c-format
+msgid "Expected Y or N in %s line %d: %s"
+msgstr "Òðåáà Y ÷è N ó %s ó ðÿäêó %d: %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 "Òðåáà ê³ëüê³ñòü REP(SAL) ó %s ó ðÿäêó %d"
+
+#, c-format
+msgid "Expected MAP count in %s line %d"
+msgstr "Òðåáà ê³ëüê³ñòü MAP ó %s ó ðÿäêó %d"
+
+#, c-format
+msgid "Duplicate character in MAP in %s line %d"
+msgstr "Ïîâòîðåííÿ ñèìâîëó ó MAP ó %s ó ðÿäêó %d"
 
-# msgstr "E372: "
-msgid "E373: Unexpected %%%c in format string"
-msgstr "E373: Íåî÷³êóâàíèé `%%%c' ó ðÿäêó ôîðìàòà"
+#, c-format
+msgid "Unrecognized or duplicate item in %s line %d: %s"
+msgstr "Íåðîçï³çíàíèé ÷è ïîâòîðíèé åëåìåíò ó %s ó ðÿäêó %d: %s"
 
-# msgstr "E373: "
-msgid "E374: Missing ] in format string"
-msgstr "E374: Âòðà÷åíî ] ó ðÿäêó ôîðìàòà"
+#, c-format
+msgid "Missing FOL/LOW/UPP line in %s"
+msgstr "Ïðîïóùåíî ðÿäîê FOL/LOW/UPP ó %s"
 
-# msgstr "E374: "
-msgid "E375: Unsupported %%%c in format string"
-msgstr "E375: %%%c ó ðÿäêó ôîðìàòà íå ï³äòðèìóºòüñÿ"
+msgid "COMPOUNDSYLMAX used without SYLLABLE"
+msgstr "Âæèòî COMPOUNDSYLMAX áåç SYLLABLE"
 
-# msgstr "E375: "
-msgid "E376: Invalid %%%c in format string prefix"
-msgstr "E376: Ïîìèëêîâèé `%%%c' ó ïðåô³êñ³ ðÿäêó ôîðìàòà"
+msgid "Too many postponed prefixes"
+msgstr "Çàáàãàòî â³äêëàäåíèõ ïðåô³êñ³â"
 
-# msgstr "E376: "
-msgid "E377: Invalid %%%c in format string"
-msgstr "E376: Ïîìèëêîâèé `%%%c' ó ðÿäêó ôîðìàòà"
+msgid "Too many compound flags"
+msgstr "Çàáàãàòî ñêëàäíèõ ïðàïîðö³â"
 
-# msgstr "E377: "
-msgid "E378: 'errorformat' contains no pattern"
-msgstr "E378: 'errorformat' ì³ñòèòü ëèøå çâè÷àéí³ ñèìâîëè"
+msgid "Too many posponed prefixes and/or compound flags"
+msgstr "Çàáàãàòî â³äêëàäåíèõ ïðåô³êñ³â ³/àáî ñêëàäíèõ ïðàïîðö³â"
 
-# msgstr "E378: "
-msgid "E379: Missing or empty directory name"
-msgstr "E379: Âòðà÷åíî íàçâó äèðåêòîð³¿"
+#, c-format
+msgid "Missing SOFO%s line in %s"
+msgstr "Ïðîïóùåíî ðÿäîê SOFO%s ó %s"
 
-msgid "No more items"
-msgstr "Îñòàíí³é åëåìåíò"
+#, c-format
+msgid "Both SAL and SOFO lines in %s"
+msgstr "Îáèäâà ðÿäêè SAL ³ SOFO ó %s"
 
 #, c-format
-msgid "(%d of %d)%s%s: "
-msgstr "(%d ç %d)%s%s: "
+msgid "Flag is not a number in %s line %d: %s"
+msgstr "Ïðàïîðåöü íå º ÷èñëîì ó %s ó ðÿäêó %d: %s"
 
-msgid " (line deleted)"
-msgstr " (ðÿäîê âèäàëåíî)"
+#, c-format
+msgid "Illegal flag in %s line %d: %s"
+msgstr "Íåïðàâèëüíèé ïðàïîðåöü ó %s ó ðÿäêó %d: %s"
 
-msgid "E380: At bottom of quickfix stack"
-msgstr "E380: Ñòåê quickfix ïîðîæí³é"
+#, c-format
+msgid "%s value differs from what is used in another .aff file"
+msgstr "Çíà÷åííÿ %s â³äð³çíÿºòüñÿ â³ä òîãî, ùî âæèòî ó ³íøîìó ôàéë³ .aff"
 
-msgid "E381: At top of quickfix stack"
-msgstr "E381: Âåðøèíà ñòåêó quickfix"
+#, c-format
+msgid "Reading dictionary file %s ..."
+msgstr "Ç÷èòóºìî ñëîâíèêîâèé ôàéë %s ..."
 
 #, c-format
-msgid "error list %d of %d; %d errors"
-msgstr "ñïèñîê ïîìèëîê %d ç %d; %d ïîìèëîê"
+msgid "E760: No word count in %s"
+msgstr "E760: Íåìຠê³ëüêîñò³ ñë³â ó %s"
 
-msgid "E382: Cannot write, 'buftype' option is set"
-msgstr "E382: Íå ìîæó çàïèñàòè, âêàçàíà îïö³ÿ 'buftype'"
+#, c-format
+msgid "line %6d, word %6d - %s"
+msgstr "ðÿäîê %6d, ñëîâî %6d - %s"
 
-# msgstr "E382: "
-msgid "E339: Pattern too long"
-msgstr "E339: Çðàçîê çàíàäòî äîâãèé"
+#, c-format
+msgid "Duplicate word in %s line %d: %s"
+msgstr "Ïîâòîðåííÿ ñëîâà ó %s ó ðÿäêó %d: %s"
 
-# msgstr "E339: "
 #, c-format
-msgid "E61: Nested %s*"
-msgstr "E61: Âêëàäåí³ %s*"
+msgid "First duplicate word in %s line %d: %s"
+msgstr "Ïåðøå ïîâòîðåííÿ ñëîâà ó %s ó ðÿäêó %d: %s"
 
-# msgstr "E61: "
 #, c-format
-msgid "E62: Nested %s%c"
-msgstr "E62: Âêëàäåí³ %s%c"
+msgid "%d duplicate word(s) in %s"
+msgstr "%d ïîâòîðþâàíèõ ñë³â ó %s"
 
-# msgstr "E62: "
 #, c-format
-msgid "E64: %s%c follows nothing"
-msgstr "E64: Ï³ñëÿ %s%c í³÷îãî íåìàº"
+msgid "Ignored %d word(s) with non-ASCII characters in %s"
+msgstr "Ïðîïóùåíî %d ñë³â(~) ³ç íå-ASCII ñèìâîëàìè ó %s"
 
-# msgstr "E64: "
 #, c-format
-msgid "Syntax error in %s{...}"
-msgstr "Ñèíòàêñè÷íà ïîìèëêà â %s{...}"
+msgid "Reading word file %s ..."
+msgstr "×èòàºìî ôàéë ñë³â %s ..."
 
-msgid "E361: Crash intercepted; regexp too complex?"
-msgstr "E361: Â³äáóëàñü àâàð³ÿ; çàíàäòî ñêëàäíèé çðàçîê?"
+#, c-format
+msgid "Duplicate /encoding= line ignored in %s line %d: %s"
+msgstr "Ïîâòîðåííÿ ðÿäêà /encoding= ïðî³ãíîðîâàíî ó %s ó ðÿäêó %d: %s"
 
-msgid "E363: pattern caused out-of-stack error"
-msgstr "E363: Çðàçîê ç÷èíèâ ïîìèëêó ñòåêó"
+#, c-format
+msgid "/encoding= line after word ignored in %s line %d: %s"
+msgstr "Ðÿäîê /encoding= ï³ñëÿ ñëîâà ïðî³ãíîðîâàíî ó %s ó ðÿäêó %d: %s"
 
-msgid "External submatches:\n"
-msgstr "Çîâí³øí³ ï³äçá³ãè:\n"
+#, c-format
+msgid "Duplicate /regions= line ignored in %s line %d: %s"
+msgstr "Ïîâòîðåííÿ ðÿäêà /regions= ïðî³ãíîðîâàíî ó %s ó ðÿäêó %d: %s"
 
 #, c-format
-msgid "+--%3ld lines folded "
-msgstr "+--[çãîðòîê](%3ld ðÿäê³â)"
+msgid "Too many regions in %s line %d: %s"
+msgstr "Çàáàãàòî ðåã³îí³â ó %s ó ðÿäêó %d: %s"
 
-msgid " VREPLACE"
-msgstr " V-çàì³íà"
+#, c-format
+msgid "/ line ignored in %s line %d: %s"
+msgstr "Ðÿäîê / ïðî³ãíîðîâàíî ó %s ó ðÿäêó %d: %s"
 
-msgid " REPLACE"
-msgstr " Çàì³íà"
+#, c-format
+msgid "Invalid region nr in %s line %d: %s"
+msgstr "Íåêîðåêòíèé íîìåð ðåã³îíó ó %s ó ðÿäêó %d: %s"
 
-msgid " REVERSE"
-msgstr " Îáåðíóòî"
+#, c-format
+msgid "Unrecognized flags in %s line %d: %s"
+msgstr "Íåðîçï³çíàí³ ïðàïîðö³ ó %s ó ðÿäêó %d: %s"
 
-msgid " INSERT"
-msgstr " Âñòàâêà"
+#, c-format
+msgid "Ignored %d words with non-ASCII characters"
+msgstr "Ïðî³ãíîðîâàíî %d ñë³â ³ç íå-ASCII ñèìâîëàìè"
 
-msgid " (insert)"
-msgstr " (âñòàâêà)"
+#, c-format
+msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
+msgstr "Ñòèñíåíî %d ç %d âóçë³â; çàëèøèëîñÿ %d (%d%%)"
 
-msgid " (replace)"
-msgstr " (çàì³íà)"
+msgid "Reading back spell file..."
+msgstr "Ïåðå÷èòóºòüñÿ ôàéë îðôîãðàô³¿..."
 
-msgid " (vreplace)"
-msgstr " (V-çàì³íà)"
+#.
+#. * Go through the trie of good words, soundfold each word and add it to
+#. * the soundfold trie.
+#.
+msgid "Performing soundfolding..."
+msgstr "Âèêîíóºòüñÿ çãîðòàííÿ çâóê³â..."
 
-msgid " Hebrew"
-msgstr " Hebrew"
+#, c-format
+msgid "Number of words after soundfolding: %ld"
+msgstr "ʳëüê³ñòü ñë³â ï³ñëÿ çãîðòàííÿ çâóê³â: %ld"
 
-msgid " (lang)"
-msgstr " (lang)"
+#, c-format
+msgid "Total number of words: %d"
+msgstr "Ïîâíà ê³ëüê³ñòü ñë³â: %d"
 
-msgid " (paste)"
-msgstr " (áåç îáðîáêè)"
+#, c-format
+msgid "Writing suggestion file %s ..."
+msgstr "Çàïèñóºòüñÿ ôàéë ïðèïóùåíü %s ..."
 
-msgid " SELECT"
-msgstr " Âèä³ëåííÿ"
+#, c-format
+msgid "Estimated runtime memory use: %d bytes"
+msgstr "Îö³íêà ñïîæèâàííÿ ïàì'ÿò³: %d áàéò"
 
-msgid " VISUAL"
-msgstr " Âèá³ð"
+msgid "E751: Output file name must not have region name"
+msgstr "E751: Âèõ³äíèé ôàéë íå ïîâèíåí ìàòè íàçâó ðåã³îíó"
 
-msgid " BLOCK"
-msgstr " [Áëîê]"
+msgid "E754: Only up to 8 regions supported"
+msgstr "E754: Ï³äòðèìóºòüñÿ ò³ëüêè äî âîñüìè ðåã³îí³â"
 
-msgid " LINE"
-msgstr " [Ðÿäêè]"
+#, c-format
+msgid "E755: Invalid region in %s"
+msgstr "E755: Íåêîðåêòíèé ðåã³îí ó %s"
 
-msgid "recording"
-msgstr "éäå çàïèñ"
+msgid "Warning: both compounding and NOBREAK specified"
+msgstr "Óâàãà: çàçíà÷åíî îáèäâà `ñêëàäí³ ñëîâà' òà NOBREAK"
 
-msgid "search hit TOP, continuing at BOTTOM"
-msgstr "Ïîøóê ä³éøîâ äî ãîðè, ïðîäîâæóºìî óíèçó"
+#, c-format
+msgid "Writing spell file %s ..."
+msgstr "Çàïèñóºòüñÿ ôàéë îðôîãðàô³¿ %s ..."
 
-msgid "search hit BOTTOM, continuing at TOP"
-msgstr "Ïîøóê ä³éøîâ äî íèçó, ïðîäîâæóºìî ç ãîðè"
+msgid "Done!"
+msgstr "Çðîáëåíî!"
 
 #, c-format
-msgid "E383: Invalid search string: %s"
-msgstr "E383: Íåâ³ðíèé çðàçîê äëÿ ïîøóêó: %s"
+msgid "E765: 'spellfile' does not have %ld entries"
+msgstr "E765: 'spellfile' íå ì³ñòèòü %ld åëåìåíò³â"
 
 #, c-format
-msgid "E384: search hit TOP without match for: %s"
-msgstr "E384: Ïîøóê ä³éøîâ äî ãîðè áåç çá³ã³â ç %s"
+msgid "Word removed from %s"
+msgstr "Ñëîâî çíèùåíî ç %s"
 
 #, c-format
-msgid "E385: search hit BOTTOM without match for: %s"
-msgstr "E385: Ïîøóê ä³éøîâ äî íèçó áåç çá³ã³â ç %s"
+msgid "Word added to %s"
+msgstr "Ñëîâî äîäàíî äî %s"
 
-msgid "E386: Expected '?' or '/'  after ';'"
-msgstr "E386: Ï³ñëÿ `;' ìຠéòè `?' àáî `/'"
+msgid "E763: Word characters differ between spell files"
+msgstr "E763: Ñèìâîëè ó ñëîâ³ â³äð³çíÿþòüñÿ ó ôàéëàõ îðôîãðàô³¿"
 
-# msgstr "E386: "
-msgid " (includes previously listed match)"
-msgstr " (ðàçîì ç ïîïåðåäí³ìè çá³ãàìè)"
+msgid "Sorry, no suggestions"
+msgstr "Ïðîáà÷òå, íåìຠïðèïóùåíü"
 
-#. cursor at status line
-msgid "--- Included files "
-msgstr "--- Âêëþ÷åí³ ôàéëè "
+#, c-format
+msgid "Sorry, only %ld suggestions"
+msgstr "Ïðîáà÷òå, ò³ëüêè %ld ïðèïóùåíü"
 
-msgid "not found "
-msgstr "íå çíàéäåíî "
+#. for when 'cmdheight' > 1
+#. avoid more prompt
+#, c-format
+msgid "Change \"%.*s\" to:"
+msgstr "Çàì³íèòè \"%.*s\" íà:"
 
-msgid "in path ---\n"
-msgstr "ó øëÿõó ïîøóêó ---\n"
+#, c-format
+msgid " < \"%.*s\""
+msgstr " < \"%.*s\""
 
-msgid "  (Already listed)"
-msgstr "  (Óæå ó ñïèñêó)"
+# msgstr "E34: "
+msgid "E752: No previous spell replacement"
+msgstr "E752: Íåìຠïîïåðåäíüî¿ çàì³íè"
 
-msgid "  NOT FOUND"
-msgstr "  Íå çíàéäåíî"
+# msgstr "E333: "
+#, c-format
+msgid "E753: Not found: %s"
+msgstr "E753: Íå çíàéäåíî: %s"
 
 #, c-format
-msgid "Scanning included file: %s"
-msgstr "Ïîøóê ó âêëþ÷åíîìó ôàéë³: %s"
+msgid "E778: This does not look like a .sug file: %s"
+msgstr "E778: Íå ñõîæå íà ôàéë .sub: %s"
 
-msgid "E387: Match is on current line"
-msgstr "E387: Çá³ã ó ïîòî÷íîìó ðÿäêó"
+#, c-format
+msgid "E779: Old .sug file, needs to be updated: %s"
+msgstr "E779: Çàñòàð³ëèé ôàéë .sug, òðåáà ïîíîâèòè: %s"
 
-msgid "All included files were found"
-msgstr "Óñ³ âêëþ÷åí³ ôàéëè áóëî çíàéäåíî"
+#, c-format
+msgid "E780: .sug file is for newer version of Vim: %s"
+msgstr "E780: Ôàéë .sug äëÿ á³ëüø íîâî¿ âåðñ³¿ Vim: %s"
 
-msgid "No included files"
-msgstr "Æîäíîãî âêëþ÷åíîãî ôàéëà"
+#, c-format
+msgid "E781: .sug file doesn't match .spl file: %s"
+msgstr "E781: Ôàéë .sug íå â³äïîâ³äຠôàéëó .spl: %s"
 
-msgid "E388: Couldn't find definition"
-msgstr "E388: Âèçíà÷åííÿ íå çíàéäåíî"
+#, c-format
+msgid "E782: error while reading .sug file: %s"
+msgstr "E782: Ïîìèëêà ÷èòàííÿ ôàéëó .sug: %s"
 
-msgid "E389: Couldn't find pattern"
-msgstr "E389: Çðàçîê íå çíàéäåíî"
+#. This should have been checked when generating the .spl
+#. * file.
+msgid "E783: duplicate char in MAP entry"
+msgstr "E783: Ïîâòîðåíî ñèìâîë ó åëåìåíò³ MAP"
 
 #, c-format
 msgid "E390: Illegal argument: %s"
-msgstr "E390: Íåâ³ðíèé àðãóìåíò: %s"
+msgstr "E390: Íåïðàâèëüíèé àðãóìåíò: %s"
 
 #, c-format
 msgid "E391: No such syntax cluster: %s"
-msgstr "E391: Íå ³ñíóþ÷èé êëàñåòð ñèíòàêñèñó: %s"
+msgstr "E391: Íåìຠòàêîãî êëàñòåðó ñèíòàêñèñó: %s"
 
 # msgstr "E391: "
 msgid "No Syntax items defined for this buffer"
 msgstr "Äëÿ áóôåðó íå âèçíà÷åíî åëåìåíò³â ñèíòàêñèñó"
 
 msgid "syncing on C-style comments"
-msgstr "ñèíõðîí³çàö³ÿ áàçóºòüñÿ íà Ñ-êîìåíòàð³ÿõ"
+msgstr "ñèíõðîí³çóºìîñÿ ïî êîìåíòàðÿõ ñòèëþ Ñ"
 
 msgid "no syncing"
-msgstr "ñèíõðîí³çàö³ÿ íå âèêîðèñòîâóºòüñÿ"
+msgstr "áåç ñèíõðîí³çàö³¿"
 
 msgid "syncing starts "
-msgstr "ñèíõðîí³çàö³ÿ ïî÷èíàºòüñÿ çà "
+msgstr "ïî÷èíàºòüñÿ ñèíõðîí³çàö³ÿ çà "
 
 msgid " lines before top line"
-msgstr "  ðÿäê³â ïåðåä ïåðøèì ðÿäêîì"
+msgstr " ðÿäê³â ïåðåä ïåðøèì ðÿäêîì"
 
 msgid ""
 "\n"
@@ -3990,7 +5222,7 @@ msgid ""
 "syncing on items"
 msgstr ""
 "\n"
-"ñèíõðîí³çàö³¿ áàçóºòüñÿ íà åëåìåíòàõ"
+"ñèíõðîí³çàö³ÿ ïî åëåìåíòàõ"
 
 msgid ""
 "\n"
@@ -4001,7 +5233,7 @@ msgstr ""
 
 #, c-format
 msgid "E392: No such syntax cluster: %s"
-msgstr "E392: Íå ³ñíóþ÷èé êëàñåòð ñèíòàêñèñó: %s"
+msgstr "E392: Íåìຠòàêîãî ñèíòàêñè÷íîãî êëàñòåðó: %s"
 
 msgid "minimal "
 msgstr "ì³í³ìàëüíèé "
@@ -4009,55 +5241,65 @@ msgstr "
 msgid "maximal "
 msgstr "ìàêñèìàëüíèé "
 
-msgid "E393: group[t]here not accepted here"
-msgstr "E393: group[t]hete òóò íå ïðàöþº"
+msgid "; match "
+msgstr "; çá³ã "
 
-#, c-format
-msgid "E394: Didn't find region item for %s"
-msgstr "E394: Íå çíàéäåíî îáëàñò³ äëÿ %s"
+msgid " line breaks"
+msgstr " ðîçðèâè ðÿäê³â"
 
 msgid "E395: contains argument not accepted here"
-msgstr "E395: Ì³ñòèòü àðãóìåíòè ùî íåïðèéíÿòí³ òóò"
+msgstr "E395: Ì³ñòèòü íåïðèéíÿòí³ òóò àðãóìåíòè"
 
 msgid "E396: containedin argument not accepted here"
-msgstr "E396: Àðãóìåíò íåïðèéíÿòíèé òóò"
+msgstr "E396: Ó íåïðèéíÿòíîìó òóò àðãóìåíò³"
+
+msgid "E393: group[t]here not accepted here"
+msgstr "E393: group[t]hete òóò íå ïðàöþº"
+
+#, c-format
+msgid "E394: Didn't find region item for %s"
+msgstr "E394: Íå çíàéäåíî åëåìåíò ðåã³îíó äëÿ %s"
 
 # msgstr "E396: "
 msgid "E397: Filename required"
-msgstr "E397: Ïîòð³áíà íàçâà ôàéëà"
+msgstr "E397: Ïîòð³áíà íàçâà ôàéëó"
+
+#, c-format
+msgid "E789: Missing ']': %s"
+msgstr "E789: Ïðîïóùåíî ']': %s"
 
 #, c-format
 msgid "E398: Missing '=': %s"
-msgstr "E398: `=' âòðà÷åíî: %s"
+msgstr "E398: Ïðîïóùåíî `=': %s"
 
 # ---------------------------------------
 #, c-format
 msgid "E399: Not enough arguments: syntax region %s"
-msgstr "E399: Íå äîñèòü àðãóìåíò³â: syntax region %s"
+msgstr "E399: Íå äîñòàòíüî àðãóìåíò³â: ñèíòàêñè÷íèé ðåã³îí %s"
 
 msgid "E400: No cluster specified"
 msgstr "E400: Êëàñòåð íå âêàçàíî"
 
 #, c-format
 msgid "E401: Pattern delimiter not found: %s"
-msgstr "E401: Ê³íåöü çðàçêà íå çíàéäíî: %s"
+msgstr "E401: Ê³íåöü çðàçêó íå çíàéäåíî: %s"
 
 #, c-format
 msgid "E402: Garbage after pattern: %s"
-msgstr "E402: Ñì³òòÿ ï³ñëÿ çðàçêà: %s"
+msgstr "E402: Ñì³òòÿ ï³ñëÿ çðàçêó: %s"
 
 # msgstr "E402: "
 msgid "E403: syntax sync: line continuations pattern specified twice"
-msgstr "E403: syntax syntax: çðàçîê äëÿ ïðîäîâæåííÿ ðÿäêà âêàçàíî äâ³÷³"
+msgstr "E403: Ñèíòàêñè÷íà ñèíõðîí³çàö³ÿ: çðàçîê äëÿ ïðîäîâæåííÿ ðÿäêà âêàçàíî äâ³÷³"
 
 #, c-format
 msgid "E404: Illegal arguments: %s"
-msgstr "E404: Íåâ³ðí³ àðãóìåíòè: %s"
+msgstr "E404: Íåïðàâèëüí³ àðãóìåíòè: %s"
 
 # msgstr "E404: "
 #, c-format
 msgid "E405: Missing equal sign: %s"
-msgstr "E405: Íåìຠ`=': %s"
+msgstr "E405: Ïðîïóùåíî çíàê `=': %s"
 
 # msgstr "E405: "
 #, c-format
@@ -4071,26 +5313,29 @@ msgstr "E407: %s 
 
 #, c-format
 msgid "E408: %s must be first in contains list"
-msgstr "E408: %s ìຠáóòè ïåðøèì ðÿäêîì ó ôàéë³"
+msgstr "E408: %s ìຠáóòè ïåðøèì ðÿäêîì ó ñïèñêó óòðèìàíü"
 
 #, c-format
 msgid "E409: Unknown group name: %s"
-msgstr "E409: Íåâ³ðíà íàçâà ãðóïè: %s"
+msgstr "E409: Íåïðàâèëüíà íàçâà ãðóïè: %s"
 
 # msgstr "E409: "
 #, c-format
 msgid "E410: Invalid :syntax subcommand: %s"
-msgstr "E410: Íåâ³ðíà ï³äêîìàíäà :syntax : %s"
+msgstr "E410: Íåïðàâèëüíà ï³äêîìàíäà :syntax: %s"
+
+msgid "E679: recursive loop loading syncolor.vim"
+msgstr "E679: Ðåêóðñèâíèé öèêë ÷èòàííÿ syncolor.vim"
 
 # msgstr "E410: "
 #, c-format
 msgid "E411: highlight group not found: %s"
-msgstr "E411: Êîëüîð íå çíàéäåíî: %s"
+msgstr "E411: Ãðóïó ï³äñâ³÷óâàííÿ íå çíàéäåíî: %s"
 
 # msgstr "E411: "
 #, c-format
 msgid "E412: Not enough arguments: \":highlight link %s\""
-msgstr "E412: Íåäîñòàòíüî àðãóìåíò³â: \"highlight link %s\""
+msgstr "E412: Íåäîñòàòíüî àðãóìåíò³â: \":highlight link %s\""
 
 # msgstr "E412: "
 #, c-format
@@ -4099,25 +5344,25 @@ msgstr "E413: 
 
 # msgstr "E413: "
 msgid "E414: group has settings, highlight link ignored"
-msgstr "E414: Êîë³ð óæå âñòàíîâëåíî, \":highlight link\" ïðî³ãíîðîâàíî"
+msgstr "E414: Êîë³ð óæå âñòàíîâëåíî, highlight link ïðî³ãíîðîâàíî"
 
 # msgstr "E414: "
 #, c-format
 msgid "E415: unexpected equal sign: %s"
-msgstr "E415: Çíàê ð³âíîñò³ íå ïîòð³áåí: %s"
+msgstr "E415: Íåñïîä³âàíèé çíàê ð³âíîñò³: %s"
 
 # msgstr "E415: "
 #, c-format
 msgid "E416: missing equal sign: %s"
-msgstr "E416: Âòðà÷åíî çíàê ð³âíîñò³: %s"
+msgstr "E416: Ïðîïóùåíî çíàê ð³âíîñò³: %s"
 
 #, c-format
 msgid "E417: missing argument: %s"
-msgstr "E417: Âòðà÷åíî àðãóìåíò: %s"
+msgstr "E417: Ïðîïóùåíî àðãóìåíò: %s"
 
 #, c-format
 msgid "E418: Illegal value: %s"
-msgstr "E418: Íåâ³ðíå çíà÷åííÿ: %s"
+msgstr "E418: Íåïðàâèëüíå çíà÷åííÿ: %s"
 
 # msgstr "E418: "
 msgid "E419: FG color unknown"
@@ -4130,7 +5375,7 @@ msgstr "E420: 
 # msgstr "E420: "
 #, c-format
 msgid "E421: Color name or number not recognized: %s"
-msgstr "E421: Íåçðîçóì³ëà íàçâà àáî íîìåð êîëüîðó: %s"
+msgstr "E421: Íåðîçï³çíàíà íàçâà àáî íîìåð êîëüîðó: %s"
 
 # msgstr "E421: "
 #, c-format
@@ -4140,47 +5385,47 @@ msgstr "E422: 
 # msgstr "E422: "
 #, c-format
 msgid "E423: Illegal argument: %s"
-msgstr "E423: Íåâ³ðíèé àðãóìåíò: %s"
+msgstr "E423: Íåïðàâèëüíèé àðãóìåíò: %s"
 
 # msgstr "E423: "
 msgid "E424: Too many different highlighting attributes in use"
-msgstr "E424: Çàáàãàòî ð³çíèõ àòðèáóò êîëüîðó"
+msgstr "E424: Âèêîðèñòàíî çàáàãàòî ð³çíèõ àòðèáóò³â êîëüîðó"
+
+msgid "E669: Unprintable character in group name"
+msgstr "E669: Íåäðóêîâíèé ñèìâîë ó íàçâ³ ãðóïè"
+
+# msgstr "E181: "
+msgid "W18: Invalid character in group name"
+msgstr "W18: Íåêîðåêòíèé ñèìâîë ó íàçâ³ ãðóïè"
 
 # msgstr "E424: "
-msgid "at bottom of tag stack"
-msgstr "ñòåê ïîì³òîê ïîðîæí³é"
+msgid "E555: at bottom of tag stack"
+msgstr "E555: Ê³íåöü ñòåêó òå´³â"
 
-msgid "at top of tag stack"
-msgstr "âåðøèíà ñòåêó ïîì³òîê"
+msgid "E556: at top of tag stack"
+msgstr "E556: Âåðøèíà ñòåêó òå´³â"
 
 msgid "E425: Cannot go before first matching tag"
-msgstr "E425: Íå ìîæó ïåðåéòè äî ïîïåðåäíîü¿ ïîì³òêè ç ïåðøî¿"
+msgstr "E425: Öå âæå íàéïåðøèé â³äïîâ³äíèé òå´"
 
 # msgstr "E425: "
 #, c-format
 msgid "E426: tag not found: %s"
-msgstr "E426: ïîì³òêó %s íå çíàéäåíî"
+msgstr "E426: Òå´ %s íå çíàéäåíî"
 
 # msgstr "E426: "
-#~ msgid "  # pri kind tag"
-#~ msgstr ""
+msgid "  # pri kind tag"
+msgstr "  # ïð³ òèï  òå´"
 
 msgid "file\n"
 msgstr "ôàéë\n"
 
-#.
-#. * Ask to select a tag from the list.
-#. * When using ":silent" assume that <CR> was entered.
-#.
-msgid "Enter nr of choice (<CR> to abort): "
-msgstr "ßêó ñàìå ïîì³òêó âèêîðèñòàòè (<CR> äëÿ â³äì³íè): "
-
 msgid "E427: There is only one matching tag"
-msgstr "E427: Ëèøå îäíà â³äïîâ³äíà ïîì³òêà"
+msgstr "E427: Ëèøå îäíèí â³äïîâ³äíèé òå´"
 
 # msgstr "E427: "
 msgid "E428: Cannot go beyond last matching tag"
-msgstr "E428: Öå îñòàííÿ â³äïîâ³äíî ïîì³òêà"
+msgstr "E428: Öå âæå îñòàíí³é â³äïîâ³äíèé òå´"
 
 # msgstr "E428: "
 #, c-format
@@ -4190,13 +5435,13 @@ msgstr "
 #. Give an indication of the number of matching tags
 #, c-format
 msgid "tag %d of %d%s"
-msgstr "ïîì³òêà %d ç %d%s"
+msgstr "òå´ %d ç %d%s"
 
 msgid " or more"
 msgstr " àáî á³ëüøå"
 
 msgid "  Using tag with different case!"
-msgstr "  Âèêîðèñòîâóþ ïîì³òêó íå ðîçð³çíÿþ÷è âåëèê³ òà ìàë³ ë³òåðè"
+msgstr "  Âèêîðèñòîâóþ òå´, íå ðîçð³çíÿþ÷è âåëèê³ òà ìàë³ ë³òåðè"
 
 #, c-format
 msgid "E429: File \"%s\" does not exist"
@@ -4204,29 +5449,25 @@ msgstr "E429: 
 
 # msgstr "E429: "
 #. Highlight title
-#~ msgid ""
-#~ "\n"
-#~ "  # TO tag         FROM line  in file/text"
-#~ msgstr ""
-
-msgid "Linear tag search"
-msgstr "˳í³éíèé ïîøóê ïîì³òêè"
-
-msgid "Binary tag search"
-msgstr "Äâ³éêîâèé ïîøóê ïîì³òêè"
+msgid ""
+"\n"
+"  # TO tag         FROM line  in file/text"
+msgstr ""
+"\n"
+"  # ÄΠòå´ó        Ç ðÿäêà  ó ôàéë³/òåêñò³"
 
 #, c-format
 msgid "Searching tags file %s"
-msgstr "Øóêàþ à ôàéë³ ïîì³òîê %s"
+msgstr "Øóêàºìî ó ôàéë³ òå´³â %s"
 
 #, c-format
 msgid "E430: Tag file path truncated for %s\n"
-msgstr "E430: Øëÿõ äëÿ %s â ôàéë³ ïîì³òê çêîðî÷åíî\n"
+msgstr "E430: Øëÿõ ôàéëó òå´³â ñêîðî÷åíî äî %s\n"
 
 # msgstr "E430: "
 #, c-format
 msgid "E431: Format error in tags file \"%s\""
-msgstr "E431: Ïîìèëêà ôîðìàòó ó ôàéë³ ïîì³òîê \"%s\""
+msgstr "E431: Ïîìèëêà ôîðìàòó ó ôàéë³ òå´³â \"%s\""
 
 # msgstr "E431: "
 #, c-format
@@ -4235,43 +5476,43 @@ msgstr "
 
 #, c-format
 msgid "E432: Tags file not sorted: %s"
-msgstr "E432: Ôàéë ïîì³òîê %s íå âïîðÿäêîâàíèé"
+msgstr "E432: Ôàéë òå´³â íå âïîðÿäêîâàíèé: %s"
 
 # msgstr "E432: "
 #. never opened any tags file
 msgid "E433: No tags file"
-msgstr "E433: Íåìຠôàëà ïîì³òîê"
+msgstr "E433: Íåìຠôàéëó òå´³â"
 
 # msgstr "E433: "
 msgid "E434: Can't find tag pattern"
-msgstr "E434: Íå ìîæó çíàéòè ïîì³òêó çà ¿¿ çðàçêîì"
+msgstr "E434: Íå çì³ã çíàéòè òå´ çà çðàçêîì"
 
 # msgstr "E434: "
 msgid "E435: Couldn't find tag, just guessing!"
-msgstr "E435: Íå ìîæó çíàéòè ïîì³òêó, çäîãàäóþñü!"
+msgstr "E435: Íå çì³ã çíàéòè òå´, ñïðîáóºìî âãàäàòè!"
 
 # msgstr "E435: "
 msgid "' not known. Available builtin terminals are:"
 msgstr "' íå â³äîìèé. Âáóäîâàí³ òåðì³íàëè:"
 
 msgid "defaulting to '"
-msgstr "áóäåìî ââàæàòè ùî öå '"
+msgstr "áóäåìî ââàæàòè, ùî öå '"
 
-msgid "Cannot open termcap file"
-msgstr "Íå ìîæó â³äêðèòè ³àéë ìîæëèâîñòåé òåðì³íàë³â [termcap]"
+msgid "E557: Cannot open termcap file"
+msgstr "E557: Íå çì³ã â³äêðèòè ôàéë ìîæëèâîñòåé òåðì³íàë³â"
 
-msgid "Terminal entry not found in terminfo"
-msgstr "Íåìຠ³íôîðìàö³¿ ïðî òåðì³íàë [terminfo]"
+msgid "E558: Terminal entry not found in terminfo"
+msgstr "E558: Íåìຠ³íôîðìàö³¿ ïðî òåðì³íàë"
 
-msgid "Terminal entry not found in termcap"
-msgstr "Íåìຠ³íôîðìàö³¿ ïðî ìîæëèâîñò³ òåðì³íàëà [termcap]"
+msgid "E559: Terminal entry not found in termcap"
+msgstr "E559: Íåìຠ³íôîðìàö³¿ ïðî ìîæëèâîñò³ òåðì³íàëó"
 
 #, c-format
 msgid "E436: No \"%s\" entry in termcap"
-msgstr "E436: Íåìຠ³íôîðìàö³¿ ïðî ìîæëèâîñò³ òåðì³íàëà \"%s\" [termcap]"
+msgstr "E436: Íåìຠ³íôîðìàö³¿ ïðî ìîæëèâîñò³ òåðì³íàëó \"%s\""
 
 msgid "E437: terminal capability \"cm\" required"
-msgstr "E437: ìîæëèâ³ñòü òåðì³íàëà \"cm\" îáîâ'ÿçêîâà"
+msgstr "E437: Ïîòð³áíà ìîæëèâ³ñòü òåðì³íàëó \"cm\""
 
 #. Highlight title
 msgid ""
@@ -4279,35 +5520,81 @@ msgid ""
 "--- Terminal keys ---"
 msgstr ""
 "\n"
-"--- Êëàâ³ø³ òåðì³íàëà ---"
+"--- Êëàâ³ø³ òåðì³íàëó ---"
 
 msgid "new shell started\n"
-msgstr "ðîçïî÷àòî íîâèé shell\n"
+msgstr "çàïóùåíî íîâó îáîëîíêó\n"
 
 msgid "Vim: Error reading input, exiting...\n"
-msgstr "Vim: Ïîìèëêà ÷èòàííÿ ââîäó, çàâåðøóþ ðîáîòó...\n"
+msgstr "Vim: Ïîìèëêà ÷èòàííÿ ââîäó, çàâåðøóºìî ðîáîòó...\n"
 
 #. must display the prompt
 msgid "No undo possible; continue anyway"
-msgstr "³äì³íà íå áóäå ìîæëèâà, ïðîäîâæèòè"
+msgstr "Ñêàñóâàííÿ áóäå íåìîæëèâå, âñå îäíî ïðîäîâæèòè"
+
+msgid "Already at oldest change"
+msgstr "Âæå íà íàéñòàðø³é çì³í³"
+
+msgid "Already at newest change"
+msgstr "Âæå íà íàéíîâ³ø³é çì³í³"
+
+#, c-format
+msgid "Undo number %ld not found"
+msgstr "Áóôåð ñêàñóâàííÿ %ld íå çíàéäåíî"
 
 msgid "E438: u_undo: line numbers wrong"
-msgstr "E438: u_undo: íåâ³ðí³ íîìåðè ðÿäê³â [ïîìèëêà ïðîãðàìè]"
+msgstr "E438: u_undo: íåïðàâèëüí³ íîìåðè ðÿäê³â"
+
+msgid "more line"
+msgstr "äîäàíî ðÿäîê"
+
+msgid "more lines"
+msgstr "ðÿäê³â äîäàíî"
+
+msgid "line less"
+msgstr "çíèùåíî ðÿäîê"
+
+msgid "fewer lines"
+msgstr "ðÿäê³â çíèùåíî"
+
+# msgstr "E438: "
+msgid "change"
+msgstr "çì³íà"
 
 # msgstr "E438: "
-msgid "1 change"
-msgstr "îäíà çì³íà"
+msgid "changes"
+msgstr "çì³í"
+
+#, c-format
+msgid "%ld %s; %s #%ld  %s"
+msgstr "%ld %s; %s #%ld  %s"
+
+msgid "before"
+msgstr "ïåðåä"
+
+msgid "after"
+msgstr "ï³ñëÿ"
+
+msgid "Nothing to undo"
+msgstr "Íåìຠí³÷îãî ñêàñîâóâàòè"
+
+msgid "number changes  time"
+msgstr "íîìåð  çì³í     ÷àñ"
 
 #, c-format
-msgid "%ld changes"
-msgstr "çì³í: %ld"
+msgid "%ld seconds ago"
+msgstr "%ld ñåêóíä òîìó"
+
+# msgstr "E406: "
+msgid "E790: undojoin is not allowed after undo"
+msgstr "E790: Íå ìîæíà âèêîíàòè undojoin ï³ñëÿ undo"
 
 msgid "E439: undo list corrupt"
-msgstr "E439: Ñïèñîê â³äì³íè ïîøêîäæåíî [ïîìèëêà ïðîãðàìè]"
+msgstr "E439: Ñïèñîê ñêàñóâàííÿ ïîøêîäæåíî"
 
 # msgstr "E439: "
 msgid "E440: undo line missing"
-msgstr "E440: âòðà÷åíî ðÿäîê â³äì³íè [ïîìèëêà ïðîãðàìè]"
+msgstr "E440: Â³äñóòí³é ðÿäîê ñêàñóâàííÿ"
 
 # msgstr "E440: "
 # ---------------------------------------
@@ -4317,14 +5604,21 @@ msgid ""
 "MS-Windows 16/32 bit GUI version"
 msgstr ""
 "\n"
-"Âåðñ³ÿ äëÿ 16/32 bit Windows ç ï³äòðèìêîþ GUI"
+"Âåðñ³ÿ äëÿ 16/32-ðîçðÿäíî¿ Windows ç GUI"
+
+msgid ""
+"\n"
+"MS-Windows 64 bit GUI version"
+msgstr ""
+"\n"
+"Âåðñ³ÿ ç GUI äëÿ 64-ðîçðÿäíî¿ MS-Windows"
 
 msgid ""
 "\n"
 "MS-Windows 32 bit GUI version"
 msgstr ""
 "\n"
-"Âåðñ³ÿ äëÿ 32 bit Windows ç ï³äòðèìêîþ GUI"
+"Âåðñ³ÿ äëÿ 32-ðîçðÿäíî¿ Windows ç GUI"
 
 msgid " in Win32s mode"
 msgstr " â ðåæèì³ Win32s"
@@ -4337,28 +5631,28 @@ msgid ""
 "MS-Windows 32 bit console version"
 msgstr ""
 "\n"
-"Âåðñ³ÿ äëÿ 32 bit Windows"
+"Êîíñîëüíà âåðñ³ÿ äëÿ 32-ðîçðÿäíî¿ Windows"
 
 msgid ""
 "\n"
 "MS-Windows 16 bit version"
 msgstr ""
 "\n"
-"Âåðñ³ÿ äëÿ 16 bit Windows"
+"Âåðñ³ÿ äëÿ 16-ðîçðÿäíî¿ Windows"
 
 msgid ""
 "\n"
 "32 bit MS-DOS version"
 msgstr ""
 "\n"
-"Âåðñ³ÿ äëÿ 32 bit MS-DOS"
+"Âåðñ³ÿ äëÿ 32-ðîçðÿäíî¿ MS-DOS"
 
 msgid ""
 "\n"
 "16 bit MS-DOS version"
 msgstr ""
 "\n"
-"Âåðñ³ÿ äëÿ 16 bit MS-DOS"
+"Âåðñ³ÿ äëÿ 16-ðîçðÿäíî¿ MS-DOS"
 
 msgid ""
 "\n"
@@ -4386,103 +5680,110 @@ msgid ""
 "RISC OS version"
 msgstr ""
 "\n"
-"âåðñ³ÿ RISC OS"
+"Âåðñ³ÿ äëÿ RISC OS"
 
 msgid ""
 "\n"
 "Included patches: "
 msgstr ""
 "\n"
-"Âêëþ÷åíî ëàòêè: "
+"Âêëþ÷åí³ ëàòêè: "
+
+msgid "Modified by "
+msgstr "Çì³íèâ "
 
 msgid ""
 "\n"
 "Compiled "
 msgstr ""
 "\n"
-"Çêîìï³ëüîâàíî "
+"Ñêîìï³ëþâàâ "
 
 msgid "by "
-msgstr "-- "
+msgstr " "
 
 msgid ""
 "\n"
 "Huge version "
 msgstr ""
 "\n"
-"Âåðñ³ÿ `huge' "
+"óãàíòñüêà âåðñ³ÿ "
 
 msgid ""
 "\n"
 "Big version "
 msgstr ""
 "\n"
-"Âåðñ³ÿ `big' "
+"Âåëèêà âåðñ³ÿ "
 
 msgid ""
 "\n"
 "Normal version "
 msgstr ""
 "\n"
-"Âåðñ³ÿ `normal' "
+"Íîðìàëüíà âåðñ³ÿ "
 
 msgid ""
 "\n"
 "Small version "
 msgstr ""
 "\n"
-"Âåðñ³ÿ `small' "
+"Ìàëà âåðñ³ÿ "
 
 msgid ""
 "\n"
 "Tiny version "
 msgstr ""
 "\n"
-"Âåðñ³ÿ `tiny' "
+"Êðèõ³òíà âåðñ³ÿ "
 
 msgid "without GUI."
-msgstr "áåç ï³äòðèìêè GUI."
+msgstr "áåç GUI."
+
+msgid "with GTK2-GNOME GUI."
+msgstr "ç GUI GTK2-GNOME."
 
 msgid "with GTK-GNOME GUI."
-msgstr "ç ï³äòðèìêîþ GTK-GNOME GUI."
+msgstr "ç GUI GTK-GNOME."
+
+msgid "with GTK2 GUI."
+msgstr "ç GUI GTK2."
 
 msgid "with GTK GUI."
-msgstr "ç ï³äòðèìêîþ GTK GUI."
+msgstr "ç GUI GTK."
 
 msgid "with X11-Motif GUI."
-msgstr "ç ï³äòðèìêîþ X11-Motif GUI."
+msgstr "ç GUI X11-Motif."
 
-msgid "with X11-Athena GUI."
-msgstr "ç ï³äòðèìêîþ X11-Athena GUI."
+msgid "with X11-neXtaw GUI."
+msgstr "ç GUI X11-neXtaw."
 
-msgid "with BeOS GUI."
-msgstr "ç ï³äòðèìêîþ BeOS GUI."
+msgid "with X11-Athena GUI."
+msgstr "ç GUI X11-Athena."
 
 msgid "with Photon GUI."
-msgstr "ç ï³äòðèìêîþ Photon GUI."
+msgstr "ç GUI Photon."
 
 msgid "with GUI."
-msgstr "ç ï³äòðèìêîþ GUI."
+msgstr "ç GUI."
 
 msgid "with Carbon GUI."
-msgstr "ç ï³äòðèìêîþ Carbon GUI."
+msgstr "ç GUI Carbon."
 
 msgid "with Cocoa GUI."
-msgstr "ç ï³äòðèìêîþ Cocoa GUI."
+msgstr "ç GUI Cocoa."
 
 msgid "with (classic) GUI."
 msgstr "ç (êëàñè÷íèì) GUI."
 
 msgid "  Features included (+) or not (-):\n"
-msgstr ""
-" \n"
-"̳ñòèòü (+) [àáî íå ì³ñòèòü (-)] òàê³ êîìïîíåíòè:\n"
+msgstr "  Âêëþ÷åí³ (+) àáî íå âêëþ÷åí³ (-) êîìïîíåíòè:\n"
 
 msgid "   system vimrc file: \""
-msgstr "          ñèñòåìíèé vimrc: \""
+msgstr "   ñèñòåìíèé vimrc: \""
 
 msgid "     user vimrc file: \""
-msgstr "        vimrc êîðèñòóâà÷à: \""
+msgstr "     vimrc êîðèñòóâà÷à: \""
 
 msgid " 2nd user vimrc file: \""
 msgstr " äðóãèé vimrc êîðèñòóâà÷à: \""
@@ -4491,16 +5792,16 @@ msgid " 3rd user vimrc file: \""
 msgstr " òðåò³é vimrc êîðèñòóâà÷à: \""
 
 msgid "      user exrc file: \""
-msgstr "         exrc êîðèñòóâà÷à: \""
+msgstr "      exrc êîðèñòóâà÷à: \""
 
 msgid "  2nd user exrc file: \""
 msgstr "  äðóãèé exrc êîðèñòóâà÷à: \""
 
 msgid "  system gvimrc file: \""
-msgstr "         ñèñòåìíèé gvimrc: \""
+msgstr "  ñèñòåìíèé gvimrc: \""
 
 msgid "    user gvimrc file: \""
-msgstr "       gvimrc êîðèñòóâà÷à: \""
+msgstr "    gvimrc êîðèñòóâà÷à: \""
 
 msgid "2nd user gvimrc file: \""
 msgstr "äðóãèé gvimrc êîðèñòóâà÷à: \""
@@ -4509,141 +5810,169 @@ msgid "3rd user gvimrc file: \""
 msgstr "òðåò³é gvimrc êîðèñòóâà÷à: \""
 
 msgid "    system menu file: \""
-msgstr "            ñèñòåìíå ìåíþ: \""
+msgstr "    ñèñòåìíå ìåíþ: \""
 
 msgid "  fall-back for $VIM: \""
-msgstr "          çàì³íà äëÿ $VIM: \""
+msgstr "  çàì³íà äëÿ $VIM: \""
 
 msgid " f-b for $VIMRUNTIME: \""
-msgstr "   çàì³íà äëÿ $VIMRUNTIME: \""
+msgstr " çàì³íà äëÿ $VIMRUNTIME: \""
 
 msgid "Compilation: "
-msgstr "Çêîìï³ëüîâàíî: "
+msgstr "Ñêîìï³ëüîâàíî: "
 
 msgid "Compiler: "
 msgstr "Êîìï³ëÿòîð: "
 
 msgid "Linking: "
-msgstr "Çêîìïîíîâàíî: "
+msgstr "Ñêîìïîíîâàíî: "
 
 msgid "  DEBUG BUILD"
 msgstr "  ÂÅÐѲߠÄËß ÍÀËÀÃÎÄÆÅÍÍß"
 
 msgid "VIM - Vi IMproved"
-msgstr "Vim - Ïîêðàùåíèé Vi"
+msgstr "VIM - Ïîêðàùåíèé Vi"
 
 msgid "version "
-msgstr "âåðñ³ÿ: "
+msgstr "âåðñ³ÿ "
 
 msgid "by Bram Moolenaar et al."
-msgstr " àâòîð: Bram Moolenaar òà ³í."
+msgstr "àâòîð: Bram Moolenaar òà ³í."
 
 msgid "Vim is open source and freely distributable"
-msgstr "Vim öå â³äêðèòà ïðîãðàìà, âè ìîæåòå â³ëüíî ðîçïîâñþäæóâàòè ¿¿"
+msgstr "Vim -- öå â³äêðèòà òà â³ëüíî ðîçïîâñþäæóâàíà ïðîãðàìà"
 
 msgid "Help poor children in Uganda!"
 msgstr "Äîïîìîæ³òü ñèðîòàì ç Óãàíäè!"
 
 msgid "type  :help iccf<Enter>       for information "
-msgstr ":help iccf<Enter>        ïîäàëüøà ³íôîðìàö³ÿ      "
+msgstr ":help iccf<Enter>         ïîäðîáèö³                "
 
 msgid "type  :q<Enter>               to exit         "
-msgstr ":q<Enter>                âèõ³ä ç Vim              "
+msgstr ":q<Enter>                 âèõ³ä ç Vim              "
 
 msgid "type  :help<Enter>  or  <F1>  for on-line help"
-msgstr ":help<Enter> àáî <F1>    ïåðåãëÿä äîïîìîãè        "
+msgstr ":help<Enter> àáî <F1>     ïåðåãëÿä äîïîìîãè        "
 
-msgid "type  :help version6<Enter>   for version info"
-msgstr ":help version6<Enter>    ³íôîðìàö³ÿ ïðî Vim 6     "
+msgid "type  :help version7<Enter>   for version info"
+msgstr ":help version7<Enter>     ³íôîðìàö³ÿ ïðî âåðñ³þ    "
 
 msgid "Running in Vi compatible mode"
 msgstr "Âè ïðàöþºòå â ðåæèì³ ñóì³ñíîìó ç Vi"
 
 msgid "type  :set nocp<Enter>        for Vim defaults"
-msgstr ":set nocp<Enter>         ðåæèì íåñóì³ñíèé ç Vi    "
+msgstr ":set nocp<Enter>          ðåæèì íåñóì³ñíèé ç Vi    "
 
 msgid "type  :help cp-default<Enter> for info on this"
-msgstr ":help cp-default<Enter>  ³íôîðìàö³ÿ ïðî ñóì³ñí³ñòü"
+msgstr ":help cp-default<Enter>   ³íôîðìàö³ÿ ïðî ñóì³ñí³ñòü"
 
 msgid "menu  Help->Orphans           for information    "
-msgstr "ìåíþ  Help->Orphans           ïîäàëüøà ³íôîðìàö³ÿ"
+msgstr "ìåíþ  Help->Orphans       ïîäàëüøà ³íôîðìàö³ÿ      "
 
 msgid "Running modeless, typed text is inserted"
 msgstr "Ïðàöþºìî áåç ðåæèì³â, òåêñò ùî íàáðàíî âñòàâëÿºòüñÿ"
 
 msgid "menu  Edit->Global Settings->Toggle Insert Mode  "
-msgstr "ìåíþ  Edit->Global Settings->Toggle Insert Mode  "
+msgstr "ìåíþ  Edit->Global Settings->Toggle Insert Mode    "
 
 msgid "                              for two modes      "
-msgstr "                              äëÿ äâîõ ðåæèì³â   "
+msgstr "                          äëÿ äâîõ ðåæèì³â         "
 
 msgid "menu  Edit->Global Settings->Toggle Vi Compatible"
-msgstr "ìåíþ  Edit->Global Settings->Toggle Vi Compatible"
+msgstr "ìåíþ  Edit->Global Settings->Toggle Vi Compatible  "
+
+msgid "                              for Vim defaults   "
+msgstr "              ùîá ïî÷èíàòè â ðåæèì³ ñóì³ñíîñò³ ç Vi"
 
-#, fuzzy
-#~ msgid "                              for Vim defaults   "
-#~ msgstr "                              äëÿ Vim defaults   "
+msgid "Sponsor Vim development!"
+msgstr "ϳäòðèìàéòå ðîçðîáêó ðåäàêòîðà Vim!"
+
+msgid "Become a registered Vim user!"
+msgstr "Ñòàíüòå çàðåºñòðîâàíèì êîðèñòóâà÷åì Vim!"
+
+msgid "type  :help sponsor<Enter>    for information "
+msgstr ":help sponsor<Enter>      ïîäàëüøà ³íôîðìàö³ÿ      "
+
+msgid "type  :help register<Enter>   for information "
+msgstr ":help register<Enter>     ïîäàëüøà ³íôîðìàö³ÿ      "
+
+msgid "menu  Help->Sponsor/Register  for information    "
+msgstr "ìåíþ  Äîïîìîãà->Ñïîíñîð/Ðåºñòðàö³ÿ  ïîäðîáèö³      "
 
 msgid "WARNING: Windows 95/98/ME detected"
 msgstr "ÓÂÀÃÀ: Âè êîðèñòóºòåñÿ Windows 95/98/ME"
 
 msgid "type  :help windows95<Enter>  for info on this"
-msgstr ":help windows95<Enter>   ³íôîðìàö³ÿ ïðî öå        "
+msgstr ":help windows95<Enter>    ³íôîðìàö³ÿ ïðî öå        "
+
+# msgstr "E444: "
+msgid "Already only one window"
+msgstr "Öå âæå ºäèíå â³êíî"
 
 msgid "E441: There is no preview window"
-msgstr "E441: Â³êíî ïåðåãëÿäó â³äñóòíº"
+msgstr "E441: Íåìຠâ³êíà ïåðåãëÿäó"
 
 # msgstr "E441: "
 msgid "E442: Can't split topleft and botright at the same time"
-msgstr "E442: Íå ìîæó ðîçì³ñòèòè â³êíî îäíî÷àñíî â îáîõ êóòàõ"
+msgstr "E442: Íå çì³ã îäíî÷àñíî ðîçáèòè topleft òà botright"
 
 # msgstr "E442: "
 msgid "E443: Cannot rotate when another window is split"
-msgstr "E443: Íå ìîæó çì³ñòèòè â³êíî -- ³íø³ â³êíà çàâàæàþòü"
+msgstr "E443: Íå çì³ã ïåðåì³ñòèòè â³êíî, çàâàæàþòü ³íø³"
 
 # msgstr "E443: "
 msgid "E444: Cannot close last window"
-msgstr "E444: Íå ìîæó çàêðèòè îñòàííº â³êíî"
-
-# msgstr "E444: "
-msgid "Already only one window"
-msgstr "Ëèøå îäíå â³êíî"
+msgstr "E444: Íå çì³ã çàêðèòè îñòàííº â³êíî"
 
 msgid "E445: Other window contains changes"
-msgstr "E445: ²íø³ â³êíà ì³ñòÿòü çì³íè"
+msgstr "E445: Ó ³íøîìó â³êí³ º çì³íè"
 
 # msgstr "E445: "
 msgid "E446: No file name under cursor"
-msgstr "E446: Âè íå ñòî¿òå íà ³ìåí³ ôàéëà"
+msgstr "E446: Íåìຠíàçâè ôàéëó íàä êóðñîðîì"
 
 # msgstr "E446: "
 #, c-format
 msgid "E447: Can't find file \"%s\" in path"
-msgstr "E447: Ôàéë \"%s\" íå çíàéäåíî ó 'path'"
+msgstr "E447: Ôàéë \"%s\" íå çíàéäåíî ó øëÿõó ïîøóêó"
+
+#, c-format
+msgid "E370: Could not load library %s"
+msgstr "E370: Íå çì³ã çàâàíòàæèòè á³áë³îòåêó %s"
+
+msgid "Sorry, this command is disabled: the Perl library could not be loaded."
+msgstr "Âèáà÷òå, öÿ êîìàíäà âèìêíåíà, á³áë³îòåêà Perl íå ìîæå áóòè çàâàíòàæåíà."
+
+msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
+msgstr "E299: Îá÷èñëåííÿ âèðàç³â Perl çàáîðîíåíå ó ï³ñî÷íèö³ áåç ìîäóëÿ Safe"
 
 msgid "Edit with &multiple Vims"
-msgstr "Ðåäàãóâàòè (&m)ð³çíèìè Vim"
+msgstr "Ðåäàãóâàòè ó (&m)ð³çíèõ Vim"
 
 msgid "Edit with single &Vim"
-msgstr "Ðåäàãóâàòè îäíèì (&V)im"
+msgstr "Ðåäàãóâàòè ó îäíîìó (&V)im"
+
+msgid "Diff with Vim"
+msgstr "Ïîð³âíÿòè ç äîïîìîãîþ Vim"
 
 msgid "Edit with &Vim"
-msgstr "Ðåäàãóâàòè çà äîòîìîãîþ &Vim"
+msgstr "Ðåäàãóâàòè çà äîïîìîãîþ &Vim"
 
-msgid "Edit with existing Vim - &"
-msgstr "Ðåäàãóâàòè (&e)³ñíóþ÷èì Vim"
+#. Now concatenate
+msgid "Edit with existing Vim - "
+msgstr "Ðåäàãóâàòè ó âæå çàïóùåíîìó Vim - "
 
 msgid "Edits the selected file(s) with Vim"
-msgstr "Ðåäàãóâàòè âèáðàí³ ôàéëè çà äîïîìîãîþ Vim"
+msgstr "Ðåäàãóº âèáðàí³ ôàéëè ç äîïîìîãîþ Vim"
 
 msgid "Error creating process: Check if gvim is in your path!"
-msgstr "Ïîìèëêà ñòâîðåííÿ ïðîöåñó, ïåðåâ³ðòå ÷è gvim º íà øëÿõó ïîøóêó!"
+msgstr "Ïîìèëêà ñòâîðåííÿ ïðîöåñó, ïåðåâ³ðòå ÷è º gvim ó øëÿõó ïîøóêó!"
 
 msgid "gvimext.dll error"
 msgstr "ïîìèëêà gvimext.dll"
 
 msgid "Path length too long!"
-msgstr "Øëÿõ çàíàäíî äîâãèé!"
+msgstr "Øëÿõ çàíàäòî äîâãèé!"
 
 # msgstr "E447: "
 msgid "--No lines in buffer--"
@@ -4653,180 +5982,223 @@ msgstr "--
 #. * The error messages that can be shared are included here.
 #. * Excluded are errors that are only used once and debugging messages.
 #.
-msgid "Command aborted"
-msgstr "Êîìàíäó çàâåðøåíî"
+msgid "E470: Command aborted"
+msgstr "E470: Êîìàíäó ïåðåðâàíî"
 
-msgid "Argument required"
-msgstr "Íåîáõ³äíî âêàçàòè àðãóìåíò"
+msgid "E471: Argument required"
+msgstr "E471: Íåîáõ³äíî âêàçàòè àðãóìåíò"
 
 msgid "E10: \\ should be followed by /, ? or &"
 msgstr "E10: Çà \\ ìຠéòè /, ? àáî &"
 
 # msgstr "E10: "
 msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits"
-msgstr "E11: Íåïðèïóñòèìî â â³êí³ êîìàíä, <CR> âèêîíóº, CTRL-C âèõîäèòü"
+msgstr "E11: Íåïðèïóñòèìî ó â³êí³ êîìàíä, <CR> âèêîíóº, CTRL-C âèõîäèòü"
 
 msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search"
-msgstr "E12: Êîìàíäà íå äîçâîëåíà ç ì³ðêóâàíü áåçïåêè"
+msgstr "E12: Êîìàíäà íå äîçâîëåíà ó exrc/vimrc ó ïîøóêó ïîòî÷íîãî êàòàëîãó ÷è òå´ó"
+
+msgid "E171: Missing :endif"
+msgstr "E171: Áðàêóº :endif"
+
+msgid "E600: Missing :endtry"
+msgstr "E600: Áðàêóº :endtry"
+
+msgid "E170: Missing :endwhile"
+msgstr "E170: Áðàêóº :endwhile"
+
+msgid "E170: Missing :endfor"
+msgstr "E170: Áðàêóº :endfor"
+
+msgid "E588: :endwhile without :while"
+msgstr "E588: :endwhile áåç :while"
+
+msgid "E588: :endfor without :for"
+msgstr "E588: :endfor áåç :for"
 
 msgid "E13: File exists (add ! to override)"
-msgstr "E13: Ôàéë ³ñíóº (âèêîðèñòàéòå ! ùîá íå çâàæàòè)"
+msgstr "E13: Ôàéë ³ñíóº (! ùîá íå çâàæàòè)"
+
+msgid "E472: Command failed"
+msgstr "E472: Êîìàíäà íà âäàëàñü"
+
+# msgstr "E233: "
+#, c-format
+msgid "E234: Unknown fontset: %s"
+msgstr "E234: Íåâ³äîìèé íàá³ð øðèôò³â: %s"
+
+#, c-format
+msgid "E235: Unknown font: %s"
+msgstr "E235: Íåâ³äîìèé øðèôò: %s"
 
-msgid "Command failed"
-msgstr "Êîìàíäà íà âäàëàñü"
+# msgstr "E235: "
+#, c-format
+msgid "E236: Font \"%s\" is not fixed-width"
+msgstr "E236: Øðèôò \"%s\" íå ìîíîøèðèííèé"
 
-msgid "Internal error"
-msgstr "Âíóòð³øíÿ ïîìèëêà"
+msgid "E473: Internal error"
+msgstr "E473: Âíóòð³øíÿ ïîìèëêà"
 
 msgid "Interrupted"
 msgstr "Ïåðåðâàíî"
 
 msgid "E14: Invalid address"
-msgstr "E14: Íåâ³ðíà àäðåñà"
+msgstr "E14: Íåïðàâèëüíà àäðåñà"
 
 # msgstr "E14: "
-msgid "Invalid argument"
-msgstr "Íåâ³ðíèé àðãóìåíò"
+msgid "E474: Invalid argument"
+msgstr "E474: Íåêîðåêòíèé àðãóìåíò"
 
 #, c-format
-msgid "Invalid argument: %s"
-msgstr "Íåâ³ðíèé àðãóìåíò %s"
+msgid "E475: Invalid argument: %s"
+msgstr "E475: Íåêîðåêòíèé àðãóìåíò: %s"
 
 #, c-format
 msgid "E15: Invalid expression: %s"
-msgstr "E15: Íåâ³ðíèé âèðàç: %s"
+msgstr "E15: Íåïðàâèëüíèé âèðàç: %s"
 
 # msgstr "E15: "
 msgid "E16: Invalid range"
-msgstr "E16: Íåâ³ðí³ ìåæ³"
+msgstr "E16: Íåïðàâèëüí³ ìåæ³"
 
 # msgstr "E16: "
-msgid "Invalid command"
-msgstr "Íåâ³ðíà êîìàíäà"
+msgid "E476: Invalid command"
+msgstr "E476: Íåêîðåêòíà êîìàíäà"
 
 #, c-format
 msgid "E17: \"%s\" is a directory"
-msgstr "E17: \"%s\" öå äèðåêòîð³ÿ"
+msgstr "E17: \"%s\" -- öå êàòàëîã"
 
-# msgstr "E17: "
-msgid "E18: Unexpected characters before '='"
-msgstr "E18: Íåcïîä³âàíèé ñèìâîë ïåðåä '='"
+#, c-format
+msgid "E364: Library call failed for \"%s()\""
+msgstr "E364: Á³áë³îòå÷íèé âèêëèê äî \"%s()\" íå âäàâñÿ"
+
+#, c-format
+msgid "E448: Could not load library function %s"
+msgstr "E448: Íå çì³ã çàâàíòàæèòè á³áë³îòå÷íó ôóíêö³þ %s"
 
 # msgstr "E18: "
 msgid "E19: Mark has invalid line number"
-msgstr "E19: Ïîì³òêó âêàçàíî ç íåìîæëèâèì íîìåðîì ðÿäêà"
+msgstr "E19: Ó ïîì³òêè íåêîðåêòíèé íîìåð ðÿäêà"
 
 # msgstr "E19: "
 msgid "E20: Mark not set"
-msgstr "E20: Ïîì³òêó íå âêàçàíî"
+msgstr "E20: Ïîì³òêó íå âñòàíîâëåíî"
 
 # msgstr "E20: "
 msgid "E21: Cannot make changes, 'modifiable' is off"
-msgstr "E21: Çì³íè íå äîçâîëåí³: 'modifiable' âèìêíóòî"
+msgstr "E21: Çì³íè íå äîçâîëåí³: âèìêíåíî 'modifiable'"
 
 # msgstr "E21: "
 msgid "E22: Scripts nested too deep"
-msgstr "E22: Çàíàäòî âåëèêà ê³ëüê³ñòü âêëàäåíèõ êîìàíäíèõ ôàéë³â"
+msgstr "E22: Çàáàãàòî âêëàäåíèõ ñêðèïò³â"
 
 # msgstr "E22: "
 msgid "E23: No alternate file"
-msgstr "E23: Íåìຠâòîðèííîãî ôàéëà"
+msgstr "E23: Íåìຠâòîðèííîãî ôàéëó"
 
 # msgstr "E23: "
 msgid "E24: No such abbreviation"
 msgstr "E24: Òàêîãî ñêîðî÷åííÿ íåìàº"
 
 # msgstr "E24: "
-msgid "No ! allowed"
-msgstr "Êîðèñòóâàòàòèñÿ ! íå äîçâîëåíî"
+msgid "E477: No ! allowed"
+msgstr "E477: ! íå äîçâîëåíî"
 
 msgid "E25: GUI cannot be used: Not enabled at compile time"
-msgstr "E25: GUI íå ìîæå áóòè âèêîðèñòàíî -- íå ââ³ìêíåíî ï³ä ÷àñ êîìï³ëÿö³¿"
+msgstr "E25: Íå ìîæíà âèêîðèñòàòè GUI: Íå ââ³ìêíåíî ï³ä ÷àñ êîìï³ëÿö³¿"
 
 msgid "E26: Hebrew cannot be used: Not enabled at compile time\n"
-msgstr ""
-"E25: Hebrew íå ìîæå áóòè âèêîðèñòàíî -- íå ââ³ìêíåíî ï³ä ÷àñ êîìï³ëÿö³¿\n"
+msgstr "E26: Íå ìîæíà âèêîðèñòàòè ³âðèò: Íå ââ³ìêíåíî ï³ä ÷àñ êîìï³ëÿö³¿\n"
 
 msgid "E27: Farsi cannot be used: Not enabled at compile time\n"
-msgstr ""
-"E25: Farsi íå ìîæå áóòè âèêîðèñòàíî -- íå ââ³ìêíåíî ï³ä ÷àñ êîìï³ëÿö³¿\n"
+msgstr "E27: Íå ìîæíà âèêîðèñòàòè ôàðñ³: Íå ââ³ìêíåíî ï³ä ÷àñ êîìï³ëÿö³¿\n"
+
+msgid "E800: Arabic cannot be used: Not enabled at compile time\n"
+msgstr "E800: Íå ìîæíà âèêîðèñòàòè àðàáñüêó ìîâó: Íå ââ³ìêíåíî ï³ä ÷àñ êîìï³ëÿö³¿\n"
 
 # msgstr "E25: "
 #, c-format
 msgid "E28: No such highlight group name: %s"
-msgstr "E28: Êîëüîð %s íå ³ñíóº"
+msgstr "E28: Íåìຠòàêî¿ ãðóïè ï³äñâ³÷óâàííÿ: %s"
 
 # msgstr "E28: "
 msgid "E29: No inserted text yet"
-msgstr "E29: Òåêñò öå íå ðåäàãóâàâñÿ"
+msgstr "E29: Òåêñò ùå íå áóëî äîäàíî"
 
 # msgstr "E29: "
 msgid "E30: No previous command line"
-msgstr "E30: Êîìàíäè ùå íå âèêîðèñòîâóâàëèñÿ"
+msgstr "E30: Ùå íå áóëî êîìàíä"
 
 # msgstr "E30: "
 msgid "E31: No such mapping"
-msgstr "Âêàçàí³ çàì³íà íå ³ñíóº"
+msgstr "E31: Íåìຠòàêî¿ çàì³íè"
 
 # msgstr "E31: "
-msgid "No match"
-msgstr "Æîäíîãî âàð³àíòó"
+msgid "E479: No match"
+msgstr "E479: Æîäíîãî çá³ãó"
 
 #, c-format
-msgid "No match: %s"
-msgstr "Æîäíîãî âàð³àíòó: %s"
+msgid "E480: No match: %s"
+msgstr "E480: Æîäíîãî çá³ãó: %s"
 
 msgid "E32: No file name"
-msgstr "Áðàêóº ³ìåí³ ôàéëà"
+msgstr "E32: Áðàêóº íàçâè ôàéëó"
 
 # msgstr "E32: "
 msgid "E33: No previous substitute regular expression"
-msgstr "Çàì³íà çðàçê³â øå íå âèêîðèñòîâóâàëàñü"
+msgstr "E33: Çàì³íà çðàçê³â ùå íå âèêîðèñòîâóâàëàñü"
 
 # msgstr "E33: "
 msgid "E34: No previous command"
-msgstr "Êîìàíäè ùå íå âèêîðèñòîâóâàëèñÿ"
+msgstr "E34: Êîìàíä ùå íå áóëî"
 
 # msgstr "E34: "
 msgid "E35: No previous regular expression"
-msgstr "Çðàçêè ùå íå âèêîðèñòîâóâàëèñÿ"
+msgstr "E35: Çðàçê³â ïîøóêó ùå íå áóëî"
 
 # msgstr "E35: "
-msgid "No range allowed"
-msgstr "Íå äîçâîëåíî âêàçóâàòè ìåæ³"
+msgid "E481: No range allowed"
+msgstr "E481: Íå äîçâîëåíî âêàçóâàòè ìåæ³"
 
 msgid "E36: Not enough room"
-msgstr "Íå äîñèòü ì³ñöÿ"
+msgstr "E36: Ì³ñöÿ íå âèñòà÷èòü"
+
+#, c-format
+msgid "E247: no registered server named \"%s\""
+msgstr "E247: Íåìຠçàðåºñòðîâàíèõ ñåðâåð³â ç íàçâîþ \"%s\""
 
 # msgstr "E36: "
 #, c-format
-msgid "Can't create file %s"
-msgstr "Íå ìîæó ñòâîðèòè ôàéë %s"
+msgid "E482: Can't create file %s"
+msgstr "E482: Íå çì³ã ñòâîðèòè ôàéë %s"
 
-msgid "Can't get temp file name"
-msgstr "Íå ìîæó çôîðìóâàòè ³ì'ÿ äëÿ òèì÷àñîâîãî ôàéëà"
+msgid "E483: Can't get temp file name"
+msgstr "E483: Íå çì³ã ñôîðìóâàòè íàçâó òèì÷àñîâîãî ôàéëó"
 
 #, c-format
-msgid "Can't open file %s"
-msgstr "Íå ìîæó â³äêðèòè ôàéë %s"
+msgid "E484: Can't open file %s"
+msgstr "E484: Íå çì³ã â³äêðèòè ôàéë %s"
 
 #, c-format
-msgid "Can't read file %s"
-msgstr "Íå ìîæó ç÷èòàòè ôàéë %s"
+msgid "E485: Can't read file %s"
+msgstr "E485: Íå çì³ã ïðî÷èòàòè ôàéë %s"
 
-msgid "E37: No write since last change (use ! to override)"
-msgstr ""
-"E37: Æîäíîãî çàïèñó ï³ñëÿ îñòàííüî¿ çì³íè (âèêîðèñòàéòå ! ùîá íå çâàæàòè)"
+msgid "E37: No write since last change (add ! to override)"
+msgstr "E37: Çì³íè íå áóëî çàïèñàíî (! ùîá íå çâàæàòè)"
 
 msgid "E38: Null argument"
 msgstr "E38: Â³äñóòí³é àðãóìåíò"
 
 msgid "E39: Number expected"
-msgstr "E39: Î÷³êóâàíî ÷èñëî"
+msgstr "E39: Î÷³êóºòüñÿ ÷èñëî"
 
 #, c-format
 msgid "E40: Can't open errorfile %s"
-msgstr "E40: Íå ìîæó â³äêðèòè ôàéë ïîìèëîê %s"
+msgstr "E40: Íå çì³ã â³äêðèòè ôàéë ïîìèëîê %s"
+
+msgid "E233: cannot open display"
+msgstr "E233: Íå çì³ã â³äêðèòè äèñïëåé"
 
 msgid "E41: Out of memory!"
 msgstr "E41: Çàáðàêëî ïàì'ÿò³!"
@@ -4835,45 +6207,65 @@ msgid "Pattern not found"
 msgstr "Çðàçîê íå çíàéäåíî"
 
 #, c-format
-msgid "Pattern not found: %s"
-msgstr "Çðàçîê íå çíàéäåíî: %s"
+msgid "E486: Pattern not found: %s"
+msgstr "E486: Çðàçîê íå çíàéäåíî: %s"
+
+msgid "E487: Argument must be positive"
+msgstr "E487: Àðãóìåíò ìຠáóòè äîäàòíèé"
 
-msgid "Argument must be positive"
-msgstr "Àðãóìåíò ìຠáóòè äîäàòí³é"
+msgid "E459: Cannot go back to previous directory"
+msgstr "E459: Íå çì³ã ïåðåéòè äî ïîïåðåäíüîãî êàòàëîãó"
 
 msgid "E42: No Errors"
 msgstr "E42: Æîäíî¿ ïîìèëêè"
 
+msgid "E776: No location list"
+msgstr "E776: Íåìຠñïèñêó ì³ñöü"
+
 msgid "E43: Damaged match string"
-msgstr "E43: 'match string' ïîøêîæåíà [ïîìèëêà ïðîãðàìè]"
+msgstr "E43: Òåêñò çá³ãó ïîøêîäæåíî"
 
 msgid "E44: Corrupted regexp program"
-msgstr "E44: Ñïîòâîðåíà ïðîãðàìà regexp [ïîìèëêà ïðîãðàìè]"
+msgstr "E44: Ç³ïñîâàíà ïðîãðàìà ðåãóëÿðíèõ âèðàç³â"
+
+msgid "E45: 'readonly' option is set (add ! to override)"
+msgstr "E45: Âñòàíîâëåíî îïö³þ 'readonly' (! ùîá íå çâàæàòè)"
 
-msgid "E45: 'readonly' option is set (use ! to override)"
-msgstr "E45: Âèñòàâëåíà îïö³ÿ 'readonly' (âèêîðèñòàéòå ! ùîá íå çâàæàòè)"
+#, c-format
+msgid "E46: Cannot change read-only variable \"%s\""
+msgstr "E46: Íå ìîæíà çì³íèòè çì³ííó \"%s\""
 
 #, c-format
-msgid "E46: Cannot set read-only variable \"%s\""
-msgstr "E46: Çì³ííà \"%s\" ìîæå áóòè ëèøå ïðî÷èòàíà"
+msgid "E794: Cannot set variable in the sandbox: \"%s\""
+msgstr "E794: Íå ìîæíà âñòàíîâèòè çì³ííó ó ï³ñî÷íèö³: \"%s\""
 
 msgid "E47: Error while reading errorfile"
-msgstr "E47: Ïîìèëêà ç÷èòóâàííÿ ôàéëà ïîìèëîê"
+msgstr "E47: Ïîìèëêà ÷èòàííÿ ôàéëó ïîìèëîê"
 
 msgid "E48: Not allowed in sandbox"
-msgstr "E48: Íà äîçâîëåíî ó *******"
+msgstr "E48: Íà äîçâîëåíî ó ï³ñî÷íèö³"
+
+msgid "E523: Not allowed here"
+msgstr "E523: Íå äîçâîëåíî òóò"
+
+msgid "E359: Screen mode setting not supported"
+msgstr "E359: Ðåæèì åêðàíó íå ï³äòðèìóºòüñÿ"
 
 msgid "E49: Invalid scroll size"
-msgstr "E49: Íåìîæëèâèé ðîçì³ð çñóâó"
+msgstr "E49: Íåêîðåêòíèé ðîçì³ð çñóâó"
 
 msgid "E91: 'shell' option is empty"
-msgstr "E91: îïö³ÿ 'shell' ïîðîæíÿ"
+msgstr "E91: Îïö³ÿ 'shell' ïîðîæíÿ"
+
+# msgstr "E254: "
+msgid "E255: Couldn't read in sign data!"
+msgstr "E255: Íå ìîæíà ç÷èòàòè äàí³ íàïèñó!"
 
 msgid "E72: Close error on swap file"
-msgstr "E72: Ïîìèëêà ï³ä ÷àñ çàêðèòòÿ ôàéëà îáì³íó"
+msgstr "E72: Ïîìèëêà ï³ä ÷àñ çàêðèòòÿ ôàéëó îáì³íó"
 
 msgid "E73: tag stack empty"
-msgstr "E73: Ñòåê òîì³òîê ñïóñòîøåíî"
+msgstr "E73: Ñòåê òå´³â ïîðîæí³é"
 
 msgid "E74: Command too complex"
 msgstr "E74: Çàíàäòî ñêëàäíà êîìàíäà"
@@ -4885,42 +6277,66 @@ msgid "E76: Too many ["
 msgstr "E76: Çàáàãàòî '['"
 
 msgid "E77: Too many file names"
-msgstr "E77: Çàáàãàòî ³ìåí ôàéë³â"
+msgstr "E77: Çàáàãàòî íàçâ ôàéë³â"
 
-msgid "Trailing characters"
-msgstr "Íàäëèøêîâ³ ñèìâîëè"
+msgid "E488: Trailing characters"
+msgstr "E488: Íàäëèøêîâ³ ñèìâîëè"
 
 msgid "E78: Unknown mark"
 msgstr "E78: Íåâ³äîìà ïîì³òêà"
 
 msgid "E79: Cannot expand wildcards"
-msgstr "E79: Íå ìîæó çðîçóì³òè çðàçîê"
+msgstr "E79: Íå çì³ã ðîçêðèòè øàáëîí"
+
+msgid "E591: 'winheight' cannot be smaller than 'winminheight'"
+msgstr "E591: 'winheight' íå ìîæå áóòè ìåíøèì çà 'winminheight'"
+
+msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'"
+msgstr "E592: 'winwidth' íå ìîæå áóòè ìåíøèì çà 'winminwidth'"
 
 # msgstr "E79: "
 msgid "E80: Error while writing"
 msgstr "E80: Ïîìèëêà ï³ä ÷àñ çàïèñó"
 
 msgid "Zero count"
-msgstr "Íóëüîâèé ë³÷èëüíèê"
+msgstr "Íóëüîâà ê³ëüê³ñòü"
 
 msgid "E81: Using <SID> not in a script context"
-msgstr "E81: <SID> âèêîðèñòîâóºòüñÿ íå ó ôàéë³ êîìàíä"
+msgstr "E81: <SID> âèêîðèñòîâóºòüñÿ íå â êîíòåêñò³ ñêðèïòó"
+
+msgid "E449: Invalid expression received"
+msgstr "E449: Îòðèìàíî íåêîðåêòíèé âèðàç"
+
+msgid "E463: Region is guarded, cannot modify"
+msgstr "E463: Íå ìîæíà çì³íèòè çàõèùåíèé ðåã³îí"
+
+msgid "E744: NetBeans does not allow changes in read-only files"
+msgstr "E744: NetBeans íå äîçâîëÿº çì³íþâàòè çàõèùåí³ â³ä çàïèñó ôàéëè"
+
+#, c-format
+msgid "E685: Internal error: %s"
+msgstr "E685: Âíóòð³øíÿ ïîìèëêà: %s"
 
-#~ msgid "1 line ~ed"
-#~ msgstr "Ðÿäîê ³íâåðòîâàíî"
+msgid "E363: pattern uses more memory than 'maxmempattern'"
+msgstr "E363: Çðàçîê âèêîðèñòîâóº á³ëüøå, í³æ 'maxmempattern', ïàì'ÿò³"
 
-#~ msgid "%ld lines ~ed"
-#~ msgstr "²íâåðòîâàíî ðÿäê³â: %ld"
+msgid "E749: empty buffer"
+msgstr "E749: Ïîðîæí³é áóôåð"
 
-#~ msgid "Unable to send reply"
-#~ msgstr "Íå ìîæó â³ä³ñëàòè â³äïîâ³äü"
+msgid "E682: Invalid search pattern or delimiter"
+msgstr "E682: Íåêîðåêòíèé çðàçîê äëÿ ïîøóêó ÷è ðîçä³ëüíèê"
 
-#~ msgid ""
-#~ "\n"
-#~ "Send failed. No command server present ?\n"
-#~ msgstr ""
-#~ "\n"
-#~ "Íå âäàëîñÿ â³ä³ñëàòè äàí³. Ìîæëèâî, ñåðâåð êîìàíä â³äñóòí³é ?\n"
+msgid "E139: File is loaded in another buffer"
+msgstr "E139: Ôàéë óæå çàâàíòàæåíî â ³íøèé áóôåð"
+
+# msgstr "E235: "
+#, c-format
+msgid "E764: Option '%s' is not set"
+msgstr "E764: Îïö³ÿ '%s' íå âñòàíîâëåíà"
+
+msgid "search hit TOP, continuing at BOTTOM"
+msgstr "Ïîøóê ä³éøîâ ÏÎ×ÀÒÊÓ, ïðîäîâæóºìî ç Ê²ÍÖß"
+
+msgid "search hit BOTTOM, continuing at TOP"
+msgstr "Ïîøóê ä³éøîâ äî Ê²ÍÖß, ïðîäîâæóºìî ç ÏÎ×ÀÒÊÓ"
 
-#~ msgid "E258: no matches found in cscope connections"
-#~ msgstr "E258: íå çíàéäåíî â³äïîâ³äíîãî ç'ºäíàííÿ ç cscope"
index 75d01494a6ea001afdad6aaa0fd73887e532f51c..eeb9f1b3c1bf770be2421986db14824aa4e9a31f 100644 (file)
@@ -1,4 +1,5 @@
 /* netbeans.c */
+void netbeans_parse_messages __ARGS((void));
 void messageFromNetbeansW32 __ARGS((void));
 int isNetbeansBuffer __ARGS((buf_T *bufp));
 int isNetbeansModified __ARGS((buf_T *bufp));
index 9259c4318be971e938f1c46c83129292cd881fe4..8840dd5f49aad995fa8b3e8fb478ef115efd125b 100644 (file)
@@ -1415,6 +1415,7 @@ qf_jump(qi, dir, errornr, forceit)
     char_u             *line;
 #ifdef FEAT_WINDOWS
     char_u             *old_swb = p_swb;
+    unsigned           old_swb_flags = swb_flags;
     int                        opened_window = FALSE;
     win_T              *win;
     win_T              *altwin;
@@ -1594,10 +1595,10 @@ qf_jump(qi, dir, errornr, forceit)
            }
 
        /*
-        * If no usable window is found and 'switchbuf' is set to 'usetab'
+        * If no usable window is found and 'switchbuf' contains "usetab"
         * then search in other tabs.
         */
-       if (!usable_win && vim_strchr(p_swb, 'a') != NULL)
+       if (!usable_win && (swb_flags & SWB_USETAB))
        {
            tabpage_T   *tp;
            win_T       *wp;
@@ -1625,6 +1626,7 @@ qf_jump(qi, dir, errornr, forceit)
                goto failed;            /* not enough room for window */
            opened_window = TRUE;       /* close it when fail */
            p_swb = empty_option;       /* don't split again */
+           swb_flags = 0;
 # ifdef FEAT_SCROLLBIND
            curwin->w_p_scb = FALSE;
 # endif
@@ -1866,7 +1868,10 @@ theend:
        /* Restore old 'switchbuf' value, but not when an autocommand or
         * modeline has changed the value. */
        if (p_swb == empty_option)
+       {
            p_swb = old_swb;
+           swb_flags = old_swb_flags;
+       }
        else
            free_string_option(old_swb);
     }
index 6347eeda998434d61f5e04cc13fa7a398eb6efd4..bf113daf11fda0042d5942357d955657047175fd 100644 (file)
@@ -951,7 +951,7 @@ skip_regexp(startp, dirc, magic, newp)
                        p = *newp + (p - startp);
                }
                if (*newp != NULL)
-                   mch_memmove(p, p + 1, STRLEN(p));
+                   STRMOVE(p, p + 1);
                else
                    ++p;
            }
@@ -6781,9 +6781,9 @@ regtilde(source, magic)
                }
            }
            else if (magic)
-               mch_memmove(p, p + 1, STRLEN(p));       /* remove '~' */
+               STRMOVE(p, p + 1);      /* remove '~' */
            else
-               mch_memmove(p, p + 2, STRLEN(p) - 1);   /* remove '\~' */
+               STRMOVE(p, p + 2);      /* remove '\~' */
            --p;
        }
        else
index 7945866f69b810709a8c4fcdb7d79074b79e8e5b..78dd27787da475c52f6bee2d37e04f56b7490c03 100644 (file)
@@ -2952,8 +2952,7 @@ win_line(wp, lnum, startrow, endrow, nochange)
                 * next line. */
                nextlinecol = 0;
                mch_memmove(nextline, line, (size_t)v);
-               mch_memmove(nextline + v, nextline + SPWORDLEN,
-                                           STRLEN(nextline + SPWORDLEN) + 1);
+               STRMOVE(nextline + v, nextline + SPWORDLEN);
                nextline_idx = v + 1;
            }
            else
index 33f332a54681ed356189a0c354399663d5e4fc3e..2a9a26757e7b6cee35d0f5fb7c4f14fb34b97cb0 100644 (file)
@@ -191,7 +191,7 @@ nextent(tbuf, termcap, buflen)              /* Read 1 entry from TERMCAP file */
            lbuf[0] == '\t' &&
            lbuf[1] == ':')
        {
-           mch_memmove(lbuf, lbuf + 2, strlen(lbuf + 2) + 1);
+           STRMOVE(lbuf, lbuf + 2);
            llen -= 2;
        }
        if (lbuf[llen-2] == '\\')               /* and continuations */
index 5e23509370ce21614666ac34f65d560449639668..826b2445e1f31485a70505fbeceb65c4e2b45f76 100644 (file)
@@ -25,7 +25,7 @@ SCRIPTS = test1.out test3.out test4.out test5.out test6.out \
                test43.out test44.out test45.out test46.out test47.out \
                test48.out test51.out test53.out test54.out test55.out \
                test56.out test57.out test58.out test59.out test60.out \
-               test61.out test62.out test63.out test64.out
+               test61.out test62.out test63.out test64.out test65.out
 
 .SUFFIXES: .in .out
 
@@ -109,3 +109,4 @@ test61.out: test61.in
 test62.out: test62.in
 test63.out: test63.in
 test64.out: test64.in
+test65.out: test65.in
index 0587ce2c45ed029e2990a94ebf77660ad8ad2e51..829bf8873e2cf3e7e87a00200d5af4b32a12cec8 100644 (file)
@@ -26,7 +26,7 @@ SCRIPTS =     test3.out test4.out test5.out test6.out test7.out \
                test15.out test17.out test18.out test21.out test26.out \
                test30.out test31.out test32.out test33.out test34.out \
                test37.out test38.out test39.out test40.out test41.out \
-               test42.out test52.out
+               test42.out test52.out test65.out
 
 SCRIPTS32 =    test50.out
 
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..26c7312171f3b89d7bba513e214ec6ce8cdb93bf 100644 (file)
@@ -0,0 +1,56 @@
+Results of test65:
+123.456000
+1.234560e+02
+123.456
++=
+7.777
+6.234
+8.333
+==
+1
+0
+add-subtract
+5.234
+-6.766
+mult-div
+4.936
+0.003241
+dict
+{'x': 1.234, 'y': -2.0e20}
+list
+[-123.4, 2.0e-20]
+abs
+1456
+4
+-1
+14.56
+54.32
+ceil
+2.0
+-5.0
+-4.0
+floor
+1.0
+-6.0
+4.0
+log10
+3.0
+-2.0
+pow
+27.0
+65536.0
+round
+0.0
+5.0
+-5.0
+sqrt
+10.0
+str2float
+1.0e40
+trunc
+1.0
+-5.0
+4.0
+float2nr
+123
+-123
index 5a8c37d80c8791296d2d224920a40f52e68bb537..a734e7b10bb8ee5ce35f8777faaf24f7493a8a58 100644 (file)
--- a/src/ui.c
+++ b/src/ui.c
@@ -1600,7 +1600,8 @@ set_input_buf(p)
 }
 #endif
 
-#if defined(FEAT_GUI) || defined(FEAT_MOUSE_GPM) \
+#if defined(FEAT_GUI) \
+       || defined(FEAT_MOUSE_GPM) || defined(FEAT_SYSMOUSE) \
        || defined(FEAT_XCLIPBOARD) || defined(VMS) \
        || defined(FEAT_SNIFF) || defined(FEAT_CLIENTSERVER) \
        || defined(PROTO)
index 5d1958485e6cd5b3b07341dba222259cd59a667a..21d7b143c23093b535b98a4bac438adc1a0eac2f 100644 (file)
@@ -217,6 +217,11 @@ static char *(features[]) =
 #else
        "-find_in_path",
 #endif
+#ifdef FEAT_FLOAT
+       "+float",
+#else
+       "-float",
+#endif
 #ifdef FEAT_FOLDING
        "+folding",
 #else
@@ -345,6 +350,11 @@ static char *(features[]) =
 # else
        "-mouse_netterm",
 # endif
+# ifdef FEAT_SYSMOUSE
+       "+mouse_sysmouse",
+# else
+       "-mouse_sysmouse",
+# endif
 # ifdef FEAT_MOUSE_XTERM
        "+mouse_xterm",
 # else
@@ -666,666 +676,6 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
-/**/
-    330,
-/**/
-    329,
-/**/
-    328,
-/**/
-    327,
-/**/
-    326,
-/**/
-    325,
-/**/
-    324,
-/**/
-    323,
-/**/
-    322,
-/**/
-    321,
-/**/
-    320,
-/**/
-    319,
-/**/
-    318,
-/**/
-    317,
-/**/
-    316,
-/**/
-    315,
-/**/
-    314,
-/**/
-    313,
-/**/
-    312,
-/**/
-    311,
-/**/
-    310,
-/**/
-    309,
-/**/
-    308,
-/**/
-    307,
-/**/
-    306,
-/**/
-    305,
-/**/
-    304,
-/**/
-    303,
-/**/
-    302,
-/**/
-    301,
-/**/
-    300,
-/**/
-    299,
-/**/
-    298,
-/**/
-    297,
-/**/
-    296,
-/**/
-    295,
-/**/
-    294,
-/**/
-    293,
-/**/
-    292,
-/**/
-    291,
-/**/
-    290,
-/**/
-    289,
-/**/
-    288,
-/**/
-    287,
-/**/
-    286,
-/**/
-    285,
-/**/
-    284,
-/**/
-    283,
-/**/
-    282,
-/**/
-    281,
-/**/
-    280,
-/**/
-    279,
-/**/
-    278,
-/**/
-    277,
-/**/
-    276,
-/**/
-    275,
-/**/
-    274,
-/**/
-    273,
-/**/
-    272,
-/**/
-    271,
-/**/
-    270,
-/**/
-    269,
-/**/
-    268,
-/**/
-    267,
-/**/
-    266,
-/**/
-    265,
-/**/
-    264,
-/**/
-    263,
-/**/
-    262,
-/**/
-    261,
-/**/
-    260,
-/**/
-    259,
-/**/
-    258,
-/**/
-    257,
-/**/
-    256,
-/**/
-    255,
-/**/
-    254,
-/**/
-    253,
-/**/
-    252,
-/**/
-    251,
-/**/
-    250,
-/**/
-    249,
-/**/
-    248,
-/**/
-    247,
-/**/
-    246,
-/**/
-    245,
-/**/
-    244,
-/**/
-    243,
-/**/
-    242,
-/**/
-    241,
-/**/
-    240,
-/**/
-    239,
-/**/
-    238,
-/**/
-    237,
-/**/
-    236,
-/**/
-    235,
-/**/
-    234,
-/**/
-    233,
-/**/
-    232,
-/**/
-    231,
-/**/
-    230,
-/**/
-    229,
-/**/
-    228,
-/**/
-    227,
-/**/
-    226,
-/**/
-    225,
-/**/
-    224,
-/**/
-    223,
-/**/
-    222,
-/**/
-    221,
-/**/
-    220,
-/**/
-    219,
-/**/
-    218,
-/**/
-    217,
-/**/
-    216,
-/**/
-    215,
-/**/
-    214,
-/**/
-    213,
-/**/
-    212,
-/**/
-    211,
-/**/
-    210,
-/**/
-    209,
-/**/
-    208,
-/**/
-    207,
-/**/
-    206,
-/**/
-    205,
-/**/
-    204,
-/**/
-    203,
-/**/
-    202,
-/**/
-    201,
-/**/
-    200,
-/**/
-    199,
-/**/
-    198,
-/**/
-    197,
-/**/
-    196,
-/**/
-    195,
-/**/
-    194,
-/**/
-    193,
-/**/
-    192,
-/**/
-    191,
-/**/
-    190,
-/**/
-    189,
-/**/
-    188,
-/**/
-    187,
-/**/
-    186,
-/**/
-    185,
-/**/
-    184,
-/**/
-    183,
-/**/
-    182,
-/**/
-    181,
-/**/
-    180,
-/**/
-    179,
-/**/
-    178,
-/**/
-    177,
-/**/
-    176,
-/**/
-    175,
-/**/
-    174,
-/**/
-    173,
-/**/
-    172,
-/**/
-    171,
-/**/
-    170,
-/**/
-    169,
-/**/
-    168,
-/**/
-    167,
-/**/
-    166,
-/**/
-    165,
-/**/
-    164,
-/**/
-    163,
-/**/
-    162,
-/**/
-    161,
-/**/
-    160,
-/**/
-    159,
-/**/
-    158,
-/**/
-    157,
-/**/
-    156,
-/**/
-    155,
-/**/
-    154,
-/**/
-    153,
-/**/
-    152,
-/**/
-    151,
-/**/
-    150,
-/**/
-    149,
-/**/
-    148,
-/**/
-    147,
-/**/
-    146,
-/**/
-    145,
-/**/
-    144,
-/**/
-    143,
-/**/
-    142,
-/**/
-    141,
-/**/
-    140,
-/**/
-    139,
-/**/
-    138,
-/**/
-    137,
-/**/
-    136,
-/**/
-    135,
-/**/
-    134,
-/**/
-    133,
-/**/
-    132,
-/**/
-    131,
-/**/
-    130,
-/**/
-    129,
-/**/
-    128,
-/**/
-    127,
-/**/
-    126,
-/**/
-    125,
-/**/
-    124,
-/**/
-    123,
-/**/
-    122,
-/**/
-    121,
-/**/
-    120,
-/**/
-    119,
-/**/
-    118,
-/**/
-    117,
-/**/
-    116,
-/**/
-    115,
-/**/
-    114,
-/**/
-    113,
-/**/
-    112,
-/**/
-    111,
-/**/
-    110,
-/**/
-    109,
-/**/
-    108,
-/**/
-    107,
-/**/
-    106,
-/**/
-    105,
-/**/
-    104,
-/**/
-    103,
-/**/
-    102,
-/**/
-    101,
-/**/
-    100,
-/**/
-    99,
-/**/
-    98,
-/**/
-    97,
-/**/
-    96,
-/**/
-    95,
-/**/
-    94,
-/**/
-    93,
-/**/
-    92,
-/**/
-    91,
-/**/
-    90,
-/**/
-    89,
-/**/
-    88,
-/**/
-    87,
-/**/
-    86,
-/**/
-    85,
-/**/
-    84,
-/**/
-    83,
-/**/
-    82,
-/**/
-    81,
-/**/
-    80,
-/**/
-    79,
-/**/
-    78,
-/**/
-    77,
-/**/
-    76,
-/**/
-    75,
-/**/
-    74,
-/**/
-    73,
-/**/
-    72,
-/**/
-    71,
-/**/
-    70,
-/**/
-    69,
-/**/
-    68,
-/**/
-    67,
-/**/
-    66,
-/**/
-    65,
-/**/
-    64,
-/**/
-    63,
-/**/
-    62,
-/**/
-    61,
-/**/
-    60,
-/**/
-    59,
-/**/
-    58,
-/**/
-    57,
-/**/
-    56,
-/**/
-    55,
-/**/
-    54,
-/**/
-    53,
-/**/
-    52,
-/**/
-    51,
-/**/
-    50,
-/**/
-    49,
-/**/
-    48,
-/**/
-    47,
-/**/
-    46,
-/**/
-    45,
-/**/
-    44,
-/**/
-    43,
-/**/
-    42,
-/**/
-    41,
-/**/
-    40,
-/**/
-    39,
-/**/
-    38,
-/**/
-    37,
-/**/
-    36,
-/**/
-    35,
-/**/
-    34,
-/**/
-    33,
-/**/
-    32,
-/**/
-    31,
-/**/
-    30,
-/**/
-    29,
-/**/
-    28,
-/**/
-    27,
-/**/
-    26,
-/**/
-    25,
-/**/
-    24,
-/**/
-    23,
-/**/
-    22,
-/**/
-    21,
-/**/
-    20,
-/**/
-    19,
-/**/
-    18,
-/**/
-    17,
-/**/
-    16,
-/**/
-    15,
-/**/
-    14,
-/**/
-    13,
-/**/
-    12,
-/**/
-    11,
-/**/
-    10,
-/**/
-    9,
-/**/
-    8,
-/**/
-    7,
-/**/
-    6,
-/**/
-    5,
-/**/
-    4,
-/**/
-    3,
-/**/
-    2,
-/**/
-    1,
 /**/
     0
 };
index 8b7da33934695f47afea354778e53ddc3cc889c8..28af85a0edd804e44a033de9d32c3b42d136ab7a 100644 (file)
 
 #define VIM_VERSION_MAJOR               7
 #define VIM_VERSION_MAJOR_STR          "7"
-#define VIM_VERSION_MINOR               1
-#define VIM_VERSION_MINOR_STR          "1"
+#define VIM_VERSION_MINOR               2
+#define VIM_VERSION_MINOR_STR          "2"
 #define VIM_VERSION_100            (VIM_VERSION_MAJOR * 100 + VIM_VERSION_MINOR)
 
-#define VIM_VERSION_BUILD               265
-#define VIM_VERSION_BUILD_BCD          0x109
-#define VIM_VERSION_BUILD_STR          "265"
+#define VIM_VERSION_BUILD               266
+#define VIM_VERSION_BUILD_BCD          0x10a
+#define VIM_VERSION_BUILD_STR          "266"
 #define VIM_VERSION_PATCHLEVEL          0
 #define VIM_VERSION_PATCHLEVEL_STR     "0"
 /* Used by MacOS port should be one of: development, alpha, beta, final */
-#define VIM_VERSION_RELEASE            final
+#define VIM_VERSION_RELEASE            beta
 
 /*
  * VIM_VERSION_NODOT is used for the runtime directory name.
@@ -33,8 +33,8 @@
  * VIM_VERSION_MEDIUM is used for the startup-screen.
  * VIM_VERSION_LONG is used for the ":version" command and "Vim -h".
  */
-#define VIM_VERSION_NODOT      "vim71"
-#define VIM_VERSION_SHORT      "7.1"
-#define VIM_VERSION_MEDIUM     "7.1"
-#define VIM_VERSION_LONG       "VIM - Vi IMproved 7.1 (2007 May 12)"
-#define VIM_VERSION_LONG_DATE  "VIM - Vi IMproved 7.1 (2007 May 12, compiled "
+#define VIM_VERSION_NODOT      "vim72a"
+#define VIM_VERSION_SHORT      "7.2a"
+#define VIM_VERSION_MEDIUM     "7.2a BETA"
+#define VIM_VERSION_LONG       "VIM - Vi IMproved 7.2a BETA (2008 Jun 24)"
+#define VIM_VERSION_LONG_DATE  "VIM - Vi IMproved 7.2a BETA (2008 Jun 24, compiled "
index 38d27c4d731d8554c5986ddb71b795734c1520f8..66a60d3ba8b2f21e0039a8cb0df6b5f380f54a8d 100644 (file)
@@ -13,7 +13,6 @@
 #endif
 #include <stdio.h>
 #include <stdlib.h>
-#include <fcntl.h>
 #include <sys/types.h>
 #include <netdb.h>
 #include <netinet/in.h>
index f41299a5494d09797d339202e1c44c3e02d7a178..e8fd0948193387ebbeb5fae8834283c566a9e39b 100644 (file)
@@ -40,7 +40,9 @@ void           wsdebug(char *, ...);
 void            wstrace(char *, ...);
 
 static int      lookup(char *);
+#ifdef USE_WS_ERRORHANDLER
 static int      errorHandler(Display *, XErrorEvent *);
+#endif
 
 
 /*
@@ -96,7 +98,9 @@ wsdebug_log_init(
                } else {
                        ws_dlevel = WS_TRACE;   /* default level */
                }
-               /* XSetErrorHandler(errorHandler); */
+#ifdef USE_WS_ERRORHANDLER
+               XSetErrorHandler(errorHandler);
+#endif
        }
 
 }    /* end wsdebug_log_init */
@@ -149,6 +153,7 @@ lookup(
 
 }    /* end lookup */
 
+#ifdef USE_WS_ERRORHANDLER
 static int
 errorHandler(
        Display         *dpy,
@@ -172,6 +177,7 @@ errorHandler(
 
        return 0;
 }
+#endif