summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile23
-rw-r--r--README_os390.txt2
-rw-r--r--runtime/autoload/vimball.vim365
-rw-r--r--runtime/doc/index.txt12
-rw-r--r--runtime/doc/message.txt5
-rw-r--r--runtime/doc/os_mint.txt2
-rw-r--r--runtime/doc/tabpage.txt35
-rw-r--r--runtime/doc/usr_45.txt2
-rw-r--r--runtime/doc/version4.txt2
-rw-r--r--runtime/doc/vi_diff.txt6
-rw-r--r--runtime/indent/javascript.vim15
-rw-r--r--runtime/makemenu.vim20
-rw-r--r--runtime/plugin/netrwPlugin.vim53
-rw-r--r--runtime/syntax/fstab.vim41
-rw-r--r--runtime/syntax/perl.vim126
-rw-r--r--runtime/syntax/sisu.vim5
-rw-r--r--src/proto/digraph.pro14
-rw-r--r--src/proto/gui_athena.pro58
-rw-r--r--src/proto/os_mswin.pro122
-rw-r--r--src/vim.def2
20 files changed, 609 insertions, 301 deletions
diff --git a/Makefile b/Makefile
index d2ddc8e743..69de1e54f2 100644
--- a/Makefile
+++ b/Makefile
@@ -27,7 +27,7 @@ first:
# Some make programs use the last target for the $@ default; put the other
# targets separately to always let $@ expand to "first" by default.
-all install uninstall tools config configure proto depend lint tags types test testclean clean distclean:
+all install uninstall tools config configure reconfig proto depend lint tags types test testclean clean distclean:
@echo "Starting make in the src directory."
@echo "If there are problems, cd to the src directory and run make there"
cd src && $(MAKE) $@
@@ -69,7 +69,7 @@ all install uninstall tools config configure proto depend lint tags types test t
# Before creating an archive first delete all backup files, *.orig, etc.
MAJOR = 7
-MINOR = 0
+MINOR = 1a
# Uncomment this line if the Win32s version is to be included.
DOSBIN_S = dosbin_s
@@ -81,14 +81,14 @@ DOSBIN_S = dosbin_s
# runtime/doc/*.txt and nsis/gvim.nsi. Other things in README_os2.txt. For a
# minor/major version: src/GvimExt/GvimExt.reg, src/vim.def, src/vim16.def.
# - Correct included_patches[] in src/version.c.
-# - Compile Vim with GTK, Perl, Python, TCL, Ruby, MZscheme, Cscope and "huge"
-# features. Exclude workshop and SNiFF.
+# - Compile Vim with GTK, Perl, Python, TCL, Ruby, MZscheme (if you can make it
+# work), Cscope and "huge" features. Exclude workshop and SNiFF.
# - With these features: "make proto" (requires cproto and Motif installed;
# ignore warnings for missing include files, fix problems for syntax errors).
# - With these features: "make depend" (works best with gcc).
# - "make lint" and check the output (ignore GTK warnings).
# - Enable the efence library in "src/Makefile" and run "make test". May
-# require disabling Python to avoid trouble with threads.
+# require disabling Python and Ruby to avoid trouble with threads.
# - Check for missing entries in runtime/makemenu.vim (with checkmenu script).
# - Check for missing options in runtime/optwin.vim et al. (with check.vim).
# - Do "make menu" to update the runtime/synmenu.vim file.
@@ -128,25 +128,26 @@ DOSBIN_S = dosbin_s
# - Rename the executables to "vimd32.exe", "xxdd32.exe", "installd32.exe" and
# "uninstald32.exe".
# Win32 console version:
-# - Set environment for Visual C++ Toolkit 2003: "msvcsetup.bat"
+# - Set environment for Visual C++ Toolkit 2003: "msvcsetup.bat" (adjust the
+# paths when necessary).
# - "nmake -f Make_mvc.mak"
# - "rm testdir/*.out", "nmake -f Make_mvc.mak test" and check the output.
# - Rename the executables to "vimw32.exe", "xxdw32.exe".
-# - Rename ObjC/vim.pdb to vimw32.pdb.
+# - Rename vim.pdb to vimw32.pdb.
# - When building the Win32s version later, delete vimrun.exe, install.exe and
# uninstal.exe. Otherwise rename executables to installw32.exe and
# uninstalw32.exe.
# Win32 GUI version:
# - "nmake -f Make_mvc.mak GUI=yes.
# - move "gvim.exe" to here (otherwise the OLE version will overwrite it).
-# - Move ObjG/gvim.pdb to here.
-# - Delete vimrun.exe, install.exe and uninstall.exe.
+# - Move gvim.pdb to here.
+# - Delete vimrun.exe, install.exe and uninstal.exe.
# - Copy "GvimExt/gvimext.dll" to here.
# Win32 GUI version with OLE, PERL, TCL, PYTHON and dynamic IME:
# - Run src/bigvim.bat ("nmake -f Make_mvc.mak GUI=yes OLE=yes IME=yes ...)
# - Rename "gvim.exe" to "gvim_ole.exe".
-# - Rename ObjGOLYTR/gvim.pdb to "gvim_ole.pdb".
-# - Delete install.exe and uninstall.exe.
+# - Rename gvim.pdb to "gvim_ole.pdb".
+# - Delete install.exe and uninstal.exe.
# - If building the Win32s version delete vimrun.exe.
# Win32s GUI version:
# - Set environment for Visual C++ 4.1 (requires a new console window)
diff --git a/README_os390.txt b/README_os390.txt
index e0a733e0f9..85f8e41744 100644
--- a/README_os390.txt
+++ b/README_os390.txt
@@ -1,4 +1,4 @@
-README_os_390.txt for version 7.0 of Vim: Vi IMproved.
+README_os_390.txt for version 7.1a of Vim: Vi IMproved.
Welcome to the OS/390 Unix port of VIM.
diff --git a/runtime/autoload/vimball.vim b/runtime/autoload/vimball.vim
index 088a32b7db..d4a27fd6da 100644
--- a/runtime/autoload/vimball.vim
+++ b/runtime/autoload/vimball.vim
@@ -1,7 +1,7 @@
-" vimball : construct a file containing both paths and files
-" Author: Charles E. Campbell, Jr.
-" Date: May 01, 2006
-" Version: 13
+" vimball.vim : construct a file containing both paths and files
+" Author: Charles E. Campbell, Jr.
+" Date: Jan 03, 2007
+" Version: 21
" GetLatestVimScripts: 1502 1 :AutoInstall: vimball.vim
" Copyright: (c) 2004-2006 by Charles E. Campbell, Jr.
" The VIM LICENSE applies to Vimball.vim, and Vimball.txt
@@ -11,18 +11,26 @@
" ---------------------------------------------------------------------
" Load Once: {{{1
-if &cp || exists("g:loaded_vimball")
+if &cp || exists("g:loaded_vimball") || v:version < 700
finish
endif
let s:keepcpo = &cpo
-let g:loaded_vimball = "v13"
+let g:loaded_vimball = "v21"
set cpo&vim
" =====================================================================
+" Constants: {{{1
+if !exists("s:USAGE")
+ let s:USAGE = 0
+ let s:WARNING = 1
+ let s:ERROR = 2
+endif
+
+" =====================================================================
" Functions: {{{1
" ---------------------------------------------------------------------
-" MkVimball: creates a vimball given a list of paths to files {{{2
+" vimball#MkVimball: creates a vimball given a list of paths to files {{{2
" Vimball Format:
" path
" filesize
@@ -30,11 +38,24 @@ set cpo&vim
" path
" filesize
" [file]
-fun! vimball#MkVimball(line1,line2,writelevel,vimballname) range
-" call Dfunc("MkVimball(line1=".a:line1." line2=".a:line2." writelevel=".a:writelevel." vimballname<".a:vimballname.">")
- let vbname= substitute(a:vimballname,'\.[^.]*$','','e').'.vba'
+fun! vimball#MkVimball(line1,line2,writelevel,...) range
+" call Dfunc("MkVimball(line1=".a:line1." line2=".a:line2." writelevel=".a:writelevel." vimballname<".a:1.">) a:0=".a:0)
+ if a:1 =~ '.vim' || a:1 =~ '.txt'
+ let vbname= substitute(a:1,'\.\a\{3}$','.vba','')
+ else
+ let vbname= a:1
+ endif
+ if vbname !~ '\.vba$'
+ let vbname= vbname.'.vba'
+ endif
+" call Decho("vbname<".vbname.">")
+ if a:1 =~ '[\/]'
+ call vimball#ShowMesg(s:ERROR,"(MkVimball) vimball name<".a:1."> should not include slashes")
+" call Dret("MkVimball : vimball name<".a:1."> should not include slashes")
+ return
+ endif
if !a:writelevel && filereadable(vbname)
- echohl Error | echoerr "(MkVimball) file<".vbname."> exists; use ! to insist" | echohl None
+ call vimball#ShowMesg(s:ERROR,"(MkVimball) file<".vbname."> exists; use ! to insist")
" call Dret("MkVimball : file<".vbname."> already exists; use ! to insist")
return
endif
@@ -42,17 +63,13 @@ fun! vimball#MkVimball(line1,line2,writelevel,vimballname) range
" user option bypass
call s:SaveSettings()
- " go to vim plugin home
- for home in split(&rtp,',') + ['']
- if isdirectory(home) | break | endif
- endfor
- if home == ""
- let home= substitute(&rtp,',.*$','','')
- endif
- if (has("win32") || has("win95") || has("win64") || has("win16"))
- let home= substitute(home,'/','\\','ge')
+ if a:0 >= 2
+ " allow user to specify where to get the files
+ let home= expand(a:2)
+ else
+ " use first existing directory from rtp
+ let home= s:VimballHome()
endif
-" call Decho("home<".home.">")
" save current directory
let curdir = getcwd()
@@ -68,7 +85,7 @@ fun! vimball#MkVimball(line1,line2,writelevel,vimballname) range
" call Decho("svfile<".svfile.">")
if !filereadable(svfile)
- echohl Error | echo "unable to read file<".svfile.">" | echohl None
+ call vimball#ShowMesg(s:ERROR,"unable to read file<".svfile.">")
call s:ChgDir(curdir)
call s:RestoreSettings()
" call Dret("MkVimball")
@@ -89,9 +106,9 @@ fun! vimball#MkVimball(line1,line2,writelevel,vimballname) range
call setline(1,'" Vimball Archiver by Charles E. Campbell, Jr., Ph.D.')
call setline(2,'UseVimball')
call setline(3,'finish')
- let lastline= 4
+ let lastline= line("$") + 1
endif
- call setline(lastline ,svfile)
+ call setline(lastline ,substitute(svfile,'$',' [[[1',''))
call setline(lastline+1,0)
" write the file from the tab
@@ -134,13 +151,13 @@ fun! vimball#MkVimball(line1,line2,writelevel,vimballname) range
endfun
" ---------------------------------------------------------------------
-" Vimball: {{{2
-fun! vimball#Vimball(really)
-" call Dfunc("Vimball(really=".a:really.")")
+" vimball#Vimball: extract and distribute contents from a vimball {{{2
+fun! vimball#Vimball(really,...)
+" call Dfunc("vimball#Vimball(really=".a:really.") a:0=".a:0)
if getline(1) !~ '^" Vimball Archiver by Charles E. Campbell, Jr., Ph.D.$'
echoerr "(Vimball) The current file does not appear to be a Vimball!"
-" call Dret("Vimball")
+" call Dret("vimball#Vimball")
return
endif
@@ -149,26 +166,27 @@ fun! vimball#Vimball(really)
let curtabnr = tabpagenr()
" set up vimball tab
+" call Decho("setting up vimball tab")
tabnew
silent! file Vimball
let vbtabnr= tabpagenr()
let didhelp= ""
" go to vim plugin home
- for home in split(&rtp,',') + ['']
- if isdirectory(home) | break | endif
- endfor
- if home == ""
- let home= substitute(&rtp,',.*$','','')
- endif
- if (has("win32") || has("win95") || has("win64") || has("win16"))
- let home= substitute(home,'/','\\','ge')
+ if a:0 > 0
+ let home= expand(a:1)
+ else
+ let home= s:VimballHome()
endif
" call Decho("home<".home.">")
- " save current directory
+ " save current directory and remove older same-named vimball, if any
let curdir = getcwd()
+" call Decho("home<".home.">")
+" call Decho("curdir<".curdir.">")
+
call s:ChgDir(home)
+ call vimball#RmVimball()
let linenr = 4
let filecnt = 0
@@ -186,9 +204,12 @@ fun! vimball#Vimball(really)
exe "tabn ".curtabnr
" call Decho("linenr=".linenr." line$=".line("$"))
while 1 < linenr && linenr < line("$")
- let fname = getline(linenr)
+ let fname = substitute(getline(linenr),'\t\[\[\[1$','','')
+ let fname = substitute(fname,'\\','/','g')
let fsize = getline(linenr+1)
let filecnt = filecnt + 1
+" call Decho("fname<".fname."> fsize=".fsize." filecnt=".filecnt)
+
if a:really
echomsg "extracted <".fname.">: ".fsize." lines"
else
@@ -197,16 +218,30 @@ fun! vimball#Vimball(really)
" call Decho("using L#".linenr.": will extract file<".fname.">")
" call Decho("using L#".(linenr+1).": fsize=".fsize)
+ " Allow AsNeeded/ directory to take place of plugin/ directory
+ " when AsNeeded/filename is filereadable
+ if fname =~ '\<plugin/'
+ let anfname= substitute(fname,'\<plugin/','AsNeeded/','')
+ if filereadable(anfname)
+" call Decho("using anfname<".anfname."> instead of <".fname.">")
+ let fname= anfname
+ endif
+ endif
+
" make directories if they don't exist yet
-" call Decho("making directories if they don't exist yet")
if a:really
- let fnamebuf= fname
+" call Decho("making directories if they don't exist yet (fname<".fname.">)")
+ let fnamebuf= substitute(fname,'\\','/','g')
+ let dirpath = substitute(home,'\\','/','g')
while fnamebuf =~ '/'
- let dirname = home."/".substitute(fnamebuf,'/.*$','','e')
- let fnamebuf = substitute(fnamebuf,'^.\{-}/\(.*\)$','\1','e')
+ let dirname = dirpath."/".substitute(fnamebuf,'/.*$','','')
+ let dirpath = dirname
+ let fnamebuf = substitute(fnamebuf,'^.\{-}/\(.*\)$','\1','')
+" call Decho("dirname<".dirname.">")
if !isdirectory(dirname)
-" call Decho("making <".dirname.">")
+" call Decho("making <".dirname.">")
call mkdir(dirname)
+ call s:RecordInVar(home,"rmdir('".dirname."')")
endif
endwhile
endif
@@ -233,6 +268,7 @@ fun! vimball#Vimball(really)
" call Decho("exe w! ".fnamepath)
exe "silent w! ".fnamepath
echo "wrote ".fnamepath
+ call s:RecordInVar(home,"call delete('".fnamepath."')")
endif
" return to tab with vimball
@@ -242,7 +278,7 @@ fun! vimball#Vimball(really)
" set up help if its a doc/*.txt file
" call Decho("didhelp<".didhelp."> fname<".fname.">")
if a:really && didhelp == "" && fname =~ 'doc/[^/]\+\.txt$'
- let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.txt$','\1','e')
+ let didhelp= substitute(fname,'^\(.*\<doc\)[/\\][^.]*\.txt$','\1','')
" call Decho("didhelp<".didhelp.">")
endif
@@ -255,7 +291,7 @@ fun! vimball#Vimball(really)
" set up help
" call Decho("about to set up help: didhelp<".didhelp.">")
if didhelp != ""
- let htpath= escape(substitute(s:Path(home."/".didhelp,'"'),'"','','ge'),' ')
+ let htpath= escape(substitute(s:Path(home."/".didhelp,'"'),'"','','g'),' ')
" call Decho("exe helptags ".htpath)
exe "helptags ".htpath
echo "did helptags"
@@ -267,6 +303,9 @@ fun! vimball#Vimball(really)
let filecnt= filecnt + 1
endwhile
+ " record actions in <.VimballRecord>
+ call s:RecordInFile(home)
+
" restore events, delete tab and buffer
exe "tabn ".vbtabnr
setlocal nomod bh=wipe
@@ -275,7 +314,76 @@ fun! vimball#Vimball(really)
call s:RestoreSettings()
call s:ChgDir(curdir)
-" call Dret("Vimball")
+" call Dret("vimball#Vimball")
+endfun
+
+" ---------------------------------------------------------------------
+" vimball#RmVimball: remove any files, remove any directories made by any {{{2
+" previous vimball extraction based on a file of the current
+" name.
+" Usage: RmVimball (assume current file is a vimball; remove)
+" RmVimball vimballname
+fun! vimball#RmVimball(...)
+" call Dfunc("vimball#RmVimball() a:0=".a:0)
+ if exists("g:vimball_norecord")
+" call Dret("vimball#RmVimball : (g:vimball_norecord)")
+ return
+ endif
+ let eikeep= &ei
+ set ei=all
+" call Decho("turned off all events")
+
+ if a:0 == 0
+ let curfile= '^'.expand("%:tr")
+ else
+ if a:1 =~ '[\/]'
+ call vimball#ShowMesg(s:USAGE,"RmVimball vimballname [path]")
+" call Dret("vimball#RmVimball : suspect a:1<".a:1.">")
+ return
+ endif
+ let curfile= a:1
+ endif
+ if curfile !~ '.vba$'
+ let curfile= curfile.".vba: "
+ else
+ let curfile= curfile.": "
+ endif
+ if a:0 >= 2
+ let home= expand(a:2)
+ else
+ let home= s:VimballHome()
+ endif
+ let curdir = getcwd()
+" call Decho("home <".home.">")
+" call Decho("curfile<".curfile.">")
+" call Decho("curdir <".curdir.">")
+
+ call s:ChgDir(home)
+ if filereadable(".VimballRecord")
+" call Decho(".VimballRecord is readable")
+" call Decho("curfile<".curfile.">")
+ keepalt keepjumps 1split
+ silent! keepalt keepjumps e .VimballRecord
+ let keepsrch= @/
+ if search(curfile,'cw')
+ let exestring= substitute(getline("."),curfile,'','')
+" call Decho("exe ".exestring)
+ silent! keepalt keepjumps exe exestring
+ silent! keepalt keepjumps d
+ else
+" call Decho("unable to find <".curfile."> in .VimballRecord")
+ endif
+ silent! keepalt keepjumps g/^\s*$/d
+ silent! keepalt keepjumps wq!
+ let @/= keepsrch
+ endif
+ call s:ChgDir(curdir)
+
+ " restoring events
+" call Decho("restoring events")
+ let &ei= eikeep
+
+" call Dret("vimball#RmVimball")
endfun
" ---------------------------------------------------------------------
@@ -288,24 +396,59 @@ fun! vimball#Decompress(fname)
exe "!gunzip ".a:fname
let fname= substitute(a:fname,'\.gz$','','')
exe "e ".escape(fname,' \')
- call vimball#ShowMesg("Source this file to extract it! (:so %)")
+ call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)")
elseif expand("%") =~ '.*\.bz2' && executable("bunzip2")
exe "!bunzip2 ".a:fname
let fname= substitute(a:fname,'\.bz2$','','')
exe "e ".escape(fname,' \')
- call vimball#ShowMesg("Source this file to extract it! (:so %)")
+ call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)")
elseif expand("%") =~ '.*\.zip' && executable("unzip")
exe "!unzip ".a:fname
let fname= substitute(a:fname,'\.zip$','','')
exe "e ".escape(fname,' \')
- call vimball#ShowMesg("Source this file to extract it! (:so %)")
+ call vimball#ShowMesg(s:USAGE,"Source this file to extract it! (:so %)")
endif
+ set noma bt=nofile fmr=[[[,]]] fdm=marker
" call Dret("Decompress")
endfun
" ---------------------------------------------------------------------
-" ChgDir: change directory (in spite of Windoze) {{{2
+" vimball#ShowMesg: {{{2
+fun! vimball#ShowMesg(level,msg)
+" call Dfunc("vimball#ShowMesg(level=".a:level." msg<".a:msg.">)")
+ let rulerkeep = &ruler
+ let showcmdkeep = &showcmd
+ set noruler noshowcmd
+ redraw!
+
+ if &fo =~ '[ta]'
+ echomsg "***vimball*** " a:msg
+ else
+ if a:level == s:WARNING || a:level == s:USAGE
+ echohl WarningMsg
+ elseif a:level == s:ERROR
+ echohl Error
+ endif
+ echomsg "***vimball*** " a:msg
+ echohl None
+ endif
+
+ if a:level != s:USAGE
+ call inputsave()|let ok= input("Press <cr> to continue")|call inputrestore()
+ endif
+
+ let &ruler = rulerkeep
+ let &showcmd = showcmdkeep
+
+" call Dret("vimball#ShowMesg")
+endfun
+
+" ---------------------------------------------------------------------
+let &cpo= s:keepcpo
+unlet s:keepcpo
+" =====================================================================
+" s:ChgDir: change directory (in spite of Windoze) {{{2
fun! s:ChgDir(newdir)
" call Dfunc("ChgDir(newdir<".a:newdir.">)")
if (has("win32") || has("win95") || has("win64") || has("win16"))
@@ -317,11 +460,11 @@ fun! s:ChgDir(newdir)
endfun
" ---------------------------------------------------------------------
-" Path: {{{2
+" s:Path: prepend and append quotes, do escaping, as necessary {{{2
fun! s:Path(cmd,quote)
" call Dfunc("Path(cmd<".a:cmd."> quote<".a:quote.">)")
if (has("win32") || has("win95") || has("win64") || has("win16"))
- let cmdpath= a:quote.substitute(a:cmd,'/','\\','ge').a:quote
+ let cmdpath= a:quote.substitute(a:cmd,'/','\\','g').a:quote
else
let cmdpath= a:quote.a:cmd.a:quote
endif
@@ -333,16 +476,98 @@ fun! s:Path(cmd,quote)
endfun
" ---------------------------------------------------------------------
-" vimball#ShowMesg: {{{2
-fun! vimball#ShowMesg(msg)
-" call Dfunc("vimball#ShowMesg(msg<".a:msg.">)")
- let ich= 1
- echohl WarningMsg | echo a:msg | echohl None
- while ich < &ch
- echo " "
- let ich= ich + 1
- endwhile
-" call Dret("vimball#ShowMesg")
+" s:RecordInVar: record a un-vimball command in the .VimballRecord file {{{2
+fun! s:RecordInVar(home,cmd)
+" call Dfunc("RecordInVar(home<".a:home."> cmd<".a:cmd.">)")
+ if a:cmd =~ '^rmdir'
+" if !exists("s:recorddir")
+" let s:recorddir= substitute(a:cmd,'^rmdir',"call s:Rmdir",'')
+" else
+" let s:recorddir= s:recorddir."|".substitute(a:cmd,'^rmdir',"call s:Rmdir",'')
+" endif
+" call Decho("recorddir=".s:recorddir)
+ elseif !exists("s:recordfile")
+ let s:recordfile= a:cmd
+" call Decho("recordfile=".s:recordfile)
+ else
+ let s:recordfile= s:recordfile."|".a:cmd
+" call Decho("recordfile=".s:recordfile)
+ endif
+" call Dret("RecordInVar")
+endfun
+
+" ---------------------------------------------------------------------
+" s:RecordInFile: {{{2
+fun! s:RecordInFile(home)
+" call Dfunc("RecordInFile()")
+ if exists("g:vimball_norecord")
+" call Dret("RecordInFile : (g:vimball_norecord)")
+ return
+ endif
+
+ if exists("s:recordfile") || exists("s:recorddir")
+ let curdir= getcwd()
+ call s:ChgDir(a:home)
+ keepalt keepjumps 1split
+ let cmd= expand("%:tr").": "
+ silent! keepalt keepjumps e .VimballRecord
+ $
+ if exists("s:recordfile") && exists("s:recorddir")
+ let cmd= cmd.s:recordfile."|".s:recorddir
+ elseif exists("s:recorddir")
+ let cmd= cmd.s:recorddir
+ elseif exists("s:recordfile")
+ let cmd= cmd.s:recordfile
+ else
+" call Dret("RecordInFile")
+ return
+ endif
+ keepalt keepjumps put=cmd
+ silent! keepalt keepjumps g/^\s*$/d
+ silent! keepalt keepjumps wq!
+ call s:ChgDir(curdir)
+ if exists("s:recorddir") |unlet s:recorddir |endif
+ if exists("s:recordfile")|unlet s:recordfile|endif
+ else
+" call Decho("s:record[file|dir] doesn't exist")
+ endif
+
+" call Dret("RecordInFile")
+endfun
+
+" ---------------------------------------------------------------------
+" s:Rmdir: {{{2
+"fun! s:Rmdir(dirname)
+"" call Dfunc("s:Rmdir(dirname<".a:dirname.">)")
+" if (has("win32") || has("win95") || has("win64") || has("win16")) && &shell !~? 'sh$'
+" call system("del ".a:dirname)
+" else
+" call system("rmdir ".a:dirname)
+" endif
+"" call Dret("s:Rmdir")
+"endfun
+
+" ---------------------------------------------------------------------
+" s:VimballHome: determine/get home directory path (usually from rtp) {{{2
+fun! s:VimballHome()
+" call Dfunc("VimballHome()")
+ if exists("g:vimball_home")
+ let home= g:vimball_home
+ else
+ " go to vim plugin home
+ for home in split(&rtp,',') + ['']
+ if isdirectory(home) && filewritable(home) | break | endif
+ endfor
+ if home == ""
+ " just pick the first directory
+ let home= substitute(&rtp,',.*$','','')
+ endif
+ if (has("win32") || has("win95") || has("win64") || has("win16"))
+ let home= substitute(home,'/','\\','g')
+ endif
+ endif
+" call Dret("VimballHome <".home.">")
+ return home
endfun
" ---------------------------------------------------------------------
@@ -360,10 +585,11 @@ fun! s:SaveSettings()
let s:ickeep = &ic
let s:repkeep = &report
let s:vekeep = &ve
+ let s:lzkeep = &lz
if exists("&acd")
- set ei=all ve=all noacd nofen noic report=999 nohid
+ set ei=all ve=all noacd nofen noic report=999 nohid bt= ma lz
else
- set ei=all ve=all nofen noic report=999 nohid
+ set ei=all ve=all nofen noic report=999 nohid bt= ma lz
endif
" call Dret("SaveSettings")
endfun
@@ -376,28 +602,27 @@ fun! s:RestoreSettings()
if exists("&acd")
let &acd = s:acdkeep
endif
- let &ei = s:eikeep
let &fen = s:fenkeep
let &hidden = s:hidkeep
let &ic = s:ickeep
+ let &lz = s:lzkeep
let &report = s:repkeep
let &ve = s:vekeep
+ let &ei = s:eikeep
if s:makeep[0] != 0
" restore mark a
" call Decho("restore mark-a: makeep=".string(makeep))
call setpos("'a",s:makeep)
endif
if exists("&acd")
- unlet s:regakeep s:acdkeep s:eikeep s:fenkeep s:hidkeep s:ickeep s:repkeep s:vekeep s:makeep
+ unlet s:regakeep s:acdkeep s:eikeep s:fenkeep s:hidkeep s:ickeep s:repkeep s:vekeep s:makeep s:lzkeep
else
- unlet s:regakeep s:eikeep s:fenkeep s:hidkeep s:ickeep s:repkeep s:vekeep s:makeep
+ unlet s:regakeep s:eikeep s:fenkeep s:hidkeep s:ickeep s:repkeep s:vekeep s:makeep s:lzkeep
endif
+ set bt=nofile noma
" call Dret("RestoreSettings")
endfun
" ---------------------------------------------------------------------
-let &cpo= s:keepcpo
-unlet s:keepcpo
-" =====================================================================
" Modelines: {{{1
" vim: fdm=marker
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index f8136f1a94..87a7c27079 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt* For Vim version 7.0. Last change: 2006 Apr 30
+*index.txt* For Vim version 7.1a. Last change: 2007 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -624,9 +624,10 @@ tag char note action in Normal mode ~
included files that contains the word under
the cursor, start searching at beginning of
current file
-|[p| [p 2 like "P", but adjust indent to current line
|[m| [m 1 cursor N times back to start of member
function
+|[p| [p 2 like "P", but adjust indent to current line
+|[s| [s 1 move to the previous misspelled word
|[z| [z 1 move to start of open fold
|[{| [{ 1 cursor N times back to unmatched '{'
|[<MiddleMouse> [<MiddleMouse> 2 same as "[p"
@@ -663,9 +664,10 @@ tag char note action in Normal mode ~
included files that contains the word under
the cursor, start searching at cursor
position
-|]p| ]p 2 like "p", but adjust indent to current line
|]m| ]m 1 cursor N times forward to end of member
function
+|]p| ]p 2 like "p", but adjust indent to current line
+|]s| ]s 1 move to next misspelled word
|]z| ]z 1 move to end of open fold
|]}| ]} 1 cursor N times forward to unmatched '}'
|]<MiddleMouse> ]<MiddleMouse> 2 same as "]p"
@@ -748,6 +750,8 @@ tag char note action in Normal mode ~
|gu| gu{motion} 2 make Nmove text lowercase
|gv| gv reselect the previous Visual area
|gw| gw{motion} 2 format Nmove text and keep cursor
+|netrw-gx| gx execute application for file name under the
+ cursor (only with |netrw| plugin)
|g@| g@{motion} call 'operatorfunc'
|g~| g~{motion} 2 swap case for Nmove text
|g<Down>| g<Down> 1 same as "gj"
@@ -984,7 +988,7 @@ file names, tags, commands etc. as appropriate.
{expr}
CTRL-\ f - z reserved for extensions
CTRL-\ others not used
- CTRL-] not used
+|c_CTRL-]| CTRL-] trigger abbreviation
|c_CTRL-^| CTRL-^ toggle use of |:lmap| mappings
|c_CTRL-_| CTRL-_ when 'allowrevins' set: change language
(Hebrew, Farsi)
diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt
index 0c3a6a232e..32a76c26ff 100644
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -1,4 +1,4 @@
-*message.txt* For Vim version 7.0. Last change: 2006 Apr 30
+*message.txt* For Vim version 7.1a. Last change: 2007 Mar 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -25,7 +25,8 @@ for other versions.
*g<*
The "g<" command can be used to see the last page of previous command output.
This is especially useful if you accidentally typed <Space> at the hit-enter
-prompt.
+prompt. You are then back at the hit-enter prompt and can then scroll further
+back.
Note: when you stopped the output with "q" at the more prompt only up to that
point will be displayed.
The previous command output is cleared when another command produces output.
diff --git a/runtime/doc/os_mint.txt b/runtime/doc/os_mint.txt
index 61507f4633..764bda7ba9 100644
--- a/runtime/doc/os_mint.txt
+++ b/runtime/doc/os_mint.txt
@@ -1,4 +1,4 @@
-*os_mint.txt* For Vim version 7.0. Last change: 2005 Mar 29
+*os_mint.txt* For Vim version 7.1a. Last change: 2005 Mar 29
VIM REFERENCE MANUAL by Jens M. Felderhoff
diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt
index a6bbd6461f..432e6a7fe5 100644
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -1,4 +1,4 @@
-*tabpage.txt* For Vim version 7.0. Last change: 2006 May 02
+*tabpage.txt* For Vim version 7.1a. Last change: 2007 Mar 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -74,7 +74,8 @@ In the GUI tab pages line you can use the right mouse button to open menu.
:[count]tab {cmd} *:tab*
Execute {cmd} and when it opens a new window open a new tab
- page instead. Doesn't work for |:diffsplit| or |:diffpatch|.
+ page instead. Doesn't work for |:diffsplit|, |:diffpatch|,
+ |:execute| and |:normal|.
When [count] is omitted the tab page appears after the current
one. When [count] is specified the new tab page comes after
tab page [count]. Use ":0tab cmd" to get the new tab page as
@@ -129,23 +130,25 @@ label to switch to that tab page. Click where there is no label to go to the
next tab page. |'tabline'|
:tabn[ext] *:tabn* *:tabnext* *gt*
-gt *CTRL-<PageDown>* *<C-PageDown>*
-<C-PageDown> *i_CTRL-<PageDown>* *i_<C-PageDown>*
+<C-PageDown> *CTRL-<PageDown>* *<C-PageDown>*
+gt *i_CTRL-<PageDown>* *i_<C-PageDown>*
Go to the next tab page. Wraps around from the last to the
first one.
-:tabn[ext] {count} *CTRL-<PageUp>* *<C-PageUp>*
-{count}gt *i_CTRL-<PageUp>* *i_<C-PageUp>*
-<C-PageUp> Go to tab page {count}. The first tab page has number one.
+:tabn[ext] {count}
+{count}<C-PageDown>
+{count}gt Go to tab page {count}. The first tab page has number one.
-:tabp[revious] *:tabp* *:tabprevious* *gT*
-:tabN[ext] *:tabN* *:tabNext*
+:tabp[revious] *:tabp* *:tabprevious* *gT* *:tabN*
+:tabN[ext] *:tabNext* *CTRL-<PageUp>*
+<C-PageUp> *<C-PageUp>* *i_CTRL-<PageUp>* *i_<C-PageUp>*
gT Go to the previous tab page. Wraps around from the first one
to the last one.
:tabp[revious] {count}
:tabN[ext] {count}
+{count}<C-PageUp>
{count}gT Go {count} tab pages back. Wraps around from the first one
to the last one.
@@ -203,7 +206,7 @@ The entries are:
pointer.
New Tab Open a tab page, editing an empty buffer. It appears
to the left of the mouse pointer.
- Open Tab... Like "New Tab" and additionaly use a file selector to
+ Open Tab... Like "New Tab" and additionally use a file selector to
select a file to edit.
Diff mode works per tab page. You can see the diffs between several files
@@ -247,6 +250,10 @@ always.
The highlighting of the tab pages line is set with the groups TabLine
TabLineSel and TabLineFill. |hl-TabLine| |hl-TabLineSel| |hl-TabLineFill|
+A "+" will be shown for a tab page that has a modified window. The number of
+windows in a tabpage is also shown. Thus "3+" means three windows and one of
+them has a modified buffer.
+
The 'tabline' option allows you to define your preferred way to tab pages
labels. This isn't easy, thus an example will be given here.
@@ -254,8 +261,8 @@ For basics see the 'statusline' option. The same items can be used in the
'tabline' option. Additionally, the |tabpagebuflist()|, |tabpagenr()| and
|tabpagewinnr()| functions are useful.
-Since the number of tab labels will vary, you need to use an expresion for the
-whole option. Something like: >
+Since the number of tab labels will vary, you need to use an expression for
+the whole option. Something like: >
:set tabline=%!MyTabLine()
Then define the MyTabLine() function to list all the tab pages labels. A
@@ -300,7 +307,7 @@ Now the MyTabLabel() function is called for each tab page to get its label. >
This is just a simplistic example that results in a tab pages line that
resembles the default, but without adding a + for a modified buffer or
-trunctating the names. You will want to reduce the width of labels in a
+truncating the names. You will want to reduce the width of labels in a
clever way when there is not enough room. Check the 'columns' option for the
space available.
@@ -330,7 +337,7 @@ label: >
:set guitablabel=%N\ %f
An example that resembles the default 'guitablabel': Show the number of
-windows in the tab page and a '+' if there is a modifed buffer: >
+windows in the tab page and a '+' if there is a modified buffer: >
function GuiTabLabel()
let label = ''
diff --git a/runtime/doc/usr_45.txt b/runtime/doc/usr_45.txt
index d436bdd776..9c11bf484f 100644
--- a/runtime/doc/usr_45.txt
+++ b/runtime/doc/usr_45.txt
@@ -1,4 +1,4 @@
-*usr_45.txt* For Vim version 7.0. Last change: 2006 Apr 24
+*usr_45.txt* For Vim version 7.1a. Last change: 2006 Apr 24
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/version4.txt b/runtime/doc/version4.txt
index fdc710dd2b..04c31a7b6c 100644
--- a/runtime/doc/version4.txt
+++ b/runtime/doc/version4.txt
@@ -1,4 +1,4 @@
-*version4.txt* For Vim version 7.0. Last change: 2006 Apr 24
+*version4.txt* For Vim version 7.1a. Last change: